@acorex/modules 18.0.8 → 18.0.10
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/auth/lib/auth.config.d.ts +2 -2
- package/backend/lib/auth/oidc/index.d.ts +0 -2
- package/backend/lib/auth/oidc/oidc.strategy.d.ts +41 -9
- package/backend/lib/auth/oidc/signincallback.component.d.ts +1 -3
- package/backend/lib/backend.module.d.ts +4 -3
- package/backend/lib/data/api/file.service.d.ts +16 -0
- package/backend/lib/data/index.d.ts +1 -0
- package/esm2022/auth/lib/account/account.module.mjs +24 -19
- package/esm2022/auth/lib/account/app-chooser/app-chooser-list.component.mjs +3 -3
- package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +4 -4
- package/esm2022/auth/lib/account/app-chooser/app-chooser.component.mjs +3 -3
- package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +4 -4
- package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.mjs +3 -3
- package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser.component.mjs +5 -5
- package/esm2022/auth/lib/auth.config.mjs +1 -1
- package/esm2022/auth/lib/auth.module.mjs +4 -4
- package/esm2022/auth/lib/error-handler.mjs +3 -3
- package/esm2022/auth/lib/forgot/password/password.component.mjs +4 -4
- package/esm2022/auth/lib/login/login.module.mjs +4 -4
- package/esm2022/auth/lib/login/password/password.component.mjs +7 -6
- package/esm2022/auth/lib/shared/layouts/blank/blank.layout.mjs +3 -3
- package/esm2022/auth/lib/shared/layouts/master/master.layout.mjs +3 -3
- package/esm2022/auth/lib/shared/services/idle.service.mjs +3 -3
- package/esm2022/auth/lib/store/auth.effects.mjs +3 -3
- package/esm2022/auth/lib/two-factor/two-factor-code/two-factor-code.component.mjs +4 -4
- package/esm2022/auth/lib/two-factor/two-factor.module.mjs +4 -4
- package/esm2022/backend/lib/auth/oidc/application.loader.mjs +3 -3
- package/esm2022/backend/lib/auth/oidc/configuration.service.mjs +3 -3
- package/esm2022/backend/lib/auth/oidc/index.mjs +1 -3
- package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +195 -56
- package/esm2022/backend/lib/auth/oidc/permission.loader.mjs +3 -3
- package/esm2022/backend/lib/auth/oidc/signincallback.component.mjs +8 -11
- package/esm2022/backend/lib/auth/oidc/tenant.loader.mjs +3 -3
- package/esm2022/backend/lib/backend.module.mjs +23 -9
- package/esm2022/backend/lib/data/api/data-provider.mjs +3 -3
- package/esm2022/backend/lib/data/api/file.service.mjs +101 -0
- package/esm2022/backend/lib/data/index.mjs +2 -1
- package/esm2022/backend/lib/data/local/local-data-provider.mjs +3 -3
- package/esm2022/log-management/lib/log-management.module.mjs +4 -4
- package/esm2022/notification/lib/notification.module.mjs +4 -4
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs → acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs} +55 -50
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs → acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs.map → acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs → acorex-modules-auth-blank.layout-Bq822Iz4.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs.map → acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs → acorex-modules-auth-login.module-DZ0QDjNv.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs.map → acorex-modules-auth-login.module-DZ0QDjNv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs → acorex-modules-auth-master.layout-CjfjDdzw.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs.map → acorex-modules-auth-master.layout-CjfjDdzw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-IzjzV-ia.mjs → acorex-modules-auth-password.component-BudkNaNl.mjs} +8 -7
- package/fesm2022/acorex-modules-auth-password.component-BudkNaNl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs → acorex-modules-auth-password.component-CAw3jKFN.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs.map → acorex-modules-auth-password.component-CAw3jKFN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs → acorex-modules-auth-routes-CTyAW4kk.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs.map → acorex-modules-auth-routes-CTyAW4kk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs → acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs.map → acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs → acorex-modules-auth-two-factor-code.component-BfS5gngN.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs.map → acorex-modules-auth-two-factor-code.component-BfS5gngN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs → acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs.map → acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-backend.mjs +579 -370
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +4 -4
- package/fesm2022/acorex-modules-notification.mjs +4 -4
- package/package.json +1 -1
- package/backend/lib/auth/oidc/usermanager.service.d.ts +0 -15
- package/esm2022/backend/lib/auth/oidc/usermanager.service.mjs +0 -37
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-IzjzV-ia.mjs.map +0 -1
@@ -14,9 +14,9 @@ function routesFacory() {
|
|
14
14
|
return routes;
|
15
15
|
}
|
16
16
|
export class AXPTwoFactorModule {
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, imports: [RouterModule] }); }
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, providers: [
|
20
20
|
{
|
21
21
|
provide: ROUTES,
|
22
22
|
multi: true,
|
@@ -24,7 +24,7 @@ export class AXPTwoFactorModule {
|
|
24
24
|
},
|
25
25
|
], imports: [RouterModule] }); }
|
26
26
|
}
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, decorators: [{
|
28
28
|
type: NgModule,
|
29
29
|
args: [{
|
30
30
|
declarations: [],
|
@@ -45,10 +45,10 @@ export class AXMOidcApplicationLoader {
|
|
45
45
|
// features: item.features || [],
|
46
46
|
};
|
47
47
|
}
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
49
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcApplicationLoader }); }
|
50
50
|
}
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{
|
52
52
|
type: Injectable
|
53
53
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
54
54
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2JhY2tlbmQvc3JjL2xpYi9hdXRoL29pZGMvYXBwbGljYXRpb24ubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDVCLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8saUNBQWlDLENBQUM7UUFDdEUsY0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGlCQUFpQixDQUFDO0lBQ3JCLENBQUM7SUFHekMsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsV0FBMkI7UUFDN0IsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELDJCQUEyQjtJQUMzQix3RUFBd0U7SUFDeEUsd0ZBQXdGO0lBQ3hGLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQix5Q0FBeUM7SUFDekMsMENBQTBDO0lBQzFDLFlBQVk7SUFDWixXQUFXO0lBQ1gsU0FBUztJQUNULE9BQU87SUFDUCxJQUFJO0lBRUksbUJBQW1CLENBQUMsSUFBUztRQUNuQyxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYTtZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxjQUFjO1lBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU87WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLHNEQUFzRDtZQUN2RSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsaUNBQWlDO1NBQ2xDLENBQUM7SUFDSixDQUFDOzhHQTdDVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEFwcGxpY2F0aW9uLCBBWFBBcHBsaWNhdGlvbkxvYWRlciwgQVhQUmVmcmVzaFRva2VuUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY0FwcGxpY2F0aW9uTG9hZGVyIGltcGxlbWVudHMgQVhQQXBwbGljYXRpb25Mb2FkZXIge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBhcGlHZXRBcHBzID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L2FwcGxpY2F0aW9ucy9HZXRMaXN0QnlUZW5hbnRJZGA7XG4gIHByaXZhdGUgYXBpU2V0QXBwID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L1NldEFwcGxpY2F0aW9uYDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuXG4gIGdldExpc3QoKTogT2JzZXJ2YWJsZTxBWFBBcHBsaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBpdGVtczogYW55W10gfT4odGhpcy5hcGlHZXRBcHBzKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLm1hcFRvQVhQQXBwbGljYXRpb24oaXRlbSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0KGFwcGxpY2F0aW9uOiBBWFBBcHBsaWNhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIC8vIC8vVE9ETzogc2hvdWQgYmUgcmVtb3ZlZFxuICAvLyBzZXQoYXBwbGljYXRpb246IEFYUEFwcGxpY2F0aW9uKTogT2JzZXJ2YWJsZTxBWFBSZWZyZXNoVG9rZW5SZXN1bHQ+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmFwaVNldEFwcCwgeyBhcHBsaWNhdGlvbklkOiBhcHBsaWNhdGlvbi5pZCB9KS5waXBlKFxuICAvLyAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAvLyAgICAgICByZXR1cm4ge1xuICAvLyAgICAgICAgIHN1Y2NlZWQ6IHRydWUsXG4gIC8vICAgICAgICAgZGF0YToge1xuICAvLyAgICAgICAgICAgYWNjZXNzVG9rZW46IHJlc3BvbnNlLnRva2VuLFxuICAvLyAgICAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS50b2tlbixcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH07XG4gIC8vICAgICB9KVxuICAvLyAgICk7XG4gIC8vIH1cblxuICBwcml2YXRlIG1hcFRvQVhQQXBwbGljYXRpb24oaXRlbTogYW55KTogQVhQQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaXRlbS5pZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSB8fCAnZGVmYXVsdE5hbWUnLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgfHwgJ2RlZmF1bHRUaXRsZScsXG4gICAgICB2ZXJzaW9uOiBpdGVtLnZlcnNpb24gfHwgJzEuMC4wJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgbG9nbzogaXRlbS5sb2dvLCAvLyBBc3N1bWluZyBsb2dvIGlzIG9mIHR5cGUgQVhQTG9nb0NvbmZpZyBvciB1bmRlZmluZWRcbiAgICAgIGVkaXRpb25OYW1lOiBpdGVtLmVkaXRpb25OYW1lLFxuICAgICAgLy8gZmVhdHVyZXM6IGl0ZW0uZmVhdHVyZXMgfHwgW10sXG4gICAgfTtcbiAgfVxufVxuIl19
|
@@ -40,10 +40,10 @@ export class AXMConfigurationService {
|
|
40
40
|
switchMap(() => of(this.applicationConfig)));
|
41
41
|
}
|
42
42
|
}
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
44
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }
|
45
45
|
}
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMConfigurationService, decorators: [{
|
47
47
|
type: Injectable,
|
48
48
|
args: [{
|
49
49
|
providedIn: 'root',
|
@@ -3,7 +3,5 @@ export * from './configuration.service';
|
|
3
3
|
export * from './feature.loader';
|
4
4
|
export * from './oidc.strategy';
|
5
5
|
export * from './permission.loader';
|
6
|
-
export * from './signincallback.component';
|
7
6
|
export * from './tenant.loader';
|
8
|
-
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2F1dGgvb2lkYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uLmxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb2lkYy5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb24ubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnbmluY2FsbGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50LmxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJtYW5hZ2VyLnNlcnZpY2UnO1xuIl19
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2F1dGgvb2lkYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24ubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS5sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vaWRjLnN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbi5sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQubG9hZGVyJztcbiJdfQ==
|
@@ -1,79 +1,218 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';
|
2
|
+
import { AXPSessionService, } from '@acorex/platform/auth';
|
3
|
+
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
4
|
+
import { Injectable, inject } from '@angular/core';
|
5
|
+
import { OAuthService } from 'angular-oauth2-oidc';
|
6
|
+
import { firstValueFrom } from 'rxjs';
|
3
7
|
import * as i0 from "@angular/core";
|
4
8
|
export class AXMOidcStrategy {
|
5
9
|
constructor() {
|
6
|
-
this.
|
7
|
-
this.
|
8
|
-
this.
|
9
|
-
// Log.setLogger(console);
|
10
|
-
// Log.setLevel(Log.DEBUG);
|
10
|
+
this.aXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);
|
11
|
+
this.oauthService = inject(OAuthService);
|
12
|
+
this.http = inject(HttpClient);
|
11
13
|
}
|
12
|
-
|
13
|
-
|
14
|
+
async configureOAuth() {
|
15
|
+
if (this.openidConfigurationInfo)
|
16
|
+
return;
|
17
|
+
if (!this.authConfig) {
|
18
|
+
if (!this.aXMAuthConfigs.authConfig) {
|
19
|
+
throw new Error('authConfig is missing');
|
20
|
+
}
|
21
|
+
this.authConfig = this.aXMAuthConfigs.authConfig;
|
22
|
+
}
|
23
|
+
this.oauthService.configure(this.authConfig);
|
24
|
+
this.oauthService.setStorage(localStorage);
|
25
|
+
this.openidConfigurationInfo = await this.oauthService.loadDiscoveryDocument();
|
26
|
+
if (!this.openidConfigurationInfo) {
|
27
|
+
throw new Error('openidConfigurationInfo is missing');
|
28
|
+
}
|
29
|
+
this.oauthService.events.subscribe(async (event) => {
|
30
|
+
// console.log('event', event);
|
31
|
+
// if (event.type === 'token_received') {
|
32
|
+
// console.log('Token has been refreshed');
|
33
|
+
// }
|
34
|
+
// if (event.type === 'token_expires') {
|
35
|
+
// console.log('Token is about to expire. Triggering silent refresh...');
|
36
|
+
// }
|
37
|
+
});
|
38
|
+
const oidcJson = localStorage.getItem(AXPSessionService.SESSION_KEY);
|
39
|
+
if (oidcJson) {
|
40
|
+
const authData = JSON.parse(oidcJson);
|
41
|
+
if (authData) {
|
42
|
+
this.setServiceProps(authData);
|
43
|
+
if (authData.expiresIn && new Date(authData.expiresIn) < new Date()) {
|
44
|
+
if (authData.expiresIn) {
|
45
|
+
// this.refresh();
|
46
|
+
}
|
47
|
+
else {
|
48
|
+
this.logout();
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
14
53
|
}
|
15
54
|
async signin(credentials) {
|
55
|
+
await this.configureOAuth();
|
16
56
|
try {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
57
|
+
const body = new HttpParams()
|
58
|
+
.set('grant_type', 'password')
|
59
|
+
.set('client_id', this.authConfig.clientId)
|
60
|
+
.set('client_secret', this.authConfig.dummyClientSecret)
|
61
|
+
.set('username', credentials.username)
|
62
|
+
.set('password', credentials.password)
|
63
|
+
.set('scope', this.authConfig.scope);
|
64
|
+
const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
|
65
|
+
const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));
|
66
|
+
// const authData = new AuthenticationData(response);
|
67
|
+
this.setServiceProps({
|
68
|
+
accessToken: response.access_token,
|
69
|
+
refreshToken: response.refresh_token,
|
70
|
+
idToken: response.id_token,
|
71
|
+
expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),
|
24
72
|
});
|
25
|
-
if (oidcUser) {
|
26
|
-
const profile = oidcUser.profile; // Cast to any to access deeply nested properties
|
27
|
-
const user = {
|
28
|
-
id: profile.sub,
|
29
|
-
name: `${profile.email}`,
|
30
|
-
title: `${profile.name}`,
|
31
|
-
avatar: `${profile.picture}`,
|
32
|
-
};
|
33
|
-
const accessToken = oidcUser.access_token;
|
34
|
-
const refreshToken = oidcUser.refresh_token ?? '';
|
35
|
-
return {
|
36
|
-
succeed: true,
|
37
|
-
data: { user, accessToken, refreshToken },
|
38
|
-
};
|
39
|
-
}
|
40
73
|
return {
|
41
|
-
succeed:
|
74
|
+
succeed: true,
|
75
|
+
data: {
|
76
|
+
accessToken: response.access_token,
|
77
|
+
expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),
|
78
|
+
idToken: response.id_token,
|
79
|
+
refreshToken: response.refresh_token,
|
80
|
+
user: {
|
81
|
+
id: response.sub,
|
82
|
+
title: response.fullname,
|
83
|
+
name: response.sub,
|
84
|
+
avatar: response.picture,
|
85
|
+
},
|
86
|
+
tenant: {
|
87
|
+
id: response.tenantid,
|
88
|
+
name: response.tenantname,
|
89
|
+
title: response.tenanttitle,
|
90
|
+
},
|
91
|
+
application: {
|
92
|
+
id: response.applicationid,
|
93
|
+
name: response.applicationname,
|
94
|
+
title: response.applicationtitle,
|
95
|
+
},
|
96
|
+
},
|
42
97
|
};
|
43
98
|
}
|
44
99
|
catch (error) {
|
45
|
-
|
46
|
-
throw new Error(error.message);
|
47
|
-
// Depending on the error type, you might want to throw a specific error
|
48
|
-
throw new Error('Network or server error occurred');
|
100
|
+
this.handleError(error);
|
49
101
|
}
|
50
102
|
}
|
51
103
|
async signout() {
|
52
|
-
|
53
|
-
this.userManager.removeUser();
|
54
|
-
this.userManager.clearStaleState();
|
55
|
-
//this.userManager.signoutSilent();
|
104
|
+
this.logout();
|
56
105
|
}
|
57
106
|
async refreshToken(context) {
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
const
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
107
|
+
console.log('context.tenant', context.tenant);
|
108
|
+
try {
|
109
|
+
await this.configureOAuth();
|
110
|
+
const refreshResult = await this.refresh(context.tenant?.id, context.application?.id);
|
111
|
+
if (refreshResult) {
|
112
|
+
return {
|
113
|
+
succeed: true,
|
114
|
+
data: {
|
115
|
+
accessToken: this.oauthService.getAccessToken(),
|
116
|
+
refreshToken: this.oauthService.getRefreshToken(),
|
117
|
+
},
|
118
|
+
};
|
119
|
+
}
|
120
|
+
else {
|
121
|
+
return { succeed: false };
|
122
|
+
}
|
123
|
+
}
|
124
|
+
catch (error) {
|
125
|
+
console.error('Error refreshing token', error);
|
126
|
+
return { succeed: false };
|
127
|
+
}
|
128
|
+
}
|
129
|
+
async refresh(tenantId, applicationId) {
|
130
|
+
await this.configureOAuth();
|
131
|
+
const authData = this.loadAuthData();
|
132
|
+
if (!authData)
|
133
|
+
return false;
|
134
|
+
const refreshToken = this.oauthService.getRefreshToken();
|
135
|
+
if (!refreshToken)
|
136
|
+
return false;
|
137
|
+
const body = new HttpParams()
|
138
|
+
.set('grant_type', 'refresh_token')
|
139
|
+
.set('client_id', this.authConfig.clientId)
|
140
|
+
.set('client_secret', this.authConfig.dummyClientSecret)
|
141
|
+
.set('refresh_token', refreshToken)
|
142
|
+
.set('tenantId', tenantId ?? '')
|
143
|
+
.set('applicationId', applicationId ?? '');
|
144
|
+
const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
|
145
|
+
try {
|
146
|
+
const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));
|
147
|
+
this.setServiceProps({
|
148
|
+
accessToken: response.access_token,
|
149
|
+
refreshToken: response.refresh_token,
|
150
|
+
idToken: response.id_token,
|
151
|
+
expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),
|
152
|
+
});
|
153
|
+
return true;
|
154
|
+
}
|
155
|
+
catch (error) {
|
156
|
+
console.error('Token refresh error', error);
|
157
|
+
return false;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
expires_in_milisecound(expires_in_date) {
|
161
|
+
const now = new Date();
|
162
|
+
const expire = new Date(expires_in_date);
|
163
|
+
return expire.getTime() - now.getTime();
|
164
|
+
}
|
165
|
+
setServiceProps(authData) {
|
166
|
+
this.oauthService.getAccessToken = () => authData.accessToken;
|
167
|
+
this.oauthService.getIdToken = () => authData.idToken ?? '';
|
168
|
+
this.oauthService.getRefreshToken = () => authData.refreshToken;
|
169
|
+
if (authData.expiresIn) {
|
170
|
+
const refreshTime = this.expires_in_milisecound(authData.expiresIn);
|
171
|
+
this.oauthService.getAccessTokenExpiration = () => refreshTime;
|
172
|
+
// if (refreshTime < 0) {
|
173
|
+
// this.refresh();
|
174
|
+
// }else{
|
175
|
+
// }
|
176
|
+
}
|
177
|
+
}
|
178
|
+
loadAuthData() {
|
179
|
+
const authDataJson = localStorage.getItem(AXPSessionService.SESSION_KEY);
|
180
|
+
if (!authDataJson)
|
181
|
+
return undefined;
|
182
|
+
const authData = JSON.parse(authDataJson);
|
183
|
+
// return authData ? new AuthenticationData(authData) : undefined;
|
184
|
+
return authData;
|
185
|
+
}
|
186
|
+
async loadUserInfo() {
|
187
|
+
return this.oauthService.loadUserProfile();
|
188
|
+
}
|
189
|
+
calculateExpireInDate(expireInMilisecound) {
|
190
|
+
return new Date(Date.now() + expireInMilisecound * 1000).toISOString();
|
191
|
+
}
|
192
|
+
logout() {
|
193
|
+
this.oauthService.logOut({
|
194
|
+
noRedirectToLogoutUrl: true
|
195
|
+
});
|
196
|
+
}
|
197
|
+
handleError(error) {
|
198
|
+
if (error?.reason) {
|
199
|
+
throw new Error(JSON.stringify(error.reason));
|
200
|
+
}
|
201
|
+
else if (error?.message) {
|
202
|
+
throw new Error(error.message);
|
66
203
|
}
|
67
204
|
else {
|
68
|
-
|
69
|
-
succeed: false,
|
70
|
-
};
|
205
|
+
throw new Error('Network or server error occurred');
|
71
206
|
}
|
72
207
|
}
|
73
|
-
|
74
|
-
|
208
|
+
//#region getter
|
209
|
+
get name() {
|
210
|
+
return 'user-pass';
|
211
|
+
}
|
212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
213
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcStrategy }); }
|
75
214
|
}
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcStrategy, decorators: [{
|
77
216
|
type: Injectable
|
78
|
-
}]
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvYXV0aC9vaWRjL29pZGMuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVFsRSxNQUFNLE9BQU8sZUFBZTtJQUsxQjtRQUZRLGFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUQsMEJBQTBCO1FBQzFCLDJCQUEyQjtJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBbUM7UUFDOUMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUNuRCxnQkFBZ0IsRUFBRTtvQkFDaEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO29CQUM5QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7aUJBQy9CO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsaURBQWlEO2dCQUNuRixNQUFNLElBQUksR0FBWTtvQkFDcEIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHO29CQUNmLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUU7b0JBQ3hCLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQ3hCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUU7aUJBQzdCLENBQUM7Z0JBQ0YsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7Z0JBRWxELE9BQU87b0JBQ0wsT0FBTyxFQUFFLElBQUk7b0JBQ2IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7aUJBQzFDLENBQUM7WUFDSixDQUFDO1lBRUQsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSzthQUNmLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLEtBQUssRUFBRSxPQUFPO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELHdFQUF3RTtZQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsbUNBQW1DO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQTBCO1FBQzNDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sV0FBVyxHQUFHLFdBQVcsRUFBRSxZQUFZLENBQUM7WUFDOUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxFQUFFLGFBQWEsQ0FBQztZQUNuRCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO2FBQ3JELENBQUM7UUFDSixDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7YUFDZixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBN0VVLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEF1dGhTdHJhdGVneSwgQVhQQmFzZUNyZWRlbnRpYWxzLCBBWFBSZWZyZXNoVG9rZW5SZXN1bHQsIEFYUFNlc3Npb25Db250ZXh0LCBBWFBTaWduSW5SZXN1bHQsIEFYUFVzZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlck1hbmFnZXIsIExvZyB9IGZyb20gJ29pZGMtY2xpZW50LXRzJztcbmltcG9ydCB7IEFYTU9pZGNVc2VyTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3VzZXJtYW5hZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMgZXh0ZW5kcyBBWFBCYXNlQ3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY1N0cmF0ZWd5IGltcGxlbWVudHMgQVhQQXV0aFN0cmF0ZWd5IHtcbiAgcHJpdmF0ZSB1c2VyTWFuYWdlclNlcnZpY2U6IEFYTU9pZGNVc2VyTWFuYWdlclNlcnZpY2U7XG4gIHByaXZhdGUgdXNlck1hbmFnZXI6IFVzZXJNYW5hZ2VyO1xuICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy51c2VyTWFuYWdlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWE1PaWRjVXNlck1hbmFnZXJTZXJ2aWNlKTtcbiAgICB0aGlzLnVzZXJNYW5hZ2VyID0gdGhpcy51c2VyTWFuYWdlclNlcnZpY2UuZ2V0VXNlck1hbmFnZXIoKTtcbiAgICAvLyBMb2cuc2V0TG9nZ2VyKGNvbnNvbGUpO1xuICAgIC8vIExvZy5zZXRMZXZlbChMb2cuREVCVUcpO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3VzZXItcGFzcyc7XG4gIH1cblxuICBhc3luYyBzaWduaW4oY3JlZGVudGlhbHM6IEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMpOiBQcm9taXNlPEFYUFNpZ25JblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnVzZXJNYW5hZ2VyLnJlbW92ZVVzZXIoKTtcbiAgICAgIGF3YWl0IHRoaXMudXNlck1hbmFnZXIuY2xlYXJTdGFsZVN0YXRlKCk7XG5cbiAgICAgIGNvbnN0IG9pZGNVc2VyID0gYXdhaXQgdGhpcy51c2VyTWFuYWdlci5zaWduaW5TaWxlbnQoe1xuICAgICAgICBleHRyYVF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgdXNlcm5hbWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lLFxuICAgICAgICAgIHBhc3N3b3JkOiBjcmVkZW50aWFscy5wYXNzd29yZCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChvaWRjVXNlcikge1xuICAgICAgICBjb25zdCBwcm9maWxlID0gb2lkY1VzZXIucHJvZmlsZTsgLy8gQ2FzdCB0byBhbnkgdG8gYWNjZXNzIGRlZXBseSBuZXN0ZWQgcHJvcGVydGllc1xuICAgICAgICBjb25zdCB1c2VyOiBBWFBVc2VyID0ge1xuICAgICAgICAgIGlkOiBwcm9maWxlLnN1YixcbiAgICAgICAgICBuYW1lOiBgJHtwcm9maWxlLmVtYWlsfWAsXG4gICAgICAgICAgdGl0bGU6IGAke3Byb2ZpbGUubmFtZX1gLFxuICAgICAgICAgIGF2YXRhcjogYCR7cHJvZmlsZS5waWN0dXJlfWAsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gb2lkY1VzZXIuYWNjZXNzX3Rva2VuO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSBvaWRjVXNlci5yZWZyZXNoX3Rva2VuID8/ICcnO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VlZDogdHJ1ZSxcbiAgICAgICAgICBkYXRhOiB7IHVzZXIsIGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4gfSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VlZDogZmFsc2UsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChlcnJvcj8ubWVzc2FnZSkgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgLy8gRGVwZW5kaW5nIG9uIHRoZSBlcnJvciB0eXBlLCB5b3UgbWlnaHQgd2FudCB0byB0aHJvdyBhIHNwZWNpZmljIGVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgb3Igc2VydmVyIGVycm9yIG9jY3VycmVkJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbm91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZygnVXNlciBzaWduZWQgb3V0Jyk7XG4gICAgdGhpcy51c2VyTWFuYWdlci5yZW1vdmVVc2VyKCk7XG4gICAgdGhpcy51c2VyTWFuYWdlci5jbGVhclN0YWxlU3RhdGUoKTtcbiAgICAvL3RoaXMudXNlck1hbmFnZXIuc2lnbm91dFNpbGVudCgpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKGNvbnRleHQ6IEFYUFNlc3Npb25Db250ZXh0KTogUHJvbWlzZTxBWFBSZWZyZXNoVG9rZW5SZXN1bHQ+IHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IGF3YWl0IHRoaXMudXNlck1hbmFnZXIuZ2V0VXNlcigpO1xuICAgIGlmIChjdXJyZW50VXNlcikge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBjdXJyZW50VXNlcj8uYWNjZXNzX3Rva2VuO1xuICAgICAgY29uc3QgbmV3UmVmcmVzaFRva2VuID0gY3VycmVudFVzZXI/LnJlZnJlc2hfdG9rZW47XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZWVkOiB0cnVlLFxuICAgICAgICBkYXRhOiB7IGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW46IG5ld1JlZnJlc2hUb2tlbiB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZWVkOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=
|
217
|
+
}] });
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvYXV0aC9vaWRjL29pZGMuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFNTCxpQkFBaUIsR0FHbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdEMsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFVSxtQkFBYyxHQUFtQixNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMvRCxpQkFBWSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsU0FBSSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWlPL0M7SUE1TlEsS0FBSyxDQUFDLGNBQWM7UUFDekIsSUFBSSxJQUFJLENBQUMsdUJBQXVCO1lBQUUsT0FBTztRQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7UUFDbkQsQ0FBQztRQUVE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LENBQUMsZUFBZSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUNNLHFCQUFxQixDQUFDLG1CQUEyQjtRQUN0RCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBQ08sTUFBTTtRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLHFCQUFxQixFQUFFLElBQUk7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sSUFBSSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsSUFBSSxJQUFJO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs4R0FsT1UsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNQXV0aENvbmZpZ3MsIEFYTV9BVVRIX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7XG4gIEFYUEF1dGhTdHJhdGVneSxcbiAgQVhQQmFzZUNyZWRlbnRpYWxzLFxuICBBWFBSZWZyZXNoVG9rZW5SZXN1bHQsXG4gIEFYUFNlc3Npb25Db250ZXh0LFxuICBBWFBTZXNzaW9uRGF0YSxcbiAgQVhQU2Vzc2lvblNlcnZpY2UsXG4gIEFYUFNpZ25JblJlc3VsdCxcbiAgQVhQVXNlcixcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1PaWRjU3RyYXRlZ3kgaW1wbGVtZW50cyBBWFBBdXRoU3RyYXRlZ3kge1xuICBwcml2YXRlIGFYTUF1dGhDb25maWdzOiBBWE1BdXRoQ29uZmlncyA9IGluamVjdChBWE1fQVVUSF9DT05GSUdfVE9LRU4pO1xuICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlID0gaW5qZWN0KE9BdXRoU2VydmljZSk7XG4gIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHVibGljIHVzZXJJbmZvOiBhbnk7XG4gIHB1YmxpYyBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnO1xuICBwdWJsaWMgb3BlbmlkQ29uZmlndXJhdGlvbkluZm86IGFueTsgLy8gY2xhcmlmeSB0aGUgdHlwZSBpZiBwb3NzaWJsZVxuXG4gIHB1YmxpYyBhc3luYyBjb25maWd1cmVPQXV0aCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mbykgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLmF1dGhDb25maWcpIHtcbiAgICAgIGlmICghdGhpcy5hWE1BdXRoQ29uZmlncy5hdXRoQ29uZmlnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYXV0aENvbmZpZyBpcyBtaXNzaW5nJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmF1dGhDb25maWcgPSB0aGlzLmFYTUF1dGhDb25maWdzLmF1dGhDb25maWc7XG4gICAgfVxuXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZShsb2NhbFN0b3JhZ2UpO1xuXG4gICAgdGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mbyA9IGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgaWYgKCF0aGlzLm9wZW5pZENvbmZpZ3VyYXRpb25JbmZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZW5pZENvbmZpZ3VyYXRpb25JbmZvIGlzIG1pc3NpbmcnKTtcbiAgICB9XG5cbiAgICB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMuc3Vic2NyaWJlKGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2coJ2V2ZW50JywgZXZlbnQpO1xuICAgICAgLy8gaWYgKGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWNlaXZlZCcpIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ1Rva2VuIGhhcyBiZWVuIHJlZnJlc2hlZCcpO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKGV2ZW50LnR5cGUgPT09ICd0b2tlbl9leHBpcmVzJykge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnVG9rZW4gaXMgYWJvdXQgdG8gZXhwaXJlLiBUcmlnZ2VyaW5nIHNpbGVudCByZWZyZXNoLi4uJyk7XG4gICAgICAvLyB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBvaWRjSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKEFYUFNlc3Npb25TZXJ2aWNlLlNFU1NJT05fS0VZKTtcblxuICAgIGlmIChvaWRjSnNvbikge1xuICAgICAgY29uc3QgYXV0aERhdGEgPSBKU09OLnBhcnNlKG9pZGNKc29uKSBhcyBBWFBTZXNzaW9uRGF0YTtcbiAgICAgIGlmIChhdXRoRGF0YSkge1xuICAgICAgICB0aGlzLnNldFNlcnZpY2VQcm9wcyhhdXRoRGF0YSk7XG5cbiAgICAgICAgaWYgKGF1dGhEYXRhLmV4cGlyZXNJbiAmJiBuZXcgRGF0ZShhdXRoRGF0YS5leHBpcmVzSW4pIDwgbmV3IERhdGUoKSkge1xuICAgICAgICAgIGlmIChhdXRoRGF0YS5leHBpcmVzSW4pIHtcbiAgICAgICAgICAgIC8vIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNpZ25pbihjcmVkZW50aWFsczogQVhQVXNlclBhc3NDcmVkZW50aWFscyk6IFByb21pc2U8QVhQU2lnbkluUmVzdWx0PiB7XG4gICAgYXdhaXQgdGhpcy5jb25maWd1cmVPQXV0aCgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBib2R5ID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJylcbiAgICAgICAgLnNldCgnY2xpZW50X2lkJywgdGhpcy5hdXRoQ29uZmlnLmNsaWVudElkISlcbiAgICAgICAgLnNldCgnY2xpZW50X3NlY3JldCcsIHRoaXMuYXV0aENvbmZpZy5kdW1teUNsaWVudFNlY3JldCEpXG4gICAgICAgIC5zZXQoJ3VzZXJuYW1lJywgY3JlZGVudGlhbHMudXNlcm5hbWUpXG4gICAgICAgIC5zZXQoJ3Bhc3N3b3JkJywgY3JlZGVudGlhbHMucGFzc3dvcmQpXG4gICAgICAgIC5zZXQoJ3Njb3BlJywgdGhpcy5hdXRoQ29uZmlnLnNjb3BlISk7XG5cbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8SUF1dGhlbnRpY2F0aW9uRGF0YU1vZGVsPih0aGlzLm9wZW5pZENvbmZpZ3VyYXRpb25JbmZvLmluZm8uZGlzY292ZXJ5RG9jdW1lbnQudG9rZW5fZW5kcG9pbnQsIGJvZHkudG9TdHJpbmcoKSwgeyBoZWFkZXJzIH0pXG4gICAgICApO1xuXG4gICAgICAvLyBjb25zdCBhdXRoRGF0YSA9IG5ldyBBdXRoZW50aWNhdGlvbkRhdGEocmVzcG9uc2UpO1xuICAgICAgdGhpcy5zZXRTZXJ2aWNlUHJvcHMoe1xuICAgICAgICBhY2Nlc3NUb2tlbjogcmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICByZWZyZXNoVG9rZW46IHJlc3BvbnNlLnJlZnJlc2hfdG9rZW4sXG4gICAgICAgIGlkVG9rZW46IHJlc3BvbnNlLmlkX3Rva2VuLFxuICAgICAgICBleHBpcmVzSW46IHRoaXMuY2FsY3VsYXRlRXhwaXJlSW5EYXRlKHJlc3BvbnNlLmV4cGlyZXNfaW4gPz8gMCksXG4gICAgICB9IGFzIEFYUFNlc3Npb25EYXRhKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VlZDogdHJ1ZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGFjY2Vzc1Rva2VuOiByZXNwb25zZS5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgZXhwaXJlc0luOiB0aGlzLmNhbGN1bGF0ZUV4cGlyZUluRGF0ZShyZXNwb25zZS5leHBpcmVzX2luID8/IDApLFxuICAgICAgICAgIGlkVG9rZW46IHJlc3BvbnNlLmlkX3Rva2VuLFxuICAgICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UucmVmcmVzaF90b2tlbiEsXG4gICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgaWQ6IHJlc3BvbnNlLnN1YixcbiAgICAgICAgICAgIHRpdGxlOiByZXNwb25zZS5mdWxsbmFtZSxcbiAgICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLnN1YixcbiAgICAgICAgICAgIGF2YXRhcjogcmVzcG9uc2UucGljdHVyZSxcbiAgICAgICAgICB9IGFzIEFYUFVzZXIsXG4gICAgICAgICAgdGVuYW50OiB7XG4gICAgICAgICAgICBpZDogcmVzcG9uc2UudGVuYW50aWQhLFxuICAgICAgICAgICAgbmFtZTogcmVzcG9uc2UudGVuYW50bmFtZSEsXG4gICAgICAgICAgICB0aXRsZTogcmVzcG9uc2UudGVuYW50dGl0bGUhLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXBwbGljYXRpb246IHtcbiAgICAgICAgICAgIGlkOiByZXNwb25zZS5hcHBsaWNhdGlvbmlkISxcbiAgICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLmFwcGxpY2F0aW9ubmFtZSEsXG4gICAgICAgICAgICB0aXRsZTogcmVzcG9uc2UuYXBwbGljYXRpb250aXRsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWdub3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9nb3V0KCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW4oY29udGV4dDogQVhQU2Vzc2lvbkNvbnRleHQpOiBQcm9taXNlPEFYUFJlZnJlc2hUb2tlblJlc3VsdD4ge1xuICAgIGNvbnNvbGUubG9nKCdjb250ZXh0LnRlbmFudCcsIGNvbnRleHQudGVuYW50KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmVPQXV0aCgpO1xuICAgICAgY29uc3QgcmVmcmVzaFJlc3VsdCA9IGF3YWl0IHRoaXMucmVmcmVzaChjb250ZXh0LnRlbmFudD8uaWQsIGNvbnRleHQuYXBwbGljYXRpb24/LmlkKTtcbiAgICAgIGlmIChyZWZyZXNoUmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VlZDogdHJ1ZSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBhY2Nlc3NUb2tlbjogdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKSxcbiAgICAgICAgICAgIHJlZnJlc2hUb2tlbjogdGhpcy5vYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7IHN1Y2NlZWQ6IGZhbHNlIH07XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlZnJlc2hpbmcgdG9rZW4nLCBlcnJvcik7XG4gICAgICByZXR1cm4geyBzdWNjZWVkOiBmYWxzZSB9O1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2godGVuYW50SWQ/OiBzdHJpbmcsIGFwcGxpY2F0aW9uSWQ/OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyZU9BdXRoKCk7XG4gICAgY29uc3QgYXV0aERhdGEgPSB0aGlzLmxvYWRBdXRoRGF0YSgpO1xuICAgIGlmICghYXV0aERhdGEpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMub2F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xuICAgIGlmICghcmVmcmVzaFRva2VuKSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBib2R5ID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgLnNldCgnZ3JhbnRfdHlwZScsICdyZWZyZXNoX3Rva2VuJylcbiAgICAgIC5zZXQoJ2NsaWVudF9pZCcsIHRoaXMuYXV0aENvbmZpZy5jbGllbnRJZCEpXG4gICAgICAuc2V0KCdjbGllbnRfc2VjcmV0JywgdGhpcy5hdXRoQ29uZmlnLmR1bW15Q2xpZW50U2VjcmV0ISlcbiAgICAgIC5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pXG4gICAgICAuc2V0KCd0ZW5hbnRJZCcsIHRlbmFudElkID8/ICcnKVxuICAgICAgLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQgPz8gJycpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLmh0dHAucG9zdDxJQXV0aGVudGljYXRpb25EYXRhTW9kZWw+KHRoaXMub3BlbmlkQ29uZmlndXJhdGlvbkluZm8uaW5mby5kaXNjb3ZlcnlEb2N1bWVudC50b2tlbl9lbmRwb2ludCwgYm9keS50b1N0cmluZygpLCB7IGhlYWRlcnMgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNldFNlcnZpY2VQcm9wcyh7XG4gICAgICAgIGFjY2Vzc1Rva2VuOiByZXNwb25zZS5hY2Nlc3NfdG9rZW4sXG4gICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UucmVmcmVzaF90b2tlbixcbiAgICAgICAgaWRUb2tlbjogcmVzcG9uc2UuaWRfdG9rZW4sXG4gICAgICAgIGV4cGlyZXNJbjogdGhpcy5jYWxjdWxhdGVFeHBpcmVJbkRhdGUocmVzcG9uc2UuZXhwaXJlc19pbiA/PyAwKSxcbiAgICAgIH0gYXMgQVhQU2Vzc2lvbkRhdGEpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignVG9rZW4gcmVmcmVzaCBlcnJvcicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBleHBpcmVzX2luX21pbGlzZWNvdW5kKGV4cGlyZXNfaW5fZGF0ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGV4cGlyZSA9IG5ldyBEYXRlKGV4cGlyZXNfaW5fZGF0ZSk7XG4gICAgcmV0dXJuIGV4cGlyZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZXJ2aWNlUHJvcHMoYXV0aERhdGE6IEFYUFNlc3Npb25EYXRhKTogdm9pZCB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4gPSAoKSA9PiBhdXRoRGF0YS5hY2Nlc3NUb2tlbjtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRJZFRva2VuID0gKCkgPT4gYXV0aERhdGEuaWRUb2tlbiA/PyAnJztcbiAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRSZWZyZXNoVG9rZW4gPSAoKSA9PiBhdXRoRGF0YS5yZWZyZXNoVG9rZW47XG4gICAgaWYgKGF1dGhEYXRhLmV4cGlyZXNJbikge1xuICAgICAgY29uc3QgcmVmcmVzaFRpbWUgPSB0aGlzLmV4cGlyZXNfaW5fbWlsaXNlY291bmQoYXV0aERhdGEuZXhwaXJlc0luISk7XG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb24gPSAoKSA9PiByZWZyZXNoVGltZTtcbiAgICAgIC8vIGlmIChyZWZyZXNoVGltZSA8IDApIHtcbiAgICAgIC8vICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAvLyB9ZWxzZXtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRBdXRoRGF0YSgpOiBBWFBTZXNzaW9uRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYXV0aERhdGFKc29uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oQVhQU2Vzc2lvblNlcnZpY2UuU0VTU0lPTl9LRVkpO1xuICAgIGlmICghYXV0aERhdGFKc29uKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYXV0aERhdGEgPSBKU09OLnBhcnNlKGF1dGhEYXRhSnNvbikgYXMgQVhQU2Vzc2lvbkRhdGE7XG5cbiAgICAvLyByZXR1cm4gYXV0aERhdGEgPyBuZXcgQXV0aGVudGljYXRpb25EYXRhKGF1dGhEYXRhKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gYXV0aERhdGE7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZFVzZXJJbmZvKCk6IFByb21pc2U8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWRVc2VyUHJvZmlsZSgpO1xuICB9XG4gIHB1YmxpYyBjYWxjdWxhdGVFeHBpcmVJbkRhdGUoZXhwaXJlSW5NaWxpc2Vjb3VuZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKERhdGUubm93KCkgKyBleHBpcmVJbk1pbGlzZWNvdW5kICogMTAwMCkudG9JU09TdHJpbmcoKTtcbiAgfVxuICBwcml2YXRlIGxvZ291dCgpOiB2b2lkIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoe1xuICAgICAgbm9SZWRpcmVjdFRvTG9nb3V0VXJsOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBuZXZlciB7XG4gICAgaWYgKGVycm9yPy5yZWFzb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShlcnJvci5yZWFzb24pKTtcbiAgICB9IGVsc2UgaWYgKGVycm9yPy5tZXNzYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayBvciBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQnKTtcbiAgICB9XG4gIH1cblxuICAvLyNyZWdpb24gZ2V0dGVyXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd1c2VyLXBhc3MnO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMgZXh0ZW5kcyBBWFBCYXNlQ3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vLyBleHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25EYXRhIHtcbi8vICAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4vLyAgIGFwcGxpY2F0aW9uaWQ/OiBzdHJpbmc7XG4vLyAgIGFwcGxpY2F0aW9ubmFtZT86IHN0cmluZztcbi8vICAgYXBwbGljYXRpb250aXRsZT86IHN0cmluZztcbi8vICAgZWRpdGlvbmlkPzogc3RyaW5nO1xuLy8gICBlZGl0aW9ubmFtZT86IHN0cmluZztcbi8vICAgZWRpdGlvbnRpdGxlPzogc3RyaW5nO1xuLy8gICBpZF90b2tlbj86IHN0cmluZztcbi8vICAgcmVmcmVzaF90b2tlbj86IHN0cmluZztcbi8vICAgc2NvcGU/OiBzdHJpbmc7XG4vLyAgIHRlbmFudGlkPzogc3RyaW5nO1xuLy8gICB0ZW5hbnRuYW1lPzogc3RyaW5nO1xuLy8gICB0ZW5hbnR0aXRsZT86IHN0cmluZztcbi8vICAgdG9rZW5fdHlwZT86IHN0cmluZztcbi8vICAgZXhwaXJlc19pbl9kYXRlPzogc3RyaW5nO1xuLy8gICBzdWI/OiBzdHJpbmc7XG4vLyAgIHBpY3R1cmU/OiBzdHJpbmc7XG4vLyAgIGZ1bGxuYW1lPzogc3RyaW5nO1xuXG4vLyAgIGNvbnN0cnVjdG9yKGRhdGE6IEF1dGhlbnRpY2F0aW9uRGF0YU1vZGVsKSB7XG4vLyAgICAgdGhpcy5hY2Nlc3NfdG9rZW4gPSBkYXRhLmFjY2Vzc190b2tlbjtcbi8vICAgICB0aGlzLmFwcGxpY2F0aW9uaWQgPSBkYXRhLmFwcGxpY2F0aW9uaWQ7XG4vLyAgICAgdGhpcy5hcHBsaWNhdGlvbm5hbWUgPSBkYXRhLmFwcGxpY2F0aW9ubmFtZTtcbi8vICAgICB0aGlzLmFwcGxpY2F0aW9udGl0bGUgPSBkYXRhLmFwcGxpY2F0aW9udGl0bGU7XG4vLyAgICAgdGhpcy5lZGl0aW9uaWQgPSBkYXRhLmVkaXRpb25pZDtcbi8vICAgICB0aGlzLmVkaXRpb25uYW1lID0gZGF0YS5lZGl0aW9ubmFtZTtcbi8vICAgICB0aGlzLmVkaXRpb250aXRsZSA9IGRhdGEuZWRpdGlvbnRpdGxlO1xuLy8gICAgIHRoaXMuaWRfdG9rZW4gPSBkYXRhLmlkX3Rva2VuO1xuLy8gICAgIHRoaXMucmVmcmVzaF90b2tlbiA9IGRhdGEucmVmcmVzaF90b2tlbjtcbi8vICAgICB0aGlzLnNjb3BlID0gZGF0YS5zY29wZTtcbi8vICAgICB0aGlzLnRlbmFudGlkID0gZGF0YS50ZW5hbnRpZDtcbi8vICAgICB0aGlzLnRlbmFudG5hbWUgPSBkYXRhLnRlbmFudG5hbWU7XG4vLyAgICAgdGhpcy50ZW5hbnR0aXRsZSA9IGRhdGEudGVuYW50dGl0bGU7XG4vLyAgICAgdGhpcy50b2tlbl90eXBlID0gZGF0YS50b2tlbl90eXBlO1xuLy8gICAgIHRoaXMuc3ViID0gZGF0YS5zdWI7XG4vLyAgICAgdGhpcy5waWN0dXJlID0gZGF0YS5waWN0dXJlO1xuLy8gICAgIHRoaXMuZnVsbG5hbWUgPSBkYXRhLmZ1bGxuYW1lO1xuXG4vLyAgICAgaWYgKGRhdGEuZXhwaXJlc19pbikge1xuLy8gICAgICAgdGhpcy5leHBpcmVzX2luX2RhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgZGF0YS5leHBpcmVzX2luICogMTAwMCkudG9JU09TdHJpbmcoKTtcbi8vICAgICB9IGVsc2Uge1xuLy8gICAgICAgdGhpcy5leHBpcmVzX2luX2RhdGUgPSBkYXRhLmV4cGlyZXNfaW5fZGF0ZSB8fCAnJztcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICBnZXQgZXhwaXJlc19pbl9taWxpc2Vjb3VuZCgpOiBudW1iZXIge1xuLy8gICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4vLyAgICAgY29uc3QgZXhwaXJlID0gbmV3IERhdGUodGhpcy5leHBpcmVzX2luX2RhdGUhKTtcbi8vICAgICByZXR1cm4gZXhwaXJlLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCk7XG4vLyAgIH1cblxuLy8gICBwdWJsaWMgc2V0VG9rZW5SZWZyZXNoTW9kZWwoZGF0YTogQXV0aGVudGljYXRpb25EYXRhTW9kZWwpOiB2b2lkIHtcbi8vICAgICB0aGlzLmFjY2Vzc190b2tlbiA9IGRhdGEuYWNjZXNzX3Rva2VuO1xuLy8gICAgIHRoaXMuaWRfdG9rZW4gPSBkYXRhLmlkX3Rva2VuO1xuLy8gICAgIHRoaXMudG9rZW5fdHlwZSA9IGRhdGEudG9rZW5fdHlwZTtcbi8vICAgICB0aGlzLnNjb3BlID0gZGF0YS5zY29wZTtcbi8vICAgICB0aGlzLnJlZnJlc2hfdG9rZW4gPSBkYXRhLnJlZnJlc2hfdG9rZW47XG4vLyAgICAgdGhpcy5leHBpcmVzX2luX2RhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgZGF0YS5leHBpcmVzX2luISAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG4vLyAgIH1cbi8vIH1cblxuZXhwb3J0IGludGVyZmFjZSBJQXV0aGVudGljYXRpb25EYXRhTW9kZWwge1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgYXBwbGljYXRpb25pZDogc3RyaW5nO1xuICBhcHBsaWNhdGlvbm5hbWU6IHN0cmluZztcbiAgYXBwbGljYXRpb250aXRsZTogc3RyaW5nO1xuICBlZGl0aW9uaWQ6IHN0cmluZztcbiAgZWRpdGlvbm5hbWU6IHN0cmluZztcbiAgZWRpdGlvbnRpdGxlOiBzdHJpbmc7XG4gIGlkX3Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgdGVuYW50aWQ6IHN0cmluZztcbiAgdGVuYW50bmFtZTogc3RyaW5nO1xuICB0ZW5hbnR0aXRsZTogc3RyaW5nO1xuICB0b2tlbl90eXBlOiBzdHJpbmc7XG4gIGV4cGlyZXNfaW4/OiBudW1iZXI7XG4gIHN1Yj86IHN0cmluZztcbiAgZnVsbG5hbWU/OiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG59XG4iXX0=
|
@@ -25,10 +25,10 @@ export class AXMOidcPermissionLoader {
|
|
25
25
|
const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);
|
26
26
|
return truePolicies;
|
27
27
|
}
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcPermissionLoader }); }
|
30
30
|
}
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{
|
32
32
|
type: Injectable
|
33
33
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2F1dGgvb2lkYy9wZXJtaXNzaW9uLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUg1QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsaUJBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxnQ0FBZ0MsQ0FBQztJQUV4QyxDQUFDO0lBRXhDLE9BQU8sQ0FBQyxPQUEwQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEcsNEJBQTRCO1FBQzVCLG1CQUFtQjtRQUNuQix1REFBdUQ7UUFDdkQsMEhBQTBIO1FBQzFILE9BQU87UUFDUCxxQ0FBcUM7UUFDckMsd0hBQXdIO0lBQzFILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBWTtRQUNoQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ25GLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7OEdBckJVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUGVybWlzc2lvbiwgQVhQUGVybWlzc2lvbkxvYWRlciwgQVhQU2Vzc2lvbkNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1PaWRjUGVybWlzc2lvbkxvYWRlciBpbXBsZW1lbnRzIEFYUFBlcm1pc3Npb25Mb2FkZXIge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBhcGlHZXRDb25maWcgPSBgJHt0aGlzLmNvbmZpZ3MuYmFzZVVybH0vYWJwL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25gO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBnZXRMaXN0KGNvbnRleHQ6IEFYUFNlc3Npb25Db250ZXh0KTogT2JzZXJ2YWJsZTxBWFBQZXJtaXNzaW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGl0ZW1zOiBhbnkgfT4odGhpcy5hcGlHZXRDb25maWcpLnBpcGUobWFwKChyZXNwb25zZSkgPT4gdGhpcy5tYXBUbyhyZXNwb25zZSkpKTtcbiAgICAvLyBpZiAoY29udGV4dC51c2VyID09IG51bGwpXG4gICAgLy8gICByZXR1cm4gb2YoW10pO1xuICAgIC8vIGVsc2UgaWYgKGNvbnRleHQudXNlci5uYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2FkbWluJylcbiAgICAvLyAgIHJldHVybiBvZihbJ2F4cC5hZG1pbi5jb25zb2xlJywgJ2FzYy5hZG1pbi5tZXNzYWdlJywgJ2FzYy5hZG1pbi5zZXR0aW5ncycsICdhc2MuYWRtaW4uZ2xpZGluZycsICdhc2MudXNlci5nbGlkaW5nJ10pO1xuICAgIC8vIGVsc2VcbiAgICAvLyAgIHJldHVybiBvZihbJ2FzYy51c2VyLmdsaWRpbmcnXSk7XG4gICAgLy8gcmV0dXJuIG9mKFsnYXhwLmFkbWluLmNvbnNvbGUnLCAnYXNjLmFkbWluLm1lc3NhZ2UnLCAnYXNjLmFkbWluLnNldHRpbmdzJywgJ2FzYy5hZG1pbi5nbGlkaW5nJywgJ2FzYy51c2VyLmdsaWRpbmcnXSk7XG4gIH1cblxuICBtYXBUbyhqc29uT2JqOiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcG9saWNpZXMgPSBqc29uT2JqLmF1dGguZ3JhbnRlZFBvbGljaWVzO1xuICAgIGNvbnN0IHRydWVQb2xpY2llcyA9IE9iamVjdC5rZXlzKHBvbGljaWVzKS5maWx0ZXIoKGtleSkgPT4gcG9saWNpZXNba2V5XSA9PT0gdHJ1ZSk7XG4gICAgcmV0dXJuIHRydWVQb2xpY2llcztcbiAgfVxufVxuIl19
|
@@ -1,13 +1,10 @@
|
|
1
1
|
import { AXPSessionService } from '@acorex/platform/auth';
|
2
2
|
import { Component, inject } from '@angular/core';
|
3
3
|
import { ActivatedRoute, Router } from '@angular/router';
|
4
|
-
import { AXMOidcUserManagerService } from './usermanager.service';
|
5
4
|
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "
|
7
|
-
import * as i2 from "@angular/router";
|
5
|
+
import * as i1 from "@angular/router";
|
8
6
|
export class SignincallbackComponent {
|
9
|
-
constructor(
|
10
|
-
this.userManagerService = userManagerService;
|
7
|
+
constructor(router, route) {
|
11
8
|
this.router = router;
|
12
9
|
this.route = route;
|
13
10
|
this.sessionService = inject(AXPSessionService);
|
@@ -32,15 +29,15 @@ export class SignincallbackComponent {
|
|
32
29
|
};
|
33
30
|
this.sessionService.setApplication(selectedApplication);
|
34
31
|
}
|
35
|
-
this.userManagerService.signinSilentCallback();
|
32
|
+
// this.userManagerService.signinSilentCallback();
|
36
33
|
}
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SignincallbackComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SignincallbackComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
|
39
36
|
}
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SignincallbackComponent, decorators: [{
|
41
38
|
type: Component,
|
42
39
|
args: [{
|
43
40
|
template: '',
|
44
41
|
}]
|
45
|
-
}], ctorParameters: () => [{ type: i1.
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
42
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2JhY2tlbmQvc3JjL2xpYi9hdXRoL29pZGMvc2lnbmluY2FsbGJhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQW9CLE1BQWMsRUFBVSxLQUFxQjtRQUE3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFEekQsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNpQixDQUFDO0lBRXJFLFFBQVE7UUFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLGNBQWMsR0FBRztnQkFDckIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUM7Z0JBQzNCLElBQUksRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUMvQixLQUFLLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQzthQUNsQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxtQkFBbUIsR0FBRztnQkFDMUIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxlQUFlLENBQUM7Z0JBQ2hDLElBQUksRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3BDLEtBQUssRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxHQUFHO2dCQUNaLFdBQVcsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDO2FBQ3hDLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxrREFBa0Q7SUFDcEQsQ0FBQzs4R0F6QlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb0RBRnhCLEVBQUU7OzJGQUVELHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduaW5jYWxsYmFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XG4gICAgaWYgKHF1ZXJ5UGFyYW1zWyd0ZW5hbnRpZCddKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFRlbmFudCA9IHtcbiAgICAgICAgaWQ6IHF1ZXJ5UGFyYW1zWyd0ZW5hbnRpZCddLFxuICAgICAgICBuYW1lOiBxdWVyeVBhcmFtc1sndGVuYW50bmFtZSddLFxuICAgICAgICB0aXRsZTogcXVlcnlQYXJhbXNbJ3RlbmFudHRpdGxlJ10sXG4gICAgICB9O1xuICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zZXRUZW5hbnQoc2VsZWN0ZWRUZW5hbnQpO1xuICAgIH1cbiAgICBpZiAocXVlcnlQYXJhbXNbJ2FwcGxpY2F0aW9uaWQnXSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBcHBsaWNhdGlvbiA9IHtcbiAgICAgICAgaWQ6IHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbmlkJ10sXG4gICAgICAgIG5hbWU6IHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbm5hbWUnXSxcbiAgICAgICAgdGl0bGU6IHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbnRpdGxlJ10sXG4gICAgICAgIHZlcnNpb246ICcxJyxcbiAgICAgICAgZWRpdGlvbk5hbWU6IHF1ZXJ5UGFyYW1zWydlZGl0aW9ubmFtZSddLFxuICAgICAgfTtcbiAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2V0QXBwbGljYXRpb24oc2VsZWN0ZWRBcHBsaWNhdGlvbik7XG4gICAgfVxuICAgIC8vIHRoaXMudXNlck1hbmFnZXJTZXJ2aWNlLnNpZ25pblNpbGVudENhbGxiYWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -25,10 +25,10 @@ export class AXMOidcTenantLoader {
|
|
25
25
|
// Add other fields and defaults as needed, and handle the logo if applicable
|
26
26
|
};
|
27
27
|
}
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcTenantLoader }); }
|
30
30
|
}
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{
|
32
32
|
type: Injectable
|
33
33
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvYXV0aC9vaWRjL3RlbmFudC5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFINUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sdUJBQXVCLENBQUM7UUFDL0QsaUJBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxZQUFZLENBQUM7SUFDbkIsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlJLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQWlCO1FBQ3pCLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBUztRQUM5QixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYTtZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxjQUFjO1lBQ25DLDZFQUE2RTtTQUM5RSxDQUFDO0lBQ0osQ0FBQzs4R0FyQlUsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBUZW5hbnQsIEFYUFRlbmFudExvYWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBfUk9PVF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTU9pZGNUZW5hbnRMb2FkZXIgaW1wbGVtZW50cyBBWFBUZW5hbnRMb2FkZXIge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBhcGlHZXRUZW5hbnRzID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L3VzZXItdGVuYW50cy9UZW5hbnRzYDtcbiAgcHJpdmF0ZSBhcGlTZXRUZW5hbnQgPSBgJHt0aGlzLmNvbmZpZ3MuYmFzZVVybH0vU2V0VGVuYW50YDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQVGVuYW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGl0ZW1zOiBhbnlbXSB9Pih0aGlzLmFwaUdldFRlbmFudHMpLnBpcGUobWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLm1hcFRvQVhQVGVuYW50KGl0ZW0pKSkpO1xuICB9XG5cbiAgYXN5bmMgc2V0KHRlbmFudDogQVhQVGVuYW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBUb0FYUFRlbmFudChpdGVtOiBhbnkpOiBBWFBUZW5hbnQge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaXRlbS5pZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSB8fCAnZGVmYXVsdE5hbWUnLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgfHwgJ2RlZmF1bHRUaXRsZScsXG4gICAgICAvLyBBZGQgb3RoZXIgZmllbGRzIGFuZCBkZWZhdWx0cyBhcyBuZWVkZWQsIGFuZCBoYW5kbGUgdGhlIGxvZ28gaWYgYXBwbGljYWJsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -1,24 +1,28 @@
|
|
1
1
|
import { AXMAuthModule } from '@acorex/modules/auth';
|
2
2
|
import { AXPAuthModule, AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER } from '@acorex/platform/auth';
|
3
3
|
import { AXPDataProvider } from '@acorex/platform/common';
|
4
|
+
import { AXPFileManagementService } from '@acorex/platform/widgets';
|
4
5
|
import { NgModule } from '@angular/core';
|
5
6
|
import { ROUTES } from '@angular/router';
|
6
7
|
//-----------------------------------------------------------------
|
7
|
-
import { AXMBackendDataProvider } from './data/api/data-provider';
|
8
8
|
import { AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcStrategy, AXMOidcTenantLoader } from './auth/oidc';
|
9
|
+
import { AXMBackendDataProvider } from './data/api/data-provider';
|
9
10
|
//-----------------------------------------------------------------
|
11
|
+
import { OAuthModule } from 'angular-oauth2-oidc';
|
10
12
|
import { SignincallbackComponent } from './auth/oidc/signincallback.component';
|
13
|
+
import { AXMFileManagementService } from './data';
|
11
14
|
import * as i0 from "@angular/core";
|
12
|
-
import * as i1 from "
|
13
|
-
import * as i2 from "@acorex/
|
15
|
+
import * as i1 from "angular-oauth2-oidc";
|
16
|
+
import * as i2 from "@acorex/modules/auth";
|
17
|
+
import * as i3 from "@acorex/platform/auth";
|
14
18
|
function routesFactory() {
|
15
19
|
const routes = [{ path: 'auth/signincallback', component: SignincallbackComponent }];
|
16
20
|
return routes;
|
17
21
|
}
|
18
22
|
export class AXMBackendModule {
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
20
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0
|
21
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
24
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, imports: [i1.OAuthModule, i2.AXMAuthModule, i3.AXPAuthModule] }); }
|
25
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, providers: [
|
22
26
|
{
|
23
27
|
provide: AXPDataProvider,
|
24
28
|
useClass: AXMBackendDataProvider,
|
@@ -39,20 +43,26 @@ export class AXMBackendModule {
|
|
39
43
|
provide: AXP_FEATURE_LOADER,
|
40
44
|
useClass: AXMOidcFeatureLoader,
|
41
45
|
},
|
46
|
+
{
|
47
|
+
provide: AXPFileManagementService,
|
48
|
+
useClass: AXMFileManagementService,
|
49
|
+
},
|
42
50
|
{
|
43
51
|
provide: ROUTES,
|
44
52
|
multi: true,
|
45
53
|
useFactory: routesFactory,
|
46
54
|
},
|
47
|
-
], imports: [
|
55
|
+
], imports: [OAuthModule.forRoot(),
|
56
|
+
AXMAuthModule.forRoot(),
|
48
57
|
AXPAuthModule.forRoot({
|
49
58
|
strategies: [AXMOidcStrategy],
|
50
59
|
})] }); }
|
51
60
|
}
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, decorators: [{
|
53
62
|
type: NgModule,
|
54
63
|
args: [{
|
55
64
|
imports: [
|
65
|
+
OAuthModule.forRoot(),
|
56
66
|
AXMAuthModule.forRoot(),
|
57
67
|
AXPAuthModule.forRoot({
|
58
68
|
strategies: [AXMOidcStrategy],
|
@@ -81,6 +91,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
81
91
|
provide: AXP_FEATURE_LOADER,
|
82
92
|
useClass: AXMOidcFeatureLoader,
|
83
93
|
},
|
94
|
+
{
|
95
|
+
provide: AXPFileManagementService,
|
96
|
+
useClass: AXMFileManagementService,
|
97
|
+
},
|
84
98
|
{
|
85
99
|
provide: ROUTES,
|
86
100
|
multi: true,
|
@@ -89,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
89
103
|
],
|
90
104
|
}]
|
91
105
|
}] });
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2JhY2tlbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELG1FQUFtRTtBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLG1FQUFtRTtBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sUUFBUSxDQUFDOzs7OztBQUVsRCxTQUFTLGFBQWE7SUFDcEIsTUFBTSxNQUFNLEdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUE0Q0QsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixhQWhDaEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLHNCQUFzQjthQUNqQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsd0JBQXdCO2FBQ25DO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHVCQUF1QjthQUNsQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFFBQVEsRUFBRSxvQkFBb0I7YUFDL0I7WUFDRDtnQkFDRSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsd0JBQXdCO2FBQ25DO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsVUFBVSxFQUFFLGFBQWE7YUFDMUI7U0FDRixZQXRDQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ3JCLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQztnQkFDcEIsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCLENBQUM7OzJGQW9DTyxnQkFBZ0I7a0JBMUM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixhQUFhLENBQUMsT0FBTyxDQUFDOzRCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7eUJBQzlCLENBQUM7cUJBQ0g7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLHNCQUFzQjt5QkFDakM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLG1CQUFtQjt5QkFDOUI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLG9CQUFvQjt5QkFDL0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLE1BQU07NEJBQ2YsS0FBSyxFQUFFLElBQUk7NEJBQ1gsVUFBVSxFQUFFLGFBQWE7eUJBQzFCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNQXV0aE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7IEFYUEF1dGhNb2R1bGUsIEFYUF9BUFBMSUNBVElPTl9MT0FERVIsIEFYUF9GRUFUVVJFX0xPQURFUiwgQVhQX1BFUk1JU1NJT05fTE9BREVSLCBBWFBfVEVOQU5UX0xPQURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBEYXRhUHJvdmlkZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBGaWxlTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dpZGdldHMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJPVVRFUywgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaW1wb3J0IHsgQVhNT2lkY0FwcGxpY2F0aW9uTG9hZGVyLCBBWE1PaWRjRmVhdHVyZUxvYWRlciwgQVhNT2lkY1Blcm1pc3Npb25Mb2FkZXIsIEFYTU9pZGNTdHJhdGVneSwgQVhNT2lkY1RlbmFudExvYWRlciB9IGZyb20gJy4vYXV0aC9vaWRjJztcbmltcG9ydCB7IEFYTUJhY2tlbmREYXRhUHJvdmlkZXIgfSBmcm9tICcuL2RhdGEvYXBpL2RhdGEtcHJvdmlkZXInO1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBPQXV0aE1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgU2lnbmluY2FsbGJhY2tDb21wb25lbnQgfSBmcm9tICcuL2F1dGgvb2lkYy9zaWduaW5jYWxsYmFjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNRmlsZU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhJztcblxuZnVuY3Rpb24gcm91dGVzRmFjdG9yeSgpIHtcbiAgY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbeyBwYXRoOiAnYXV0aC9zaWduaW5jYWxsYmFjaycsIGNvbXBvbmVudDogU2lnbmluY2FsbGJhY2tDb21wb25lbnQgfV07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBPQXV0aE1vZHVsZS5mb3JSb290KCksXG4gICAgQVhNQXV0aE1vZHVsZS5mb3JSb290KCksXG4gICAgQVhQQXV0aE1vZHVsZS5mb3JSb290KHtcbiAgICAgIHN0cmF0ZWdpZXM6IFtBWE1PaWRjU3RyYXRlZ3ldLFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQRGF0YVByb3ZpZGVyLFxuICAgICAgdXNlQ2xhc3M6IEFYTUJhY2tlbmREYXRhUHJvdmlkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfVEVOQU5UX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1PaWRjVGVuYW50TG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX0FQUExJQ0FUSU9OX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1PaWRjQXBwbGljYXRpb25Mb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfUEVSTUlTU0lPTl9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY1Blcm1pc3Npb25Mb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRkVBVFVSRV9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY0ZlYXR1cmVMb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBGaWxlTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNRmlsZU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUk9VVEVTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VGYWN0b3J5OiByb3V0ZXNGYWN0b3J5LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUJhY2tlbmRNb2R1bGUge31cbiJdfQ==
|