@eui/core 15.4.1 → 15.4.2
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/LICENSE +296 -296
- package/README.md +26 -26
- package/assets/i18n-eui/bg.json +114 -114
- package/assets/i18n-eui/cs.json +114 -114
- package/assets/i18n-eui/da.json +114 -114
- package/assets/i18n-eui/de.json +114 -114
- package/assets/i18n-eui/el.json +114 -114
- package/assets/i18n-eui/en.json +113 -113
- package/assets/i18n-eui/es.json +114 -114
- package/assets/i18n-eui/et.json +114 -114
- package/assets/i18n-eui/fi.json +114 -114
- package/assets/i18n-eui/fr.json +114 -114
- package/assets/i18n-eui/ga.json +114 -114
- package/assets/i18n-eui/hr.json +114 -114
- package/assets/i18n-eui/hu.json +114 -114
- package/assets/i18n-eui/it.json +114 -114
- package/assets/i18n-eui/lt.json +114 -114
- package/assets/i18n-eui/lv.json +114 -114
- package/assets/i18n-eui/mt.json +114 -114
- package/assets/i18n-eui/nl.json +114 -114
- package/assets/i18n-eui/pl.json +114 -114
- package/assets/i18n-eui/pt.json +114 -114
- package/assets/i18n-eui/ro.json +114 -114
- package/assets/i18n-eui/sk.json +114 -114
- package/assets/i18n-eui/sl.json +114 -114
- package/assets/i18n-eui/sv.json +114 -114
- package/docs/classes/RouterMock.html +5 -5
- package/docs/dependencies.html +7 -95
- package/docs/index.html +59 -36
- package/docs/injectables/CoreAppEffects.html +51 -51
- package/docs/js/menu-wc.js +7 -12
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +1211 -1211
- package/esm2020/eui-core.mjs +4 -4
- package/esm2020/index.mjs +13 -13
- package/esm2020/lib/eui-core.module.mjs +78 -78
- package/esm2020/lib/helpers/date-helpers.mjs +3 -3
- package/esm2020/lib/helpers/dom-helpers.mjs +87 -87
- package/esm2020/lib/helpers/event-helpers.mjs +9 -9
- package/esm2020/lib/helpers/form-helpers.mjs +42 -42
- package/esm2020/lib/helpers/format-helpers.mjs +66 -66
- package/esm2020/lib/helpers/http-helpers.mjs +7 -7
- package/esm2020/lib/helpers/index.mjs +8 -8
- package/esm2020/lib/helpers/utils.mjs +7 -7
- package/esm2020/lib/interceptors/add-lang-param.interceptor.mjs +35 -35
- package/esm2020/lib/interceptors/cache-prevention.interceptor.mjs +21 -21
- package/esm2020/lib/interceptors/cors-security.interceptor.mjs +15 -15
- package/esm2020/lib/interceptors/csrf-prevention.interceptor.mjs +15 -15
- package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +72 -72
- package/esm2020/lib/interceptors/index.mjs +8 -8
- package/esm2020/lib/interceptors/openid/index.mjs +4 -4
- package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +149 -149
- package/esm2020/lib/interceptors/openid/openid-connect.service.mjs +56 -56
- package/esm2020/lib/interceptors/openid/openid-connect.service.mock.mjs +8 -8
- package/esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs +31 -31
- package/esm2020/lib/services/app/eui-init-app.mjs +29 -29
- package/esm2020/lib/services/app/eui-pre-init-app.mjs +43 -43
- package/esm2020/lib/services/app/eui-startup.mjs +40 -40
- package/esm2020/lib/services/app/factories/log.mjs +55 -55
- package/esm2020/lib/services/app/index.mjs +2 -2
- package/esm2020/lib/services/config/defaults.mjs +68 -68
- package/esm2020/lib/services/config/tokens.mjs +74 -74
- package/esm2020/lib/services/errors/eui.error.mjs +38 -38
- package/esm2020/lib/services/errors/global-error-handler.mjs +24 -24
- package/esm2020/lib/services/errors/http-error-handler-callback-functions.mjs +17 -17
- package/esm2020/lib/services/errors/http-error-handler.interceptor.mjs +55 -55
- package/esm2020/lib/services/errors/index.mjs +5 -5
- package/esm2020/lib/services/i18n/i18n.loader.mjs +198 -198
- package/esm2020/lib/services/i18n/i18n.resource.mjs +43 -43
- package/esm2020/lib/services/i18n/i18n.service.mjs +228 -228
- package/esm2020/lib/services/i18n/i18n.service.mock.mjs +38 -38
- package/esm2020/lib/services/i18n/index.mjs +6 -6
- package/esm2020/lib/services/index.mjs +19 -19
- package/esm2020/lib/services/locale/index.mjs +3 -3
- package/esm2020/lib/services/locale/locale.service.mjs +232 -232
- package/esm2020/lib/services/locale/locale.service.mock.mjs +43 -43
- package/esm2020/lib/services/log/index.mjs +4 -4
- package/esm2020/lib/services/log/log.module.mjs +38 -38
- package/esm2020/lib/services/log/log.service.mjs +51 -51
- package/esm2020/lib/services/log/log.service.mock.mjs +7 -7
- package/esm2020/lib/services/permission/permission.service.mjs +110 -110
- package/esm2020/lib/services/queue/api-queue.service.mjs +137 -137
- package/esm2020/lib/services/queue/api-queue.service.mock.mjs +23 -23
- package/esm2020/lib/services/queue/index.mjs +3 -3
- package/esm2020/lib/services/storage/async-storage.service.mjs +17 -17
- package/esm2020/lib/services/storage/async-storage.service.mock.mjs +22 -22
- package/esm2020/lib/services/storage/index.mjs +8 -8
- package/esm2020/lib/services/storage/local-forage.service.mjs +93 -93
- package/esm2020/lib/services/storage/local-storage.service.mjs +75 -75
- package/esm2020/lib/services/storage/session-storage.service.mjs +75 -75
- package/esm2020/lib/services/storage/storage.service.mjs +6 -6
- package/esm2020/lib/services/storage/storage.service.mock.mjs +12 -12
- package/esm2020/lib/services/store/actions/app.actions.mjs +74 -74
- package/esm2020/lib/services/store/actions/i18n.actions.mjs +11 -11
- package/esm2020/lib/services/store/actions/index.mjs +6 -6
- package/esm2020/lib/services/store/actions/locale.actions.mjs +11 -11
- package/esm2020/lib/services/store/actions/notifications.actions.mjs +11 -11
- package/esm2020/lib/services/store/actions/user.actions.mjs +39 -39
- package/esm2020/lib/services/store/effects/app.effects.mjs +55 -55
- package/esm2020/lib/services/store/effects/index.mjs +4 -4
- package/esm2020/lib/services/store/index.mjs +6 -6
- package/esm2020/lib/services/store/reducers/app.reducers.mjs +56 -56
- package/esm2020/lib/services/store/reducers/core.reducers.mjs +13 -13
- package/esm2020/lib/services/store/reducers/i18n.reducers.mjs +16 -16
- package/esm2020/lib/services/store/reducers/index.mjs +8 -8
- package/esm2020/lib/services/store/reducers/locale.reducers.mjs +16 -16
- package/esm2020/lib/services/store/reducers/meta.reducers.mjs +89 -89
- package/esm2020/lib/services/store/reducers/notifications.reducers.mjs +13 -13
- package/esm2020/lib/services/store/reducers/user.reducers.mjs +43 -43
- package/esm2020/lib/services/store/store.service.mjs +112 -112
- package/esm2020/lib/services/store/store.service.mock.mjs +22 -22
- package/esm2020/lib/services/user/index.mjs +3 -3
- package/esm2020/lib/services/user/user.service.mjs +64 -64
- package/esm2020/lib/services/user/user.service.mock.mjs +32 -32
- package/esm2020/lib/services/ux-app-shell.service.mjs +690 -690
- package/esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +63 -63
- package/esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +66 -66
- package/esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +99 -99
- package/esm2020/lib/services/ux-error-feedback/ux-error-handler.operator.mjs +16 -16
- package/esm2020/lib/services/ux-timezone.service.mjs +716 -716
- package/fesm2015/eui-core.mjs +4484 -4484
- package/fesm2015/eui-core.mjs.map +1 -1
- package/fesm2020/eui-core.mjs +4538 -4538
- package/fesm2020/eui-core.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/eui-core.module.d.ts +20 -20
- package/lib/helpers/date-helpers.d.ts +2 -2
- package/lib/helpers/dom-helpers.d.ts +26 -26
- package/lib/helpers/event-helpers.d.ts +1 -1
- package/lib/helpers/form-helpers.d.ts +10 -10
- package/lib/helpers/format-helpers.d.ts +12 -12
- package/lib/helpers/http-helpers.d.ts +2 -2
- package/lib/helpers/index.d.ts +7 -7
- package/lib/helpers/utils.d.ts +6 -6
- package/lib/interceptors/add-lang-param.interceptor.d.ts +16 -16
- package/lib/interceptors/cache-prevention.interceptor.d.ts +8 -8
- package/lib/interceptors/cors-security.interceptor.d.ts +8 -8
- package/lib/interceptors/csrf-prevention.interceptor.d.ts +8 -8
- package/lib/interceptors/eu-login-session-timeout-handling.interceptor.d.ts +12 -12
- package/lib/interceptors/index.d.ts +7 -7
- package/lib/interceptors/openid/index.d.ts +3 -3
- package/lib/interceptors/openid/openid-connect.interceptor.d.ts +14 -14
- package/lib/interceptors/openid/openid-connect.service.d.ts +17 -17
- package/lib/interceptors/openid/openid-connect.service.mock.d.ts +5 -5
- package/lib/interceptors/ux-request-error-model.interceptor.d.ts +13 -13
- package/lib/services/app/eui-init-app.d.ts +2 -2
- package/lib/services/app/eui-pre-init-app.d.ts +16 -16
- package/lib/services/app/eui-startup.d.ts +4 -4
- package/lib/services/app/factories/log.d.ts +25 -25
- package/lib/services/app/index.d.ts +1 -1
- package/lib/services/config/defaults.d.ts +11 -11
- package/lib/services/config/tokens.d.ts +19 -19
- package/lib/services/errors/eui.error.d.ts +15 -15
- package/lib/services/errors/global-error-handler.d.ts +10 -10
- package/lib/services/errors/http-error-handler-callback-functions.d.ts +6 -6
- package/lib/services/errors/http-error-handler.interceptor.d.ts +22 -22
- package/lib/services/errors/index.d.ts +4 -4
- package/lib/services/i18n/i18n.loader.d.ts +79 -79
- package/lib/services/i18n/i18n.resource.d.ts +35 -35
- package/lib/services/i18n/i18n.service.d.ts +73 -73
- package/lib/services/i18n/i18n.service.mock.d.ts +19 -19
- package/lib/services/i18n/index.d.ts +4 -4
- package/lib/services/index.d.ts +18 -18
- package/lib/services/locale/index.d.ts +2 -2
- package/lib/services/locale/locale.service.d.ts +68 -68
- package/lib/services/locale/locale.service.mock.d.ts +15 -15
- package/lib/services/log/index.d.ts +3 -3
- package/lib/services/log/log.module.d.ts +15 -15
- package/lib/services/log/log.service.d.ts +27 -27
- package/lib/services/log/log.service.mock.d.ts +4 -4
- package/lib/services/permission/permission.service.d.ts +52 -52
- package/lib/services/queue/api-queue.service.d.ts +76 -76
- package/lib/services/queue/api-queue.service.mock.d.ts +13 -13
- package/lib/services/queue/index.d.ts +2 -2
- package/lib/services/storage/async-storage.service.d.ts +44 -44
- package/lib/services/storage/async-storage.service.mock.d.ts +11 -11
- package/lib/services/storage/index.d.ts +7 -7
- package/lib/services/storage/local-forage.service.d.ts +48 -48
- package/lib/services/storage/local-storage.service.d.ts +34 -34
- package/lib/services/storage/session-storage.service.d.ts +34 -34
- package/lib/services/storage/storage.service.d.ts +28 -28
- package/lib/services/storage/storage.service.mock.d.ts +7 -7
- package/lib/services/store/actions/app.actions.d.ts +82 -82
- package/lib/services/store/actions/i18n.actions.d.ts +11 -11
- package/lib/services/store/actions/index.d.ts +5 -5
- package/lib/services/store/actions/locale.actions.d.ts +11 -11
- package/lib/services/store/actions/notifications.actions.d.ts +10 -10
- package/lib/services/store/actions/user.actions.d.ts +35 -35
- package/lib/services/store/effects/app.effects.d.ts +19 -19
- package/lib/services/store/effects/index.d.ts +3 -3
- package/lib/services/store/index.d.ts +5 -5
- package/lib/services/store/reducers/app.reducers.d.ts +3 -3
- package/lib/services/store/reducers/core.reducers.d.ts +3 -3
- package/lib/services/store/reducers/i18n.reducers.d.ts +3 -3
- package/lib/services/store/reducers/index.d.ts +7 -7
- package/lib/services/store/reducers/locale.reducers.d.ts +3 -3
- package/lib/services/store/reducers/meta.reducers.d.ts +17 -17
- package/lib/services/store/reducers/notifications.reducers.d.ts +3 -3
- package/lib/services/store/reducers/user.reducers.d.ts +3 -3
- package/lib/services/store/store.service.d.ts +43 -43
- package/lib/services/store/store.service.mock.d.ts +12 -12
- package/lib/services/user/index.d.ts +2 -2
- package/lib/services/user/user.service.d.ts +15 -15
- package/lib/services/user/user.service.mock.d.ts +16 -16
- package/lib/services/ux-app-shell.service.d.ts +155 -155
- package/lib/services/ux-dynamic-component/ux-dynamic-component.service.d.ts +36 -36
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +14 -14
- package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts +35 -35
- package/lib/services/ux-error-feedback/ux-error-handler.operator.d.ts +3 -3
- package/lib/services/ux-timezone.service.d.ts +269 -269
- package/package.json +2 -2
- package/docs/overview.html +0 -171
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { Optional, Inject, Injectable, LOCALE_ID } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, of } from 'rxjs';
|
|
3
|
-
import { LocaleService } from './locale.service';
|
|
4
|
-
import localeFr from '@angular/common/locales/fr';
|
|
5
|
-
import localeEl from '@angular/common/locales/el';
|
|
6
|
-
import { registerLocaleData } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class LocaleServiceMock extends LocaleService {
|
|
9
|
-
constructor(locale_id) {
|
|
10
|
-
super(null, { locale: { id: 'en', available: [] } }, locale_id, null, null, null);
|
|
11
|
-
this.locale_id = locale_id;
|
|
12
|
-
this.DEFAULT_LOCALE = 'en';
|
|
13
|
-
this.stateSubject = new BehaviorSubject({ id: this.DEFAULT_LOCALE });
|
|
14
|
-
}
|
|
15
|
-
getState() {
|
|
16
|
-
return this.stateSubject.asObservable();
|
|
17
|
-
}
|
|
18
|
-
updateState(state) {
|
|
19
|
-
this.DEFAULT_LOCALE = state.id || 'en';
|
|
20
|
-
if (state.id === 'fr') {
|
|
21
|
-
registerLocaleData(localeFr, 'fr');
|
|
22
|
-
}
|
|
23
|
-
else if (state.id === 'el') {
|
|
24
|
-
registerLocaleData(localeEl, 'fr');
|
|
25
|
-
}
|
|
26
|
-
this.stateSubject.next(state);
|
|
27
|
-
}
|
|
28
|
-
init(state) {
|
|
29
|
-
this.DEFAULT_LOCALE = state.id || 'en';
|
|
30
|
-
return of({ success: true });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/** @nocollapse */ LocaleServiceMock.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocaleServiceMock, deps: [{ token: LOCALE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
-
/** @nocollapse */ LocaleServiceMock.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocaleServiceMock });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocaleServiceMock, decorators: [{
|
|
36
|
-
type: Injectable
|
|
37
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
38
|
-
type: Optional
|
|
39
|
-
}, {
|
|
40
|
-
type: Inject,
|
|
41
|
-
args: [LOCALE_ID]
|
|
42
|
-
}] }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Optional, Inject, Injectable, LOCALE_ID } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, of } from 'rxjs';
|
|
3
|
+
import { LocaleService } from './locale.service';
|
|
4
|
+
import localeFr from '@angular/common/locales/fr';
|
|
5
|
+
import localeEl from '@angular/common/locales/el';
|
|
6
|
+
import { registerLocaleData } from '@angular/common';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class LocaleServiceMock extends LocaleService {
|
|
9
|
+
constructor(locale_id) {
|
|
10
|
+
super(null, { locale: { id: 'en', available: [] } }, locale_id, null, null, null);
|
|
11
|
+
this.locale_id = locale_id;
|
|
12
|
+
this.DEFAULT_LOCALE = 'en';
|
|
13
|
+
this.stateSubject = new BehaviorSubject({ id: this.DEFAULT_LOCALE });
|
|
14
|
+
}
|
|
15
|
+
getState() {
|
|
16
|
+
return this.stateSubject.asObservable();
|
|
17
|
+
}
|
|
18
|
+
updateState(state) {
|
|
19
|
+
this.DEFAULT_LOCALE = state.id || 'en';
|
|
20
|
+
if (state.id === 'fr') {
|
|
21
|
+
registerLocaleData(localeFr, 'fr');
|
|
22
|
+
}
|
|
23
|
+
else if (state.id === 'el') {
|
|
24
|
+
registerLocaleData(localeEl, 'fr');
|
|
25
|
+
}
|
|
26
|
+
this.stateSubject.next(state);
|
|
27
|
+
}
|
|
28
|
+
init(state) {
|
|
29
|
+
this.DEFAULT_LOCALE = state.id || 'en';
|
|
30
|
+
return of({ success: true });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** @nocollapse */ LocaleServiceMock.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocaleServiceMock, deps: [{ token: LOCALE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
/** @nocollapse */ LocaleServiceMock.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocaleServiceMock });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocaleServiceMock, decorators: [{
|
|
36
|
+
type: Injectable
|
|
37
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
38
|
+
type: Optional
|
|
39
|
+
}, {
|
|
40
|
+
type: Inject,
|
|
41
|
+
args: [LOCALE_ID]
|
|
42
|
+
}] }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UubW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9jYWxlL2xvY2FsZS5zZXJ2aWNlLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBSWhELFlBQXFELFNBQWlCO1FBQ2xFLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRGpDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFIOUQsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBaUMsSUFBSSxlQUFlLENBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFJbkgsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbkIsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQW1CO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDOztpSUF6QlEsaUJBQWlCLGtCQUlNLFNBQVM7cUlBSmhDLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFLTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbCwgSW5qZWN0LCBJbmplY3RhYmxlLCBMT0NBTEVfSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aVNlcnZpY2VTdGF0dXMsIExvY2FsZVN0YXRlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCBsb2NhbGVGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQgbG9jYWxlRWwgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZWwnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsZVNlcnZpY2VNb2NrIGV4dGVuZHMgTG9jYWxlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBERUZBVUxUX0xPQ0FMRSA9ICdlbic7XG4gICAgcHJpdmF0ZSBzdGF0ZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGVTdGF0ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExvY2FsZVN0YXRlPih7IGlkOiB0aGlzLkRFRkFVTFRfTE9DQUxFIH0pO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTEVfSUQpIHByb3RlY3RlZCBsb2NhbGVfaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihudWxsLCB7IGxvY2FsZTogeyBpZDogJ2VuJywgYXZhaWxhYmxlOiBbXSB9IH0sIGxvY2FsZV9pZCwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxMb2NhbGVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoc3RhdGU6IExvY2FsZVN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuREVGQVVMVF9MT0NBTEUgPSBzdGF0ZS5pZCB8fCAnZW4nO1xuICAgICAgICBpZiAoc3RhdGUuaWQgPT09ICdmcicpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVGciwgJ2ZyJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUuaWQgPT09ICdlbCcpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbCwgJ2ZyJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGF0ZSk7XG4gICAgfVxuXG4gICAgaW5pdChzdGF0ZT86IExvY2FsZVN0YXRlKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHRoaXMuREVGQVVMVF9MT0NBTEUgPSBzdGF0ZS5pZCB8fCAnZW4nO1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './log.service';
|
|
2
|
-
export * from './log.service.mock';
|
|
3
|
-
export * from './log.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './log.service';
|
|
2
|
+
export * from './log.service.mock';
|
|
3
|
+
export * from './log.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZy5zZXJ2aWNlLm1vY2snO1xuZXhwb3J0ICogZnJvbSAnLi9sb2cubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { InjectionToken, Injector, NgModule } from '@angular/core';
|
|
2
|
-
import { LogService } from './log.service';
|
|
3
|
-
import { DEFAULT_LOG_CONFIG } from '../config/defaults';
|
|
4
|
-
import { logServiceFactory } from '../app/factories/log';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
const LOG_MODULE_CONFIG_TOKEN = new InjectionToken('LOG_CONFIG');
|
|
7
|
-
/**
|
|
8
|
-
* Log Module
|
|
9
|
-
*/
|
|
10
|
-
export class LogModule {
|
|
11
|
-
/** method called in your root module to provide the LogService */
|
|
12
|
-
static forRoot(config = DEFAULT_LOG_CONFIG) {
|
|
13
|
-
return {
|
|
14
|
-
ngModule: LogModule,
|
|
15
|
-
providers: [
|
|
16
|
-
{ provide: LOG_MODULE_CONFIG_TOKEN, useValue: config },
|
|
17
|
-
{ provide: LogService, useFactory: logServiceFactory, deps: [LOG_MODULE_CONFIG_TOKEN, Injector] },
|
|
18
|
-
],
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/** method called in your other (non root, lazy loaded) modules to import a different instance of LogService */
|
|
22
|
-
static forChild(config = DEFAULT_LOG_CONFIG) {
|
|
23
|
-
return {
|
|
24
|
-
ngModule: LogModule,
|
|
25
|
-
providers: [
|
|
26
|
-
{ provide: LOG_MODULE_CONFIG_TOKEN, useValue: config },
|
|
27
|
-
{ provide: LogService, useFactory: logServiceFactory, deps: [LOG_MODULE_CONFIG_TOKEN, Injector] },
|
|
28
|
-
],
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/** @nocollapse */ LogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
-
/** @nocollapse */ LogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LogModule });
|
|
34
|
-
/** @nocollapse */ LogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogModule });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogModule, decorators: [{
|
|
36
|
-
type: NgModule
|
|
37
|
-
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { InjectionToken, Injector, NgModule } from '@angular/core';
|
|
2
|
+
import { LogService } from './log.service';
|
|
3
|
+
import { DEFAULT_LOG_CONFIG } from '../config/defaults';
|
|
4
|
+
import { logServiceFactory } from '../app/factories/log';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
const LOG_MODULE_CONFIG_TOKEN = new InjectionToken('LOG_CONFIG');
|
|
7
|
+
/**
|
|
8
|
+
* Log Module
|
|
9
|
+
*/
|
|
10
|
+
export class LogModule {
|
|
11
|
+
/** method called in your root module to provide the LogService */
|
|
12
|
+
static forRoot(config = DEFAULT_LOG_CONFIG) {
|
|
13
|
+
return {
|
|
14
|
+
ngModule: LogModule,
|
|
15
|
+
providers: [
|
|
16
|
+
{ provide: LOG_MODULE_CONFIG_TOKEN, useValue: config },
|
|
17
|
+
{ provide: LogService, useFactory: logServiceFactory, deps: [LOG_MODULE_CONFIG_TOKEN, Injector] },
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** method called in your other (non root, lazy loaded) modules to import a different instance of LogService */
|
|
22
|
+
static forChild(config = DEFAULT_LOG_CONFIG) {
|
|
23
|
+
return {
|
|
24
|
+
ngModule: LogModule,
|
|
25
|
+
providers: [
|
|
26
|
+
{ provide: LOG_MODULE_CONFIG_TOKEN, useValue: config },
|
|
27
|
+
{ provide: LogService, useFactory: logServiceFactory, deps: [LOG_MODULE_CONFIG_TOKEN, Injector] },
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** @nocollapse */ LogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
+
/** @nocollapse */ LogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LogModule });
|
|
34
|
+
/** @nocollapse */ LogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogModule });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogModule, decorators: [{
|
|
36
|
+
type: NgModule
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9nL2xvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFNBQVM7SUFDbEIsa0VBQWtFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2pELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsK0dBQStHO0lBQy9HLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2xELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDOzt5SEFyQlEsU0FBUzswSEFBVCxTQUFTOzBIQUFULFNBQVM7MkZBQVQsU0FBUztrQkFEckIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0NvbmZpZyB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERFRkFVTFRfTE9HX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBsb2dTZXJ2aWNlRmFjdG9yeSB9IGZyb20gJy4uL2FwcC9mYWN0b3JpZXMvbG9nJztcblxuY29uc3QgTE9HX01PRFVMRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQ29uZmlnPignTE9HX0NPTkZJRycpO1xuXG4vKipcbiAqIExvZyBNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBMb2dNb2R1bGUge1xuICAgIC8qKiBtZXRob2QgY2FsbGVkIGluIHlvdXIgcm9vdCBtb2R1bGUgdG8gcHJvdmlkZSB0aGUgTG9nU2VydmljZSAqL1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCBjYWxsZWQgaW4geW91ciBvdGhlciAobm9uIHJvb3QsIGxhenkgbG9hZGVkKSBtb2R1bGVzIHRvIGltcG9ydCBhIGRpZmZlcmVudCBpbnN0YW5jZSBvZiBMb2dTZXJ2aWNlICovXG4gICAgc3RhdGljIGZvckNoaWxkKGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
-
import { Logger } from '@eui/base';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@eui/base";
|
|
5
|
-
export const BASE_LOGGER_NAME_TOKEN = new InjectionToken('BASE_LOGGER_NAME');
|
|
6
|
-
export const LOG_LEVEL_TOKEN = new InjectionToken('LOG_LEVEL');
|
|
7
|
-
export const LOG_APPENDERS_TOKEN = new InjectionToken('LOG_APPENDERS');
|
|
8
|
-
/**
|
|
9
|
-
* Log service, responsible for getting or creating loggers. It itself acts as a base logger
|
|
10
|
-
*/
|
|
11
|
-
export class LogService extends Logger {
|
|
12
|
-
constructor(name, level, appenders) {
|
|
13
|
-
super(name, level, appenders);
|
|
14
|
-
this.name = name;
|
|
15
|
-
this.level = level;
|
|
16
|
-
this.appenders = appenders;
|
|
17
|
-
/** the list of persistent loggers */
|
|
18
|
-
this.loggers = {};
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Gets a logger by name. If the logger does not exist, it is created
|
|
22
|
-
*
|
|
23
|
-
* @param loggerName logger name
|
|
24
|
-
* @param persist optional parameter. Set it to true if you want to reuse the logger. By default, it is set to false
|
|
25
|
-
* @returns the logger
|
|
26
|
-
*/
|
|
27
|
-
getLogger(loggerName, persist = false) {
|
|
28
|
-
// create the logger, if necessary
|
|
29
|
-
const logger = (persist && this.loggers[loggerName]) || new Logger(loggerName, this.level, this.appenders);
|
|
30
|
-
// if the logger is persistent, add it to the list of persistent loggers
|
|
31
|
-
if (persist) {
|
|
32
|
-
this.loggers[loggerName] = logger;
|
|
33
|
-
}
|
|
34
|
-
return logger;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/** @nocollapse */ LogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
-
/** @nocollapse */ LogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogService });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogService, decorators: [{
|
|
40
|
-
type: Injectable
|
|
41
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
42
|
-
type: Inject,
|
|
43
|
-
args: [BASE_LOGGER_NAME_TOKEN]
|
|
44
|
-
}] }, { type: i1.LogLevel, decorators: [{
|
|
45
|
-
type: Inject,
|
|
46
|
-
args: [LOG_LEVEL_TOKEN]
|
|
47
|
-
}] }, { type: undefined, decorators: [{
|
|
48
|
-
type: Inject,
|
|
49
|
-
args: [LOG_APPENDERS_TOKEN]
|
|
50
|
-
}] }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
+
import { Logger } from '@eui/base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@eui/base";
|
|
5
|
+
export const BASE_LOGGER_NAME_TOKEN = new InjectionToken('BASE_LOGGER_NAME');
|
|
6
|
+
export const LOG_LEVEL_TOKEN = new InjectionToken('LOG_LEVEL');
|
|
7
|
+
export const LOG_APPENDERS_TOKEN = new InjectionToken('LOG_APPENDERS');
|
|
8
|
+
/**
|
|
9
|
+
* Log service, responsible for getting or creating loggers. It itself acts as a base logger
|
|
10
|
+
*/
|
|
11
|
+
export class LogService extends Logger {
|
|
12
|
+
constructor(name, level, appenders) {
|
|
13
|
+
super(name, level, appenders);
|
|
14
|
+
this.name = name;
|
|
15
|
+
this.level = level;
|
|
16
|
+
this.appenders = appenders;
|
|
17
|
+
/** the list of persistent loggers */
|
|
18
|
+
this.loggers = {};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets a logger by name. If the logger does not exist, it is created
|
|
22
|
+
*
|
|
23
|
+
* @param loggerName logger name
|
|
24
|
+
* @param persist optional parameter. Set it to true if you want to reuse the logger. By default, it is set to false
|
|
25
|
+
* @returns the logger
|
|
26
|
+
*/
|
|
27
|
+
getLogger(loggerName, persist = false) {
|
|
28
|
+
// create the logger, if necessary
|
|
29
|
+
const logger = (persist && this.loggers[loggerName]) || new Logger(loggerName, this.level, this.appenders);
|
|
30
|
+
// if the logger is persistent, add it to the list of persistent loggers
|
|
31
|
+
if (persist) {
|
|
32
|
+
this.loggers[loggerName] = logger;
|
|
33
|
+
}
|
|
34
|
+
return logger;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** @nocollapse */ LogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
/** @nocollapse */ LogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogService });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogService, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [BASE_LOGGER_NAME_TOKEN]
|
|
44
|
+
}] }, { type: i1.LogLevel, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [LOG_LEVEL_TOKEN]
|
|
47
|
+
}] }, { type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [LOG_APPENDERS_TOKEN]
|
|
50
|
+
}] }]; } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUlsQyxZQUM4QyxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpZLFNBQUksR0FBSixJQUFJLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFObkUscUNBQXFDO1FBQzNCLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFRdkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQW1CLEtBQUs7UUFDbEQsa0NBQWtDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxJQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkgsd0VBQXdFO1FBQ3hFLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDckM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzswSEE3QlEsVUFBVSxrQkFLUCxzQkFBc0IsYUFDdEIsZUFBZSxhQUNmLG1CQUFtQjs4SEFQdEIsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFNRixNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nQXBwZW5kZXIsIExvZ2dlciwgTG9nTGV2ZWwgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgQkFTRV9MT0dHRVJfTkFNRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdCQVNFX0xPR0dFUl9OQU1FJyk7XG5leHBvcnQgY29uc3QgTE9HX0xFVkVMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPExvZ0xldmVsPignTE9HX0xFVkVMJyk7XG5leHBvcnQgY29uc3QgTE9HX0FQUEVOREVSU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dBcHBlbmRlcltdPignTE9HX0FQUEVOREVSUycpO1xuXG4vKipcbiAqIExvZyBzZXJ2aWNlLCByZXNwb25zaWJsZSBmb3IgZ2V0dGluZyBvciBjcmVhdGluZyBsb2dnZXJzLiBJdCBpdHNlbGYgYWN0cyBhcyBhIGJhc2UgbG9nZ2VyXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2dTZXJ2aWNlIGV4dGVuZHMgTG9nZ2VyIHtcbiAgICAvKiogdGhlIGxpc3Qgb2YgcGVyc2lzdGVudCBsb2dnZXJzICovXG4gICAgcHJvdGVjdGVkIGxvZ2dlcnMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEJBU0VfTE9HR0VSX05BTUVfVE9LRU4pIHByb3RlY3RlZCBuYW1lOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoTE9HX0xFVkVMX1RPS0VOKSBwcm90ZWN0ZWQgbGV2ZWw6IExvZ0xldmVsLFxuICAgICAgICBASW5qZWN0KExPR19BUFBFTkRFUlNfVE9LRU4pIHByb3RlY3RlZCBhcHBlbmRlcnM6IExvZ0FwcGVuZGVyW11cbiAgICApIHtcbiAgICAgICAgc3VwZXIobmFtZSwgbGV2ZWwsIGFwcGVuZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxvZ2dlciBieSBuYW1lLiBJZiB0aGUgbG9nZ2VyIGRvZXMgbm90IGV4aXN0LCBpdCBpcyBjcmVhdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9nZ2VyTmFtZSBsb2dnZXIgbmFtZVxuICAgICAqIEBwYXJhbSBwZXJzaXN0IG9wdGlvbmFsIHBhcmFtZXRlci4gU2V0IGl0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gcmV1c2UgdGhlIGxvZ2dlci4gQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGZhbHNlXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlclxuICAgICAqL1xuICAgIGdldExvZ2dlcihsb2dnZXJOYW1lOiBzdHJpbmcsIHBlcnNpc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IExvZ2dlciB7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgbG9nZ2VyLCBpZiBuZWNlc3NhcnlcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gKHBlcnNpc3QgJiYgPExvZ2dlcj50aGlzLmxvZ2dlcnNbbG9nZ2VyTmFtZV0pIHx8IG5ldyBMb2dnZXIobG9nZ2VyTmFtZSwgdGhpcy5sZXZlbCwgdGhpcy5hcHBlbmRlcnMpO1xuXG4gICAgICAgIC8vIGlmIHRoZSBsb2dnZXIgaXMgcGVyc2lzdGVudCwgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2Vyc1xuICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdID0gbG9nZ2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvZ2dlcjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { LoggerMock } from '@eui/base';
|
|
2
|
-
export class LogServiceMock extends LoggerMock {
|
|
3
|
-
getLogger() {
|
|
4
|
-
return new LoggerMock();
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { LoggerMock } from '@eui/base';
|
|
2
|
+
export class LogServiceMock extends LoggerMock {
|
|
3
|
+
getLogger() {
|
|
4
|
+
return new LoggerMock();
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UubW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9nL2xvZy5zZXJ2aWNlLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFDMUMsU0FBUztRQUNMLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXJNb2NrIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2VNb2NrIGV4dGVuZHMgTG9nZ2VyTW9jayB7XG4gICAgZ2V0TG9nZ2VyKCkge1xuICAgICAgICByZXR1cm4gbmV3IExvZ2dlck1vY2soKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
import { Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { EuiService, getUserRights } from '@eui/base';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { UpdateUserRightsAction } from '../store/actions/user.actions';
|
|
5
|
-
import { isDefined } from '../../helpers';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../log/log.service";
|
|
8
|
-
import * as i2 from "../store/store.service";
|
|
9
|
-
export class EuiPermissionService extends EuiService {
|
|
10
|
-
constructor(log, store) {
|
|
11
|
-
super([]);
|
|
12
|
-
this.log = log;
|
|
13
|
-
this.store = store;
|
|
14
|
-
if (log) {
|
|
15
|
-
this.logger = log.getLogger('core.PermissionService');
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* initialize the service by providing a state
|
|
20
|
-
* @param rights
|
|
21
|
-
*/
|
|
22
|
-
init(rights) {
|
|
23
|
-
super.initEuiService();
|
|
24
|
-
if (Array.isArray(rights)) {
|
|
25
|
-
this.updateState(rights);
|
|
26
|
-
return of({ success: true });
|
|
27
|
-
}
|
|
28
|
-
if (this.logger) {
|
|
29
|
-
this.logger.error('Init object should be instance of BaseUserState');
|
|
30
|
-
}
|
|
31
|
-
return of({ success: false, error: 'Init object should be instance of BaseUserState' });
|
|
32
|
-
}
|
|
33
|
-
get userRights() {
|
|
34
|
-
return this.stateInstance;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* get the user's Rights from the state
|
|
38
|
-
*/
|
|
39
|
-
getState() {
|
|
40
|
-
return this.store.select(getUserRights);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* update the state with the given user's rights
|
|
44
|
-
* @param rights
|
|
45
|
-
*/
|
|
46
|
-
updateState(rights) {
|
|
47
|
-
this.store.dispatch(new UpdateUserRightsAction(rights || []));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* accepts a string of right and or a permission. In string first comes the right and or followed by permission in
|
|
51
|
-
* a dot separated way e.g. 'RIGHT.PERMISSION' or 'RIGHT'. The string can contain more that 2 separated fields.
|
|
52
|
-
* In that case the last field should be the permission and all the others a Right. e.g. 'RIGHT1.RIGHT2.PERMISSION'
|
|
53
|
-
* The last part is useful where you want a user to have multiple rights and the permission of the last right.
|
|
54
|
-
* @param rightsAndPermission
|
|
55
|
-
*/
|
|
56
|
-
checkAttributePermission(rightsAndPermission) {
|
|
57
|
-
const permProps = rightsAndPermission.split('.');
|
|
58
|
-
const rightId = permProps[0];
|
|
59
|
-
const hasRight = this.checkRight(rightId);
|
|
60
|
-
if (hasRight) {
|
|
61
|
-
if (permProps.length === 2) {
|
|
62
|
-
// in case of 'RIGHT.PERMISSION'
|
|
63
|
-
const permission = permProps[1];
|
|
64
|
-
return this.checkPermission(rightId, permission);
|
|
65
|
-
}
|
|
66
|
-
else if (permProps.length > 2) {
|
|
67
|
-
// in case of 'RIGHT1.RIGHT2.....PERMISSION' string call recursively
|
|
68
|
-
return this.checkAttributePermission(rightsAndPermission.slice(rightId.length + 1));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return hasRight;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* check if a user has the right.
|
|
75
|
-
* @param rightId the id of Right
|
|
76
|
-
*/
|
|
77
|
-
checkRight(rightId) {
|
|
78
|
-
return this.userRights.some((right) => right && right.id === rightId);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* check if a user has that right and that right has the permission given.
|
|
82
|
-
* @param rightId the right of the user
|
|
83
|
-
* @param permission the permission of the right
|
|
84
|
-
*/
|
|
85
|
-
checkPermission(rightId, permission) {
|
|
86
|
-
// the user has to have that right and that right has to have the given permission
|
|
87
|
-
return this.userRights.some((right) => right && right.id === rightId && right.permissions && right.permissions.includes(permission));
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* checks whether a user have all rights passed as an argument
|
|
91
|
-
* @param rights an array of UxUserRight
|
|
92
|
-
*/
|
|
93
|
-
haveAllRights(rights) {
|
|
94
|
-
if (!isDefined(rights)) {
|
|
95
|
-
throw Error(`The rights should be an array but instead it's not defined!`);
|
|
96
|
-
}
|
|
97
|
-
return rights.every((right) => this.userRights.find((uRight) => uRight.id === right.id));
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/** @nocollapse */ EuiPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
101
|
-
/** @nocollapse */ EuiPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPermissionService, providedIn: 'root' });
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPermissionService, decorators: [{
|
|
103
|
-
type: Injectable,
|
|
104
|
-
args: [{
|
|
105
|
-
providedIn: 'root',
|
|
106
|
-
}]
|
|
107
|
-
}], ctorParameters: function () { return [{ type: i1.LogService, decorators: [{
|
|
108
|
-
type: Optional
|
|
109
|
-
}] }, { type: i2.StoreService }]; } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { EuiService, getUserRights } from '@eui/base';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { UpdateUserRightsAction } from '../store/actions/user.actions';
|
|
5
|
+
import { isDefined } from '../../helpers';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../log/log.service";
|
|
8
|
+
import * as i2 from "../store/store.service";
|
|
9
|
+
export class EuiPermissionService extends EuiService {
|
|
10
|
+
constructor(log, store) {
|
|
11
|
+
super([]);
|
|
12
|
+
this.log = log;
|
|
13
|
+
this.store = store;
|
|
14
|
+
if (log) {
|
|
15
|
+
this.logger = log.getLogger('core.PermissionService');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* initialize the service by providing a state
|
|
20
|
+
* @param rights
|
|
21
|
+
*/
|
|
22
|
+
init(rights) {
|
|
23
|
+
super.initEuiService();
|
|
24
|
+
if (Array.isArray(rights)) {
|
|
25
|
+
this.updateState(rights);
|
|
26
|
+
return of({ success: true });
|
|
27
|
+
}
|
|
28
|
+
if (this.logger) {
|
|
29
|
+
this.logger.error('Init object should be instance of BaseUserState');
|
|
30
|
+
}
|
|
31
|
+
return of({ success: false, error: 'Init object should be instance of BaseUserState' });
|
|
32
|
+
}
|
|
33
|
+
get userRights() {
|
|
34
|
+
return this.stateInstance;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* get the user's Rights from the state
|
|
38
|
+
*/
|
|
39
|
+
getState() {
|
|
40
|
+
return this.store.select(getUserRights);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* update the state with the given user's rights
|
|
44
|
+
* @param rights
|
|
45
|
+
*/
|
|
46
|
+
updateState(rights) {
|
|
47
|
+
this.store.dispatch(new UpdateUserRightsAction(rights || []));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* accepts a string of right and or a permission. In string first comes the right and or followed by permission in
|
|
51
|
+
* a dot separated way e.g. 'RIGHT.PERMISSION' or 'RIGHT'. The string can contain more that 2 separated fields.
|
|
52
|
+
* In that case the last field should be the permission and all the others a Right. e.g. 'RIGHT1.RIGHT2.PERMISSION'
|
|
53
|
+
* The last part is useful where you want a user to have multiple rights and the permission of the last right.
|
|
54
|
+
* @param rightsAndPermission
|
|
55
|
+
*/
|
|
56
|
+
checkAttributePermission(rightsAndPermission) {
|
|
57
|
+
const permProps = rightsAndPermission.split('.');
|
|
58
|
+
const rightId = permProps[0];
|
|
59
|
+
const hasRight = this.checkRight(rightId);
|
|
60
|
+
if (hasRight) {
|
|
61
|
+
if (permProps.length === 2) {
|
|
62
|
+
// in case of 'RIGHT.PERMISSION'
|
|
63
|
+
const permission = permProps[1];
|
|
64
|
+
return this.checkPermission(rightId, permission);
|
|
65
|
+
}
|
|
66
|
+
else if (permProps.length > 2) {
|
|
67
|
+
// in case of 'RIGHT1.RIGHT2.....PERMISSION' string call recursively
|
|
68
|
+
return this.checkAttributePermission(rightsAndPermission.slice(rightId.length + 1));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return hasRight;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* check if a user has the right.
|
|
75
|
+
* @param rightId the id of Right
|
|
76
|
+
*/
|
|
77
|
+
checkRight(rightId) {
|
|
78
|
+
return this.userRights.some((right) => right && right.id === rightId);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* check if a user has that right and that right has the permission given.
|
|
82
|
+
* @param rightId the right of the user
|
|
83
|
+
* @param permission the permission of the right
|
|
84
|
+
*/
|
|
85
|
+
checkPermission(rightId, permission) {
|
|
86
|
+
// the user has to have that right and that right has to have the given permission
|
|
87
|
+
return this.userRights.some((right) => right && right.id === rightId && right.permissions && right.permissions.includes(permission));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* checks whether a user have all rights passed as an argument
|
|
91
|
+
* @param rights an array of UxUserRight
|
|
92
|
+
*/
|
|
93
|
+
haveAllRights(rights) {
|
|
94
|
+
if (!isDefined(rights)) {
|
|
95
|
+
throw Error(`The rights should be an array but instead it's not defined!`);
|
|
96
|
+
}
|
|
97
|
+
return rights.every((right) => this.userRights.find((uRight) => uRight.id === right.id));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** @nocollapse */ EuiPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
101
|
+
/** @nocollapse */ EuiPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPermissionService, providedIn: 'root' });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPermissionService, decorators: [{
|
|
103
|
+
type: Injectable,
|
|
104
|
+
args: [{
|
|
105
|
+
providedIn: 'root',
|
|
106
|
+
}]
|
|
107
|
+
}], ctorParameters: function () { return [{ type: i1.LogService, decorators: [{
|
|
108
|
+
type: Optional
|
|
109
|
+
}] }, { type: i2.StoreService }]; } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQzdGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBeUI7SUFHL0QsWUFBZ0MsR0FBZSxFQUFZLEtBQW1CO1FBQzFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURrQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBYztRQUUxRSxJQUFJLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksQ0FBQyxNQUFxQjtRQUN0QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFN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b3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIFV4VXNlclJpZ2h0LCBMb2dnZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy91c2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxVeFVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgbG9nOiBMb2dTZXJ2aWNlLCBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSkge1xuICAgICAgICBzdXBlcihbXSk7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nLmdldExvZ2dlcignY29yZS5QZXJtaXNzaW9uU2VydmljZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaW5pdGlhbGl6ZSB0aGUgc2VydmljZSBieSBwcm92aWRpbmcgYSBzdGF0ZVxuICAgICAqIEBwYXJhbSByaWdodHNcbiAgICAgKi9cbiAgICBpbml0KHJpZ2h0czogVXhVc2VyUmlnaHRbXSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyaWdodHMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpZ2h0cyk7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB1c2VyUmlnaHRzKCk6IFV4VXNlclJpZ2h0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluc3RhbmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCB0aGUgdXNlcidzIFJpZ2h0cyBmcm9tIHRoZSBzdGF0ZVxuICAgICAqL1xuICAgIGdldFN0YXRlPEsgPSBVeFVzZXJSaWdodFtdPigpOiBPYnNlcnZhYmxlPEs+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldFVzZXJSaWdodHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVwZGF0ZSB0aGUgc3RhdGUgd2l0aCB0aGUgZ2l2ZW4gdXNlcidzIHJpZ2h0c1xuICAgICAqIEBwYXJhbSByaWdodHNcbiAgICAgKi9cbiAgICB1cGRhdGVTdGF0ZShyaWdodHM6IFV4VXNlclJpZ2h0W10pIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbihyaWdodHMgfHwgW10pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBhY2NlcHRzIGEgc3RyaW5nIG9mIHJpZ2h0IGFuZCBvciBhIHBlcm1pc3Npb24uIEluIHN0cmluZyBmaXJzdCBjb21lcyB0aGUgcmlnaHQgYW5kIG9yIGZvbGxvd2VkIGJ5IHBlcm1pc3Npb24gaW5cbiAgICAgKiBhIGRvdCBzZXBhcmF0ZWQgd2F5IGUuZy4gJ1JJR0hULlBFUk1JU1NJT04nIG9yICdSSUdIVCcuIFRoZSBzdHJpbmcgY2FuIGNvbnRhaW4gbW9yZSB0aGF0IDIgc2VwYXJhdGVkIGZpZWxkcy5cbiAgICAgKiBJbiB0aGF0IGNhc2UgdGhlIGxhc3QgZmllbGQgc2hvdWxkIGJlIHRoZSBwZXJtaXNzaW9uIGFuZCBhbGwgdGhlIG90aGVycyBhIFJpZ2h0LiBlLmcuICdSSUdIVDEuUklHSFQyLlBFUk1JU1NJT04nXG4gICAgICogVGhlIGxhc3QgcGFydCBpcyB1c2VmdWwgd2hlcmUgeW91IHdhbnQgYSB1c2VyIHRvIGhhdmUgbXVsdGlwbGUgcmlnaHRzIGFuZCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgbGFzdCByaWdodC5cbiAgICAgKiBAcGFyYW0gcmlnaHRzQW5kUGVybWlzc2lvblxuICAgICAqL1xuICAgIGNoZWNrQXR0cmlidXRlUGVybWlzc2lvbihyaWdodHNBbmRQZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcGVybVByb3BzID0gcmlnaHRzQW5kUGVybWlzc2lvbi5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCByaWdodElkID0gcGVybVByb3BzWzBdO1xuICAgICAgICBjb25zdCBoYXNSaWdodCA9IHRoaXMuY2hlY2tSaWdodChyaWdodElkKTtcblxuICAgICAgICBpZiAoaGFzUmlnaHQpIHtcbiAgICAgICAgICAgIGlmIChwZXJtUHJvcHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQuUEVSTUlTU0lPTidcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gcGVybVByb3BzWzFdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvbihyaWdodElkLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGVybVByb3BzLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mICdSSUdIVDEuUklHSFQyLi4uLi5QRVJNSVNTSU9OJyBzdHJpbmcgY2FsbCByZWN1cnNpdmVseVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbihyaWdodHNBbmRQZXJtaXNzaW9uLnNsaWNlKHJpZ2h0SWQubGVuZ3RoICsgMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhhc1JpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGEgdXNlciBoYXMgdGhlIHJpZ2h0LlxuICAgICAqIEBwYXJhbSByaWdodElkIHRoZSBpZCBvZiBSaWdodFxuICAgICAqL1xuICAgIGNoZWNrUmlnaHQocmlnaHRJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZSgocmlnaHQpID0+IHJpZ2h0ICYmIHJpZ2h0LmlkID09PSByaWdodElkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayBpZiBhIHVzZXIgaGFzIHRoYXQgcmlnaHQgYW5kIHRoYXQgcmlnaHQgaGFzIHRoZSBwZXJtaXNzaW9uIGdpdmVuLlxuICAgICAqIEBwYXJhbSByaWdodElkIHRoZSByaWdodCBvZiB0aGUgdXNlclxuICAgICAqIEBwYXJhbSBwZXJtaXNzaW9uIHRoZSBwZXJtaXNzaW9uIG9mIHRoZSByaWdodFxuICAgICAqL1xuICAgIGNoZWNrUGVybWlzc2lvbihyaWdodElkOiBzdHJpbmcsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAvLyB0aGUgdXNlciBoYXMgdG8gaGF2ZSB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0byBoYXZlIHRoZSBnaXZlbiBwZXJtaXNzaW9uXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZShcbiAgICAgICAgICAgIChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQgJiYgcmlnaHQucGVybWlzc2lvbnMgJiYgcmlnaHQucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3Mgd2hldGhlciBhIHVzZXIgaGF2ZSBhbGwgcmlnaHRzIHBhc3NlZCBhcyBhbiBhcmd1bWVudFxuICAgICAqIEBwYXJhbSByaWdodHMgYW4gYXJyYXkgb2YgVXhVc2VyUmlnaHRcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhdmVBbGxSaWdodHMocmlnaHRzOiBVeFVzZXJSaWdodFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBUaGUgcmlnaHRzIHNob3VsZCBiZSBhbiBhcnJheSBidXQgaW5zdGVhZCBpdCdzIG5vdCBkZWZpbmVkIWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJpZ2h0cy5ldmVyeSgocmlnaHQ6IFV4VXNlclJpZ2h0KSA9PiB0aGlzLnVzZXJSaWdodHMuZmluZCgodVJpZ2h0OiBVeFVzZXJSaWdodCkgPT4gdVJpZ2h0LmlkID09PSByaWdodC5pZCkpO1xuICAgIH1cbn1cbiJdfQ==
|