@onecx/angular-integration-interface 5.38.0 → 6.0.0-rc.11
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/fesm2022/onecx-angular-integration-interface-mocks.mjs +52 -82
- package/fesm2022/onecx-angular-integration-interface-mocks.mjs.map +1 -1
- package/fesm2022/onecx-angular-integration-interface.mjs +80 -131
- package/fesm2022/onecx-angular-integration-interface.mjs.map +1 -1
- package/lib/services/app-config-service.d.ts +0 -2
- package/lib/services/configuration.service.d.ts +7 -10
- package/lib/services/initialize-module-guard.service.d.ts +0 -1
- package/lib/services/portal-message.service.d.ts +0 -2
- package/lib/services/theme.service.d.ts +1 -10
- package/lib/services/user.service.d.ts +3 -7
- package/lib/services/workspace.service.d.ts +1 -2
- package/migrations.json +26 -0
- package/mocks/app-state-service-mock.d.ts +1 -1
- package/mocks/configuration-service-mock.d.ts +3 -3
- package/mocks/index.d.ts +2 -2
- package/mocks/portal-message-service-mock.d.ts +1 -1
- package/mocks/remote-components-service-mock.d.ts +1 -1
- package/mocks/user-service-mock.d.ts +3 -3
- package/package.json +12 -8
- package/esm2022/index.mjs +0 -19
- package/esm2022/lib/api/constants.mjs +0 -3
- package/esm2022/lib/api/iauth.service.mjs +0 -2
- package/esm2022/lib/api/injection-tokens.mjs +0 -11
- package/esm2022/lib/model/config-key.model.mjs +0 -31
- package/esm2022/lib/services/app-config-service.mjs +0 -43
- package/esm2022/lib/services/app-state.service.mjs +0 -47
- package/esm2022/lib/services/configuration.service.mjs +0 -77
- package/esm2022/lib/services/initialize-module-guard.service.mjs +0 -60
- package/esm2022/lib/services/portal-message.service.mjs +0 -49
- package/esm2022/lib/services/remote-components.service.mjs +0 -18
- package/esm2022/lib/services/shell-capability.service.mjs +0 -22
- package/esm2022/lib/services/theme.service.mjs +0 -48
- package/esm2022/lib/services/user.service.mjs +0 -93
- package/esm2022/lib/services/workspace.service.mjs +0 -146
- package/esm2022/lib/utils/add-initialize-module-guard.utils.mjs +0 -17
- package/esm2022/mocks/app-config-service-mock.mjs +0 -35
- package/esm2022/mocks/app-state-service-mock.mjs +0 -45
- package/esm2022/mocks/configuration-service-mock.mjs +0 -47
- package/esm2022/mocks/fake-topic.mjs +0 -33
- package/esm2022/mocks/index.mjs +0 -9
- package/esm2022/mocks/onecx-angular-integration-interface-mocks.mjs +0 -5
- package/esm2022/mocks/portal-message-service-mock.mjs +0 -38
- package/esm2022/mocks/remote-components-service-mock.mjs +0 -19
- package/esm2022/mocks/shell-capability-service-mock.mjs +0 -21
- package/esm2022/mocks/user-service-mock.mjs +0 -38
- package/esm2022/onecx-angular-integration-interface.mjs +0 -5
- package/mocks/fake-topic.d.ts +0 -11
@@ -1,49 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
3
|
-
import { combineLatest, first, of } from 'rxjs';
|
4
|
-
import { MessageTopic } from '@onecx/integration-interface';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@ngx-translate/core";
|
7
|
-
export class PortalMessageService {
|
8
|
-
constructor(translateService) {
|
9
|
-
this.translateService = translateService;
|
10
|
-
this.message$ = new MessageTopic();
|
11
|
-
}
|
12
|
-
success(msg) {
|
13
|
-
this.addTranslated('success', msg);
|
14
|
-
}
|
15
|
-
info(msg) {
|
16
|
-
this.addTranslated('info', msg);
|
17
|
-
}
|
18
|
-
error(msg) {
|
19
|
-
this.addTranslated('error', msg);
|
20
|
-
}
|
21
|
-
warning(msg) {
|
22
|
-
this.addTranslated('warning', msg);
|
23
|
-
}
|
24
|
-
addTranslated(severity, msg) {
|
25
|
-
combineLatest([
|
26
|
-
msg.summaryKey ? this.translateService.get(msg.summaryKey || '', msg.summaryParameters) : of(undefined),
|
27
|
-
msg.detailKey ? this.translateService.get(msg.detailKey, msg.detailParameters) : of(undefined),
|
28
|
-
])
|
29
|
-
.pipe(first())
|
30
|
-
.subscribe(([summaryTranslation, detailTranslation]) => {
|
31
|
-
this.message$.publish({
|
32
|
-
...msg,
|
33
|
-
severity: severity,
|
34
|
-
summary: summaryTranslation,
|
35
|
-
detail: detailTranslation,
|
36
|
-
});
|
37
|
-
});
|
38
|
-
}
|
39
|
-
ngOnDestroy() {
|
40
|
-
this.message$.destroy();
|
41
|
-
}
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalMessageService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
43
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalMessageService, providedIn: 'any' }); }
|
44
|
-
}
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalMessageService, decorators: [{
|
46
|
-
type: Injectable,
|
47
|
-
args: [{ providedIn: 'any' }]
|
48
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLW1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9wb3J0YWwtbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTs7O0FBbUIzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRXRELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBRjRCLENBQUM7SUFJMUQsT0FBTyxDQUFDLEdBQVk7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFZO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFZO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBWTtRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdCLEVBQUUsR0FBWTtRQUNsRCxhQUFhLENBQUM7WUFDWixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3ZHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUMvRixDQUFDO2FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBVyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3BCLEdBQUcsR0FBRztnQkFDTixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsTUFBTSxFQUFFLGlCQUFpQjthQUMxQixDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN6QixDQUFDOytHQXZDVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQURQLEtBQUs7OzRGQUNsQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlyc3QsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1lc3NhZ2VUb3BpYyB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gIHN1bW1hcnlLZXk/OiBzdHJpbmdcbiAgc3VtbWFyeVBhcmFtZXRlcnM/OiBvYmplY3RcbiAgZGV0YWlsS2V5Pzogc3RyaW5nXG4gIGRldGFpbFBhcmFtZXRlcnM/OiBvYmplY3RcbiAgaWQ/OiBhbnlcbiAga2V5Pzogc3RyaW5nXG4gIGxpZmU/OiBudW1iZXJcbiAgc3RpY2t5PzogYm9vbGVhblxuICBjbG9zYWJsZT86IGJvb2xlYW5cbiAgZGF0YT86IGFueVxuICBpY29uPzogc3RyaW5nXG4gIGNvbnRlbnRTdHlsZUNsYXNzPzogc3RyaW5nXG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmdcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIFBvcnRhbE1lc3NhZ2VTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG1lc3NhZ2UkID0gbmV3IE1lc3NhZ2VUb3BpYygpXG5cbiAgc3VjY2Vzcyhtc2c6IE1lc3NhZ2UpIHtcbiAgICB0aGlzLmFkZFRyYW5zbGF0ZWQoJ3N1Y2Nlc3MnLCBtc2cpXG4gIH1cblxuICBpbmZvKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnaW5mbycsIG1zZylcbiAgfVxuXG4gIGVycm9yKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnZXJyb3InLCBtc2cpXG4gIH1cblxuICB3YXJuaW5nKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnd2FybmluZycsIG1zZylcbiAgfVxuXG4gIHByaXZhdGUgYWRkVHJhbnNsYXRlZChzZXZlcml0eTogc3RyaW5nLCBtc2c6IE1lc3NhZ2UpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIG1zZy5zdW1tYXJ5S2V5ID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChtc2cuc3VtbWFyeUtleSB8fCAnJywgbXNnLnN1bW1hcnlQYXJhbWV0ZXJzKSA6IG9mKHVuZGVmaW5lZCksXG4gICAgICBtc2cuZGV0YWlsS2V5ID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChtc2cuZGV0YWlsS2V5LCBtc2cuZGV0YWlsUGFyYW1ldGVycykgOiBvZih1bmRlZmluZWQpLFxuICAgIF0pXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoW3N1bW1hcnlUcmFuc2xhdGlvbiwgZGV0YWlsVHJhbnNsYXRpb25dOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2UkLnB1Ymxpc2goe1xuICAgICAgICAgIC4uLm1zZyxcbiAgICAgICAgICBzZXZlcml0eTogc2V2ZXJpdHksXG4gICAgICAgICAgc3VtbWFyeTogc3VtbWFyeVRyYW5zbGF0aW9uLFxuICAgICAgICAgIGRldGFpbDogZGV0YWlsVHJhbnNsYXRpb24sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlJC5kZXN0cm95KClcbiAgfVxufVxuIl19
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { RemoteComponentsTopic } from '@onecx/integration-interface';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class RemoteComponentsService {
|
5
|
-
constructor() {
|
6
|
-
this.remoteComponents$ = new RemoteComponentsTopic();
|
7
|
-
}
|
8
|
-
ngOnDestroy() {
|
9
|
-
this.remoteComponents$.destroy();
|
10
|
-
}
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoteComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
12
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoteComponentsService, providedIn: 'root' }); }
|
13
|
-
}
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoteComponentsService, decorators: [{
|
15
|
-
type: Injectable,
|
16
|
-
args: [{ providedIn: 'root' }]
|
17
|
-
}] });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNvbXBvbmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9yZW1vdGUtY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUE7O0FBR3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFRSxzQkFBaUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7S0FLaEQ7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2xDLENBQUM7K0dBTFUsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FEVixNQUFNOzs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRzVG9waWMgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNvbXBvbmVudHNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVtb3RlQ29tcG9uZW50cyQgPSBuZXcgUmVtb3RlQ29tcG9uZW50c1RvcGljKClcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW90ZUNvbXBvbmVudHMkLmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export var Capability;
|
4
|
-
(function (Capability) {
|
5
|
-
Capability["CURRENT_LOCATION_TOPIC"] = "currentLocationTopic";
|
6
|
-
Capability["PARAMETERS_TOPIC"] = "parametersTopic";
|
7
|
-
})(Capability || (Capability = {}));
|
8
|
-
export class ShellCapabilityService {
|
9
|
-
static setCapabilities(capabilities) {
|
10
|
-
window['onecx-shell-capabilities'] = capabilities;
|
11
|
-
}
|
12
|
-
hasCapability(capability) {
|
13
|
-
return window['onecx-shell-capabilities']?.includes(capability) ?? false;
|
14
|
-
}
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCapabilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCapabilityService, providedIn: 'root' }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCapabilityService, decorators: [{
|
19
|
-
type: Injectable,
|
20
|
-
args: [{ providedIn: 'root' }]
|
21
|
-
}] });
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtY2FwYWJpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL3NoZWxsLWNhcGFiaWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQVExQyxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ2xCLDZEQUErQyxDQUFBO0lBQy9DLGtEQUFvQyxDQUFBO0FBQ3hDLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUdELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxZQUEwQjtRQUMvQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBRyxZQUFZLENBQUE7SUFDbkQsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFzQjtRQUNsQyxPQUFPLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUE7SUFDMUUsQ0FBQzsrR0FQVSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQURULE1BQU07OzRGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgJ29uZWN4LXNoZWxsLWNhcGFiaWxpdGllcyc6IENhcGFiaWxpdHlbXVxuICB9XG59XG5cbmV4cG9ydCBlbnVtIENhcGFiaWxpdHkge1xuICAgIENVUlJFTlRfTE9DQVRJT05fVE9QSUMgPSAnY3VycmVudExvY2F0aW9uVG9waWMnLFxuICAgIFBBUkFNRVRFUlNfVE9QSUMgPSAncGFyYW1ldGVyc1RvcGljJyxcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTaGVsbENhcGFiaWxpdHlTZXJ2aWNlIHtcbiAgc3RhdGljIHNldENhcGFiaWxpdGllcyhjYXBhYmlsaXRpZXM6IENhcGFiaWxpdHlbXSk6IHZvaWQge1xuICAgIHdpbmRvd1snb25lY3gtc2hlbGwtY2FwYWJpbGl0aWVzJ10gPSBjYXBhYmlsaXRpZXNcbiAgfVxuXG4gIGhhc0NhcGFiaWxpdHkoY2FwYWJpbGl0eTogQ2FwYWJpbGl0eSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB3aW5kb3dbJ29uZWN4LXNoZWxsLWNhcGFiaWxpdGllcyddPy5pbmNsdWRlcyhjYXBhYmlsaXR5KSA/PyBmYWxzZVxuICB9XG59XG4iXX0=
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { from, map, mergeMap } from 'rxjs';
|
4
|
-
import { CurrentThemeTopic } from '@onecx/integration-interface';
|
5
|
-
import { ConfigurationService } from './configuration.service';
|
6
|
-
import { CONFIG_KEY } from '../model/config-key.model';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "./configuration.service";
|
9
|
-
import * as i2 from "@angular/common/http";
|
10
|
-
const defaultThemeServerUrl = 'http://portal-theme-management:8080';
|
11
|
-
export class ThemeService {
|
12
|
-
constructor(configService, http) {
|
13
|
-
this.configService = configService;
|
14
|
-
this.http = http;
|
15
|
-
this.baseUrlV1 = './portal-api';
|
16
|
-
this.currentTheme$ = new CurrentThemeTopic();
|
17
|
-
}
|
18
|
-
getThemeHref(themeId) {
|
19
|
-
const themeServerUrl = this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl;
|
20
|
-
return `${themeServerUrl}/themes/${themeId}/${themeId}.min.css`;
|
21
|
-
}
|
22
|
-
loadAndApplyTheme(themeName) {
|
23
|
-
return this.http.get(`${this.baseUrlV1}/internal/themes/${encodeURI(themeName)}`).pipe(mergeMap((theme) => {
|
24
|
-
return from(this.apply(theme)).pipe(map(() => theme));
|
25
|
-
}));
|
26
|
-
}
|
27
|
-
async apply(theme) {
|
28
|
-
console.log(`🎨 Applying theme: ${theme.name}`);
|
29
|
-
await this.currentTheme$.publish(theme);
|
30
|
-
if (theme.properties) {
|
31
|
-
Object.values(theme.properties).forEach((group) => {
|
32
|
-
for (const [key, value] of Object.entries(group)) {
|
33
|
-
document.documentElement.style.setProperty(`--${key}`, value);
|
34
|
-
}
|
35
|
-
});
|
36
|
-
}
|
37
|
-
}
|
38
|
-
ngOnDestroy() {
|
39
|
-
this.currentTheme$.destroy();
|
40
|
-
}
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, deps: [{ token: i1.ConfigurationService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
42
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
43
|
-
}
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, decorators: [{
|
45
|
-
type: Injectable,
|
46
|
-
args: [{ providedIn: 'root' }]
|
47
|
-
}], ctorParameters: () => [{ type: i1.ConfigurationService }, { type: i2.HttpClient }] });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQVMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7Ozs7QUFFdEQsTUFBTSxxQkFBcUIsR0FBRyxxQ0FBcUMsQ0FBQTtBQUduRSxNQUFNLE9BQU8sWUFBWTtJQUl2QixZQUFvQixhQUFtQyxFQUFVLElBQWdCO1FBQTdELGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFIakYsY0FBUyxHQUFHLGNBQWMsQ0FBQTtRQUMxQixrQkFBYSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQTtJQUU2QyxDQUFDO0lBRXJGLFlBQVksQ0FBQyxPQUFlO1FBQzFCLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsSUFBSSxxQkFBcUIsQ0FBQTtRQUNsRyxPQUFPLEdBQUcsY0FBYyxXQUFXLE9BQU8sSUFBSSxPQUFPLFVBQVUsQ0FBQTtJQUNqRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBaUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxHQUFHLElBQUksQ0FBQyxTQUFTLG9CQUFvQixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDM0YsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBWTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNoRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNqRCxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDL0QsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUM5QixDQUFDOytHQWxDVSxZQUFZO21IQUFaLFlBQVksY0FEQyxNQUFNOzs0RkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZnJvbSwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDdXJyZW50VGhlbWVUb3BpYywgVGhlbWUgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSdcbmltcG9ydCB7IENPTkZJR19LRVkgfSBmcm9tICcuLi9tb2RlbC9jb25maWcta2V5Lm1vZGVsJ1xuXG5jb25zdCBkZWZhdWx0VGhlbWVTZXJ2ZXJVcmwgPSAnaHR0cDovL3BvcnRhbC10aGVtZS1tYW5hZ2VtZW50OjgwODAnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgYmFzZVVybFYxID0gJy4vcG9ydGFsLWFwaSdcbiAgY3VycmVudFRoZW1lJCA9IG5ldyBDdXJyZW50VGhlbWVUb3BpYygpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldFRoZW1lSHJlZih0aGVtZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRoZW1lU2VydmVyVXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRQcm9wZXJ0eShDT05GSUdfS0VZLlRLSVRfUE9SVEFMX1RIRU1FX1NFUlZFUl9VUkwpIHx8IGRlZmF1bHRUaGVtZVNlcnZlclVybFxuICAgIHJldHVybiBgJHt0aGVtZVNlcnZlclVybH0vdGhlbWVzLyR7dGhlbWVJZH0vJHt0aGVtZUlkfS5taW4uY3NzYFxuICB9XG5cbiAgcHVibGljIGxvYWRBbmRBcHBseVRoZW1lKHRoZW1lTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VGhlbWU+KGAke3RoaXMuYmFzZVVybFYxfS9pbnRlcm5hbC90aGVtZXMvJHtlbmNvZGVVUkkodGhlbWVOYW1lKX1gKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHRoZW1lKSA9PiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuYXBwbHkodGhlbWUpKS5waXBlKG1hcCgoKSA9PiB0aGVtZSkpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhcHBseSh0aGVtZTogVGhlbWUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZyhg8J+OqCBBcHBseWluZyB0aGVtZTogJHt0aGVtZS5uYW1lfWApXG4gICAgYXdhaXQgdGhpcy5jdXJyZW50VGhlbWUkLnB1Ymxpc2godGhlbWUpXG4gICAgaWYgKHRoZW1lLnByb3BlcnRpZXMpIHtcbiAgICAgIE9iamVjdC52YWx1ZXModGhlbWUucHJvcGVydGllcykuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZ3JvdXApKSB7XG4gICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLSR7a2V5fWAsIHZhbHVlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRoZW1lJC5kZXN0cm95KClcbiAgfVxufVxuIl19
|
@@ -1,93 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { BehaviorSubject, map, filter, firstValueFrom, skip, merge } from 'rxjs';
|
3
|
-
import { PermissionsTopic, UserProfileTopic } from '@onecx/integration-interface';
|
4
|
-
import { DEFAULT_LANG } from '../api/constants';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class UserService {
|
7
|
-
constructor() {
|
8
|
-
this.profile$ = new UserProfileTopic();
|
9
|
-
this.permissions$ = new BehaviorSubject([]);
|
10
|
-
this.lang$ = new BehaviorSubject(this.determineLanguage() ?? DEFAULT_LANG);
|
11
|
-
this.permissionsTopic$ = new PermissionsTopic();
|
12
|
-
this.profile$
|
13
|
-
.pipe(map((profile) => profile.accountSettings?.localeAndTimeSettings?.locale ?? this.determineLanguage() ?? DEFAULT_LANG))
|
14
|
-
.subscribe(this.lang$);
|
15
|
-
this.oldStylePermissionsInitialized = firstValueFrom(this.permissions$.pipe(skip(1)));
|
16
|
-
this.effectivePermissions$ = merge(this.permissions$.pipe(skip(1)), this.permissionsTopic$.asObservable());
|
17
|
-
this.profile$
|
18
|
-
.pipe(map((profile) => this.extractPermissions(profile)), filter((permissions) => !!permissions))
|
19
|
-
.subscribe(this.permissions$);
|
20
|
-
}
|
21
|
-
ngOnDestroy() {
|
22
|
-
this.profile$.destroy();
|
23
|
-
}
|
24
|
-
getPermissions() {
|
25
|
-
return this.effectivePermissions$;
|
26
|
-
}
|
27
|
-
hasPermission(permissionKey) {
|
28
|
-
if (Array.isArray(permissionKey)) {
|
29
|
-
return permissionKey.every((key) => this.hasPermission(key));
|
30
|
-
}
|
31
|
-
const oldConceptResult = this.permissions$.getValue()
|
32
|
-
? this.permissions$.getValue()?.includes(permissionKey)
|
33
|
-
: false;
|
34
|
-
const result = this.permissionsTopic$.getValue()
|
35
|
-
? this.permissionsTopic$.getValue()?.includes(permissionKey)
|
36
|
-
: oldConceptResult;
|
37
|
-
if (!result) {
|
38
|
-
console.log(`👮♀️ No permission for: ${permissionKey}`);
|
39
|
-
}
|
40
|
-
return !!result;
|
41
|
-
}
|
42
|
-
determineLanguage() {
|
43
|
-
if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {
|
44
|
-
return undefined;
|
45
|
-
}
|
46
|
-
let browserLang = window.navigator.languages ? window.navigator.languages[0] : null;
|
47
|
-
browserLang = browserLang || window.navigator.language;
|
48
|
-
if (typeof browserLang === 'undefined') {
|
49
|
-
return undefined;
|
50
|
-
}
|
51
|
-
if (browserLang.indexOf('-') !== -1) {
|
52
|
-
browserLang = browserLang.split('-')[0];
|
53
|
-
}
|
54
|
-
if (browserLang.indexOf('_') !== -1) {
|
55
|
-
browserLang = browserLang.split('_')[0];
|
56
|
-
}
|
57
|
-
return browserLang;
|
58
|
-
}
|
59
|
-
extractPermissions(userProfile) {
|
60
|
-
if (userProfile) {
|
61
|
-
if (userProfile.memberships) {
|
62
|
-
const permissions = [];
|
63
|
-
userProfile.memberships.forEach((m) => {
|
64
|
-
m.roleMemberships?.forEach((r) => {
|
65
|
-
r.permissions?.forEach((p) => {
|
66
|
-
if (p) {
|
67
|
-
if (p.key !== undefined) {
|
68
|
-
permissions.push(p.key);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
});
|
72
|
-
});
|
73
|
-
});
|
74
|
-
return permissions;
|
75
|
-
}
|
76
|
-
}
|
77
|
-
return null;
|
78
|
-
}
|
79
|
-
get isInitialized() {
|
80
|
-
return Promise.all([
|
81
|
-
Promise.race([this.permissionsTopic$.isInitialized, this.oldStylePermissionsInitialized]),
|
82
|
-
this.profile$.isInitialized,
|
83
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
84
|
-
]).then(() => { });
|
85
|
-
}
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
87
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserService, providedIn: 'root' }); }
|
88
|
-
}
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserService, decorators: [{
|
90
|
-
type: Injectable,
|
91
|
-
args: [{ providedIn: 'root' }]
|
92
|
-
}], ctorParameters: () => [] });
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7O0FBRy9DLE1BQU0sT0FBTyxXQUFXO0lBU3RCO1FBUkEsYUFBUSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQTtRQUNqQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ2hELFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQTtRQUc3RCxzQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUE7UUFJaEQsSUFBSSxDQUFDLFFBQVE7YUFDVixJQUFJLENBQ0gsR0FBRyxDQUNELENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDVixPQUFPLENBQUMsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxZQUFZLENBQ3JHLENBQ0Y7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFB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QUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIGZpbHRlciwgZmlyc3RWYWx1ZUZyb20sIHNraXAsIE9ic2VydmFibGUsIG1lcmdlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFBlcm1pc3Npb25zVG9waWMsIFVzZXJQcm9maWxlLCBVc2VyUHJvZmlsZVRvcGljIH0gZnJvbSAnQG9uZWN4L2ludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IERFRkFVTFRfTEFORyB9IGZyb20gJy4uL2FwaS9jb25zdGFudHMnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcm9maWxlJCA9IG5ldyBVc2VyUHJvZmlsZVRvcGljKClcbiAgcGVybWlzc2lvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pXG4gIGxhbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmRldGVybWluZUxhbmd1YWdlKCkgPz8gREVGQVVMVF9MQU5HKVxuXG4gIHByaXZhdGUgZWZmZWN0aXZlUGVybWlzc2lvbnMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPlxuICBwcml2YXRlIHBlcm1pc3Npb25zVG9waWMkID0gbmV3IFBlcm1pc3Npb25zVG9waWMoKVxuICBwcml2YXRlIG9sZFN0eWxlUGVybWlzc2lvbnNJbml0aWFsaXplZDogUHJvbWlzZTxzdHJpbmdbXT5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnByb2ZpbGUkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChwcm9maWxlKSA9PlxuICAgICAgICAgICAgcHJvZmlsZS5hY2NvdW50U2V0dGluZ3M/LmxvY2FsZUFuZFRpbWVTZXR0aW5ncz8ubG9jYWxlID8/IHRoaXMuZGV0ZXJtaW5lTGFuZ3VhZ2UoKSA/PyBERUZBVUxUX0xBTkdcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmxhbmckKVxuXG4gICAgdGhpcy5vbGRTdHlsZVBlcm1pc3Npb25zSW5pdGlhbGl6ZWQgPSBmaXJzdFZhbHVlRnJvbSh0aGlzLnBlcm1pc3Npb25zJC5waXBlKHNraXAoMSkpKVxuICAgIHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvbnMkID0gbWVyZ2UodGhpcy5wZXJtaXNzaW9ucyQucGlwZShza2lwKDEpKSwgdGhpcy5wZXJtaXNzaW9uc1RvcGljJC5hc09ic2VydmFibGUoKSlcbiAgICB0aGlzLnByb2ZpbGUkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm9maWxlKSA9PiB0aGlzLmV4dHJhY3RQZXJtaXNzaW9ucyhwcm9maWxlKSksXG4gICAgICAgIGZpbHRlcigocGVybWlzc2lvbnMpOiBwZXJtaXNzaW9ucyBpcyBzdHJpbmdbXSA9PiAhIXBlcm1pc3Npb25zKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnBlcm1pc3Npb25zJClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucHJvZmlsZSQuZGVzdHJveSgpXG4gIH1cblxuICBnZXRQZXJtaXNzaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5lZmZlY3RpdmVQZXJtaXNzaW9ucyRcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbktleTogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uS2V5KSkge1xuICAgICAgcmV0dXJuIHBlcm1pc3Npb25LZXkuZXZlcnkoKGtleSkgPT4gdGhpcy5oYXNQZXJtaXNzaW9uKGtleSkpXG4gICAgfVxuICAgIGNvbnN0IG9sZENvbmNlcHRSZXN1bHQgPSB0aGlzLnBlcm1pc3Npb25zJC5nZXRWYWx1ZSgpXG4gICAgICA/IHRoaXMucGVybWlzc2lvbnMkLmdldFZhbHVlKCk/LmluY2x1ZGVzKHBlcm1pc3Npb25LZXkpXG4gICAgICA6IGZhbHNlXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5wZXJtaXNzaW9uc1RvcGljJC5nZXRWYWx1ZSgpXG4gICAgICA/IHRoaXMucGVybWlzc2lvbnNUb3BpYyQuZ2V0VmFsdWUoKT8uaW5jbHVkZXMocGVybWlzc2lvbktleSlcbiAgICAgIDogb2xkQ29uY2VwdFJlc3VsdFxuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIGNvbnNvbGUubG9nKGDwn5Gu4oCN4pmA77iPIE5vIHBlcm1pc3Npb24gZm9yOiAke3Blcm1pc3Npb25LZXl9YClcbiAgICB9XG4gICAgcmV0dXJuICEhcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZUxhbmd1YWdlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cubmF2aWdhdG9yID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGxldCBicm93c2VyTGFuZzogYW55ID0gd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXMgPyB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlc1swXSA6IG51bGxcbiAgICBicm93c2VyTGFuZyA9IGJyb3dzZXJMYW5nIHx8IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2VcblxuICAgIGlmICh0eXBlb2YgYnJvd3NlckxhbmcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgaWYgKGJyb3dzZXJMYW5nLmluZGV4T2YoJy0nKSAhPT0gLTEpIHtcbiAgICAgIGJyb3dzZXJMYW5nID0gYnJvd3Nlckxhbmcuc3BsaXQoJy0nKVswXVxuICAgIH1cblxuICAgIGlmIChicm93c2VyTGFuZy5pbmRleE9mKCdfJykgIT09IC0xKSB7XG4gICAgICBicm93c2VyTGFuZyA9IGJyb3dzZXJMYW5nLnNwbGl0KCdfJylbMF1cbiAgICB9XG5cbiAgICByZXR1cm4gYnJvd3NlckxhbmdcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFBlcm1pc3Npb25zKHVzZXJQcm9maWxlOiBVc2VyUHJvZmlsZSkge1xuICAgIGlmICh1c2VyUHJvZmlsZSkge1xuICAgICAgaWYgKHVzZXJQcm9maWxlLm1lbWJlcnNoaXBzKSB7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtdXG4gICAgICAgIHVzZXJQcm9maWxlLm1lbWJlcnNoaXBzLmZvckVhY2goKG0pID0+IHtcbiAgICAgICAgICBtLnJvbGVNZW1iZXJzaGlwcz8uZm9yRWFjaCgocikgPT4ge1xuICAgICAgICAgICAgci5wZXJtaXNzaW9ucz8uZm9yRWFjaCgocCkgPT4ge1xuICAgICAgICAgICAgICBpZiAocCkge1xuICAgICAgICAgICAgICAgIGlmIChwLmtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucy5wdXNoKHAua2V5KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbnNcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGdldCBpc0luaXRpYWxpemVkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChbXG4gICAgICBQcm9taXNlLnJhY2UoW3RoaXMucGVybWlzc2lvbnNUb3BpYyQuaXNJbml0aWFsaXplZCwgdGhpcy5vbGRTdHlsZVBlcm1pc3Npb25zSW5pdGlhbGl6ZWRdKSxcbiAgICAgIHRoaXMucHJvZmlsZSQuaXNJbml0aWFsaXplZCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBdKS50aGVuKCgpID0+IHt9KVxuICB9XG59XG4iXX0=
|
@@ -1,146 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { AppStateService } from './app-state.service';
|
3
|
-
import { map } from 'rxjs';
|
4
|
-
import { Location } from '@angular/common';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "./app-state.service";
|
7
|
-
export class WorkspaceService {
|
8
|
-
constructor(appStateService) {
|
9
|
-
this.appStateService = appStateService;
|
10
|
-
this.aliasStart = '[[';
|
11
|
-
this.aliasEnd = ']]';
|
12
|
-
this.paramStart = '{';
|
13
|
-
this.paramEnd = '}';
|
14
|
-
}
|
15
|
-
getUrl(productName, appId, endpointName, endpointParameters) {
|
16
|
-
return this.appStateService.currentWorkspace$.pipe(map((workspace) => {
|
17
|
-
const finalUrl = this.constructRouteUrl(workspace, appId, productName, endpointName, endpointParameters);
|
18
|
-
return finalUrl;
|
19
|
-
}));
|
20
|
-
}
|
21
|
-
doesUrlExistFor(productName, appId, endpointName) {
|
22
|
-
return this.appStateService.currentWorkspace$.pipe(map((workspace) => {
|
23
|
-
const checkEndpoint = endpointName !== undefined && endpointName.length > 0;
|
24
|
-
if (workspace.routes == undefined) {
|
25
|
-
return false;
|
26
|
-
}
|
27
|
-
const route = this.filterRouteFromList(workspace.routes, appId, productName);
|
28
|
-
if (checkEndpoint) {
|
29
|
-
if (!route || route.endpoints === undefined || route.endpoints.length == 0) {
|
30
|
-
return false;
|
31
|
-
}
|
32
|
-
const endpoint = route.endpoints.find((ep) => ep.name === endpointName);
|
33
|
-
return !!(endpoint && endpoint.path && endpoint.path.length > 0);
|
34
|
-
}
|
35
|
-
else {
|
36
|
-
return !!(route && route.baseUrl && route.baseUrl.length > 0);
|
37
|
-
}
|
38
|
-
}));
|
39
|
-
}
|
40
|
-
constructBaseUrlFromWorkspace(workspace) {
|
41
|
-
if (workspace.baseUrl === undefined) {
|
42
|
-
console.log('WARNING: There was no baseUrl for received workspace.');
|
43
|
-
return '';
|
44
|
-
}
|
45
|
-
return workspace.baseUrl;
|
46
|
-
}
|
47
|
-
constructRouteUrl(workspace, appId, productName, endpointName, endpointParameters) {
|
48
|
-
const route = this.filterRouteFromList(workspace.routes, appId, productName);
|
49
|
-
let url = this.constructBaseUrlFromWorkspace(workspace);
|
50
|
-
if (!route) {
|
51
|
-
console.log(`WARNING: No route.baseUrl could be found for given appId "${appId}" and productName "${productName}"`);
|
52
|
-
return url;
|
53
|
-
}
|
54
|
-
if (route.baseUrl !== undefined && route.baseUrl.length > 0) {
|
55
|
-
url = route.baseUrl;
|
56
|
-
}
|
57
|
-
if (endpointName == undefined) {
|
58
|
-
return url;
|
59
|
-
}
|
60
|
-
url = Location.joinWithSlash(url, this.constructEndpointUrl(route, endpointName, endpointParameters));
|
61
|
-
return url;
|
62
|
-
}
|
63
|
-
constructEndpointUrl(route, endpointName, endpointParameters = {}) {
|
64
|
-
if (!route.endpoints) {
|
65
|
-
return '';
|
66
|
-
}
|
67
|
-
const finalEndpoint = this.dissolveEndpoint(endpointName, route.endpoints);
|
68
|
-
if (!finalEndpoint || finalEndpoint.path === undefined) {
|
69
|
-
console.log('WARNING: No endpoint or endpoint.path could be found');
|
70
|
-
return '';
|
71
|
-
}
|
72
|
-
const paramsFilled = this.fillParamsForPath(finalEndpoint.path, endpointParameters);
|
73
|
-
if (paramsFilled === undefined) {
|
74
|
-
console.log('WARNING: Params could not be filled correctly');
|
75
|
-
return '';
|
76
|
-
}
|
77
|
-
return paramsFilled;
|
78
|
-
}
|
79
|
-
filterRouteFromList(routes, appId, productName) {
|
80
|
-
if (!routes) {
|
81
|
-
return undefined;
|
82
|
-
}
|
83
|
-
const productRoutes = routes.filter((route) => route.appId === appId && route.productName === productName);
|
84
|
-
if (productRoutes.length === 0) {
|
85
|
-
return undefined;
|
86
|
-
}
|
87
|
-
if (productRoutes.length > 1) {
|
88
|
-
console.log('WARNING: There were more than one route. First route has been used.');
|
89
|
-
}
|
90
|
-
return productRoutes[0];
|
91
|
-
}
|
92
|
-
dissolveEndpoint(endpointName, endpoints) {
|
93
|
-
let endpoint = endpoints.find((ep) => ep.name === endpointName);
|
94
|
-
if (!endpoint) {
|
95
|
-
return undefined;
|
96
|
-
}
|
97
|
-
while (endpoint.path?.includes(this.aliasStart)) {
|
98
|
-
const path = endpoint.path;
|
99
|
-
const startIdx = path.indexOf(this.aliasStart) + this.aliasStart.length;
|
100
|
-
const endIdx = path.lastIndexOf(this.aliasEnd);
|
101
|
-
if (endIdx <= startIdx) {
|
102
|
-
return undefined;
|
103
|
-
}
|
104
|
-
const aliasName = path.substring(startIdx, endIdx);
|
105
|
-
endpoint = endpoints.find((ep) => ep.name === aliasName);
|
106
|
-
if (!endpoint) {
|
107
|
-
return undefined;
|
108
|
-
}
|
109
|
-
}
|
110
|
-
return endpoint;
|
111
|
-
}
|
112
|
-
fillParamsForPath(path, endpointParameters) {
|
113
|
-
while (path.includes(this.paramStart)) {
|
114
|
-
const paramName = path.substring(path.indexOf(this.paramStart) + this.paramStart.length, path.indexOf(this.paramEnd));
|
115
|
-
const paramValue = this.getStringFromUnknown(endpointParameters[paramName]);
|
116
|
-
if (paramValue != undefined && paramValue.length > 0) {
|
117
|
-
path = path.replace(this.paramStart.concat(paramName).concat(this.paramEnd), paramValue);
|
118
|
-
}
|
119
|
-
else {
|
120
|
-
console.log(`WARNING: Searched param "${paramName}" was not found in given param list `);
|
121
|
-
return '';
|
122
|
-
}
|
123
|
-
}
|
124
|
-
return path;
|
125
|
-
}
|
126
|
-
getStringFromUnknown(value) {
|
127
|
-
if (value === null || value === undefined) {
|
128
|
-
return '';
|
129
|
-
}
|
130
|
-
else if (typeof value === 'string') {
|
131
|
-
return value;
|
132
|
-
}
|
133
|
-
else {
|
134
|
-
return String(value);
|
135
|
-
}
|
136
|
-
}
|
137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceService, deps: [{ token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
138
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceService, providedIn: 'root' }); }
|
139
|
-
}
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceService, decorators: [{
|
141
|
-
type: Injectable,
|
142
|
-
args: [{
|
143
|
-
providedIn: 'root',
|
144
|
-
}]
|
145
|
-
}], ctorParameters: () => [{ type: i1.AppStateService }] });
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlL3NyYy9saWIvc2VydmljZXMvd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUd0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQUsxQyxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQXNCLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUw5QyxlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixlQUFVLEdBQUcsR0FBRyxDQUFBO1FBQ2hCLGFBQVEsR0FBRyxHQUFHLENBQUE7SUFFbUMsQ0FBQztJQUUxRCxNQUFNLENBQ0osV0FBbUIsRUFDbkIsS0FBYSxFQUNiLFlBQXFCLEVBQ3JCLGtCQUE0QztRQUU1QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUE7WUFDeEcsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsV0FBbUIsRUFBRSxLQUFhLEVBQUUsWUFBcUI7UUFDdkUsT0FBTyxJQUFJLENBQUMs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QkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2FwcC1zdGF0ZS5zZXJ2aWNlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQG9uZWN4L2ludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnQG9uZWN4L2ludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlU2VydmljZSB7XG4gIHByaXZhdGUgYWxpYXNTdGFydCA9ICdbWydcbiAgcHJpdmF0ZSBhbGlhc0VuZCA9ICddXSdcbiAgcHJpdmF0ZSBwYXJhbVN0YXJ0ID0gJ3snXG4gIHByaXZhdGUgcGFyYW1FbmQgPSAnfSdcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXBwU3RhdGVTZXJ2aWNlOiBBcHBTdGF0ZVNlcnZpY2UpIHt9XG5cbiAgZ2V0VXJsKFxuICAgIHByb2R1Y3ROYW1lOiBzdHJpbmcsXG4gICAgYXBwSWQ6IHN0cmluZyxcbiAgICBlbmRwb2ludE5hbWU/OiBzdHJpbmcsXG4gICAgZW5kcG9pbnRQYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFdvcmtzcGFjZSQucGlwZShcbiAgICAgIG1hcCgod29ya3NwYWNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbmFsVXJsID0gdGhpcy5jb25zdHJ1Y3RSb3V0ZVVybCh3b3Jrc3BhY2UsIGFwcElkLCBwcm9kdWN0TmFtZSwgZW5kcG9pbnROYW1lLCBlbmRwb2ludFBhcmFtZXRlcnMpXG4gICAgICAgIHJldHVybiBmaW5hbFVybFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBkb2VzVXJsRXhpc3RGb3IocHJvZHVjdE5hbWU6IHN0cmluZywgYXBwSWQ6IHN0cmluZywgZW5kcG9pbnROYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRXb3Jrc3BhY2UkLnBpcGUoXG4gICAgICBtYXAoKHdvcmtzcGFjZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGVja0VuZHBvaW50ID0gZW5kcG9pbnROYW1lICE9PSB1bmRlZmluZWQgJiYgZW5kcG9pbnROYW1lLmxlbmd0aCA+IDBcblxuICAgICAgICBpZiAod29ya3NwYWNlLnJvdXRlcyA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuZmlsdGVyUm91dGVGcm9tTGlzdCh3b3Jrc3BhY2Uucm91dGVzLCBhcHBJZCwgcHJvZHVjdE5hbWUpXG5cbiAgICAgICAgaWYgKGNoZWNrRW5kcG9pbnQpIHtcbiAgICAgICAgICBpZiAoIXJvdXRlIHx8IHJvdXRlLmVuZHBvaW50cyA9PT0gdW5kZWZpbmVkIHx8IHJvdXRlLmVuZHBvaW50cy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZW5kcG9pbnQgPSByb3V0ZS5lbmRwb2ludHMuZmluZCgoZXApID0+IGVwLm5hbWUgPT09IGVuZHBvaW50TmFtZSlcbiAgICAgICAgICByZXR1cm4gISEoZW5kcG9pbnQgJiYgZW5kcG9pbnQucGF0aCAmJiBlbmRwb2ludC5wYXRoLmxlbmd0aCA+IDApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICEhKHJvdXRlICYmIHJvdXRlLmJhc2VVcmwgJiYgcm91dGUuYmFzZVVybC5sZW5ndGggPiAwKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0QmFzZVVybEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh3b3Jrc3BhY2UuYmFzZVVybCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmxvZygnV0FSTklORzogVGhlcmUgd2FzIG5vIGJhc2VVcmwgZm9yIHJlY2VpdmVkIHdvcmtzcGFjZS4nKVxuICAgICAgcmV0dXJuICcnXG4gICAgfVxuICAgIHJldHVybiB3b3Jrc3BhY2UuYmFzZVVybFxuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RSb3V0ZVVybChcbiAgICB3b3Jrc3BhY2U6IGFueSxcbiAgICBhcHBJZDogc3RyaW5nLFxuICAgIHByb2R1Y3ROYW1lOiBzdHJpbmcsXG4gICAgZW5kcG9pbnROYW1lPzogc3RyaW5nLFxuICAgIGVuZHBvaW50UGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm91dGUgPSB0aGlzLmZpbHRlclJvdXRlRnJvbUxpc3Qod29ya3NwYWNlLnJvdXRlcywgYXBwSWQsIHByb2R1Y3ROYW1lKVxuICAgIGxldCB1cmwgPSB0aGlzLmNvbnN0cnVjdEJhc2VVcmxGcm9tV29ya3NwYWNlKHdvcmtzcGFjZSlcbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFdBUk5JTkc6IE5vIHJvdXRlLmJhc2VVcmwgY291bGQgYmUgZm91bmQgZm9yIGdpdmVuIGFwcElkIFwiJHthcHBJZH1cIiBhbmQgcHJvZHVjdE5hbWUgXCIke3Byb2R1Y3ROYW1lfVwiYFxuICAgICAgKVxuXG4gICAgICByZXR1cm4gdXJsXG4gICAgfVxuXG4gICAgaWYgKHJvdXRlLmJhc2VVcmwgIT09IHVuZGVmaW5lZCAmJiByb3V0ZS5iYXNlVXJsLmxlbmd0aCA+IDApIHtcbiAgICAgIHVybCA9IHJvdXRlLmJhc2VVcmxcbiAgICB9XG4gICAgaWYgKGVuZHBvaW50TmFtZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1cmxcbiAgICB9XG5cbiAgICB1cmwgPSBMb2NhdGlvbi5qb2luV2l0aFNsYXNoKHVybCwgdGhpcy5jb25zdHJ1Y3RFbmRwb2ludFVybChyb3V0ZSwgZW5kcG9pbnROYW1lLCBlbmRwb2ludFBhcmFtZXRlcnMpKVxuICAgIHJldHVybiB1cmxcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0RW5kcG9pbnRVcmwoXG4gICAgcm91dGU6IGFueSxcbiAgICBlbmRwb2ludE5hbWU6IHN0cmluZyxcbiAgICBlbmRwb2ludFBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge31cbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXJvdXRlLmVuZHBvaW50cykge1xuICAgICAgcmV0dXJuICcnXG4gICAgfVxuICAgIGNvbnN0IGZpbmFsRW5kcG9pbnQgPSB0aGlzLmRpc3NvbHZlRW5kcG9pbnQoZW5kcG9pbnROYW1lLCByb3V0ZS5lbmRwb2ludHMpXG4gICAgaWYgKCFmaW5hbEVuZHBvaW50IHx8IGZpbmFsRW5kcG9pbnQucGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmxvZygnV0FSTklORzogTm8gZW5kcG9pbnQgb3IgZW5kcG9pbnQucGF0aCBjb3VsZCBiZSBmb3VuZCcpXG4gICAgICByZXR1cm4gJydcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXNGaWxsZWQgPSB0aGlzLmZpbGxQYXJhbXNGb3JQYXRoKGZpbmFsRW5kcG9pbnQucGF0aCwgZW5kcG9pbnRQYXJhbWV0ZXJzKVxuICAgIGlmIChwYXJhbXNGaWxsZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS5sb2coJ1dBUk5JTkc6IFBhcmFtcyBjb3VsZCBub3QgYmUgZmlsbGVkIGNvcnJlY3RseScpXG4gICAgICByZXR1cm4gJydcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zRmlsbGVkXG4gIH1cblxuICBwcml2YXRlIGZpbHRlclJvdXRlRnJvbUxpc3Qocm91dGVzOiBBcnJheTxSb3V0ZT4sIGFwcElkOiBzdHJpbmcsIHByb2R1Y3ROYW1lOiBzdHJpbmcpOiBSb3V0ZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFyb3V0ZXMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBwcm9kdWN0Um91dGVzID0gcm91dGVzLmZpbHRlcigocm91dGUpID0+IHJvdXRlLmFwcElkID09PSBhcHBJZCAmJiByb3V0ZS5wcm9kdWN0TmFtZSA9PT0gcHJvZHVjdE5hbWUpXG5cbiAgICBpZiAocHJvZHVjdFJvdXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAocHJvZHVjdFJvdXRlcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zb2xlLmxvZygnV0FSTklORzogVGhlcmUgd2VyZSBtb3JlIHRoYW4gb25lIHJvdXRlLiBGaXJzdCByb3V0ZSBoYXMgYmVlbiB1c2VkLicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2R1Y3RSb3V0ZXNbMF1cbiAgfVxuXG4gIHByaXZhdGUgZGlzc29sdmVFbmRwb2ludChlbmRwb2ludE5hbWU6IHN0cmluZywgZW5kcG9pbnRzOiBBcnJheTxFbmRwb2ludD4pOiBFbmRwb2ludCB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGVuZHBvaW50ID0gZW5kcG9pbnRzLmZpbmQoKGVwKSA9PiBlcC5uYW1lID09PSBlbmRwb2ludE5hbWUpXG5cbiAgICBpZiAoIWVuZHBvaW50KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgd2hpbGUgKGVuZHBvaW50LnBhdGg/LmluY2x1ZGVzKHRoaXMuYWxpYXNTdGFydCkpIHtcbiAgICAgIGNvbnN0IHBhdGg6IHN0cmluZyA9IGVuZHBvaW50LnBhdGhcbiAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gcGF0aC5pbmRleE9mKHRoaXMuYWxpYXNTdGFydCkgKyB0aGlzLmFsaWFzU3RhcnQubGVuZ3RoXG4gICAgICBjb25zdCBlbmRJZHggPSBwYXRoLmxhc3RJbmRleE9mKHRoaXMuYWxpYXNFbmQpXG4gICAgICBpZiAoZW5kSWR4IDw9IHN0YXJ0SWR4KSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFsaWFzTmFtZSA9IHBhdGguc3Vic3RyaW5nKHN0YXJ0SWR4LCBlbmRJZHgpXG4gICAgICBlbmRwb2ludCA9IGVuZHBvaW50cy5maW5kKChlcCkgPT4gZXAubmFtZSA9PT0gYWxpYXNOYW1lKVxuXG4gICAgICBpZiAoIWVuZHBvaW50KSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZW5kcG9pbnRcbiAgfVxuXG4gIHByaXZhdGUgZmlsbFBhcmFtc0ZvclBhdGgocGF0aDogc3RyaW5nLCBlbmRwb2ludFBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogc3RyaW5nIHtcbiAgICB3aGlsZSAocGF0aC5pbmNsdWRlcyh0aGlzLnBhcmFtU3RhcnQpKSB7XG4gICAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXRoLnN1YnN0cmluZyhcbiAgICAgICAgcGF0aC5pbmRleE9mKHRoaXMucGFyYW1TdGFydCkgKyB0aGlzLnBhcmFtU3RhcnQubGVuZ3RoLFxuICAgICAgICBwYXRoLmluZGV4T2YodGhpcy5wYXJhbUVuZClcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcmFtVmFsdWUgPSB0aGlzLmdldFN0cmluZ0Zyb21Vbmtub3duKGVuZHBvaW50UGFyYW1ldGVyc1twYXJhbU5hbWVdKVxuICAgICAgaWYgKHBhcmFtVmFsdWUgIT0gdW5kZWZpbmVkICYmIHBhcmFtVmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKHRoaXMucGFyYW1TdGFydC5jb25jYXQocGFyYW1OYW1lKS5jb25jYXQodGhpcy5wYXJhbUVuZCksIHBhcmFtVmFsdWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZyhgV0FSTklORzogU2VhcmNoZWQgcGFyYW0gXCIke3BhcmFtTmFtZX1cIiB3YXMgbm90IGZvdW5kIGluIGdpdmVuIHBhcmFtIGxpc3QgYClcbiAgICAgICAgcmV0dXJuICcnXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXRoXG4gIH1cblxuICBwcml2YXRlIGdldFN0cmluZ0Zyb21Vbmtub3duKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICcnXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { InitializeModuleGuard } from '../services/initialize-module-guard.service';
|
2
|
-
export function addInitializeModuleGuard(routes, initializeModuleGuard = InitializeModuleGuard) {
|
3
|
-
return routes.map((r) => {
|
4
|
-
if (r.redirectTo) {
|
5
|
-
return r;
|
6
|
-
}
|
7
|
-
const route = {
|
8
|
-
canActivate: [],
|
9
|
-
...r,
|
10
|
-
};
|
11
|
-
if (!route.canActivate.includes(initializeModuleGuard)) {
|
12
|
-
route.canActivate.push(initializeModuleGuard);
|
13
|
-
}
|
14
|
-
return route;
|
15
|
-
});
|
16
|
-
}
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWluaXRpYWxpemUtbW9kdWxlLWd1YXJkLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3V0aWxzL2FkZC1pbml0aWFsaXplLW1vZHVsZS1ndWFyZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUVuRixNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE1BQWUsRUFDZix3QkFBc0UscUJBQXFCO0lBRTNGLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3RCLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxDQUFBO1FBQ1YsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHO1lBQ1osV0FBVyxFQUFFLEVBQUU7WUFDZixHQUFHLENBQUM7U0FDTCxDQUFBO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUN2RCxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbkFjdGl2YXRlRm4sIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgSW5pdGlhbGl6ZU1vZHVsZUd1YXJkIH0gZnJvbSAnLi4vc2VydmljZXMvaW5pdGlhbGl6ZS1tb2R1bGUtZ3VhcmQuc2VydmljZSdcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEluaXRpYWxpemVNb2R1bGVHdWFyZChcbiAgcm91dGVzOiBSb3V0ZVtdLFxuICBpbml0aWFsaXplTW9kdWxlR3VhcmQ6IHR5cGVvZiBJbml0aWFsaXplTW9kdWxlR3VhcmQgfCBDYW5BY3RpdmF0ZUZuID0gSW5pdGlhbGl6ZU1vZHVsZUd1YXJkXG4pOiBSb3V0ZVtdIHtcbiAgcmV0dXJuIHJvdXRlcy5tYXAoKHIpID0+IHtcbiAgICBpZiAoci5yZWRpcmVjdFRvKSB7XG4gICAgICByZXR1cm4gclxuICAgIH1cbiAgICBjb25zdCByb3V0ZSA9IHtcbiAgICAgIGNhbkFjdGl2YXRlOiBbXSxcbiAgICAgIC4uLnIsXG4gICAgfVxuICAgIGlmICghcm91dGUuY2FuQWN0aXZhdGUuaW5jbHVkZXMoaW5pdGlhbGl6ZU1vZHVsZUd1YXJkKSkge1xuICAgICAgcm91dGUuY2FuQWN0aXZhdGUucHVzaChpbml0aWFsaXplTW9kdWxlR3VhcmQpXG4gICAgfVxuICAgIHJldHVybiByb3V0ZVxuICB9KVxufSJdfQ==
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
3
|
-
import { AppConfigService } from '@onecx/angular-integration-interface';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export function provideAppConfigServiceMock() {
|
6
|
-
return [AppConfigServiceMock, { provide: AppConfigService, useExisting: AppConfigServiceMock }];
|
7
|
-
}
|
8
|
-
export class AppConfigServiceMock {
|
9
|
-
constructor() {
|
10
|
-
this.config$ = new BehaviorSubject({});
|
11
|
-
}
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
13
|
-
init(baseUrl) {
|
14
|
-
return new Promise((resolve) => {
|
15
|
-
const mockConfig = { key: 'config' };
|
16
|
-
this.config$.next(mockConfig);
|
17
|
-
resolve();
|
18
|
-
});
|
19
|
-
}
|
20
|
-
getProperty(key) {
|
21
|
-
return this.config$.getValue()?.[key];
|
22
|
-
}
|
23
|
-
setProperty(key, val) {
|
24
|
-
this.config$.next({ ...this.config$.value, [key]: val });
|
25
|
-
}
|
26
|
-
getConfig() {
|
27
|
-
return this.config$.getValue();
|
28
|
-
}
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
30
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigServiceMock }); }
|
31
|
-
}
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigServiceMock, decorators: [{
|
33
|
-
type: Injectable
|
34
|
-
}] });
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1zZXJ2aWNlLW1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlL21vY2tzL2FwcC1jb25maWctc2VydmljZS1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTs7QUFFdkUsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQTtBQUNqRyxDQUFDO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVFLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBNEIsRUFBRSxDQUFDLENBQUE7S0FzQjdEO0lBcEJDLDZEQUE2RDtJQUN0RCxJQUFJLENBQUMsT0FBZTtRQUN6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxVQUFVLEdBQVcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUE7WUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDN0IsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDaEMsQ0FBQzsrR0F0QlUsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJ0BvbmVjeC9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBcHBDb25maWdTZXJ2aWNlTW9jaygpIHtcbiAgcmV0dXJuIFtBcHBDb25maWdTZXJ2aWNlTW9jaywgeyBwcm92aWRlOiBBcHBDb25maWdTZXJ2aWNlLCB1c2VFeGlzdGluZzogQXBwQ29uZmlnU2VydmljZU1vY2sgfV1cbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdTZXJ2aWNlTW9jayB7XG4gIGNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KHt9KVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIGluaXQoYmFzZVVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCBtb2NrQ29uZmlnOiBDb25maWcgPSB7IGtleTogJ2NvbmZpZycgfVxuICAgICAgdGhpcy5jb25maWckLm5leHQobW9ja0NvbmZpZylcbiAgICAgIHJlc29sdmUoKVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvcGVydHkoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZyQuZ2V0VmFsdWUoKT8uW2tleV1cbiAgfVxuXG4gIHB1YmxpYyBzZXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZyQubmV4dCh7IC4uLnRoaXMuY29uZmlnJC52YWx1ZSwgW2tleV06IHZhbCB9KVxuICB9XG5cbiAgcHVibGljIGdldENvbmZpZygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWckLmdldFZhbHVlKClcbiAgfVxufVxuIl19
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
// eslint-disable-next-line
|
3
|
-
import { AppStateService } from '@onecx/angular-integration-interface';
|
4
|
-
import { FakeTopic } from './fake-topic';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
/**
|
7
|
-
* @deprecated use provideAppStateServiceMock()
|
8
|
-
*/
|
9
|
-
export function provideAppServiceMock() {
|
10
|
-
return provideAppStateServiceMock();
|
11
|
-
}
|
12
|
-
export function provideAppStateServiceMock() {
|
13
|
-
return [AppStateServiceMock, { provide: AppStateService, useExisting: AppStateServiceMock }];
|
14
|
-
}
|
15
|
-
export class AppStateServiceMock {
|
16
|
-
constructor() {
|
17
|
-
this.globalError$ = new FakeTopic();
|
18
|
-
this.globalLoading$ = new FakeTopic(false);
|
19
|
-
this.currentMfe$ = new FakeTopic({ mountPath: '/', remoteBaseUrl: '.', baseHref: '/', shellName: 'test', appId: 'test', productName: 'test' });
|
20
|
-
this.currentPage$ = new FakeTopic(undefined);
|
21
|
-
this.currentPortal$ = new FakeTopic({
|
22
|
-
baseUrl: '/',
|
23
|
-
microfrontendRegistrations: [],
|
24
|
-
portalName: 'Test portal',
|
25
|
-
workspaceName: 'Test portal',
|
26
|
-
});
|
27
|
-
this.currentWorkspace$ = new FakeTopic({
|
28
|
-
baseUrl: '/',
|
29
|
-
microfrontendRegistrations: [],
|
30
|
-
portalName: 'Test workspace',
|
31
|
-
workspaceName: 'Test workspace',
|
32
|
-
});
|
33
|
-
this.currentLocation$ = new FakeTopic({
|
34
|
-
url: '/',
|
35
|
-
isFirst: true,
|
36
|
-
});
|
37
|
-
this.isAuthenticated$ = new FakeTopic(null);
|
38
|
-
}
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppStateServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppStateServiceMock }); }
|
41
|
-
}
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppStateServiceMock, decorators: [{
|
43
|
-
type: Injectable
|
44
|
-
}] });
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN0YXRlLXNlcnZpY2UtbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2UvbW9ja3MvYXBwLXN0YXRlLXNlcnZpY2UtbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLDJCQUEyQjtBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU8sMEJBQTBCLEVBQUUsQ0FBQTtBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQjtJQUN4QyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUE7QUFDOUYsQ0FBQztBQUdELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFRSxpQkFBWSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUE7UUFDOUIsbUJBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyQyxnQkFBVyxHQUFHLElBQUksU0FBUyxDQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ2xKLGlCQUFZLEdBQUcsSUFBSSxTQUFTLENBQXVCLFNBQVMsQ0FBQyxDQUFBO1FBQzdELG1CQUFjLEdBQUcsSUFBSSxTQUFTLENBQVk7WUFDeEMsT0FBTyxFQUFFLEdBQUc7WUFDWiwwQkFBMEIsRUFBRSxFQUFFO1lBQzlCLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLGFBQWEsRUFBRSxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUNGLHNCQUFpQixHQUFHLElBQUksU0FBUyxDQUFZO1lBQzNDLE9BQU8sRUFBRSxHQUFHO1lBQ1osMEJBQTBCLEVBQUUsRUFBRTtZQUM5QixVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLGFBQWEsRUFBRSxnQkFBZ0I7U0FDaEMsQ0FBQyxDQUFBO1FBQ0YscUJBQWdCLEdBQUcsSUFBSSxTQUFTLENBQThCO1lBQzVELEdBQUcsRUFBRSxHQUFHO1lBQ1IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUE7UUFDRixxQkFBZ0IsR0FBRyxJQUFJLFNBQVMsQ0FBTyxJQUFJLENBQUMsQ0FBQTtLQUM3QzsrR0F0QlksbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEN1cnJlbnRMb2NhdGlvblRvcGljUGF5bG9hZCwgTWZlSW5mbywgUGFnZUluZm8sIFdvcmtzcGFjZSB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJ0BvbmVjeC9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IEZha2VUb3BpYyB9IGZyb20gJy4vZmFrZS10b3BpYydcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgcHJvdmlkZUFwcFN0YXRlU2VydmljZU1vY2soKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFwcFNlcnZpY2VNb2NrKCkge1xuICByZXR1cm4gcHJvdmlkZUFwcFN0YXRlU2VydmljZU1vY2soKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFwcFN0YXRlU2VydmljZU1vY2soKSB7XG4gIHJldHVybiBbQXBwU3RhdGVTZXJ2aWNlTW9jaywgeyBwcm92aWRlOiBBcHBTdGF0ZVNlcnZpY2UsIHVzZUV4aXN0aW5nOiBBcHBTdGF0ZVNlcnZpY2VNb2NrIH1dXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBTdGF0ZVNlcnZpY2VNb2NrIHtcbiAgZ2xvYmFsRXJyb3IkID0gbmV3IEZha2VUb3BpYygpXG4gIGdsb2JhbExvYWRpbmckID0gbmV3IEZha2VUb3BpYyhmYWxzZSlcbiAgY3VycmVudE1mZSQgPSBuZXcgRmFrZVRvcGljPE1mZUluZm8+KHsgbW91bnRQYXRoOiAnLycsIHJlbW90ZUJhc2VVcmw6ICcuJywgYmFzZUhyZWY6ICcvJywgc2hlbGxOYW1lOiAndGVzdCcsIGFwcElkOiAndGVzdCcsIHByb2R1Y3ROYW1lOiAndGVzdCcgfSlcbiAgY3VycmVudFBhZ2UkID0gbmV3IEZha2VUb3BpYzxQYWdlSW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjdXJyZW50UG9ydGFsJCA9IG5ldyBGYWtlVG9waWM8V29ya3NwYWNlPih7XG4gICAgYmFzZVVybDogJy8nLFxuICAgIG1pY3JvZnJvbnRlbmRSZWdpc3RyYXRpb25zOiBbXSxcbiAgICBwb3J0YWxOYW1lOiAnVGVzdCBwb3J0YWwnLFxuICAgIHdvcmtzcGFjZU5hbWU6ICdUZXN0IHBvcnRhbCcsXG4gIH0pXG4gIGN1cnJlbnRXb3Jrc3BhY2UkID0gbmV3IEZha2VUb3BpYzxXb3Jrc3BhY2U+KHtcbiAgICBiYXNlVXJsOiAnLycsXG4gICAgbWljcm9mcm9udGVuZFJlZ2lzdHJhdGlvbnM6IFtdLFxuICAgIHBvcnRhbE5hbWU6ICdUZXN0IHdvcmtzcGFjZScsXG4gICAgd29ya3NwYWNlTmFtZTogJ1Rlc3Qgd29ya3NwYWNlJyxcbiAgfSlcbiAgY3VycmVudExvY2F0aW9uJCA9IG5ldyBGYWtlVG9waWM8Q3VycmVudExvY2F0aW9uVG9waWNQYXlsb2FkPih7XG4gICAgdXJsOiAnLycsXG4gICAgaXNGaXJzdDogdHJ1ZSxcbiAgfSlcbiAgaXNBdXRoZW50aWNhdGVkJCA9IG5ldyBGYWtlVG9waWM8bnVsbD4obnVsbClcbn1cbiJdfQ==
|
@@ -1,47 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { FakeTopic } from './fake-topic';
|
3
|
-
import { firstValueFrom } from 'rxjs/internal/firstValueFrom';
|
4
|
-
import { ConfigurationService } from '@onecx/angular-integration-interface';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export function provideConfigurationServiceMock() {
|
7
|
-
return [ConfigurationServiceMock, { provide: ConfigurationService, useExisting: ConfigurationServiceMock }];
|
8
|
-
}
|
9
|
-
export class ConfigurationServiceMock {
|
10
|
-
constructor() {
|
11
|
-
this.config$ = new FakeTopic({});
|
12
|
-
this.isInitializedPromise = new Promise((resolve) => {
|
13
|
-
this.resolveInitPromise = resolve;
|
14
|
-
});
|
15
|
-
}
|
16
|
-
init(config) {
|
17
|
-
return this.config$.publish(config ?? {}).then(() => {
|
18
|
-
this.resolveInitPromise();
|
19
|
-
return true;
|
20
|
-
});
|
21
|
-
}
|
22
|
-
get isInitialized() {
|
23
|
-
return this.isInitializedPromise;
|
24
|
-
}
|
25
|
-
getProperty(key) {
|
26
|
-
const config = this.config$.getValue();
|
27
|
-
if (config && typeof config[key] === 'string') {
|
28
|
-
return config[key];
|
29
|
-
}
|
30
|
-
return undefined;
|
31
|
-
}
|
32
|
-
async setProperty(key, val) {
|
33
|
-
const currentValues = await firstValueFrom(this.config$.asObservable());
|
34
|
-
currentValues[key] = val;
|
35
|
-
await this.config$.publish(currentValues);
|
36
|
-
}
|
37
|
-
getConfig() {
|
38
|
-
return this.config$.getValue();
|
39
|
-
}
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationServiceMock, providedIn: 'root' }); }
|
42
|
-
}
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationServiceMock, decorators: [{
|
44
|
-
type: Injectable,
|
45
|
-
args: [{ providedIn: 'root' }]
|
46
|
-
}], ctorParameters: () => [] });
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1zZXJ2aWNlLW1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlL21vY2tzL2NvbmZpZ3VyYXRpb24tc2VydmljZS1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7O0FBRTNFLE1BQU0sVUFBVSwrQkFBK0I7SUFDN0MsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUE7QUFDN0csQ0FBQztBQUdELE1BQU0sT0FBTyx3QkFBd0I7SUFNbkM7UUFMQSxZQUFPLEdBQUcsSUFBSSxTQUFTLENBQVMsRUFBRSxDQUFDLENBQUE7UUFNakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTSxJQUFJLENBQUMsTUFBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1lBQ3pCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUE7SUFDbEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFlO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDdEMsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQy9DLE1BQU0sYUFBYSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtRQUN2RSxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFBO1FBQ3hCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDaEMsQ0FBQzsrR0F2Q1Usd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FEWCxNQUFNOzs0RkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnQG9uZWN4L2ludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IENPTkZJR19LRVkgfSBmcm9tICdAb25lY3gvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5pbXBvcnQgeyBGYWtlVG9waWMgfSBmcm9tICcuL2Zha2UtdG9waWMnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvZmlyc3RWYWx1ZUZyb20nXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJ0BvbmVjeC9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWd1cmF0aW9uU2VydmljZU1vY2soKSB7XG4gIHJldHVybiBbQ29uZmlndXJhdGlvblNlcnZpY2VNb2NrLCB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLCB1c2VFeGlzdGluZzogQ29uZmlndXJhdGlvblNlcnZpY2VNb2NrIH1dXG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNlcnZpY2VNb2NrIHtcbiAgY29uZmlnJCA9IG5ldyBGYWtlVG9waWM8Q29uZmlnPih7fSlcblxuICBwcml2YXRlIHJlc29sdmVJbml0UHJvbWlzZSE6ICh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkXG4gIHByaXZhdGUgaXNJbml0aWFsaXplZFByb21pc2U6IFByb21pc2U8dm9pZD5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZUluaXRQcm9taXNlID0gcmVzb2x2ZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgaW5pdChjb25maWc/OiBDb25maWcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWckLnB1Ymxpc2goY29uZmlnID8/IHt9KS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZUluaXRQcm9taXNlKClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSlcbiAgfVxuXG4gIGdldCBpc0luaXRpYWxpemVkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWRQcm9taXNlXG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvcGVydHkoa2V5OiBDT05GSUdfS0VZKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZyQuZ2V0VmFsdWUoKVxuICAgIGlmIChjb25maWcgJiYgdHlwZW9mIGNvbmZpZ1trZXldID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNvbmZpZ1trZXldXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWckLmFzT2JzZXJ2YWJsZSgpKVxuICAgIGN1cnJlbnRWYWx1ZXNba2V5XSA9IHZhbFxuICAgIGF3YWl0IHRoaXMuY29uZmlnJC5wdWJsaXNoKGN1cnJlbnRWYWx1ZXMpXG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5nZXRWYWx1ZSgpXG4gIH1cbn1cbiJdfQ==
|