{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/services/configuration.service.ts","./src/app/services/maintenance.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n data: { title: 'Boka cykelplats på bussen' },\r\n loadChildren: () => import('./client/client.module').then(m => m.ClientModule)\r\n },\r\n {\r\n path: 'admin',\r\n data: { title: 'Bikecoach Manage' },\r\n canActivate: [MsalGuard],\r\n loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule)\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(\r\n routes\r\n )\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'Boka cykelplats på bussen';\r\n}\r\n","import { BrowserModule} from '@angular/platform-browser';\r\nimport { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Maintenance } from './services/maintenance.service';\r\nimport { ConfigurationService } from './services/configuration.service';\r\nimport { environment } from '../environments/environment';\r\nimport { MsalModule, MsalService, MsalGuard, MsalInterceptor, MsalBroadcastService, MsalRedirectComponent } from \"@azure/msal-angular\";\r\nimport { BrowserCacheLocation, InteractionType, LogLevel, PublicClientApplication } from '@azure/msal-browser';\r\nimport localeSv from '@angular/common/locales/sv';\r\nimport { registerLocaleData } from '@angular/common';\r\nregisterLocaleData(localeSv);\r\n\r\nexport function getADConfig() {\r\n return {\r\n tenant: environment.azureAD.tenantId,\r\n clientId: environment.azureAD.clientId,\r\n redirectUri: environment.azureAD.redirectUri,\r\n endpoints: environment.azureAD.endpoints,\r\n navigateToLoginRequestUrl: false,\r\n cacheLocation: environment.azureAD.storage,\r\n };\r\n}\r\n\r\n\r\nconst initializerConfig = (appConfig: ConfigurationService) => {\r\n return () => {\r\n return appConfig.loadConfig();\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n AppRoutingModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n MsalModule.forRoot(new PublicClientApplication({\r\n auth: {\r\n clientId: environment.azureAD.clientId,\r\n redirectUri: environment.azureAD.redirectUri,\r\n navigateToLoginRequestUrl: false,\r\n authority: 'https://login.microsoftonline.com/' + environment.azureAD.tenantId,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.SessionStorage,\r\n storeAuthStateInCookie: true },\r\n\r\n }),\r\n {\r\n interactionType: InteractionType.Redirect, // MSAL Guard Configuration\r\n loginFailedRoute: \"/\",\r\n authRequest: {\r\n scopes: ['openid']\r\n }\r\n\r\n }, {\r\n interactionType: InteractionType.Redirect, // MSAL Interceptor Configuration\r\n protectedResourceMap: new Map([\r\n [\"admin\", ['.default', 'openid', 'profile']],\r\n ['https://graph.microsoft.com/v1.0/me', ['User.Read']],\r\n [\"api/*/auth/*/\", ['api://' + environment.azureAD.clientId + \"/access\"]],\r\n [\"api/*/auth\", ['api://' + environment.azureAD.clientId + \"/access\"]],\r\n ])\r\n }) \r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n ConfigurationService, { provide: APP_INITIALIZER, useFactory: initializerConfig, multi: true, deps: [ConfigurationService] },\r\n Maintenance,\r\n { provide: LOCALE_ID, useValue: 'sv-SE' },\r\n ],\r\n bootstrap: [AppComponent, MsalRedirectComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class ConfigurationService {\r\n\r\n private configuration: IServerConfiguration;\r\n baseApiUrl: string = environment.apiUrl;\r\n\r\n constructor(private http: HttpClient) { }\r\n //Hämtar konfiguration\r\n loadConfig() {\r\n return this.http.get(this.baseApiUrl + 'Configuration/MaintenanceStatus')\r\n .toPromise().then(result => {\r\n this.configuration = (result);\r\n }, error => console.error(error));\r\n }\r\n\r\n get isUnderMaintenance() {\r\n this.loadConfig();\r\n return this.configuration.isUnderMaintenance;\r\n }\r\n\r\n setStatus(status: Boolean) {\r\n return this.http.patch(this.baseApiUrl + 'Configuration/auth/MaintenanceStatus', status);\r\n }\r\n}\r\n\r\nexport interface IServerConfiguration {\r\n isUnderMaintenance: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { ConfigurationService } from './configuration.service';\r\n\r\n//Checkar om det är öppet cykelsäsong just nu.\r\n@Injectable()\r\nexport class Maintenance implements CanActivate {\r\n constructor(private router: Router, private config: ConfigurationService) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.config.isUnderMaintenance) {\r\n this.router.navigate(['/maintenance']);\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n apiUrl: window.location.origin + '/api/',\r\n\r\n\r\n regex: {\r\n numbers: '^[0-9]*$',\r\n time: '^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$'\r\n },\r\n\r\n zones: [1, 2, 3, 4],\r\n azureAD: {\r\n tenantId: '3081b6eb-204d-47f9-95d2-8a5994eb97ec',\r\n clientId: 'c07f578d-0ca7-40d8-9480-fb06746e2fcd',\r\n redirectUri: window.location.origin + '/admin',\r\n apiKey: '71d2a684-b8e0-495e-b762-0c3b74d05e00.a3dafdda-28b2-43f7-a94f-6f4894ac6024',\r\n endpoints: [\r\n { 'https://localhost:44375/api/': 'c07f578d-0ca7-40d8-9480-fb06746e2fcd' }\r\n ],\r\n storeAuthStateInCookie: true, \r\n storage: 'sessionStorage'\r\n }\r\n\r\n}\r\n\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}