(self["webpackChunkportal"] = self["webpackChunkportal"] || []).push([["main"],{ /***/ 98255: /*!*******************************************************!*\ !*** ./$_lazy_route_resources/ lazy namespace object ***! \*******************************************************/ /***/ ((module) => { function webpackEmptyAsyncContext(req) { // Here Promise.resolve().then() is used instead of new Promise() to prevent // uncaught exception popping up in devtools return Promise.resolve().then(() => { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; }); } webpackEmptyAsyncContext.keys = () => ([]); webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; webpackEmptyAsyncContext.id = 98255; module.exports = webpackEmptyAsyncContext; /***/ }), /***/ 90158: /*!***************************************!*\ !*** ./src/app/app-routing.module.ts ***! \***************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "AppRoutingModule": () => (/* binding */ AppRoutingModule) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var _core_guards_authenticated_guard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/guards/authenticated.guard */ 48118); /* harmony import */ var _core_guards_non_authenticated_guard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core/guards/non-authenticated.guard */ 71151); const routes = [ // user must be authenticated to access any user route { path: 'user', loadChildren: () => __webpack_require__.e(/*! import() */ "src_app_authenticated_authenticated_module_ts").then(__webpack_require__.bind(__webpack_require__, /*! ./authenticated/authenticated.module */ 59719)).then(m => m.AuthenticatedModule), canLoad: [_core_guards_authenticated_guard__WEBPACK_IMPORTED_MODULE_0__.AuthenticatedGuard] }, // all other routes can only be accessed if user is not authenticated { path: '', loadChildren: () => __webpack_require__.e(/*! import() */ "src_app_non-authenticated_non-authenticated_module_ts").then(__webpack_require__.bind(__webpack_require__, /*! ./non-authenticated/non-authenticated.module */ 18222)).then(m => m.NonAuthenticatedModule), canLoad: [_core_guards_non_authenticated_guard__WEBPACK_IMPORTED_MODULE_1__.NonAuthenticatedGuard] }, { path: 'password-reset/:id', loadChildren: () => __webpack_require__.e(/*! import() */ "src_app_non-authenticated_non-authenticated_module_ts").then(__webpack_require__.bind(__webpack_require__, /*! ./non-authenticated/non-authenticated.module */ 18222)).then(m => m.NonAuthenticatedModule), //routing to correct screen }, { path: 'error-screen', loadChildren: () => __webpack_require__.e(/*! import() */ "src_app_core_components_error-screen_error-screen_module_ts").then(__webpack_require__.bind(__webpack_require__, /*! ./core/components/error-screen/error-screen.module */ 37936)).then(m => m.ErrorScreenPageModule) } ]; let AppRoutingModule = class AppRoutingModule { }; AppRoutingModule = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.NgModule)({ imports: [ _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterModule.forRoot(routes, { // This value is required for server-side rendering to work. initialNavigation: 'enabled', scrollPositionRestoration: 'enabled', anchorScrolling: 'enabled' }) ], exports: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterModule] }) ], AppRoutingModule); /***/ }), /***/ 55041: /*!**********************************!*\ !*** ./src/app/app.component.ts ***! \**********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "AppComponent": () => (/* binding */ AppComponent) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_app_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./app.component.html */ 75158); /* harmony import */ var _app_component_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app.component.scss */ 53040); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ngx-translate/core */ 70325); /* harmony import */ var _core_services_history_helper_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core/services/history-helper.service */ 73327); /* harmony import */ var _capacitor_splash_screen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @capacitor/splash-screen */ 79523); /* harmony import */ var _capacitor_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @capacitor/app */ 24371); /* harmony import */ var _core_services_websocket_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/services/websocket.service */ 26239); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/environments/environment */ 92340); /* harmony import */ var _ng_idle_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ng-idle/core */ 32073); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ionic/angular */ 81864); /* harmony import */ var secure_storage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! secure-storage */ 94579); let AppComponent = class AppComponent { constructor(translate, historyHelper, zone, router, websocketService, idleService, platform) { this.translate = translate; this.historyHelper = historyHelper; this.zone = zone; this.router = router; this.websocketService = websocketService; this.idleService = idleService; this.platform = platform; /* * The app component will be loaded after routing is completed. Therefore first the guards will be executed, before * the app component itself gets loaded! */ // Number of seconds until the app times out. 10 mins this.timeoutTimebox = 60 * 5; this.idleTimebox = 60 * 5; this.initializeApp().then(); } initializeApp() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { // initialise the language this.setLanguage(); // Hide the splash as soon as app is ready yield _capacitor_splash_screen__WEBPACK_IMPORTED_MODULE_3__.SplashScreen.hide(); this.addSplashScreenListener(); this.addUniversalLinksListener(); this.setTimeoutListener(); }); } addUniversalLinksListener() { _capacitor_app__WEBPACK_IMPORTED_MODULE_4__.App.addListener('appUrlOpen', (event) => { this.zone.run(() => { const domain = src_environments_environment__WEBPACK_IMPORTED_MODULE_6__.environment.endpoints.portalHost; const pathArray = event.url.split(domain); const appPath = pathArray.pop(); this.router.navigateByUrl(appPath, { replaceUrl: true }); }); }); } addSplashScreenListener() { // Show splash screen when app is not active - privacy reasons _capacitor_app__WEBPACK_IMPORTED_MODULE_4__.App.addListener('appStateChange', ({ isActive }) => (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { if (isActive) { // reopen websocket if needed this.websocketService.openWebsocket(); yield _capacitor_splash_screen__WEBPACK_IMPORTED_MODULE_3__.SplashScreen.hide(); } else { // close websocket connection this.websocketService.closeWebsocket(); yield _capacitor_splash_screen__WEBPACK_IMPORTED_MODULE_3__.SplashScreen.show({ autoHide: false }); } })); } setTimeoutListener() { // sets an idle timeout of 5 seconds, for testing purposes. this.idleService.setIdle(this.idleTimebox); // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out. this.idleService.setTimeout(this.timeoutTimebox); // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document this.idleService.setInterrupts(_ng_idle_core__WEBPACK_IMPORTED_MODULE_9__.DEFAULT_INTERRUPTSOURCES); this.idleService.onIdleStart.subscribe(() => { console.log('idle start'); }); this.idleService.onTimeout.subscribe(() => { this.logOut(); console.log('timeout'); }); this.idleService.watch(); } logOut() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { if (this.platform.is('desktop') || this.platform.is('mobileweb') || this.platform.is('electron') || this.platform.is('mobileweb')) { yield this.desktopLogout(); } else { this.mobileLogOut(); } }); } desktopLogout() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { }); } mobileLogOut() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { yield secure_storage__WEBPACK_IMPORTED_MODULE_7__.SecureStorage.clearAllData(); console.log('cleared all data'); }); } setLanguage() { //this.translate.addLangs(['de']); // this language will be used as a fallback when a translation isn't found in the current language //this.translate.setDefaultLang('de'); // this is to determine the text direction depending on the selected language // for the purpose of this example we determine that only arabic and hebrew are RTL. // this.translate.onLangChange.subscribe((event: LangChangeEvent) => { // this.textDir = (event.lang === 'ar' || event.lang === 'iw') ? 'rtl' : 'ltr'; // }); } }; AppComponent.ctorParameters = () => [ { type: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__.TranslateService }, { type: _core_services_history_helper_service__WEBPACK_IMPORTED_MODULE_2__.HistoryHelperService }, { type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.NgZone }, { type: _angular_router__WEBPACK_IMPORTED_MODULE_12__.Router }, { type: _core_services_websocket_service__WEBPACK_IMPORTED_MODULE_5__.WebsocketService }, { type: _ng_idle_core__WEBPACK_IMPORTED_MODULE_9__.Idle }, { type: _ionic_angular__WEBPACK_IMPORTED_MODULE_13__.Platform } ]; AppComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_11__.Component)({ selector: 'app-root', template: _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_app_component_html__WEBPACK_IMPORTED_MODULE_0__.default, styles: [_app_component_scss__WEBPACK_IMPORTED_MODULE_1__] }) ], AppComponent); /***/ }), /***/ 36747: /*!*******************************!*\ !*** ./src/app/app.module.ts ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "authServiceFactory": () => (/* binding */ authServiceFactory), /* harmony export */ "networkServiceFactory": () => (/* binding */ networkServiceFactory), /* harmony export */ "realmServiceFactory": () => (/* binding */ realmServiceFactory), /* harmony export */ "createTranslateLoader": () => (/* binding */ createTranslateLoader), /* harmony export */ "AppModule": () => (/* binding */ AppModule) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/platform-browser */ 71570); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ionic/angular */ 81864); /* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app.component */ 55041); /* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-routing.module */ 90158); /* harmony import */ var _core_core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core/core.module */ 40294); /* harmony import */ var _shared_shared_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shared/shared.module */ 44466); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/common/http */ 53882); /* harmony import */ var _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ngx-translate/http-loader */ 49476); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @ngx-translate/core */ 70325); /* harmony import */ var _angular_service_worker__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @angular/service-worker */ 47334); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../environments/environment */ 92340); /* harmony import */ var _core_services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/services/auth.service */ 90263); /* harmony import */ var _core_services_network_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/services/network.service */ 5731); /* harmony import */ var _core_services_realm_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/services/realm.service */ 86248); /* harmony import */ var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/platform-browser/animations */ 20718); /* harmony import */ var _ng_idle_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ng-idle/core */ 32073); // https://betterprogramming.pub/how-to-handle-async-providers-in-angular-51884647366 function authServiceFactory(authService) { return () => authService.initialise(); } function networkServiceFactory(networkService) { return () => networkService.initialise(); } function realmServiceFactory(realmService) { return () => realmService.initialise(); } function createTranslateLoader(http) { return new _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_8__.TranslateHttpLoader(http, './assets/i18n/', '.json'); } let AppModule = class AppModule { }; AppModule = (0,tslib__WEBPACK_IMPORTED_MODULE_9__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_10__.NgModule)({ declarations: [_app_component__WEBPACK_IMPORTED_MODULE_0__.AppComponent], entryComponents: [], imports: [ _angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__.BrowserModule, _ionic_angular__WEBPACK_IMPORTED_MODULE_12__.IonicModule.forRoot(), _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_13__.HttpClientModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_14__.BrowserAnimationsModule, _ng_idle_core__WEBPACK_IMPORTED_MODULE_15__.NgIdleModule.forRoot(), _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__.TranslateModule.forRoot({ loader: { provide: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__.TranslateLoader, useFactory: (createTranslateLoader), deps: [_angular_common_http__WEBPACK_IMPORTED_MODULE_13__.HttpClient] } }), _core_core_module__WEBPACK_IMPORTED_MODULE_2__.CoreModule, _shared_shared_module__WEBPACK_IMPORTED_MODULE_3__.SharedModule, _angular_service_worker__WEBPACK_IMPORTED_MODULE_17__.ServiceWorkerModule.register('ngsw-worker.js', { enabled: _environments_environment__WEBPACK_IMPORTED_MODULE_4__.environment.production, // Register the ServiceWorker as soon as the app is stable // or after 30 seconds (whichever comes first). registrationStrategy: 'registerWhenStable:30000' }) ], providers: [ { provide: _angular_router__WEBPACK_IMPORTED_MODULE_18__.RouteReuseStrategy, useClass: _ionic_angular__WEBPACK_IMPORTED_MODULE_12__.IonicRouteStrategy }, { provide: _angular_core__WEBPACK_IMPORTED_MODULE_10__.APP_INITIALIZER, multi: true, deps: [_core_services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService], useFactory: authServiceFactory }, { provide: _angular_core__WEBPACK_IMPORTED_MODULE_10__.APP_INITIALIZER, multi: true, deps: [_core_services_network_service__WEBPACK_IMPORTED_MODULE_6__.NetworkService], useFactory: networkServiceFactory }, { provide: _angular_core__WEBPACK_IMPORTED_MODULE_10__.APP_INITIALIZER, multi: true, deps: [_core_services_realm_service__WEBPACK_IMPORTED_MODULE_7__.RealmService], useFactory: realmServiceFactory } ], bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_0__.AppComponent], }) ], AppModule); /***/ }), /***/ 20612: /*!*********************************************************!*\ !*** ./src/app/core/classes/query-string-parameters.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "QueryStringParameters": () => (/* binding */ QueryStringParameters) /* harmony export */ }); class QueryStringParameters { constructor() { this.toString = () => this.paramsAndValues.join('&'); this.paramsAndValues = []; } push(key, value) { value = encodeURIComponent(value.toString()); this.paramsAndValues.push([key, value].join('=')); } } /***/ }), /***/ 88018: /*!*********************************************!*\ !*** ./src/app/core/classes/url-builder.ts ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "UrlBuilder": () => (/* binding */ UrlBuilder) /* harmony export */ }); /* harmony import */ var _query_string_parameters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./query-string-parameters */ 20612); // Application Classes class UrlBuilder { constructor(baseUrl, action, queryString) { this.baseUrl = baseUrl; this.action = action; this.url = [baseUrl, action].join('/'); this.queryString = queryString || new _query_string_parameters__WEBPACK_IMPORTED_MODULE_0__.QueryStringParameters(); } toString() { const qs = this.queryString ? this.queryString.toString() : ''; return qs ? `${this.url}?${qs}` : this.url; } } /***/ }), /***/ 79648: /*!************************************************************************************!*\ !*** ./src/app/core/components/show-hide-password/show-hide-password.component.ts ***! \************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ShowHidePasswordComponent": () => (/* binding */ ShowHidePasswordComponent) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_show_hide_password_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./show-hide-password.component.html */ 79157); /* harmony import */ var _show_hide_password_component_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./show-hide-password.component.scss */ 29849); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ionic/angular */ 81864); let ShowHidePasswordComponent = class ShowHidePasswordComponent { constructor() { this.showPassword = false; } toggleShow() { this.showPassword = !this.showPassword; this.input.type = this.showPassword ? 'text' : 'password'; } }; ShowHidePasswordComponent.ctorParameters = () => []; ShowHidePasswordComponent.propDecorators = { input: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.ContentChild, args: [_ionic_angular__WEBPACK_IMPORTED_MODULE_3__.IonInput,] }] }; ShowHidePasswordComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Component)({ selector: 'app-show-hide-password', template: _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_show_hide_password_component_html__WEBPACK_IMPORTED_MODULE_0__.default, styles: [_show_hide_password_component_scss__WEBPACK_IMPORTED_MODULE_1__] }) ], ShowHidePasswordComponent); /***/ }), /***/ 40294: /*!*************************************!*\ !*** ./src/app/core/core.module.ts ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "CoreModule": () => (/* binding */ CoreModule) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 54364); /* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/forms */ 1707); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common/http */ 53882); /* harmony import */ var _components_show_hide_password_show_hide_password_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/show-hide-password/show-hide-password.component */ 79648); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ionic/angular */ 81864); /* harmony import */ var _interceptors_new_token_interceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./interceptors/new-token.interceptor */ 14668); /* harmony import */ var _interceptors_token_interceptor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./interceptors/token.interceptor */ 6747); /* harmony import */ var _interceptors_reachability_interceptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./interceptors/reachability.interceptor */ 46188); let CoreModule = class CoreModule { }; CoreModule = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.NgModule)({ declarations: [ _components_show_hide_password_show_hide_password_component__WEBPACK_IMPORTED_MODULE_0__.ShowHidePasswordComponent ], imports: [ _angular_common__WEBPACK_IMPORTED_MODULE_6__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.ReactiveFormsModule, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonicModule ], exports: [ _angular_forms__WEBPACK_IMPORTED_MODULE_7__.ReactiveFormsModule, _components_show_hide_password_show_hide_password_component__WEBPACK_IMPORTED_MODULE_0__.ShowHidePasswordComponent, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonicModule ], providers: [ { provide: Window, useValue: window }, { provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HTTP_INTERCEPTORS, useClass: _interceptors_token_interceptor__WEBPACK_IMPORTED_MODULE_2__.TokenInterceptor, multi: true }, { provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HTTP_INTERCEPTORS, useClass: _interceptors_new_token_interceptor__WEBPACK_IMPORTED_MODULE_1__.NewTokenInterceptor, multi: true }, { provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HTTP_INTERCEPTORS, useClass: _interceptors_reachability_interceptor__WEBPACK_IMPORTED_MODULE_3__.ReachabilityInterceptor, multi: true } ] }) ], CoreModule); /***/ }), /***/ 48118: /*!****************************************************!*\ !*** ./src/app/core/guards/authenticated.guard.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "AuthenticatedGuard": () => (/* binding */ AuthenticatedGuard) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../services/auth.service */ 90263); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ 9170); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ 53466); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ 33927); let AuthenticatedGuard = class AuthenticatedGuard { constructor(authService, router) { this.authService = authService; this.router = router; } canLoad(route, segments) { return this.authService.isAuthenticated.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.filter)(val => val !== null), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.map)(isAuthenticated => { if (isAuthenticated) { return true; } else { this.router.navigate(['/']); return false; } })); } }; AuthenticatedGuard.ctorParameters = () => [ { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService }, { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.Router } ]; AuthenticatedGuard = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Injectable)({ providedIn: 'root' }) ], AuthenticatedGuard); /***/ }), /***/ 71151: /*!********************************************************!*\ !*** ./src/app/core/guards/non-authenticated.guard.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "NonAuthenticatedGuard": () => (/* binding */ NonAuthenticatedGuard) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../services/auth.service */ 90263); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ 9170); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ 53466); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ 33927); let NonAuthenticatedGuard = class NonAuthenticatedGuard { constructor(authService, router) { this.authService = authService; this.router = router; } canLoad(route, segments) { return this.authService.isAuthenticated.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.filter)(val => val !== null), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.map)(isAuthenticated => { if (!isAuthenticated) { return true; } else { this.router.navigate(['/user/first-settings/biometrics']); return false; } })); } }; NonAuthenticatedGuard.ctorParameters = () => [ { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService }, { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.Router } ]; NonAuthenticatedGuard = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Injectable)({ providedIn: 'root' }) ], NonAuthenticatedGuard); /***/ }), /***/ 14668: /*!************************************************************!*\ !*** ./src/app/core/interceptors/new-token.interceptor.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "NewTokenInterceptor": () => (/* binding */ NewTokenInterceptor) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ 53882); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ 33927); /* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../services/auth.service */ 90263); let NewTokenInterceptor = class NewTokenInterceptor { constructor(authService) { this.authService = authService; this.newAuthHeader = 'new-authorization'; } intercept(req, next) { return next.handle(req).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.map)((event) => { if (event instanceof _angular_common_http__WEBPACK_IMPORTED_MODULE_2__.HttpResponse && event.status === 200) { if (event.headers.has(this.newAuthHeader)) { this.authService.setAccessToken(event.headers.get(this.newAuthHeader)); } } return event; })); } }; NewTokenInterceptor.ctorParameters = () => [ { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService } ]; NewTokenInterceptor = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Injectable)() ], NewTokenInterceptor); /***/ }), /***/ 46188: /*!***************************************************************!*\ !*** ./src/app/core/interceptors/reachability.interceptor.ts ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ReachabilityInterceptor": () => (/* binding */ ReachabilityInterceptor) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common/http */ 53882); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _capacitor_network__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @capacitor/network */ 51573); /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ 34361); let ReachabilityInterceptor = class ReachabilityInterceptor { intercept(req, next) { return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__.from)(this.checkOffline(req, next)); } checkOffline(req, next) { return (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__awaiter)(this, void 0, void 0, function* () { const status = yield _capacitor_network__WEBPACK_IMPORTED_MODULE_0__.Network.getStatus(); if (!status.connected) { throw new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpErrorResponse({ error: 'Timeout error', status: -1001, }); } return next.handle(req).toPromise(); }); } }; ReachabilityInterceptor = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Injectable)() ], ReachabilityInterceptor); /***/ }), /***/ 6747: /*!********************************************************!*\ !*** ./src/app/core/interceptors/token.interceptor.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "TokenInterceptor": () => (/* binding */ TokenInterceptor) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/environments/environment */ 92340); /* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/auth.service */ 90263); let TokenInterceptor = class TokenInterceptor { constructor(authService) { this.authService = authService; } intercept(req, next) { const isApiUrl = (req.url.startsWith(src_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.endpoints.host)) || (req.url.startsWith(src_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.endpoints.newHost)); if (this.authService.isAuthenticated && isApiUrl) { const request = req.clone({ setHeaders: { Authorization: `Bearer ${this.authService.getCredentials().accessToken}`, 'Refresh-Token': this.authService.getCredentials().refreshToken } }); return next.handle(request); } } }; TokenInterceptor.ctorParameters = () => [ { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService } ]; TokenInterceptor = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Injectable)() ], TokenInterceptor); /***/ }), /***/ 54040: /*!***************************************************************!*\ !*** ./src/app/core/services/api-endpoint-builder.service.ts ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ApiEndpointBuilderService": () => (/* binding */ ApiEndpointBuilderService) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _classes_url_builder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../classes/url-builder */ 88018); let ApiEndpointBuilderService = class ApiEndpointBuilderService { constructor() { } // URL createUrl(host, path) { const urlBuilder = new _classes_url_builder__WEBPACK_IMPORTED_MODULE_0__.UrlBuilder(host, path); return urlBuilder.toString(); } // URL WITH QUERY PARAMS createUrlWithQueryParameters(host, path, queryStringHandler) { const urlBuilder = new _classes_url_builder__WEBPACK_IMPORTED_MODULE_0__.UrlBuilder(host, path); // Push extra query string params if (queryStringHandler) { queryStringHandler(urlBuilder.queryString); } return urlBuilder.toString(); } // URL WITH PATH VARIABLES createUrlWithPathVariables(host, path, pathVariables = []) { let encodedPathVariablesUrl = ''; // Push extra path variables for (const pathVariable of pathVariables) { if (pathVariable !== null) { encodedPathVariablesUrl += `/${encodeURIComponent(pathVariable.toString())}`; } } const urlBuilder = new _classes_url_builder__WEBPACK_IMPORTED_MODULE_0__.UrlBuilder(host, `${path}${encodedPathVariablesUrl}`); return urlBuilder.toString(); } }; ApiEndpointBuilderService.ctorParameters = () => []; ApiEndpointBuilderService = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({ providedIn: 'root' }) ], ApiEndpointBuilderService); /***/ }), /***/ 84963: /*!***************************************************!*\ !*** ./src/app/core/services/api-http.service.ts ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ApiHttpService": () => (/* binding */ ApiHttpService) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/common/http */ 53882); let ApiHttpService = class ApiHttpService { constructor( // Angular Modules http) { this.http = http; } get(url, options) { return this.http.get(url, options); } post(url, data, options) { return this.http.post(url, data, options); } put(url, data, options) { return this.http.put(url, data, options); } delete(url, options) { return this.http.delete(url, options); } patch(url, data, options) { return this.http.patch(url, data, options); } }; ApiHttpService.ctorParameters = () => [ { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_0__.HttpClient } ]; ApiHttpService = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({ providedIn: 'root' }) ], ApiHttpService); /***/ }), /***/ 90263: /*!***********************************************!*\ !*** ./src/app/core/services/auth.service.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Credentials": () => (/* binding */ Credentials), /* harmony export */ "AuthService": () => (/* binding */ AuthService) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../environments/environment */ 92340); /* harmony import */ var secure_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! secure-storage */ 94579); /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 76491); /* harmony import */ var _auth0_angular_jwt__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @auth0/angular-jwt */ 21055); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var _capacitor_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @capacitor/storage */ 89245); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ionic/angular */ 81864); /* harmony import */ var realm_db__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! realm-db */ 16099); /* harmony import */ var _api_endpoint_builder_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./api-endpoint-builder.service */ 54040); /* harmony import */ var _api_http_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./api-http.service */ 84963); const helper = new _auth0_angular_jwt__WEBPACK_IMPORTED_MODULE_6__.JwtHelperService(); class Credentials { } let AuthService = class AuthService { constructor(router, plt, endpointBuilder, apiService, window) { this.router = router; this.plt = plt; this.endpointBuilder = endpointBuilder; this.apiService = apiService; this.window = window; // Implementation according following tutorial: https://www.youtube.com/watch?v=ig24euSxR7Q this.isAuthenticated = new rxjs__WEBPACK_IMPORTED_MODULE_7__.BehaviorSubject(null); // user identification this.userId = ''; // biometric authentication allowed this.biometricAuth = false; // JWT token set this.accessToken = ''; this.refreshToken = ''; } /* * Stores the access and the refresh token in the secure storage (iOS: keychain) */ storeTokens(accessToken, refreshToken) { var _a; return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { // retrieve user id from access token const userId = (_a = helper.decodeToken(accessToken)) === null || _a === void 0 ? void 0 : _a.sub; // check if local user id matches the one from the access token - if not, potential attack detected if (this.userId !== '' && this.userId !== userId) { yield this.logout(); return Promise.resolve(); } else { // write user id to non-secure storage yield _capacitor_storage__WEBPACK_IMPORTED_MODULE_2__.Storage.set({ key: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.nonSecure.attributes.userId, value: userId }); } // only write to keychain when biometric auth is enabled if (this.biometricAuth) { console.log('Add update access token ' + accessToken); // write access token to secure storage const rspAccessToken = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.addOrUpdateToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken, account: userId, value: accessToken }); console.log('Add update refresh token ' + refreshToken); // write refresh token to secure storage (biometric authentication enabled for refresh token) const rspRefreshToken = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.addOrUpdateToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken, account: userId, value: refreshToken }); if (rspAccessToken.status !== 0 || rspRefreshToken.status !== 0) { /* * TO DO: @Markus * * Write error code to analytics suite, but do not stop processing as user can also use the app without storing * tokens in secure storage. In that case the user can normally use the app as long as no inactivity is detected * and no closing of the app happens as the tokens will remain in memory in that case */ } } // set local variables for access- and refresh token this.accessToken = accessToken; this.refreshToken = refreshToken; // set local variable for the user id this.userId = userId; // finally check if user is authenticated or not if (this.accessToken && this.refreshToken) { this.isAuthenticated.next(true); } else { this.isAuthenticated.next(false); } return Promise.resolve(); }); } /* * Store either an access- or a refresh token in secure storage (iOS: Keychain) */ storeToken(type, token) { var _a; return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { if (type === _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken) { // extract user id from jwt token const tmpUserId = (_a = helper.decodeToken(token)) === null || _a === void 0 ? void 0 : _a.sub; // verify if extracted user id matches the already set one - if not, potential attack detected. In that case // log the user out and clear all credentials if (tmpUserId !== this.userId && this.userId !== '') { yield this.logout(); // return in case attack detected return Promise.resolve({ status: 0 }); } } // only write to keychain when biometric auth is enabled if (this.biometricAuth) { yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.addOrUpdateToken({ type, account: this.userId, value: token }); } if (type === _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken) { this.accessToken = token; } else if (type === _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken) { this.refreshToken = token; } return Promise.resolve({ status: 0 }); }); } /* * Retrieve an token (either access- or refresh token) from secure storage */ getToken(type) { var _a; return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { // check if user id is set if (!this.userId) { throw new Error('User ID not yet set'); } // check if biometric auth is set if (!this.biometricAuth) { throw new Error('Biometric authentication not enabled'); } switch (type) { case _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken: // check if in-memory access token or access token from secure storage should be returned if (this.accessToken) { return Promise.resolve({ status: 0, token: this.accessToken }); } else { const rsp = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.readToken({ type, account: this.userId }); // extract user id from jwt token const tmpUserId = (_a = helper.decodeToken(rsp === null || rsp === void 0 ? void 0 : rsp.token)) === null || _a === void 0 ? void 0 : _a.sub; // verify if extracted user id matches the already set one - if not, potential attack detected. In that case // log the user out and clear all credentials if (tmpUserId !== this.userId && this.userId !== '') { yield this.logout(); // return empty token in case potential attack detected return Promise.resolve({ status: 0, token: '' }); } else { return rsp; } } break; case _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken: // check if in-memory refresh token or refresh token from secure storage should be returned if (this.refreshToken) { return Promise.resolve({ status: 0, token: this.refreshToken }); } else { return yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.readToken({ type, account: this.userId }); } break; default: // return empty token in case no access- nor refresh token should be returned return Promise.resolve({ status: 0, token: '' }); } }); } /* * */ setBiometricAuth(status) { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { // write biometric auth allowed flag to memory if (status) { this.biometricAuth = true; } else { this.biometricAuth = false; } // write biometric auth allowed flag to non-secure storage yield _capacitor_storage__WEBPACK_IMPORTED_MODULE_2__.Storage.set({ key: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.nonSecure.attributes.biometricSet, value: this.biometricAuth ? 'true' : 'false' }); // if enabled, write tokens to secure storage if (status && this.userId && this.accessToken && this.refreshToken) { // write access token to secure storage const rspAccessToken = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.addOrUpdateToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken, account: this.userId, value: this.accessToken }); // write refresh token to secure storage (biometric authentication enabled for refresh token) const rspRefreshToken = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.addOrUpdateToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken, account: this.userId, value: this.refreshToken }); // read access token so that face id is triggered yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.readToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken, account: this.userId }); } return Promise.resolve(); }); } /* * Performs logout of the app and deletes / resets credentials from secure storage (iOS: keychain) and memory */ logout() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { //perform log out call yield this.logOutCall(); // delete the tokens from the secure storage yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.deleteToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken, account: this.userId }); yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.deleteToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken, account: this.userId }); // delete the user id from the non-secure storage yield _capacitor_storage__WEBPACK_IMPORTED_MODULE_2__.Storage.remove({ key: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.nonSecure.attributes.userId }); // delete the tokens from the memory this.accessToken = ''; this.refreshToken = ''; // delete the user id from the memory this.userId = ''; // clear data from the realm instance yield realm_db__WEBPACK_IMPORTED_MODULE_3__.RealmDB.deleteAllObjects(); // set to not authenticated this.isAuthenticated.next(false); // route to non-authenticated area and replace the url so that back navigation is disabled in browser yield this.router.navigate(['/login'], { replaceUrl: true }); }); } /* * On app start perform two actions: * - Load the user id from the non-secure storage (iOS: UserDefaults, Android: SharedPreferences, PWA: Local Storage) * - Load the access- and the refresh token from the secure storage (iOS: keychain) */ initialise() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { console.log('Initialise Auth Service'); // wait for platform readiness yield this.plt.ready(); console.log('Initialise Auth Service 1'); // retrieve the user id from the non-secure storage const respUserId = yield _capacitor_storage__WEBPACK_IMPORTED_MODULE_2__.Storage.get({ key: 'USER_ID' }); this.userId = respUserId.value !== null ? respUserId.value : ''; console.log('Test 1' + respUserId.value); // retrieve the allowed biometric authentication from non-secure storage const respBiometricAuth = yield _capacitor_storage__WEBPACK_IMPORTED_MODULE_2__.Storage.get({ key: 'BIOMETRIC_AUTH_ALLOWED' }); this.biometricAuth = respBiometricAuth.value === 'true' ? true : false; console.log('Load User ID: ' + this.userId); // check if user id is set - if not return directly if (this.userId !== '' && this.biometricAuth) { // retrieve the access token const accessTokenRsp = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.readToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken, account: this.userId }); if (accessTokenRsp && accessTokenRsp.token) { this.accessToken = accessTokenRsp.token; } console.log('Load User ID: ' + this.userId); console.log('Load access token [Status]: ' + accessTokenRsp.status); console.log('Load refresh token Before Call [Type]: ' + _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken); console.log('Load refresh token Before Call [Account]: ' + this.userId); // retrieve the refresh token (secured via biometric authentication) // eslint-disable-next-line max-len const refreshTokenRsp = yield secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.readToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.refreshToken, account: this.userId }); if (refreshTokenRsp && refreshTokenRsp.token) { this.refreshToken = refreshTokenRsp.token; } console.log('Load refresh token [Status]: ' + refreshTokenRsp.status); if (this.accessToken && this.refreshToken) { console.log(this.getCredentials()); this.isAuthenticated.next(true); } else { console.log(this.getCredentials()); this.isAuthenticated.next(true); } } else { console.log(this.getCredentials()); console.log('test'); this.isAuthenticated.next(false); } console.log('Started Auth Service'); // return empty promise return Promise.resolve(); }); } setAuthenticated() { this.isAuthenticated.next(true); } getUserId() { return this.userId; } setAccessToken(accessToken) { this.accessToken = accessToken; secure_storage__WEBPACK_IMPORTED_MODULE_1__.SecureStorage.addOrUpdateToken({ type: _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.storage.secure.attributes.accessToken, account: this.userId, value: accessToken }); } getCredentials() { const credentials = new Credentials(); credentials.userID = this.userId; credentials.accessToken = this.accessToken; credentials.refreshToken = this.refreshToken; credentials.biometricAuth = this.biometricAuth; credentials.authenticated = this.isAuthenticated.value; console.log(credentials); return credentials; } logOutCall() { return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__awaiter)(this, void 0, void 0, function* () { const endpoint = this.endpointBuilder.createUrl(_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.endpoints.newHost, _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.endpoints.account.access.path); return this.apiService.post(endpoint, JSON.stringify('')); }); } }; AuthService.ctorParameters = () => [ { type: _angular_router__WEBPACK_IMPORTED_MODULE_9__.Router }, { type: _ionic_angular__WEBPACK_IMPORTED_MODULE_10__.Platform }, { type: _api_endpoint_builder_service__WEBPACK_IMPORTED_MODULE_4__.ApiEndpointBuilderService }, { type: _api_http_service__WEBPACK_IMPORTED_MODULE_5__.ApiHttpService }, { type: Window } ]; AuthService = (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_11__.Injectable)({ providedIn: 'root' }) ], AuthService); /***/ }), /***/ 73327: /*!*********************************************************!*\ !*** ./src/app/core/services/history-helper.service.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "HistoryHelperService": () => (/* binding */ HistoryHelperService) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ 71258); /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs/operators */ 9170); let HistoryHelperService = class HistoryHelperService { constructor(router) { this.router = router; this.router.events .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_0__.filter)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_1__.NavigationEnd)) .subscribe(({ urlAfterRedirects }) => { // console.log('previous URL', this.previousUrl); this.previousUrl = urlAfterRedirects; // console.log('NEW previous URL', this.previousUrl); }); } }; HistoryHelperService.ctorParameters = () => [ { type: _angular_router__WEBPACK_IMPORTED_MODULE_1__.Router } ]; HistoryHelperService = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Injectable)({ providedIn: 'root' }) ], HistoryHelperService); /***/ }), /***/ 5731: /*!**************************************************!*\ !*** ./src/app/core/services/network.service.ts ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "NetworkService": () => (/* binding */ NetworkService) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ 76491); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ionic/angular */ 81864); /* harmony import */ var _capacitor_network__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @capacitor/network */ 51573); let NetworkService = class NetworkService { constructor(plt) { this.plt = plt; this.connection = new rxjs__WEBPACK_IMPORTED_MODULE_1__.BehaviorSubject(null); } initialise() { return (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__awaiter)(this, void 0, void 0, function* () { yield this.plt.ready(); _capacitor_network__WEBPACK_IMPORTED_MODULE_0__.Network.addListener('networkStatusChange', networkStatus => { this.connection.next(networkStatus.connected); this.isConnected = networkStatus.connected; }); const status = yield _capacitor_network__WEBPACK_IMPORTED_MODULE_0__.Network.getStatus(); this.connection.next(status.connected); this.isConnected = status.connected; console.log('Network1: ' + this.isConnected); console.log('Started Network'); return Promise.resolve(); }); } connectionAvailable() { return this.isConnected; } }; NetworkService.ctorParameters = () => [ { type: _ionic_angular__WEBPACK_IMPORTED_MODULE_3__.Platform } ]; NetworkService = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Injectable)({ providedIn: 'root' }) ], NetworkService); /***/ }), /***/ 86248: /*!************************************************!*\ !*** ./src/app/core/services/realm.service.ts ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "RealmService": () => (/* binding */ RealmService) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./auth.service */ 90263); /* harmony import */ var realm_db__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! realm-db */ 16099); let RealmService = class RealmService { constructor(authService) { this.authService = authService; } initialise() { // listen for successful authentication - unlock REALM DB in that case this.authService.isAuthenticated.subscribe((value) => (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__awaiter)(this, void 0, void 0, function* () { if (value === true) { //console.log('Realm Init: ' + this.authService.getUserId()); yield realm_db__WEBPACK_IMPORTED_MODULE_1__.RealmDB.createOrUnlockDB({ userId: this.authService.getUserId() }); } })); } }; RealmService.ctorParameters = () => [ { type: _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService } ]; RealmService = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Injectable)({ providedIn: 'root' }) ], RealmService); /***/ }), /***/ 26239: /*!****************************************************!*\ !*** ./src/app/core/services/websocket.service.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "WebsocketService": () => (/* binding */ WebsocketService), /* harmony export */ "WebsocketEvents": () => (/* binding */ WebsocketEvents) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ 76491); /* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/environments/environment */ 92340); /* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auth.service */ 90263); let WebsocketService = class WebsocketService { constructor(authService) { this.authService = authService; // Exposed properties this.websocketEventEmitter = new rxjs__WEBPACK_IMPORTED_MODULE_2__.BehaviorSubject(undefined); // Private properties this.webSocket = new WebSocket(src_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.endpoints.websocketEndpoint.path); this.hasRefreshedToken = false; // TODO: - Add listener for network connection // listen to auth service to know when the log in is successful this.subscribeToAuthService(); } /// creates a new websocket if none exists openWebsocket() { if (this.webSocket.readyState === WebSocket.CLOSED) { this.webSocket = new WebSocket(src_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.endpoints.websocketEndpoint.path); this.addWebsocketListeners(); } } /// close a websocket if one exists closeWebsocket() { console.log('Close websocket' + this.webSocket.readyState); if (this.webSocket.readyState === WebSocket.OPEN) { this.webSocket.close(); } } send(message) { this.webSocket.send(message); } /// Subscribes to the AuthService to know when the access token is available /// to be able to establish the websocket connection subscribeToAuthService() { this.authService.isAuthenticated.subscribe(isAuthenticated => { if (isAuthenticated) { this.addWebsocketListeners(); } }); } /// Add handling for the websocket events and pass them to the event emitter addWebsocketListeners() { this.webSocket.onopen = (event) => { // send the access token once connection is established const accessToken = this.authService.getCredentials().accessToken; this.webSocket.send('Bearer: ' + accessToken); this.websocketEventEmitter.next({ event: WebsocketEvents.open, message: undefined }); }; this.webSocket.onclose = (closeEvent) => { this.websocketEventEmitter.next({ event: WebsocketEvents.close, message: undefined }); }; this.webSocket.onerror = (errorEv) => { this.websocketEventEmitter.next({ event: WebsocketEvents.error, message: undefined }); console.log(errorEv); }; this.webSocket.onmessage = (message) => { console.log(message.data); const jsonObj = JSON.parse(message.data); // handle token invalid error if (this.isError(jsonObj)) { console.log('Received error'); this.handleError(jsonObj); } else { const messageString = jsonObj.message; this.websocketEventEmitter.next({ event: WebsocketEvents.message, message: messageString }); } }; } ; isError(json) { return json.error !== undefined; } handleError(object) { if (object.error === Errors.invalidToken) { console.log('should refresh token'); if (this.hasRefreshedToken) { this.webSocket.close(); } else { // refresh token and send the new one this.hasRefreshedToken = true; } } } }; WebsocketService.ctorParameters = () => [ { type: _auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService } ]; WebsocketService = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Injectable)({ providedIn: 'root' }) ], WebsocketService); var WebsocketEvents; (function (WebsocketEvents) { WebsocketEvents[WebsocketEvents["open"] = 0] = "open"; WebsocketEvents[WebsocketEvents["close"] = 1] = "close"; WebsocketEvents[WebsocketEvents["message"] = 2] = "message"; WebsocketEvents[WebsocketEvents["error"] = 3] = "error"; })(WebsocketEvents || (WebsocketEvents = {})); var Errors; (function (Errors) { Errors["invalidToken"] = "TOKEN_INVALID"; })(Errors || (Errors = {})); /***/ }), /***/ 46870: /*!****************************************************************************!*\ !*** ./src/app/shared/components/privacy-modal/privacy-modal.component.ts ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "PrivacyModalComponent": () => (/* binding */ PrivacyModalComponent) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_privacy_modal_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./privacy-modal.component.html */ 44901); /* harmony import */ var _privacy_modal_component_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./privacy-modal.component.scss */ 97246); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ionic/angular */ 81864); let PrivacyModalComponent = class PrivacyModalComponent { constructor(modalController) { this.modalController = modalController; } ngOnInit() { } closeModal() { this.modalController.dismiss({ 'dismissed': true }); } }; PrivacyModalComponent.ctorParameters = () => [ { type: _ionic_angular__WEBPACK_IMPORTED_MODULE_2__.ModalController } ]; PrivacyModalComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Component)({ selector: 'app-privacy-modal', template: _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_privacy_modal_component_html__WEBPACK_IMPORTED_MODULE_0__.default, styles: [_privacy_modal_component_scss__WEBPACK_IMPORTED_MODULE_1__] }) ], PrivacyModalComponent); /***/ }), /***/ 88632: /*!**************************************************************************!*\ !*** ./src/app/shared/components/progress-bar/progress-bar.component.ts ***! \**************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ProgressBarComponent": () => (/* binding */ ProgressBarComponent) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_progress_bar_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./progress-bar.component.html */ 92042); /* harmony import */ var _progress_bar_component_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./progress-bar.component.scss */ 15578); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_animations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/animations */ 97175); const animationDuration = '1s'; let ProgressBarComponent = class ProgressBarComponent { constructor() { this.showContent = new _angular_core__WEBPACK_IMPORTED_MODULE_2__.EventEmitter(); this.stateVar = 'notFilled'; this.hidden = true; } ngOnInit() { this.stateVar = 'filled'; setTimeout(() => { this.showContent.emit(true); }, 1000); } createRange(count) { return new Array(count); } }; ProgressBarComponent.ctorParameters = () => []; ProgressBarComponent.propDecorators = { backgroundColor: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], color: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], numSections: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], activeSection: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], showContent: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Output }] }; ProgressBarComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Component)({ selector: 'app-progress-bar', template: _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_progress_bar_component_html__WEBPACK_IMPORTED_MODULE_0__.default, animations: [ (0,_angular_animations__WEBPACK_IMPORTED_MODULE_4__.trigger)('onLoad', [ (0,_angular_animations__WEBPACK_IMPORTED_MODULE_4__.state)('filled', (0,_angular_animations__WEBPACK_IMPORTED_MODULE_4__.style)({ opacity: 1, backgroundColor: '#0f41f0' })), (0,_angular_animations__WEBPACK_IMPORTED_MODULE_4__.transition)('* => filled', [ (0,_angular_animations__WEBPACK_IMPORTED_MODULE_4__.animate)(animationDuration) ]), ]) ], styles: [_progress_bar_component_scss__WEBPACK_IMPORTED_MODULE_1__] }) ], ProgressBarComponent); /***/ }), /***/ 67391: /*!************************************************************************!*\ !*** ./src/app/shared/components/terms-modal/terms-modal.component.ts ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "TermsModalComponent": () => (/* binding */ TermsModalComponent) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_terms_modal_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./terms-modal.component.html */ 94762); /* harmony import */ var _terms_modal_component_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./terms-modal.component.scss */ 12778); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ionic/angular */ 81864); let TermsModalComponent = class TermsModalComponent { constructor(modalController) { this.modalController = modalController; } ngOnInit() { } closeModal() { this.modalController.dismiss({ 'dismissed': true }); } }; TermsModalComponent.ctorParameters = () => [ { type: _ionic_angular__WEBPACK_IMPORTED_MODULE_2__.ModalController } ]; TermsModalComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Component)({ selector: 'app-terms-modal', template: _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_terms_modal_component_html__WEBPACK_IMPORTED_MODULE_0__.default, styles: [_terms_modal_component_scss__WEBPACK_IMPORTED_MODULE_1__] }) ], TermsModalComponent); /***/ }), /***/ 34342: /*!******************************************************************************!*\ !*** ./src/app/shared/components/uc-header-blue/uc-header-blue.component.ts ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "UcHeaderBlueComponent": () => (/* binding */ UcHeaderBlueComponent) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_uc_header_blue_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./uc-header-blue.component.html */ 9406); /* harmony import */ var _uc_header_blue_component_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uc-header-blue.component.scss */ 47740); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 71258); let UcHeaderBlueComponent = class UcHeaderBlueComponent { constructor(router) { this.router = router; this.headline = 'Unknown'; } ngOnInit() { } goToProfile() { this.router.navigate(['/user/profile']); } }; UcHeaderBlueComponent.ctorParameters = () => [ { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__.Router } ]; UcHeaderBlueComponent.propDecorators = { headline: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] }; UcHeaderBlueComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ selector: 'uc-header-blue', template: _C_Users_manue_ucura_code_smart_care_assistant_web_apps_portal_node_modules_ngtools_webpack_src_loaders_direct_resource_js_uc_header_blue_component_html__WEBPACK_IMPORTED_MODULE_0__.default, styles: [_uc_header_blue_component_scss__WEBPACK_IMPORTED_MODULE_1__] }) ], UcHeaderBlueComponent); /***/ }), /***/ 44466: /*!*****************************************!*\ !*** ./src/app/shared/shared.module.ts ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "SharedModule": () => (/* binding */ SharedModule) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ 3786); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 54364); /* harmony import */ var _components_privacy_modal_privacy_modal_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/privacy-modal/privacy-modal.component */ 46870); /* harmony import */ var _components_terms_modal_terms_modal_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/terms-modal/terms-modal.component */ 67391); /* harmony import */ var _components_uc_header_blue_uc_header_blue_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/uc-header-blue/uc-header-blue.component */ 34342); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ionic/angular */ 81864); /* harmony import */ var _components_progress_bar_progress_bar_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/progress-bar/progress-bar.component */ 88632); let SharedModule = class SharedModule { }; SharedModule = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([ (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.NgModule)({ declarations: [_components_privacy_modal_privacy_modal_component__WEBPACK_IMPORTED_MODULE_0__.PrivacyModalComponent, _components_terms_modal_terms_modal_component__WEBPACK_IMPORTED_MODULE_1__.TermsModalComponent, _components_uc_header_blue_uc_header_blue_component__WEBPACK_IMPORTED_MODULE_2__.UcHeaderBlueComponent, _components_progress_bar_progress_bar_component__WEBPACK_IMPORTED_MODULE_3__.ProgressBarComponent], exports: [ _components_uc_header_blue_uc_header_blue_component__WEBPACK_IMPORTED_MODULE_2__.UcHeaderBlueComponent, _components_progress_bar_progress_bar_component__WEBPACK_IMPORTED_MODULE_3__.ProgressBarComponent ], imports: [ _angular_common__WEBPACK_IMPORTED_MODULE_6__.CommonModule, _ionic_angular__WEBPACK_IMPORTED_MODULE_7__.IonicModule ] }) ], SharedModule); /***/ }), /***/ 92340: /*!*****************************************!*\ !*** ./src/environments/environment.ts ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "environment": () => (/* binding */ environment) /* harmony export */ }); // This file can be replaced during build by using the `fileReplacements` array. // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. // The list of file replacements can be found in `angular.json`. const environment = { production: false, storage: { // key-value pair storages (iOS: UserDefaults, Android: SharedPreferences, PWA: Local Storage) nonSecure: { attributes: { agbAccepted: 'AGB_ACCEPTED', userId: 'USER_ID', biometricSet: 'BIOMETRIC_AUTH_ALLOWED', pushNotificationsSet: 'PUSH_NOTIFICATIONS_ALLOWED', privacyStatementAccepted: 'PRIVACY_STATEMENT_ACCEPTED', } }, // key-value pair storages (iOS: keychain, Android: Encrypted Shared Preferences, PWA: Local Storage) secure: { attributes: { accessToken: 'ACCESS_TOKEN', refreshToken: 'REFRESH_TOKEN' } } }, endpoints: { host: 'https://dev.api.smart-care-assistant.ucura.com', newHost: 'https://new.dev.api.smart-care-assistant.ucura.com', portalHost: 'https://dev.portal-v2.deinepflege.de', account: { loginEndpoint: { path: 'api/v1/login', }, registrationEndpoint: { path: 'api/v1/account' }, passwordResetEndpoint: { path: 'api/v1/account/forgot-password', }, access: { path: 'api/v1/account/access-check', }, passwordEndpoint: { path: 'api/v1/account/password', }, logout: { path: 'api/v1/logout', } }, onboardingEndpoint: { path: 'api/v1/onboarding', mocked: true }, onboardingRealEndpoint: { path: 'api/v1/onboardings' }, websocketEndpoint: { path: 'wss://new.dev.api.smart-care-assistant.ucura.com/api/v1/ws' } } }; /* * For easier debugging in development mode, you can import the following file * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. * * This import should be commented out in production mode because it will have a negative impact * on performance if an error is thrown. */ // import 'zone.js/dist/zone-error'; // Included with Angular CLI. /***/ }), /***/ 14431: /*!*********************!*\ !*** ./src/main.ts ***! \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); /* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ 61882); /* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app/app.module */ 36747); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environments/environment */ 92340); if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) { (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)(); } (0,_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_3__.platformBrowserDynamic)().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule) .catch(err => console.log(err)); /***/ }), /***/ 50863: /*!******************************************************************************************************************************************!*\ !*** ./node_modules/@ionic/core/dist/esm/ lazy ^\.\/.*\.entry\.js$ include: \.entry\.js$ exclude: \.system\.entry\.js$ namespace object ***! \******************************************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var map = { "./ion-accordion_2.entry.js": [ 83750, "common", "node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js" ], "./ion-action-sheet.entry.js": [ 90733, "node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js" ], "./ion-alert.entry.js": [ 20985, "node_modules_ionic_core_dist_esm_ion-alert_entry_js" ], "./ion-app_8.entry.js": [ 93899, "node_modules_ionic_core_dist_esm_ion-app_8_entry_js" ], "./ion-avatar_3.entry.js": [ 5121, "node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js" ], "./ion-back-button.entry.js": [ 52960, "common", "node_modules_ionic_core_dist_esm_ion-back-button_entry_js" ], "./ion-backdrop.entry.js": [ 45473, "node_modules_ionic_core_dist_esm_ion-backdrop_entry_js" ], "./ion-breadcrumb_2.entry.js": [ 57951, "common", "node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js" ], "./ion-button_2.entry.js": [ 19787, "node_modules_ionic_core_dist_esm_ion-button_2_entry_js" ], "./ion-card_5.entry.js": [ 66165, "node_modules_ionic_core_dist_esm_ion-card_5_entry_js" ], "./ion-checkbox.entry.js": [ 69569, "node_modules_ionic_core_dist_esm_ion-checkbox_entry_js" ], "./ion-chip.entry.js": [ 35119, "node_modules_ionic_core_dist_esm_ion-chip_entry_js" ], "./ion-col_3.entry.js": [ 90799, "node_modules_ionic_core_dist_esm_ion-col_3_entry_js" ], "./ion-datetime_3.entry.js": [ 68918, "common", "node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js" ], "./ion-fab_3.entry.js": [ 94028, "common", "node_modules_ionic_core_dist_esm_ion-fab_3_entry_js" ], "./ion-img.entry.js": [ 98107, "node_modules_ionic_core_dist_esm_ion-img_entry_js" ], "./ion-infinite-scroll_2.entry.js": [ 72178, "node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js" ], "./ion-input.entry.js": [ 20123, "node_modules_ionic_core_dist_esm_ion-input_entry_js" ], "./ion-item-option_3.entry.js": [ 18706, "node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js" ], "./ion-item_8.entry.js": [ 12099, "common", "node_modules_ionic_core_dist_esm_ion-item_8_entry_js" ], "./ion-loading.entry.js": [ 84868, "node_modules_ionic_core_dist_esm_ion-loading_entry_js" ], "./ion-menu_3.entry.js": [ 54377, "common", "node_modules_ionic_core_dist_esm_ion-menu_3_entry_js" ], "./ion-modal.entry.js": [ 15678, "node_modules_ionic_core_dist_esm_ion-modal_entry_js" ], "./ion-nav_2.entry.js": [ 16735, "node_modules_ionic_core_dist_esm_ion-nav_2_entry_js" ], "./ion-picker-column-internal.entry.js": [ 42322, "node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js" ], "./ion-picker-internal.entry.js": [ 57754, "node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js" ], "./ion-popover.entry.js": [ 87686, "node_modules_ionic_core_dist_esm_ion-popover_entry_js" ], "./ion-progress-bar.entry.js": [ 48555, "node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js" ], "./ion-radio_2.entry.js": [ 30568, "node_modules_ionic_core_dist_esm_ion-radio_2_entry_js" ], "./ion-range.entry.js": [ 6231, "common", "node_modules_ionic_core_dist_esm_ion-range_entry_js" ], "./ion-refresher_2.entry.js": [ 45772, "common", "node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js" ], "./ion-reorder_2.entry.js": [ 14977, "common", "node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js" ], "./ion-ripple-effect.entry.js": [ 42886, "node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js" ], "./ion-route_4.entry.js": [ 54990, "node_modules_ionic_core_dist_esm_ion-route_4_entry_js" ], "./ion-searchbar.entry.js": [ 13810, "common", "node_modules_ionic_core_dist_esm_ion-searchbar_entry_js" ], "./ion-segment_2.entry.js": [ 2446, "common", "node_modules_ionic_core_dist_esm_ion-segment_2_entry_js" ], "./ion-select_3.entry.js": [ 47619, "node_modules_ionic_core_dist_esm_ion-select_3_entry_js" ], "./ion-slide_2.entry.js": [ 28393, "node_modules_ionic_core_dist_esm_ion-slide_2_entry_js" ], "./ion-spinner.entry.js": [ 56281, "node_modules_ionic_core_dist_esm_ion-spinner_entry_js" ], "./ion-split-pane.entry.js": [ 35932, "node_modules_ionic_core_dist_esm_ion-split-pane_entry_js" ], "./ion-tab-bar_2.entry.js": [ 57970, "node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js" ], "./ion-tab_2.entry.js": [ 80298, "node_modules_ionic_core_dist_esm_ion-tab_2_entry_js" ], "./ion-text.entry.js": [ 71006, "node_modules_ionic_core_dist_esm_ion-text_entry_js" ], "./ion-textarea.entry.js": [ 74783, "node_modules_ionic_core_dist_esm_ion-textarea_entry_js" ], "./ion-toast.entry.js": [ 62749, "node_modules_ionic_core_dist_esm_ion-toast_entry_js" ], "./ion-toggle.entry.js": [ 55404, "common", "node_modules_ionic_core_dist_esm_ion-toggle_entry_js" ], "./ion-virtual-scroll.entry.js": [ 39043, "node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js" ] }; function webpackAsyncContext(req) { if(!__webpack_require__.o(map, req)) { return Promise.resolve().then(() => { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; }); } var ids = map[req], id = ids[0]; return Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => { return __webpack_require__(id); }); } webpackAsyncContext.keys = () => (Object.keys(map)); webpackAsyncContext.id = 50863; module.exports = webpackAsyncContext; /***/ }), /***/ 75158: /*!***************************************************************************************************!*\ !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/app.component.html ***! \***************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\r\n \r\n\r\n \r\n\r\n\r\n\r\n"); /***/ }), /***/ 79157: /*!*****************************************************************************************************************************************************!*\ !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/core/components/show-hide-password/show-hide-password.component.html ***! \*****************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\r\n\r\n \r\n \r\n \r\n \r\n\r\n"); /***/ }), /***/ 44901: /*!*********************************************************************************************************************************************!*\ !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/shared/components/privacy-modal/privacy-modal.component.html ***! \*********************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Datenschutzbestimmungen\r\n \r\n \r\n \r\n
\r\n"); /***/ }), /***/ 92042: /*!*******************************************************************************************************************************************!*\ !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/shared/components/progress-bar/progress-bar.component.html ***! \*******************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n"); /***/ }), /***/ 94762: /*!*****************************************************************************************************************************************!*\ !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/shared/components/terms-modal/terms-modal.component.html ***! \*****************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n AGB's\r\n \r\n \r\n \r\n
\r\n"); /***/ }), /***/ 9406: /*!***********************************************************************************************************************************************!*\ !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/shared/components/uc-header-blue/uc-header-blue.component.html ***! \***********************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{headline}}\r\n \r\n \r\n \r\n \r\n\r\n"); /***/ }), /***/ 53040: /*!************************************!*\ !*** ./src/app/app.component.scss ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJhcHAuY29tcG9uZW50LnNjc3MifQ== */"; /***/ }), /***/ 29849: /*!**************************************************************************************!*\ !*** ./src/app/core/components/show-hide-password/show-hide-password.component.scss ***! \**************************************************************************************/ /***/ ((module) => { "use strict"; module.exports = ":host {\n display: flex;\n width: 100%;\n align-items: center;\n}\n:host .type-toggle {\n padding-inline-start: 0.5rem;\n}\n:host .type-toggle .show-option,\n:host .type-toggle .hide-option {\n font-size: 1.2rem;\n display: block;\n}\n:host .type-toggle .show-option:not(ion-icon),\n:host .type-toggle .hide-option:not(ion-icon) {\n text-transform: uppercase;\n font-size: 1rem;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNob3ctaGlkZS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7QUFDRjtBQUNFO0VBQ0UsNEJBQUE7QUFDSjtBQUNJOztFQUVFLGlCQUFBO0VBQ0EsY0FBQTtBQUNOO0FBRU07O0VBQ0UseUJBQUE7RUFDQSxlQUFBO0FBQ1IiLCJmaWxlIjoic2hvdy1oaWRlLXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgLnR5cGUtdG9nZ2xlIHtcclxuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwLjVyZW07XHJcblxyXG4gICAgLnNob3ctb3B0aW9uLFxyXG4gICAgLmhpZGUtb3B0aW9uIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgLy8gSW4gY2FzZSB5b3Ugd2FudCB0byB1c2UgdGV4dCBpbnN0ZWFkIG9mIGljb25zXHJcbiAgICAgICY6bm90KGlvbi1pY29uKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */"; /***/ }), /***/ 97246: /*!******************************************************************************!*\ !*** ./src/app/shared/components/privacy-modal/privacy-modal.component.scss ***! \******************************************************************************/ /***/ ((module) => { "use strict"; module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcml2YWN5LW1vZGFsLmNvbXBvbmVudC5zY3NzIn0= */"; /***/ }), /***/ 15578: /*!****************************************************************************!*\ !*** ./src/app/shared/components/progress-bar/progress-bar.component.scss ***! \****************************************************************************/ /***/ ((module) => { "use strict"; module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MifQ== */"; /***/ }), /***/ 12778: /*!**************************************************************************!*\ !*** ./src/app/shared/components/terms-modal/terms-modal.component.scss ***! \**************************************************************************/ /***/ ((module) => { "use strict"; module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0ZXJtcy1tb2RhbC5jb21wb25lbnQuc2NzcyJ9 */"; /***/ }), /***/ 47740: /*!********************************************************************************!*\ !*** ./src/app/shared/components/uc-header-blue/uc-header-blue.component.scss ***! \********************************************************************************/ /***/ ((module) => { "use strict"; module.exports = ".uc-toolbar-background {\n --background: rgb(0,126,181);\n --background: -moz-linear-gradient(90deg, rgba(0,126,181,1) 0%, rgba(0,170,232,1) 100%);\n --background: -webkit-linear-gradient(90deg, rgba(0,126,181,1) 0%, rgba(0,170,232,1) 100%);\n --background: linear-gradient(90deg, rgba(0,126,181,1) 0%, rgba(0,170,232,1) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#007eb5\",endColorstr=\"#00aae8\",GradientType=1);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVjLWhlYWRlci1ibHVlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNEJBQUE7RUFDQSx1RkFBQTtFQUNBLDBGQUFBO0VBQ0Esa0ZBQUE7RUFDQSxnSEFBQTtBQUNGIiwiZmlsZSI6InVjLWhlYWRlci1ibHVlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnVjLXRvb2xiYXItYmFja2dyb3VuZHtcclxuICAtLWJhY2tncm91bmQ6IHJnYigwLDEyNiwxODEpO1xyXG4gIC0tYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwxMjYsMTgxLDEpIDAlLCByZ2JhKDAsMTcwLDIzMiwxKSAxMDAlKTtcclxuICAtLWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMTI2LDE4MSwxKSAwJSwgcmdiYSgwLDE3MCwyMzIsMSkgMTAwJSk7XHJcbiAgLS1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwxMjYsMTgxLDEpIDAlLCByZ2JhKDAsMTcwLDIzMiwxKSAxMDAlKTtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiIzAwN2ViNVwiLGVuZENvbG9yc3RyPVwiIzAwYWFlOFwiLEdyYWRpZW50VHlwZT0xKTtcclxufVxyXG4iXX0= */"; /***/ }) }, /******/ __webpack_require__ => { // webpackRuntimeModules /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) /******/ __webpack_require__.O(0, ["vendor"], () => (__webpack_exec__(14431))); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); //# sourceMappingURL=main.js.map