@eui/core 13.0.0-beta.14 → 13.0.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/classes/ActivatedRouteAction.html +43 -43
- package/docs/classes/AddApiQueueItemAction.html +43 -43
- package/docs/classes/AddAppLoadedConfigModulesAction.html +43 -43
- package/docs/classes/ApiQueueServiceMock.html +26 -526
- package/docs/classes/AsyncStorageService.html +43 -469
- package/docs/classes/AsyncStorageServiceMock.html +40 -1225
- package/docs/classes/EmptyApiQueueAction.html +43 -43
- package/docs/classes/EuiCoreRootGuardClass.html +8 -6
- package/docs/classes/EuiError.html +8 -6
- package/docs/classes/I18nResourceImpl.html +25 -26
- package/docs/classes/InitStoreAction.html +43 -43
- package/docs/classes/LogServiceMock.html +10 -10
- package/docs/classes/OpenIdConnectServiceMock.html +10 -46
- package/docs/classes/RemoveApiQueueItemAction.html +43 -43
- package/docs/classes/RouterMock.html +77 -84
- package/docs/classes/StorageService.html +31 -36
- package/docs/classes/StorageServiceMock.html +16 -479
- package/docs/classes/StoreMock.html +41 -47
- package/docs/classes/TranslateServiceMock.html +251 -270
- package/docs/classes/UpdateAppConnectionAction.html +43 -43
- package/docs/classes/UpdateAppStatusAction.html +43 -43
- package/docs/classes/UpdateAppVersionAction.html +43 -43
- package/docs/classes/UpdateCurrentModuleAction.html +43 -43
- package/docs/classes/UpdateI18nStateAction.html +43 -43
- package/docs/classes/UpdateLocaleStateAction.html +43 -43
- package/docs/classes/UpdateNotificationsListAction.html +43 -43
- package/docs/classes/UpdateUserDashboardAction.html +43 -43
- package/docs/classes/UpdateUserDetailsAction.html +43 -43
- package/docs/classes/UpdateUserPreferencesAction.html +43 -43
- package/docs/classes/UpdateUserRightsAction.html +43 -43
- package/docs/classes/UpdateUserStateAction.html +43 -43
- package/docs/classes/UxErrorManager.html +39 -43
- package/docs/dependencies.html +44 -41
- package/docs/directives/TranslateMockDirective.html +9 -7
- package/docs/index.html +7 -6
- package/docs/injectables/ApiQueueService.html +33 -40
- package/docs/injectables/CoreAppEffects.html +98 -99
- package/docs/injectables/EuiPermissionService.html +26 -31
- package/docs/injectables/GlobalErrorHandler.html +12 -11
- package/docs/injectables/I18nLoader.html +28 -30
- package/docs/injectables/I18nService.html +42 -48
- package/docs/injectables/I18nServiceMock.html +32 -569
- package/docs/injectables/LocalForageService.html +75 -1549
- package/docs/injectables/LocalStorageService.html +38 -499
- package/docs/injectables/LocaleService.html +23 -28
- package/docs/injectables/LocaleServiceMock.html +21 -198
- package/docs/injectables/LogService.html +11 -10
- package/docs/injectables/OpenIdConnectService.html +10 -10
- package/docs/injectables/SessionStorageService.html +38 -499
- package/docs/injectables/StoreService.html +24 -28
- package/docs/injectables/StoreServiceMock.html +18 -360
- package/docs/injectables/UserService.html +24 -27
- package/docs/injectables/UserServiceMock.html +31 -196
- package/docs/injectables/UxAppShellService.html +299 -355
- package/docs/injectables/UxDynamicComponentService.html +16 -16
- package/docs/injectables/UxDynamicMenuService.html +38 -40
- package/docs/injectables/UxErrorFeedbackService.html +42 -48
- package/docs/injectables/UxTimezoneService.html +18 -22
- package/docs/interceptors/AddLangParamInterceptor.html +11 -10
- package/docs/interceptors/CachePreventionInterceptor.html +11 -10
- package/docs/interceptors/CorsSecurityInterceptor.html +11 -10
- package/docs/interceptors/CsrfPreventionInterceptor.html +11 -10
- package/docs/interceptors/EuLoginSessionTimeoutHandlingInterceptor.html +11 -10
- package/docs/interceptors/HttpErrorHandlerInterceptor.html +11 -10
- package/docs/interceptors/OpenIdConnectInterceptor.html +35 -35
- package/docs/interceptors/UxRequestErrorModelInterceptor.html +11 -10
- package/docs/interfaces/LoadedResources.html +37 -12
- package/docs/interfaces/LoadedResourcesError.html +28 -10
- package/docs/interfaces/ModuleLoadEvent.html +37 -12
- package/docs/interfaces/OpenIdConnectUserDetails.html +64 -18
- package/docs/interfaces/ResourceError.html +37 -12
- package/docs/interfaces/TimeZone.html +28 -10
- package/docs/interfaces/UIState.html +325 -76
- package/docs/js/libs/prism.js +46 -14
- package/docs/js/menu-wc.js +76 -79
- package/docs/js/menu-wc_es5.js +60 -0
- package/docs/js/menu.js +15 -11
- package/docs/js/search/lunr.min.js +3 -3
- package/docs/js/search/search_index.js +2 -2
- package/docs/license.html +6 -5
- package/docs/miscellaneous/enumerations.html +18 -17
- package/docs/miscellaneous/functions.html +261 -140
- package/docs/miscellaneous/typealiases.html +18 -17
- package/docs/miscellaneous/variables.html +1719 -1811
- package/docs/modules/CoreModule.html +13 -14
- package/docs/modules/I18nModule.html +11 -11
- package/docs/modules/LogModule.html +16 -16
- package/docs/modules/TranslateMockModule.html +8 -6
- package/docs/modules.html +6 -5
- package/docs/pipes/TranslateMockPipe.html +10 -9
- package/docs/styles/bootstrap.min.css +4 -3
- package/docs/styles/compodoc.css +41 -33
- package/docs/styles/dark.css +113 -0
- package/docs/styles/laravel.css +52 -6
- package/docs/styles/material.css +31 -7
- package/docs/styles/original.css +12 -6
- package/docs/styles/postmark.css +23 -7
- package/docs/styles/prism.css +169 -135
- package/docs/styles/readthedocs.css +22 -11
- package/docs/styles/stripe.css +48 -5
- package/docs/styles/vagrant.css +42 -6
- package/{esm2015/eui-core.js → esm2020/eui-core.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/lib/eui-core.module.js → esm2020/lib/eui-core.module.mjs} +5 -5
- package/{esm2015/lib/helpers/date-helpers.js → esm2020/lib/helpers/date-helpers.mjs} +0 -0
- package/{esm2015/lib/helpers/dom-helpers.js → esm2020/lib/helpers/dom-helpers.mjs} +0 -0
- package/{esm2015/lib/helpers/event-helpers.js → esm2020/lib/helpers/event-helpers.mjs} +0 -0
- package/{esm2015/lib/helpers/form-helpers.js → esm2020/lib/helpers/form-helpers.mjs} +0 -0
- package/{esm2015/lib/helpers/format-helpers.js → esm2020/lib/helpers/format-helpers.mjs} +0 -0
- package/{esm2015/lib/helpers/http-helpers.js → esm2020/lib/helpers/http-helpers.mjs} +0 -0
- package/{esm2015/lib/helpers/index.js → esm2020/lib/helpers/index.mjs} +0 -0
- package/{esm2015/lib/helpers/utils.js → esm2020/lib/helpers/utils.mjs} +0 -0
- package/{esm2015/lib/interceptors/add-lang-param.interceptor.js → esm2020/lib/interceptors/add-lang-param.interceptor.mjs} +4 -4
- package/{esm2015/lib/interceptors/cache-prevention.interceptor.js → esm2020/lib/interceptors/cache-prevention.interceptor.mjs} +4 -4
- package/{esm2015/lib/interceptors/cors-security.interceptor.js → esm2020/lib/interceptors/cors-security.interceptor.mjs} +4 -4
- package/{esm2015/lib/interceptors/csrf-prevention.interceptor.js → esm2020/lib/interceptors/csrf-prevention.interceptor.mjs} +4 -4
- package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +61 -0
- package/{esm2015/lib/interceptors/index.js → esm2020/lib/interceptors/index.mjs} +0 -0
- package/{esm2015/lib/interceptors/openid/index.js → esm2020/lib/interceptors/openid/index.mjs} +0 -0
- package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +146 -0
- package/{esm2015/lib/interceptors/openid/openid-connect.service.js → esm2020/lib/interceptors/openid/openid-connect.service.mjs} +4 -4
- package/{esm2015/lib/interceptors/openid/openid-connect.service.mock.js → esm2020/lib/interceptors/openid/openid-connect.service.mock.mjs} +0 -0
- package/{esm2015/lib/interceptors/ux-request-error-model.interceptor.js → esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs} +4 -4
- package/{esm2015/lib/services/app/eui-init-app.js → esm2020/lib/services/app/eui-init-app.mjs} +0 -0
- package/esm2020/lib/services/app/eui-pre-init-app.mjs +42 -0
- package/{esm2015/lib/services/app/eui-startup.js → esm2020/lib/services/app/eui-startup.mjs} +0 -0
- package/{esm2015/lib/services/app/factories/log.js → esm2020/lib/services/app/factories/log.mjs} +0 -0
- package/{esm2015/lib/services/app/index.js → esm2020/lib/services/app/index.mjs} +0 -0
- package/esm2020/lib/services/config/defaults.mjs +63 -0
- package/{esm2015/lib/services/config/tokens.js → esm2020/lib/services/config/tokens.mjs} +5 -2
- package/{esm2015/lib/services/errors/eui.error.js → esm2020/lib/services/errors/eui.error.mjs} +0 -0
- package/{esm2015/lib/services/errors/global-error-handler.js → esm2020/lib/services/errors/global-error-handler.mjs} +4 -4
- package/{esm2015/lib/services/errors/http-error-handler-callback-functions.js → esm2020/lib/services/errors/http-error-handler-callback-functions.mjs} +0 -0
- package/{esm2015/lib/services/errors/http-error-handler.interceptor.js → esm2020/lib/services/errors/http-error-handler.interceptor.mjs} +4 -4
- package/{esm2015/lib/services/errors/index.js → esm2020/lib/services/errors/index.mjs} +0 -0
- package/{esm2015/lib/services/i18n/i18n.loader.js → esm2020/lib/services/i18n/i18n.loader.mjs} +4 -4
- package/{esm2015/lib/services/i18n/i18n.resource.js → esm2020/lib/services/i18n/i18n.resource.mjs} +0 -0
- package/esm2020/lib/services/i18n/i18n.service.mjs +222 -0
- package/{esm2015/lib/services/i18n/i18n.service.mock.js → esm2020/lib/services/i18n/i18n.service.mock.mjs} +4 -4
- package/{esm2015/lib/services/i18n/index.js → esm2020/lib/services/i18n/index.mjs} +0 -0
- package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
- package/{esm2015/lib/services/locale/index.js → esm2020/lib/services/locale/index.mjs} +0 -0
- package/esm2020/lib/services/locale/locale.service.mjs +250 -0
- package/{esm2015/lib/services/log/index.js → esm2020/lib/services/log/index.mjs} +0 -0
- package/{esm2015/lib/services/log/log.module.js → esm2020/lib/services/log/log.module.mjs} +5 -5
- package/{esm2015/lib/services/log/log.service.js → esm2020/lib/services/log/log.service.mjs} +4 -4
- package/{esm2015/lib/services/log/log.service.mock.js → esm2020/lib/services/log/log.service.mock.mjs} +0 -0
- package/{esm2015/lib/services/permission/permission.service.js → esm2020/lib/services/permission/permission.service.mjs} +5 -5
- package/{esm2015/lib/services/queue/api-queue.service.js → esm2020/lib/services/queue/api-queue.service.mjs} +4 -4
- package/{esm2015/lib/services/queue/api-queue.service.mock.js → esm2020/lib/services/queue/api-queue.service.mock.mjs} +0 -0
- package/{esm2015/lib/services/queue/index.js → esm2020/lib/services/queue/index.mjs} +0 -0
- package/{esm2015/lib/services/storage/async-storage.service.js → esm2020/lib/services/storage/async-storage.service.mjs} +0 -0
- package/{esm2015/lib/services/storage/async-storage.service.mock.js → esm2020/lib/services/storage/async-storage.service.mock.mjs} +0 -0
- package/{esm2015/lib/services/storage/index.js → esm2020/lib/services/storage/index.mjs} +0 -0
- package/{esm2015/lib/services/storage/local-forage.service.js → esm2020/lib/services/storage/local-forage.service.mjs} +4 -4
- package/{esm2015/lib/services/storage/local-storage.service.js → esm2020/lib/services/storage/local-storage.service.mjs} +4 -4
- package/{esm2015/lib/services/storage/session-storage.service.js → esm2020/lib/services/storage/session-storage.service.mjs} +4 -4
- package/{esm2015/lib/services/storage/storage.service.js → esm2020/lib/services/storage/storage.service.mjs} +0 -0
- package/{esm2015/lib/services/storage/storage.service.mock.js → esm2020/lib/services/storage/storage.service.mock.mjs} +0 -0
- package/{esm2015/lib/services/store/actions/app.actions.js → esm2020/lib/services/store/actions/app.actions.mjs} +0 -0
- package/{esm2015/lib/services/store/actions/i18n.actions.js → esm2020/lib/services/store/actions/i18n.actions.mjs} +0 -0
- package/{esm2015/lib/services/store/actions/index.js → esm2020/lib/services/store/actions/index.mjs} +0 -0
- package/{esm2015/lib/services/store/actions/locale.actions.js → esm2020/lib/services/store/actions/locale.actions.mjs} +0 -0
- package/{esm2015/lib/services/store/actions/notifications.actions.js → esm2020/lib/services/store/actions/notifications.actions.mjs} +0 -0
- package/{esm2015/lib/services/store/actions/user.actions.js → esm2020/lib/services/store/actions/user.actions.mjs} +0 -0
- package/{esm2015/lib/services/store/effects/app.effects.js → esm2020/lib/services/store/effects/app.effects.mjs} +5 -5
- package/{esm2015/lib/services/store/effects/index.js → esm2020/lib/services/store/effects/index.mjs} +0 -0
- package/{esm2015/lib/services/store/index.js → esm2020/lib/services/store/index.mjs} +0 -0
- package/esm2020/lib/services/store/reducers/app.reducers.mjs +57 -0
- package/{esm2015/lib/services/store/reducers/core.reducers.js → esm2020/lib/services/store/reducers/core.reducers.mjs} +0 -0
- package/esm2020/lib/services/store/reducers/i18n.reducers.mjs +18 -0
- package/{esm2015/lib/services/store/reducers/index.js → esm2020/lib/services/store/reducers/index.mjs} +0 -0
- package/esm2020/lib/services/store/reducers/locale.reducers.mjs +18 -0
- package/esm2020/lib/services/store/reducers/meta.reducers.mjs +91 -0
- package/{esm2015/lib/services/store/reducers/notifications.reducers.js → esm2020/lib/services/store/reducers/notifications.reducers.mjs} +0 -0
- package/esm2020/lib/services/store/reducers/user.reducers.mjs +43 -0
- package/{esm2015/lib/services/store/store.service.js → esm2020/lib/services/store/store.service.mjs} +4 -4
- package/{esm2015/lib/services/store/store.service.mock.js → esm2020/lib/services/store/store.service.mock.mjs} +4 -4
- package/{esm2015/lib/services/user/index.js → esm2020/lib/services/user/index.mjs} +0 -0
- package/{esm2015/lib/services/user/user.service.js → esm2020/lib/services/user/user.service.mjs} +4 -4
- package/{esm2015/lib/services/user/user.service.mock.js → esm2020/lib/services/user/user.service.mock.mjs} +4 -4
- package/esm2020/lib/services/ux-app-shell.service.mjs +633 -0
- package/{esm2015/lib/services/ux-dynamic-component/ux-dynamic-component.service.js → esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs} +4 -4
- package/{esm2015/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.js → esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs} +4 -4
- package/{esm2015/lib/services/ux-error-feedback/ux-error-feedback.service.js → esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs} +4 -4
- package/{esm2015/lib/services/ux-error-feedback/ux-error-handler.operator.js → esm2020/lib/services/ux-error-feedback/ux-error-handler.operator.mjs} +0 -0
- package/{esm2015/lib/services/ux-timezone.service.js → esm2020/lib/services/ux-timezone.service.mjs} +4 -4
- package/fesm2015/{eui-core.js → eui-core.mjs} +270 -247
- package/fesm2015/eui-core.mjs.map +1 -0
- package/fesm2020/eui-core.mjs +4592 -0
- package/fesm2020/eui-core.mjs.map +1 -0
- package/lib/services/locale/locale.service.d.ts.map +1 -1
- package/lib/services/permission/permission.service.d.ts +1 -1
- package/lib/services/permission/permission.service.d.ts.map +1 -1
- package/package.json +19 -6
- package/bundles/eui-core.umd.js +0 -5323
- package/bundles/eui-core.umd.js.map +0 -1
- package/esm2015/lib/interceptors/eu-login-session-timeout-handling.interceptor.js +0 -61
- package/esm2015/lib/interceptors/openid/openid-connect.interceptor.js +0 -146
- package/esm2015/lib/services/app/eui-pre-init-app.js +0 -47
- package/esm2015/lib/services/config/defaults.js +0 -49
- package/esm2015/lib/services/i18n/i18n.service.js +0 -219
- package/esm2015/lib/services/locale/locale.service.js +0 -255
- package/esm2015/lib/services/store/reducers/app.reducers.js +0 -49
- package/esm2015/lib/services/store/reducers/i18n.reducers.js +0 -15
- package/esm2015/lib/services/store/reducers/locale.reducers.js +0 -15
- package/esm2015/lib/services/store/reducers/meta.reducers.js +0 -92
- package/esm2015/lib/services/store/reducers/user.reducers.js +0 -43
- package/esm2015/lib/services/ux-app-shell.service.js +0 -584
- package/fesm2015/eui-core.js.map +0 -1
|
@@ -45,12 +45,12 @@ export class CoreModule {
|
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
/** @nocollapse */ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
49
|
-
/** @nocollapse */ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
50
|
-
/** @nocollapse */ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
48
|
+
/** @nocollapse */ /** @nocollapse */ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CoreModule, deps: [{ token: CORE_ROOT_GUARD, optional: true }, { token: CoreModule, optional: true, skipSelf: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
49
|
+
/** @nocollapse */ /** @nocollapse */ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CoreModule, imports: [HttpClientModule] });
|
|
50
|
+
/** @nocollapse */ /** @nocollapse */ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CoreModule, imports: [[
|
|
51
51
|
HttpClientModule,
|
|
52
52
|
]] });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CoreModule, decorators: [{
|
|
54
54
|
type: NgModule,
|
|
55
55
|
args: [{
|
|
56
56
|
imports: [
|
|
@@ -80,4 +80,4 @@ export class EuiCoreRootGuardClass {
|
|
|
80
80
|
export function euiCoreRootGuardClass() {
|
|
81
81
|
return new EuiCoreRootGuardClass();
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ldWktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFFUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixjQUFjLEVBQ2QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3Qyw4QkFBOEIsQ0FDakMsQ0FBQztBQU9GLE1BQU0sT0FBTyxVQUFVO0lBOEJuQixZQUFpRCxLQUFVLEVBQTBCLFlBQXdCLEVBQUUsUUFBa0I7UUFDN0gsZ0ZBQWdGO1FBQ2hGLElBQUksWUFBWSxFQUFFO1lBQ2Qsc0RBQXNEO1lBQ3RELHNHQUFzRztZQUN0RyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNuRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdkQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLCtCQUErQixDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1RjtJQUNMLENBQUM7SUF2Q0Q7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsVUFBVSxFQUFFLHFCQUFxQjtvQkFDakMsSUFBSSxFQUFFLEVBQUU7aUJBQ1g7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxzQkFBc0I7b0JBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMscUJBQXFCLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2xFO2dCQUNELEdBQUcsZ0JBQWdCLEVBQUU7YUFDeEI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBa0I7UUFDOUIsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7U0FDL0MsQ0FBQztJQUNOLENBQUM7O3FKQTVCUSxVQUFVLGtCQThCYSxlQUFlLDZCQUFvRCxVQUFVO3NKQTlCcEcsVUFBVSxZQUhmLGdCQUFnQjtzSkFHWCxVQUFVLFlBSlY7WUFDTCxnQkFBZ0I7U0FDbkI7bUdBRVEsVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3FCQUNuQjtpQkFDSjs7MEJBK0JnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OEJBQW9ELFVBQVU7MEJBQS9DLFFBQVE7OzBCQUFJLFFBQVE7O0FBYXRGLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUFJO0lBQ3ZDLElBQUksSUFBSSxFQUFFO1FBQ04sTUFBTSxJQUFJLFNBQVMsQ0FDZiwrRkFBK0YsQ0FDbEcsQ0FBQztLQUNMO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUI7SUFDQSxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEluamVjdG9yLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgT3B0aW9uYWwsXG4gICAgU2tpcFNlbGYsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE1PRFVMRV9DT05GSUdfVE9LRU4sIE1PRFVMRV9OQU1FX1RPS0VOIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IGdldENvcmVDaGlsZFByb3ZpZGVycywgZ2V0Q29yZVByb3ZpZGVycyB9IGZyb20gJy4vc2VydmljZXMvYXBwL2V1aS1zdGFydHVwJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlc0FjdGlvbiB9IGZyb20gJy4vc2VydmljZXMvc3RvcmUvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgQ09SRV9ST09UX0dVQVJEID0gbmV3IEluamVjdGlvblRva2VuPHZvaWQ+KFxuICAgICdJbnRlcm5hbCBUaGVtZSBGb3JSb290IEd1YXJkJyxcbik7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIE5vIG1vcmUgcHJvdmlkaW5nIGNvbmZpZyBmcm9tIGZvclJvb3QsIHlvdSBoYXZlIHRvIHVzZSBFVUlfQ09ORklHX1RPS0VOIHRvIHBhc3MgY29uZmlnIHZpYSBwcm92aWRlcnMuXG4gICAgICovXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRXVpQ29yZVJvb3RHdWFyZENsYXNzLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBldWlDb3JlUm9vdEd1YXJkQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT1JFX1JPT1RfR1VBUkQsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZUV1aUNvcmVSb290R3VhcmQsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtbRXVpQ29yZVJvb3RHdWFyZENsYXNzLCBuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCldXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC4uLmdldENvcmVQcm92aWRlcnMoKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGZvckNoaWxkKG1vZHVsZU5hbWU6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29yZU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvcmVNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IGdldENvcmVDaGlsZFByb3ZpZGVycyhtb2R1bGVOYW1lKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KENPUkVfUk9PVF9HVUFSRCkgZ3VhcmQ6IGFueSwgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb3JlTW9kdWxlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgYSBwYXJlbnRNb2R1bGUsIGEgbmV3IGluc3RhbmNlIGlzIGNyZWF0ZWQgaW4gYSBsYXp5IGxvYWRlZCBtb2R1bGVcbiAgICAgICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgICAgICAgLy8gZXh0cmFjdCB0aGUgaTE4biBzZXJ2aWNlIGFuZCB0aGUgaTE4biBsb2FkZXIgY29uZmlnXG4gICAgICAgICAgICAvLyB0b2RvLCB0aGlzIHRoaW5nIHNob3VsZCBiZSBhY2hpZXZlZCBieSBzdG9yZSwgYW5kIGxvY2FsaXphdGlvbiBzZXJ2aWNlIGRlcGVuZGVuY3kgc2hvdWxkIGJlIHJlbW92ZWRcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlU2VydmljZSA9IGluamVjdG9yLmdldChTdG9yZVNlcnZpY2UpO1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGluamVjdG9yLmdldChNT0RVTEVfTkFNRV9UT0tFTik7XG4gICAgICAgICAgICBjb25zdCBtb2R1bGVDb25maWcgPSBpbmplY3Rvci5nZXQoTU9EVUxFX0NPTkZJR19UT0tFTik7XG4gICAgICAgICAgICBzdG9yZVNlcnZpY2UuZGlzcGF0Y2gobmV3IEFkZEFwcExvYWRlZENvbmZpZ01vZHVsZXNBY3Rpb24oeyBtb2R1bGVOYW1lLCBtb2R1bGVDb25maWcgfSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXVpQ29yZVJvb3RHdWFyZChjb3JlKSB7XG4gICAgaWYgKGNvcmUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgIGBDb3JlTW9kdWxlLmZvclJvb3QoKSBjYWxsZWQgdHdpY2UuIEZlYXR1cmUgbW9kdWxlcyBzaG91bGQgdXNlIFRoZW1lTW9kdWxlLmZvckNoaWxkKCkgaW5zdGVhZC5gLFxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gJ2d1YXJkZWQnO1xufVxuXG5leHBvcnQgY2xhc3MgRXVpQ29yZVJvb3RHdWFyZENsYXNzIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldWlDb3JlUm9vdEd1YXJkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIG5ldyBFdWlDb3JlUm9vdEd1YXJkQ2xhc3MoKTtcbn1cbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -28,9 +28,9 @@ export class AddLangParamInterceptor {
|
|
|
28
28
|
}));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
/** @nocollapse */ AddLangParamInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
32
|
-
/** @nocollapse */ AddLangParamInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
31
|
+
/** @nocollapse */ /** @nocollapse */ AddLangParamInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AddLangParamInterceptor, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
/** @nocollapse */ /** @nocollapse */ AddLangParamInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AddLangParamInterceptor });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AddLangParamInterceptor, decorators: [{
|
|
34
34
|
type: Injectable
|
|
35
35
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxhbmctcGFyYW0uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyY2VwdG9ycy9hZGQtbGFuZy1wYXJhbS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdkQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztBQUU3Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRWhDLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUU5QyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFFRCx1REFBdUQ7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUN6Qiw0Q0FBNEM7WUFDNUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxzQ0FBc0M7WUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7U0FDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOztrS0F4QlEsdUJBQXVCO3NLQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBMQU5HX1BBUkFNX0tFWSA9ICdYLUxhbmctUGFyYW0nO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIGZvciBhZGRpbmcgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYXMgcGFyYW1ldGVyXG4gKiBBZGQgdGhlIGhlYWRlciAoTEFOR19QQVJBTV9LRVksIDxsYW5ndWFnZSBwYXJhbWV0ZXI+KSB0byB5b3VyIHJlcXVlc3QgaHR0cCBoZWFkZXJzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBZGRMYW5nUGFyYW1JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIH1cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuXG4gICAgICAgIC8vIHRha2UgdGhlIGxhbmcgcGFyYW0gbmFtZSBmcm9tIGhlYWRlciwgaWYgc3BlY2lmaWVkXG4gICAgICAgIGNvbnN0IGxhbmdQYXJhbSA9IHJlcS5oZWFkZXJzLmdldChMQU5HX1BBUkFNX0tFWSk7XG5cbiAgICAgICAgLy8gaWYgbm90IHNwZWNpZmllZCwgZG8gbm90aGluZ1xuICAgICAgICBpZiAoIWxhbmdQYXJhbSkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0YWtlIHRoZSBjdXJyZW50IGxhbmd1YWdlIGZyb20gdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXG4gICAgICAgIGNvbnN0IGxhbmdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxLmNsb25lKHtcbiAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgbGFuZyBwYXJhbSBoZWFkZXIgZnJvbSBoZWFkZXJzXG4gICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5kZWxldGUoTEFOR19QQVJBTV9LRVkpLFxuICAgICAgICAgICAgLy8gc2V0IHRoZSBsYW5nIHZhbHVlIGFzIG5ldyBwYXJhbWV0ZXJcbiAgICAgICAgICAgIHBhcmFtczogcmVxLnBhcmFtcy5zZXQobGFuZ1BhcmFtLCBsYW5nVmFsdWUpLFxuICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19
|
|
@@ -13,9 +13,9 @@ export class CachePreventionInterceptor {
|
|
|
13
13
|
}));
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
/** @nocollapse */ CachePreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
17
|
-
/** @nocollapse */ CachePreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
16
|
+
/** @nocollapse */ /** @nocollapse */ CachePreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CachePreventionInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
/** @nocollapse */ /** @nocollapse */ CachePreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CachePreventionInterceptor });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CachePreventionInterceptor, decorators: [{
|
|
19
19
|
type: Injectable
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcHJldmVudGlvbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL2NhY2hlLXByZXZlbnRpb24uaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUU5Qyx3Q0FBd0M7UUFDeEMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNsQyxpQ0FBaUM7WUFDakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDekIsb0JBQW9CO1lBQ3BCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO1NBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7cUtBYlEsMEJBQTBCO3lLQUExQiwwQkFBMEI7bUdBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWNoZVByZXZlbnRpb25JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG5cbiAgICAgICAgLy8gaWYgQ2FjaGUtQ29udHJvbCBpcyBhbHJlYWR5IHNwZWNpZmllZFxuICAgICAgICBpZiAocmVxLmhlYWRlcnMuZ2V0KCdDYWNoZS1Db250cm9sJykpIHtcbiAgICAgICAgICAgIC8vIGtlZXAgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvblxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxLmNsb25lKHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgdGhlIGNhY2hlXG4gICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5zZXQoJ0NhY2hlLUNvbnRyb2wnLCAnTm8tQ2FjaGUnKSxcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -7,9 +7,9 @@ export class CorsSecurityInterceptor {
|
|
|
7
7
|
}));
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
/** @nocollapse */ CorsSecurityInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
11
|
-
/** @nocollapse */ CorsSecurityInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
10
|
+
/** @nocollapse */ /** @nocollapse */ CorsSecurityInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CorsSecurityInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
/** @nocollapse */ /** @nocollapse */ CorsSecurityInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CorsSecurityInterceptor });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CorsSecurityInterceptor, decorators: [{
|
|
13
13
|
type: Injectable
|
|
14
14
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycy1zZWN1cml0eS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL2NvcnMtc2VjdXJpdHkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUM3QixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7O2tLQUxRLHVCQUF1QjtzS0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29yc1NlY3VyaXR5SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,9 +7,9 @@ export class CsrfPreventionInterceptor {
|
|
|
7
7
|
}));
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
/** @nocollapse */ CsrfPreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
11
|
-
/** @nocollapse */ CsrfPreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
10
|
+
/** @nocollapse */ /** @nocollapse */ CsrfPreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CsrfPreventionInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
/** @nocollapse */ /** @nocollapse */ CsrfPreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CsrfPreventionInterceptor });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CsrfPreventionInterceptor, decorators: [{
|
|
13
13
|
type: Injectable
|
|
14
14
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NyZi1wcmV2ZW50aW9uLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbnRlcmNlcHRvcnMvY3NyZi1wcmV2ZW50aW9uLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDO1NBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7b0tBTFEseUJBQXlCO3dLQUF6Qix5QkFBeUI7bUdBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDc3JmUHJldmVudGlvbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoJ1gtUmVxdWVzdGVkLVdpdGgnLCAnWE1MSHR0cFJlcXVlc3QnKSxcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpResponse } from '@angular/common/http';
|
|
3
|
+
import { tap } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
// The EuLoginSessionTimeoutHandlingInterceptor assumes that the EU login client is configured with:
|
|
6
|
+
// <redirectionInterceptor>eu.cec.digit.ecas.client.http.ajax.JsonAjaxRedirectionInterceptor</redirectionInterceptor>
|
|
7
|
+
// WARNING: The default EU login client behaviour that provides the JSON-un-parsable login HTML page, is no longer supported!
|
|
8
|
+
export class EuLoginSessionTimeoutHandlingInterceptor {
|
|
9
|
+
intercept(request, next) {
|
|
10
|
+
return next.handle(request)
|
|
11
|
+
.pipe(tap((event) => {
|
|
12
|
+
this.checkRequestSuccessForEULoginSessionTimeout(request, event);
|
|
13
|
+
return event;
|
|
14
|
+
}, error => {
|
|
15
|
+
this.checkRequestErrorForEULoginSessionTimeout(request, error);
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
checkRequestSuccessForEULoginSessionTimeout(request, event) {
|
|
19
|
+
if (event instanceof HttpResponse) {
|
|
20
|
+
if (this.isSsoResponse(event.body)) {
|
|
21
|
+
this.reauthenticate(request, event);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
checkRequestErrorForEULoginSessionTimeout(request, response) {
|
|
26
|
+
// intentionally blank; meant for overriding
|
|
27
|
+
}
|
|
28
|
+
isSsoResponse(body) {
|
|
29
|
+
if (body) {
|
|
30
|
+
if (typeof body !== 'string') {
|
|
31
|
+
return (body.success === false &&
|
|
32
|
+
body.status === 'ECAS_AUTHENTICATION_REQUIRED' &&
|
|
33
|
+
body.code === 303 &&
|
|
34
|
+
body.message === 'session expired');
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const html = body;
|
|
38
|
+
return ((html.indexOf('<meta name="Keywords" content="EU Login, ECAS, Authentication, Security" />') >= 0 &&
|
|
39
|
+
html.indexOf('<meta name="Description" content="EU Login" />') >= 0) ||
|
|
40
|
+
html.indexOf('<meta name="Description" content="European Commission Authentication Service" />') >= 0 ||
|
|
41
|
+
html.indexOf('<title>Mock Login Form</title>') >= 0 ||
|
|
42
|
+
html.indexOf('<title>Redirecting To ECAS</title>') >= 0 ||
|
|
43
|
+
html === '{ success : false, status : "ECAS_AUTHENTICATION_REQUIRED", code : 303, message : "session expired" }' ||
|
|
44
|
+
html === '{ "success" : false, "status" : "ECAS_AUTHENTICATION_REQUIRED", "code" : 303, "message": "session expired" }');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
reauthenticate(request, response) {
|
|
52
|
+
// tslint:disable-next-line:deprecation
|
|
53
|
+
document.location.reload();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** @nocollapse */ /** @nocollapse */ EuLoginSessionTimeoutHandlingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: EuLoginSessionTimeoutHandlingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
/** @nocollapse */ /** @nocollapse */ EuLoginSessionTimeoutHandlingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: EuLoginSessionTimeoutHandlingInterceptor });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: EuLoginSessionTimeoutHandlingInterceptor, decorators: [{
|
|
59
|
+
type: Injectable
|
|
60
|
+
}] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXUtbG9naW4tc2Vzc2lvbi10aW1lb3V0LWhhbmRsaW5nLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbnRlcmNlcHRvcnMvZXUtbG9naW4tc2Vzc2lvbi10aW1lb3V0LWhhbmRsaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUtILFlBQVksRUFFZixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckMsb0dBQW9HO0FBQ3BHLHFIQUFxSDtBQUNySCw2SEFBNkg7QUFFN0gsTUFBTSxPQUFPLHdDQUF3QztJQUNqRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ3RCLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNWLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakUsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVTLDJDQUEyQyxDQUFDLE9BQXlCLEVBQUUsS0FBcUI7UUFDbEcsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBcUIsS0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBcUIsS0FBSyxDQUFDLENBQUM7YUFDMUQ7U0FDSjtJQUVMLENBQUM7SUFFUyx5Q0FBeUMsQ0FBQyxPQUF5QixFQUFFLFFBQTBCO1FBQ3JHLDRDQUE0QztJQUNoRCxDQUFDO0lBRVMsYUFBYSxDQUFDLElBQVM7UUFDN0IsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDMUIsT0FBTyxDQUNILElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSztvQkFDdEIsSUFBSSxDQUFDLE1BQU0sS0FBSyw4QkFBOEI7b0JBQzlDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRztvQkFDakIsSUFBSSxDQUFDLE9BQU8sS0FBSyxpQkFBaUIsQ0FDckMsQ0FBQzthQUNMO2lCQUFNO2dCQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDbEIsT0FBTyxDQUNILENBQ0ksSUFBSSxDQUFDLE9BQU8sQ0FBQyw2RUFBNkUsQ0FBQyxJQUFJLENBQUM7b0JBQ2hHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0RBQWdELENBQUMsSUFBSSxDQUFDLENBQ3RFO29CQUNELElBQUksQ0FBQyxPQUFPLENBQUMsa0ZBQWtGLENBQUMsSUFBSSxDQUFDO29CQUNyRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQztvQkFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxJQUFJLENBQUM7b0JBQ3ZELElBQUksS0FBSyx1R0FBdUc7b0JBQ2hILElBQUksS0FBSyw4R0FBOEcsQ0FDMUgsQ0FBQzthQUNMO1NBQ0o7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVTLGNBQWMsQ0FBQyxPQUF5QixFQUFFLFFBQTBCO1FBQzFFLHVDQUF1QztRQUN2QyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLENBQUM7O21MQXpEUSx3Q0FBd0M7dUxBQXhDLHdDQUF3QzttR0FBeEMsd0NBQXdDO2tCQURwRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBIdHRwRXZlbnQsXG4gICAgSHR0cEhhbmRsZXIsXG4gICAgSHR0cEludGVyY2VwdG9yLFxuICAgIEh0dHBSZXF1ZXN0LFxuICAgIEh0dHBSZXNwb25zZSxcbiAgICBIdHRwUmVzcG9uc2VCYXNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVGhlIEV1TG9naW5TZXNzaW9uVGltZW91dEhhbmRsaW5nSW50ZXJjZXB0b3IgYXNzdW1lcyB0aGF0IHRoZSBFVSBsb2dpbiBjbGllbnQgaXMgY29uZmlndXJlZCB3aXRoOlxuLy8gPHJlZGlyZWN0aW9uSW50ZXJjZXB0b3I+ZXUuY2VjLmRpZ2l0LmVjYXMuY2xpZW50Lmh0dHAuYWpheC5Kc29uQWpheFJlZGlyZWN0aW9uSW50ZXJjZXB0b3I8L3JlZGlyZWN0aW9uSW50ZXJjZXB0b3I+XG4vLyBXQVJOSU5HOiBUaGUgZGVmYXVsdCBFVSBsb2dpbiBjbGllbnQgYmVoYXZpb3VyIHRoYXQgcHJvdmlkZXMgdGhlIEpTT04tdW4tcGFyc2FibGUgbG9naW4gSFRNTCBwYWdlLCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV1TG9naW5TZXNzaW9uVGltZW91dEhhbmRsaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tSZXF1ZXN0U3VjY2Vzc0ZvckVVTG9naW5TZXNzaW9uVGltZW91dChyZXF1ZXN0LCBldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tSZXF1ZXN0RXJyb3JGb3JFVUxvZ2luU2Vzc2lvblRpbWVvdXQocmVxdWVzdCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hlY2tSZXF1ZXN0U3VjY2Vzc0ZvckVVTG9naW5TZXNzaW9uVGltZW91dChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBldmVudDogSHR0cEV2ZW50PGFueT4pIHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nzb1Jlc3BvbnNlKCg8SHR0cFJlc3BvbnNlPGFueT4+ZXZlbnQpLmJvZHkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWF1dGhlbnRpY2F0ZShyZXF1ZXN0LCA8SHR0cFJlc3BvbnNlPGFueT4+ZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hlY2tSZXF1ZXN0RXJyb3JGb3JFVUxvZ2luU2Vzc2lvblRpbWVvdXQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgcmVzcG9uc2U6IEh0dHBSZXNwb25zZUJhc2UpIHtcbiAgICAgICAgLy8gaW50ZW50aW9uYWxseSBibGFuazsgbWVhbnQgZm9yIG92ZXJyaWRpbmdcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNTc29SZXNwb25zZShib2R5OiBhbnkpIHtcbiAgICAgICAgaWYgKGJvZHkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICBib2R5LnN1Y2Nlc3MgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgIGJvZHkuc3RhdHVzID09PSAnRUNBU19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCcgJiZcbiAgICAgICAgICAgICAgICAgICAgYm9keS5jb2RlID09PSAzMDMgJiZcbiAgICAgICAgICAgICAgICAgICAgYm9keS5tZXNzYWdlID09PSAnc2Vzc2lvbiBleHBpcmVkJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBib2R5O1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwuaW5kZXhPZignPG1ldGEgbmFtZT1cIktleXdvcmRzXCIgY29udGVudD1cIkVVIExvZ2luLCBFQ0FTLCBBdXRoZW50aWNhdGlvbiwgU2VjdXJpdHlcIiAvPicpID49IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwuaW5kZXhPZignPG1ldGEgbmFtZT1cIkRlc2NyaXB0aW9uXCIgY29udGVudD1cIkVVIExvZ2luXCIgLz4nKSA+PSAwXG4gICAgICAgICAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICAgICAgICAgaHRtbC5pbmRleE9mKCc8bWV0YSBuYW1lPVwiRGVzY3JpcHRpb25cIiBjb250ZW50PVwiRXVyb3BlYW4gQ29tbWlzc2lvbiBBdXRoZW50aWNhdGlvbiBTZXJ2aWNlXCIgLz4nKSA+PSAwIHx8XG4gICAgICAgICAgICAgICAgICAgIGh0bWwuaW5kZXhPZignPHRpdGxlPk1vY2sgTG9naW4gRm9ybTwvdGl0bGU+JykgPj0gMCB8fFxuICAgICAgICAgICAgICAgICAgICBodG1sLmluZGV4T2YoJzx0aXRsZT5SZWRpcmVjdGluZyBUbyBFQ0FTPC90aXRsZT4nKSA+PSAwIHx8XG4gICAgICAgICAgICAgICAgICAgIGh0bWwgPT09ICd7IHN1Y2Nlc3MgOiBmYWxzZSwgc3RhdHVzIDogXCJFQ0FTX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEXCIsIGNvZGUgOiAzMDMsIG1lc3NhZ2UgOiBcInNlc3Npb24gZXhwaXJlZFwiIH0nIHx8XG4gICAgICAgICAgICAgICAgICAgIGh0bWwgPT09ICd7IFwic3VjY2Vzc1wiIDogZmFsc2UsIFwic3RhdHVzXCIgOiBcIkVDQVNfQVVUSEVOVElDQVRJT05fUkVRVUlSRURcIiwgXCJjb2RlXCIgOiAzMDMsIFwibWVzc2FnZVwiOiBcInNlc3Npb24gZXhwaXJlZFwiIH0nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWF1dGhlbnRpY2F0ZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCByZXNwb25zZTogSHR0cFJlc3BvbnNlQmFzZSkge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGVwcmVjYXRpb25cbiAgICAgICAgZG9jdW1lbnQubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxufVxuIl19
|
|
File without changes
|
package/{esm2015/lib/interceptors/openid/index.js → esm2020/lib/interceptors/openid/index.mjs}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpErrorResponse, HttpEventType, HttpHeaders, } from '@angular/common/http';
|
|
3
|
+
import { of, Subject, throwError } from 'rxjs';
|
|
4
|
+
import { catchError } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class OpenIdConnectInterceptor {
|
|
7
|
+
constructor() {
|
|
8
|
+
// By default, the original request should at least be retries once in case the cached API Gateway token expires:
|
|
9
|
+
this.defaultMaximumRequestRetries = 1;
|
|
10
|
+
// check if the OpenIdConnect is defined
|
|
11
|
+
if (typeof OpenIdConnect === 'undefined') {
|
|
12
|
+
console.error('Please include the script openid-login.js in your index.html file.', 'For more details, please consult the documentation regarding the Http Interceptors and OpenID Connect configuration.');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
intercept(request, next, retryCount = 0, retryCallback) {
|
|
16
|
+
if (typeof OpenIdConnect !== 'undefined') {
|
|
17
|
+
let authorizedRequest = retryCallback;
|
|
18
|
+
if (!authorizedRequest) {
|
|
19
|
+
authorizedRequest = new Subject();
|
|
20
|
+
}
|
|
21
|
+
OpenIdConnect.getAuthorizationHeaders(request.urlWithParams, (headers) => {
|
|
22
|
+
let newRequest = request;
|
|
23
|
+
if (headers) {
|
|
24
|
+
let newHeaders = request.headers;
|
|
25
|
+
if (newHeaders) {
|
|
26
|
+
for (const headerName in headers) {
|
|
27
|
+
if (headers.hasOwnProperty(headerName)) {
|
|
28
|
+
newHeaders = newHeaders.set(headerName, headers[headerName]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
newHeaders = new HttpHeaders(headers);
|
|
34
|
+
}
|
|
35
|
+
newRequest = request.clone({
|
|
36
|
+
withCredentials: false,
|
|
37
|
+
headers: newHeaders,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const subscription = next.handle(newRequest)
|
|
41
|
+
.pipe(catchError((response) => {
|
|
42
|
+
return this.handleErrorResponse(response, request, next, retryCount, authorizedRequest, subscription);
|
|
43
|
+
}))
|
|
44
|
+
.subscribe((httpEvent) => {
|
|
45
|
+
if (httpEvent) {
|
|
46
|
+
authorizedRequest.next(httpEvent);
|
|
47
|
+
if (httpEvent.type === HttpEventType.Response) {
|
|
48
|
+
if (subscription) {
|
|
49
|
+
subscription.unsubscribe();
|
|
50
|
+
}
|
|
51
|
+
authorizedRequest.complete();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}, (errorResponse) => {
|
|
56
|
+
const errorProperties = {
|
|
57
|
+
error: errorResponse,
|
|
58
|
+
};
|
|
59
|
+
if (errorResponse) {
|
|
60
|
+
errorProperties.status = errorResponse.status;
|
|
61
|
+
errorProperties.statusText = errorResponse.statusText;
|
|
62
|
+
}
|
|
63
|
+
return this.handleErrorResponse(new HttpErrorResponse(errorProperties), request, next, retryCount, authorizedRequest, null);
|
|
64
|
+
});
|
|
65
|
+
return authorizedRequest;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return next.handle(request);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
handleErrorResponse(response, originalRequest, next, retryCount = 0, retryCallback, subscription) {
|
|
72
|
+
if (response) {
|
|
73
|
+
if (response.error && response.error.error === 'invalid_request') {
|
|
74
|
+
// The ID token is invalid or incorrect; retrieve another one:
|
|
75
|
+
OpenIdConnect.renewIdToken();
|
|
76
|
+
}
|
|
77
|
+
else if (this.apiGatewayTokenExpired(response)) {
|
|
78
|
+
OpenIdConnect.clearCachedApiGatewayAccessToken();
|
|
79
|
+
return this.retryRequest(originalRequest, response, next, retryCount, retryCallback, subscription);
|
|
80
|
+
}
|
|
81
|
+
else if (response.status === 401 || response.status === 403) {
|
|
82
|
+
// The EU Login access token is invalid. (403)
|
|
83
|
+
// The target service is unable to read the access token, for example because the EU Login session ended. (401)
|
|
84
|
+
// Retry in case the access token became invalid too quickly:
|
|
85
|
+
return this.retryRequest(originalRequest, response, next, retryCount, retryCallback, subscription);
|
|
86
|
+
}
|
|
87
|
+
else if (response.status === 0) {
|
|
88
|
+
// One of the access token requests or the original request was not sent.
|
|
89
|
+
// Most likely one of the CORS pre-flight requests failed, or the browser is offline.
|
|
90
|
+
console.warn('The OpenID Connect call may have issues:\n' +
|
|
91
|
+
'* the CORS pre-flight requests for the OpenID Connect access tokens or for the REST call could be failing\n' +
|
|
92
|
+
'* the browser could be currently offline.');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (subscription) {
|
|
96
|
+
subscription.unsubscribe();
|
|
97
|
+
}
|
|
98
|
+
if (retryCallback) {
|
|
99
|
+
retryCallback.error(response);
|
|
100
|
+
retryCallback.complete();
|
|
101
|
+
}
|
|
102
|
+
return throwError(response);
|
|
103
|
+
}
|
|
104
|
+
retryRequest(originalRequest, response, next, retryCount = 0, retryCallback, subscription) {
|
|
105
|
+
if (retryCount < this.maximumRequestRetries()) {
|
|
106
|
+
this.intercept(originalRequest, next, retryCount + 1, retryCallback);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.error('The OpenID Connect call may have issues:\n' +
|
|
110
|
+
'* the client ID could be invalid\n' +
|
|
111
|
+
'* the API Gateway access token could be invalid\n' +
|
|
112
|
+
'* the EU Login access token for the target service could be invalid.');
|
|
113
|
+
if (subscription) {
|
|
114
|
+
subscription.unsubscribe();
|
|
115
|
+
}
|
|
116
|
+
if (retryCallback) {
|
|
117
|
+
retryCallback.error(response);
|
|
118
|
+
retryCallback.complete();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return of(null);
|
|
122
|
+
}
|
|
123
|
+
apiGatewayTokenExpired(response) {
|
|
124
|
+
if (response && response.status === 401) {
|
|
125
|
+
const message = '' + response.error;
|
|
126
|
+
return message.indexOf('<ams:code>900901</ams:code>') >= 0;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
maximumRequestRetries() {
|
|
133
|
+
if (OpenIdConnect.config && OpenIdConnect.config.maximumRequestRetries >= 0) {
|
|
134
|
+
return OpenIdConnect.config.maximumRequestRetries;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
return this.defaultMaximumRequestRetries;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** @nocollapse */ /** @nocollapse */ OpenIdConnectInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: OpenIdConnectInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
142
|
+
/** @nocollapse */ /** @nocollapse */ OpenIdConnectInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: OpenIdConnectInterceptor });
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: OpenIdConnectInterceptor, decorators: [{
|
|
144
|
+
type: Injectable
|
|
145
|
+
}], ctorParameters: function () { return []; } });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmlkLWNvbm5lY3QuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyY2VwdG9ycy9vcGVuaWQvb3BlbmlkLWNvbm5lY3QuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsaUJBQWlCLEVBRWpCLGFBQWEsRUFFYixXQUFXLEdBSWQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPNUMsTUFBTSxPQUFPLHdCQUF3QjtJQUlqQztRQUhBLGlIQUFpSDtRQUNqSCxpQ0FBNEIsR0FBRyxDQUFDLENBQUM7UUFHN0Isd0NBQXdDO1FBQ3hDLElBQUksT0FBTyxhQUFhLEtBQUssV0FBVyxFQUFFO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQ1Qsb0VBQW9FLEVBQ3BFLHNIQUFzSCxDQUN6SCxDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUNMLE9BQXlCLEVBQ3pCLElBQWlCLEVBQ2pCLFVBQVUsR0FBRyxDQUFDLEVBQ2QsYUFBdUM7UUFFdkMsSUFBSSxPQUFPLGFBQWEsS0FBSyxXQUFXLEVBQUU7WUFDdEMsSUFBSSxpQkFBaUIsR0FBRyxhQUFhLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUNwQixpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQzthQUNyRDtZQUVELGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQzFFLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQztnQkFDekIsSUFBSSxP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V0FBVyxFQUFFLENBQUM7YUFDOUI7WUFDRCxJQUFJLGFBQWEsRUFBRTtnQkFDZixhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QixhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDNUI7U0FDSjtRQUVELE9BQU8sRUFBRSxDQUFpQixJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsc0JBQXNCLENBQUMsUUFBMkI7UUFDeEQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDcEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlEO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFUyxxQkFBcUI7UUFDM0IsSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMscUJBQXFCLElBQUksQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztTQUNyRDthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7U0FDNUM7SUFDTCxDQUFDOzttS0F0S1Esd0JBQXdCO3VLQUF4Qix3QkFBd0I7bUdBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cEV2ZW50LFxuICAgIEh0dHBFdmVudFR5cGUsXG4gICAgSHR0cEhhbmRsZXIsXG4gICAgSHR0cEhlYWRlcnMsXG4gICAgSHR0cEludGVyY2VwdG9yLFxuICAgIEh0dHBSZXF1ZXN0LFxuICAgIEh0dHBSZXNwb25zZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVGhpcyB2YXJpYWJsZSBpcyBkZWNsYXJlZCBpbiB0aGUgamF2YXNjcmlwdCBmaWxlIG9wZW5pZC1sb2dpbi5qc1xuLy8gYW5kIHdpbGwgYmUgaW1wb3J0ZWQgaW4gdGhlIGVVSSBhcHBsaWNhdGlvbnMnIGluZGV4Lmh0bWwgZmlsZSwgd2hlbiBuZWNlc3NhcnkuXG5kZWNsYXJlIHZhciBPcGVuSWRDb25uZWN0OiBhbnk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcGVuSWRDb25uZWN0SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIC8vIEJ5IGRlZmF1bHQsIHRoZSBvcmlnaW5hbCByZXF1ZXN0IHNob3VsZCBhdCBsZWFzdCBiZSByZXRyaWVzIG9uY2UgaW4gY2FzZSB0aGUgY2FjaGVkIEFQSSBHYXRld2F5IHRva2VuIGV4cGlyZXM6XG4gICAgZGVmYXVsdE1heGltdW1SZXF1ZXN0UmV0cmllcyA9IDE7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIE9wZW5JZENvbm5lY3QgaXMgZGVmaW5lZFxuICAgICAgICBpZiAodHlwZW9mIE9wZW5JZENvbm5lY3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICdQbGVhc2UgaW5jbHVkZSB0aGUgc2NyaXB0IG9wZW5pZC1sb2dpbi5qcyBpbiB5b3VyIGluZGV4Lmh0bWwgZmlsZS4nLFxuICAgICAgICAgICAgICAgICdGb3IgbW9yZSBkZXRhaWxzLCBwbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvbiByZWdhcmRpbmcgdGhlIEh0dHAgSW50ZXJjZXB0b3JzIGFuZCBPcGVuSUQgQ29ubmVjdCBjb25maWd1cmF0aW9uLicsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KFxuICAgICAgICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgICAgICBuZXh0OiBIdHRwSGFuZGxlcixcbiAgICAgICAgcmV0cnlDb3VudCA9IDAsXG4gICAgICAgIHJldHJ5Q2FsbGJhY2s/OiBTdWJqZWN0PEh0dHBFdmVudDxhbnk+PixcbiAgICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIGlmICh0eXBlb2YgT3BlbklkQ29ubmVjdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGxldCBhdXRob3JpemVkUmVxdWVzdCA9IHJldHJ5Q2FsbGJhY2s7XG4gICAgICAgICAgICBpZiAoIWF1dGhvcml6ZWRSZXF1ZXN0KSB7XG4gICAgICAgICAgICAgICAgYXV0aG9yaXplZFJlcXVlc3QgPSBuZXcgU3ViamVjdDxIdHRwRXZlbnQ8YW55Pj4oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgT3BlbklkQ29ubmVjdC5nZXRBdXRob3JpemF0aW9uSGVhZGVycyhyZXF1ZXN0LnVybFdpdGhQYXJhbXMsIChoZWFkZXJzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmVxdWVzdCA9IHJlcXVlc3Q7XG4gICAgICAgICAgICAgICAgaWYgKGhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld0hlYWRlcnMgPSByZXF1ZXN0LmhlYWRlcnM7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdIZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGhlYWRlck5hbWUgaW4gaGVhZGVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFkZXJzLmhhc093blByb3BlcnR5KGhlYWRlck5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0hlYWRlcnMgPSBuZXdIZWFkZXJzLnNldChoZWFkZXJOYW1lLCBoZWFkZXJzIFtoZWFkZXJOYW1lXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyhoZWFkZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3SGVhZGVycyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV4dC5oYW5kbGUobmV3UmVxdWVzdClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKHJlc3BvbnNlLCByZXF1ZXN0LCBuZXh0LCByZXRyeUNvdW50LCBhdXRob3JpemVkUmVxdWVzdCwgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGh0dHBFdmVudDogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChodHRwRXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRob3JpemVkUmVxdWVzdC5uZXh0KGh0dHBFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGh0dHBFdmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhvcml6ZWRSZXF1ZXN0LmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIChlcnJvclJlc3BvbnNlOiBYTUxIdHRwUmVxdWVzdCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUHJvcGVydGllczogYW55ID0ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JSZXNwb25zZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChlcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yUHJvcGVydGllcy5zdGF0dXMgPSBlcnJvclJlc3BvbnNlLnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JQcm9wZXJ0aWVzLnN0YXR1c1RleHQgPSBlcnJvclJlc3BvbnNlLnN0YXR1c1RleHQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3JSZXNwb25zZShuZXcgSHR0cEVycm9yUmVzcG9uc2UoZXJyb3JQcm9wZXJ0aWVzKSwgcmVxdWVzdCwgbmV4dCwgcmV0cnlDb3VudCwgYXV0aG9yaXplZFJlcXVlc3QsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhdXRob3JpemVkUmVxdWVzdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVFcnJvclJlc3BvbnNlKFxuICAgICAgICByZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgICAgIG9yaWdpbmFsUmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcbiAgICAgICAgbmV4dDogSHR0cEhhbmRsZXIsXG4gICAgICAgIHJldHJ5Q291bnQ6IG51bWJlciA9IDAsXG4gICAgICAgIHJldHJ5Q2FsbGJhY2s6IFN1YmplY3Q8SHR0cEV2ZW50PGFueT4+LFxuICAgICAgICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbixcbiAgICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yICYmIHJlc3BvbnNlLmVycm9yLmVycm9yID09PSAnaW52YWxpZF9yZXF1ZXN0Jykge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBJRCB0b2tlbiBpcyBpbnZhbGlkIG9yIGluY29ycmVjdDsgcmV0cmlldmUgYW5vdGhlciBvbmU6XG4gICAgICAgICAgICAgICAgT3BlbklkQ29ubmVjdC5yZW5ld0lkVG9rZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hcGlHYXRld2F5VG9rZW5FeHBpcmVkKHJlc3BvbnNlKSkge1xuICAgICAgICAgICAgICAgIE9wZW5JZENvbm5lY3QuY2xlYXJDYWNoZWRBcGlHYXRld2F5QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXRyeVJlcXVlc3Qob3JpZ2luYWxSZXF1ZXN0LCByZXNwb25zZSwgbmV4dCwgcmV0cnlDb3VudCwgcmV0cnlDYWxsYmFjaywgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDEgfHwgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgICAgICAvLyBUaGUgRVUgTG9naW4gYWNjZXNzIHRva2VuIGlzIGludmFsaWQuICg0MDMpXG4gICAgICAgICAgICAgICAgLy8gVGhlIHRhcmdldCBzZXJ2aWNlIGlzIHVuYWJsZSB0byByZWFkIHRoZSBhY2Nlc3MgdG9rZW4sIGZvciBleGFtcGxlIGJlY2F1c2UgdGhlIEVVIExvZ2luIHNlc3Npb24gZW5kZWQuICg0MDEpXG4gICAgICAgICAgICAgICAgLy8gUmV0cnkgaW4gY2FzZSB0aGUgYWNjZXNzIHRva2VuIGJlY2FtZSBpbnZhbGlkIHRvbyBxdWlja2x5OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJldHJ5UmVxdWVzdChvcmlnaW5hbFJlcXVlc3QsIHJlc3BvbnNlLCBuZXh0LCByZXRyeUNvdW50LCByZXRyeUNhbGxiYWNrLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDApIHtcbiAgICAgICAgICAgICAgICAvLyBPbmUgb2YgdGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0cyBvciB0aGUgb3JpZ2luYWwgcmVxdWVzdCB3YXMgbm90IHNlbnQuXG4gICAgICAgICAgICAgICAgLy8gTW9zdCBsaWtlbHkgb25lIG9mIHRoZSBDT1JTIHByZS1mbGlnaHQgcmVxdWVzdHMgZmFpbGVkLCBvciB0aGUgYnJvd3NlciBpcyBvZmZsaW5lLlxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgJ1RoZSBPcGVuSUQgQ29ubmVjdCBjYWxsIG1heSBoYXZlIGlzc3VlczpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgJyogdGhlIENPUlMgcHJlLWZsaWdodCByZXF1ZXN0cyBmb3IgdGhlIE9wZW5JRCBDb25uZWN0IGFjY2VzcyB0b2tlbnMgb3IgZm9yIHRoZSBSRVNUIGNhbGwgY291bGQgYmUgZmFpbGluZ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAnKiB0aGUgYnJvd3NlciBjb3VsZCBiZSBjdXJyZW50bHkgb2ZmbGluZS4nLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmV0cnlDYWxsYmFjaykge1xuICAgICAgICAgICAgcmV0cnlDYWxsYmFjay5lcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgICByZXRyeUNhbGxiYWNrLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihyZXNwb25zZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJldHJ5UmVxdWVzdChcbiAgICAgICAgb3JpZ2luYWxSZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgICAgICByZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgICAgIG5leHQ6IEh0dHBIYW5kbGVyLFxuICAgICAgICByZXRyeUNvdW50OiBudW1iZXIgPSAwLFxuICAgICAgICByZXRyeUNhbGxiYWNrOiBTdWJqZWN0PEh0dHBFdmVudDxhbnk+PixcbiAgICAgICAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24sXG4gICAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBpZiAocmV0cnlDb3VudCA8IHRoaXMubWF4aW11bVJlcXVlc3RSZXRyaWVzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0KG9yaWdpbmFsUmVxdWVzdCwgbmV4dCwgcmV0cnlDb3VudCArIDEsIHJldHJ5Q2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAnVGhlIE9wZW5JRCBDb25uZWN0IGNhbGwgbWF5IGhhdmUgaXNzdWVzOlxcbicgK1xuICAgICAgICAgICAgICAgICcqIHRoZSBjbGllbnQgSUQgY291bGQgYmUgaW52YWxpZFxcbicgK1xuICAgICAgICAgICAgICAgICcqIHRoZSBBUEkgR2F0ZXdheSBhY2Nlc3MgdG9rZW4gY291bGQgYmUgaW52YWxpZFxcbicgK1xuICAgICAgICAgICAgICAgICcqIHRoZSBFVSBMb2dpbiBhY2Nlc3MgdG9rZW4gZm9yIHRoZSB0YXJnZXQgc2VydmljZSBjb3VsZCBiZSBpbnZhbGlkLicsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJldHJ5Q2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICByZXRyeUNhbGxiYWNrLmVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICByZXRyeUNhbGxiYWNrLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2Y8SHR0cEV2ZW50PGFueT4+KG51bGwpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcGlHYXRld2F5VG9rZW5FeHBpcmVkKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnJyArIHJlc3BvbnNlLmVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2UuaW5kZXhPZignPGFtczpjb2RlPjkwMDkwMTwvYW1zOmNvZGU+JykgPj0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBtYXhpbXVtUmVxdWVzdFJldHJpZXMoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKE9wZW5JZENvbm5lY3QuY29uZmlnICYmIE9wZW5JZENvbm5lY3QuY29uZmlnLm1heGltdW1SZXF1ZXN0UmV0cmllcyA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gT3BlbklkQ29ubmVjdC5jb25maWcubWF4aW11bVJlcXVlc3RSZXRyaWVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdE1heGltdW1SZXF1ZXN0UmV0cmllcztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -11,12 +11,12 @@ export class OpenIdConnectService {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
/** @nocollapse */ OpenIdConnectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
15
|
-
/** @nocollapse */ OpenIdConnectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
14
|
+
/** @nocollapse */ /** @nocollapse */ OpenIdConnectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: OpenIdConnectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
/** @nocollapse */ /** @nocollapse */ OpenIdConnectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: OpenIdConnectService, providedIn: 'root' });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: OpenIdConnectService, decorators: [{
|
|
17
17
|
type: Injectable,
|
|
18
18
|
args: [{
|
|
19
19
|
providedIn: 'root'
|
|
20
20
|
}]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmlkLWNvbm5lY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL29wZW5pZC9vcGVuaWQtY29ubmVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBa0IzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLGNBQWM7UUFDVixJQUFJLGFBQWEsRUFBRTtZQUNmLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDN0YsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUE0QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdkY7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDOzsrSkFSUSxvQkFBb0I7bUtBQXBCLG9CQUFvQixjQUZqQixNQUFNO21HQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIFRoaXMgdmFyaWFibGUgaXMgZGVjbGFyZWQgaW4gdGhlIGphdmFzY3JpcHQgZmlsZSBvcGVuaWQtbG9naW4uanNcbi8vIGFuZCBpbmplY3RlZCBpbiB0aGUgZVVJIGFwcGxpY2F0aW9ucycgaW5kZXguaHRtbCBmaWxlLCBpZiBuZWNlc3NhcnlcbmRlY2xhcmUgdmFyIE9wZW5JZENvbm5lY3Q6IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuSWRDb25uZWN0VXNlckRldGFpbHMge1xuICAgIGRvbWFpbj86IHN0cmluZztcbiAgICBkb21haW5Vc2VybmFtZT86IHN0cmluZztcbiAgICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gICAgbGFzdE5hbWU/OiBzdHJpbmc7XG4gICAgZW1haWw/OiBzdHJpbmc7XG4gICAgZGVwYXJ0bWVudE51bWJlcj86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPcGVuSWRDb25uZWN0U2VydmljZSB7XG4gICAgZ2V0VXNlckRldGFpbHMoKTogT3BlbklkQ29ubmVjdFVzZXJEZXRhaWxzIHtcbiAgICAgICAgaWYgKE9wZW5JZENvbm5lY3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGRldGFpbHNTdHJpbmcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKE9wZW5JZENvbm5lY3QuU0VTU0lPTl9TVE9SQUdFX0tFWV9VU0VSX0RFVEFJTFMpO1xuICAgICAgICAgICAgcmV0dXJuIGRldGFpbHNTdHJpbmcgPyAoPE9wZW5JZENvbm5lY3RVc2VyRGV0YWlscz5KU09OLnBhcnNlKGRldGFpbHNTdHJpbmcpKSA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
File without changes
|
|
@@ -21,12 +21,12 @@ export class UxRequestErrorModelInterceptor {
|
|
|
21
21
|
}));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
/** @nocollapse */ UxRequestErrorModelInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
25
|
-
/** @nocollapse */ UxRequestErrorModelInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.
|
|
24
|
+
/** @nocollapse */ /** @nocollapse */ UxRequestErrorModelInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: UxRequestErrorModelInterceptor, deps: [{ token: UX_ERROR_MAPPING_HANDLER_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
/** @nocollapse */ /** @nocollapse */ UxRequestErrorModelInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: UxRequestErrorModelInterceptor });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: UxRequestErrorModelInterceptor, decorators: [{
|
|
27
27
|
type: Injectable
|
|
28
28
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
29
29
|
type: Inject,
|
|
30
30
|
args: [UX_ERROR_MAPPING_HANDLER_TOKEN]
|
|
31
31
|
}] }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtcmVxdWVzdC1lcnJvci1tb2RlbC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL3V4LXJlcXVlc3QtZXJyb3ItbW9kZWwuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsR0FBeUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNoSCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBRUgseUJBQXlCLEVBRTVCLE1BQU0sV0FBVyxDQUFDOztBQUVuQixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsMEJBQTBCLENBQUMsQ0FBQztBQUdsSCxNQUFNLE9BQU8sOEJBQThCO0lBRXZDLFlBQTRELG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQ3BHLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FDRCxVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDMUIsSUFBSSxHQUFHLFlBQVksaUJBQWlCLEVBQUU7b0JBQ2xDLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUF3QixDQUFDO2lCQUN6RjthQUNKO1lBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7O3lLQWpCUSw4QkFBOEIsa0JBRW5CLDhCQUE4Qjs2S0FGekMsOEJBQThCO21HQUE5Qiw4QkFBOEI7a0JBRDFDLFVBQVU7OzBCQUdNLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIEVycm9yTWFwcGluZ0hhbmRsZXIsXG4gICAgdHJhbnNmb3JtVG9VeEh0dHBSZXNwb25zZSxcbiAgICBVeEh0dHBFcnJvclJlc3BvbnNlXG59IGZyb20gJ0BldWkvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBVWF9FUlJPUl9NQVBQSU5HX0hBTkRMRVJfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48RXJyb3JNYXBwaW5nSGFuZGxlcj4oJ1VYX0VSUk9SX01BUFBJTkdfSEFORExFUicpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXhSZXF1ZXN0RXJyb3JNb2RlbEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVVhfRVJST1JfTUFQUElOR19IQU5ETEVSX1RPS0VOKSBwcml2YXRlIGVycm9yTWFwcGluZ0hhbmRsZXI6IEVycm9yTWFwcGluZ0hhbmRsZXIpIHtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVycm9yTWFwcGluZ0hhbmRsZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9IHRyYW5zZm9ybVRvVXhIdHRwUmVzcG9uc2UoZXJyLCB0aGlzLmVycm9yTWFwcGluZ0hhbmRsZXIpIGFzIFV4SHR0cEVycm9yUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
package/{esm2015/lib/services/app/eui-init-app.js → esm2020/lib/services/app/eui-init-app.mjs}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { xhr } from '@eui/base';
|
|
2
|
+
/**
|
|
3
|
+
* Function to be used before the AppModule is bootstrapped. It is currently used to load dynamic configurations.
|
|
4
|
+
* It needs to be added in your application main.ts file.
|
|
5
|
+
* @param envConfig the current environment configuration
|
|
6
|
+
* @returns the updated environment configuration, as a promise
|
|
7
|
+
*/
|
|
8
|
+
export async function preInitApp(envConfig) {
|
|
9
|
+
const envDynamicConfig = envConfig && envConfig.envDynamicConfig;
|
|
10
|
+
if (envDynamicConfig) {
|
|
11
|
+
// load the local configuration file, if defined
|
|
12
|
+
const euiAppJsonConfig = await loadEuiDynamicEnvironmentConfig(envDynamicConfig.uri, envDynamicConfig.configTimeout || 2000);
|
|
13
|
+
envConfig.loadedEnvDynamicConfig = euiAppJsonConfig;
|
|
14
|
+
return envConfig;
|
|
15
|
+
}
|
|
16
|
+
return envConfig;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Function to load asynchronously a dynamic configuration (from a local path or a web service)
|
|
20
|
+
* @param url the path to the configuration
|
|
21
|
+
* @param timeout possible timeout
|
|
22
|
+
* @returns EuiAppJsonConfig promise
|
|
23
|
+
*/
|
|
24
|
+
export async function loadEuiDynamicEnvironmentConfig(url, timeout) {
|
|
25
|
+
// if the url is specified
|
|
26
|
+
if (url) {
|
|
27
|
+
// fetch the config
|
|
28
|
+
try {
|
|
29
|
+
return await xhr({
|
|
30
|
+
url: url,
|
|
31
|
+
timeout: timeout,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
// send a warning to the console
|
|
36
|
+
console.warn('Dynamic configuration cannot be loaded from url', url, error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// the dynamic config is not loaded
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXByZS1pbml0LWFwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBwL2V1aS1wcmUtaW5pdC1hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvRCxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEY7Ozs7O0dBS0c7QUFFSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxTQUF1QjtJQUVwRCxNQUFNLGdCQUFnQixHQUFxQixTQUFTLElBQUksU0FBUyxDQUFDLGdCQUFnQixDQUFDO0lBQ25GLElBQUksZ0JBQWdCLEVBQUU7UUFDbEIsZ0RBQWdEO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQXFCLE1BQU0sK0JBQStCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUNqRyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLENBQUM7UUFDNUMsU0FBUyxDQUFDLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDO1FBQ3BELE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSwrQkFBK0IsQ0FBQyxHQUFXLEVBQUUsT0FBZ0I7SUFDL0UsMEJBQTBCO0lBQzFCLElBQUksR0FBRyxFQUFFO1FBQ0wsbUJBQW1CO1FBQ25CLElBQUk7WUFDQSxPQUFPLE1BQU0sR0FBRyxDQUFtQjtnQkFDL0IsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsT0FBTyxFQUFFLE9BQU87YUFDbkIsQ0FBQyxDQUFDO1NBQ047UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLGdDQUFnQztZQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvRTtLQUNKO0lBQ0QsbUNBQW1DO0lBQ25DLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZEeW5hbWljQ29uZmlnLCBFdWlBcHBKc29uQ29uZmlnLCBFdWlFbnZDb25maWcsIHhociB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gYmUgdXNlZCBiZWZvcmUgdGhlIEFwcE1vZHVsZSBpcyBib290c3RyYXBwZWQuIEl0IGlzIGN1cnJlbnRseSB1c2VkIHRvIGxvYWQgZHluYW1pYyBjb25maWd1cmF0aW9ucy5cbiAqIEl0IG5lZWRzIHRvIGJlIGFkZGVkIGluIHlvdXIgYXBwbGljYXRpb24gbWFpbi50cyBmaWxlLlxuICogQHBhcmFtIGVudkNvbmZpZyB0aGUgY3VycmVudCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uXG4gKiBAcmV0dXJucyB0aGUgdXBkYXRlZCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uLCBhcyBhIHByb21pc2VcbiAqL1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlSW5pdEFwcChlbnZDb25maWc6IEV1aUVudkNvbmZpZyk6IFByb21pc2U8RXVpRW52Q29uZmlnPiB7XG5cbiAgICBjb25zdCBlbnZEeW5hbWljQ29uZmlnOiBFbnZEeW5hbWljQ29uZmlnID0gZW52Q29uZmlnICYmIGVudkNvbmZpZy5lbnZEeW5hbWljQ29uZmlnO1xuICAgIGlmIChlbnZEeW5hbWljQ29uZmlnKSB7XG4gICAgICAgIC8vIGxvYWQgdGhlIGxvY2FsIGNvbmZpZ3VyYXRpb24gZmlsZSwgaWYgZGVmaW5lZFxuICAgICAgICBjb25zdCBldWlBcHBKc29uQ29uZmlnOiBFdWlBcHBKc29uQ29uZmlnID0gYXdhaXQgbG9hZEV1aUR5bmFtaWNFbnZpcm9ubWVudENvbmZpZyhlbnZEeW5hbWljQ29uZmlnLnVyaSxcbiAgICAgICAgICAgIGVudkR5bmFtaWNDb25maWcuY29uZmlnVGltZW91dCB8fCAyMDAwKTtcbiAgICAgICAgZW52Q29uZmlnLmxvYWRlZEVudkR5bmFtaWNDb25maWcgPSBldWlBcHBKc29uQ29uZmlnO1xuICAgICAgICByZXR1cm4gZW52Q29uZmlnO1xuICAgIH1cbiAgICByZXR1cm4gZW52Q29uZmlnO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGxvYWQgYXN5bmNocm9ub3VzbHkgYSBkeW5hbWljIGNvbmZpZ3VyYXRpb24gKGZyb20gYSBsb2NhbCBwYXRoIG9yIGEgd2ViIHNlcnZpY2UpXG4gKiBAcGFyYW0gdXJsIHRoZSBwYXRoIHRvIHRoZSBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0gdGltZW91dCBwb3NzaWJsZSB0aW1lb3V0XG4gKiBAcmV0dXJucyBFdWlBcHBKc29uQ29uZmlnIHByb21pc2VcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRFdWlEeW5hbWljRW52aXJvbm1lbnRDb25maWcodXJsOiBzdHJpbmcsIHRpbWVvdXQ/OiBudW1iZXIpOiBQcm9taXNlPEV1aUFwcEpzb25Db25maWc+IHtcbiAgICAvLyBpZiB0aGUgdXJsIGlzIHNwZWNpZmllZFxuICAgIGlmICh1cmwpIHtcbiAgICAgICAgLy8gZmV0Y2ggdGhlIGNvbmZpZ1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHhocjxFdWlBcHBKc29uQ29uZmlnPih7XG4gICAgICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGltZW91dCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gc2VuZCBhIHdhcm5pbmcgdG8gdGhlIGNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRHluYW1pYyBjb25maWd1cmF0aW9uIGNhbm5vdCBiZSBsb2FkZWQgZnJvbSB1cmwnLCB1cmwsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB0aGUgZHluYW1pYyBjb25maWcgaXMgbm90IGxvYWRlZFxuICAgIHJldHVybiBudWxsO1xufVxuIl19
|
package/{esm2015/lib/services/app/eui-startup.js → esm2020/lib/services/app/eui-startup.mjs}
RENAMED
|
File without changes
|
package/{esm2015/lib/services/app/factories/log.js → esm2020/lib/services/app/factories/log.mjs}
RENAMED
|
File without changes
|
|
File without changes
|