@corp-products/app-core 1.0.8 → 1.0.9
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/esm2022/corp-products-app-core.mjs +5 -0
- package/esm2022/index.mjs +11 -0
- package/esm2022/lib/core/components/global-loader/global-loader.component.mjs +20 -0
- package/esm2022/lib/core/components/index.mjs +2 -0
- package/esm2022/lib/core/core-config.mjs +3 -0
- package/esm2022/lib/core/directives/index.mjs +2 -0
- package/esm2022/lib/core/directives/permissions.directive.mjs +99 -0
- package/esm2022/lib/core/enums/index.mjs +2 -0
- package/esm2022/lib/core/enums/user-permissions.enum.mjs +38 -0
- package/esm2022/lib/core/guards/auth.guard.mjs +14 -0
- package/esm2022/lib/core/guards/index.mjs +3 -0
- package/esm2022/lib/core/guards/permissions.guard.mjs +16 -0
- package/esm2022/lib/core/handlers/http-context-handler.mjs +12 -0
- package/esm2022/lib/core/handlers/index.mjs +4 -0
- package/esm2022/lib/core/handlers/storage-handler.mjs +33 -0
- package/esm2022/lib/core/handlers/stortage.mjs +9 -0
- package/esm2022/lib/core/interceptors/app-http-config.mjs +9 -0
- package/esm2022/lib/core/interceptors/base-http.interceptor.mjs +47 -0
- package/esm2022/lib/core/interceptors/global-http-error.interceptor.mjs +17 -0
- package/esm2022/lib/core/interceptors/index.mjs +4 -0
- package/esm2022/lib/core/interfaces/index.mjs +4 -0
- package/esm2022/lib/core/interfaces/jwt-token-decoded.interface.mjs +2 -0
- package/esm2022/lib/core/interfaces/list-response.interface.mjs +2 -0
- package/esm2022/lib/core/interfaces/router-data.interface.mjs +2 -0
- package/esm2022/lib/core/interfaces/user-info.interface.mjs +2 -0
- package/esm2022/lib/core/interfaces/user-profile-data.mjs +2 -0
- package/esm2022/lib/core/services/auth.service.mjs +64 -0
- package/esm2022/lib/core/services/base-http-service/base-http-response.mjs +2 -0
- package/esm2022/lib/core/services/base-http-service/base-http-types.mjs +2 -0
- package/esm2022/lib/core/services/base-http-service/base-http-utils.mjs +32 -0
- package/esm2022/lib/core/services/base-http-service/base-http.service.mjs +79 -0
- package/esm2022/lib/core/services/base-http-service/index.mjs +5 -0
- package/esm2022/lib/core/services/base-pagination-service/base-pagination.service.mjs +49 -0
- package/esm2022/lib/core/services/base-pagination-service/index.mjs +4 -0
- package/esm2022/lib/core/services/base-pagination-service/list-options.interface.mjs +2 -0
- package/esm2022/lib/core/services/base-pagination-service/pagination.mjs +8 -0
- package/esm2022/lib/core/services/error-handler.service.mjs +76 -0
- package/esm2022/lib/core/services/index.mjs +9 -0
- package/esm2022/lib/core/services/jwt-decoder.service.mjs +25 -0
- package/esm2022/lib/core/services/loader.service.mjs +33 -0
- package/esm2022/lib/core/services/lov.service.mjs +26 -0
- package/esm2022/lib/core/services/permissions.service.mjs +64 -0
- package/esm2022/lib/core/services/toaster.service.mjs +67 -0
- package/fesm2022/corp-products-app-core.mjs +794 -0
- package/fesm2022/corp-products-app-core.mjs.map +1 -0
- package/{src/index.ts → index.d.ts} +10 -10
- package/lib/core/components/global-loader/global-loader.component.d.ts +9 -0
- package/{src/lib/core/components/index.ts → lib/core/components/index.d.ts} +1 -1
- package/lib/core/core-config.d.ts +9 -0
- package/{src/lib/core/directives/index.ts → lib/core/directives/index.d.ts} +1 -1
- package/lib/core/directives/permissions.directive.d.ts +31 -0
- package/{src/lib/core/enums/index.ts → lib/core/enums/index.d.ts} +1 -1
- package/lib/core/enums/user-permissions.enum.d.ts +35 -0
- package/lib/core/guards/auth.guard.d.ts +2 -0
- package/{src/lib/core/guards/index.ts → lib/core/guards/index.d.ts} +2 -2
- package/lib/core/guards/permissions.guard.d.ts +2 -0
- package/lib/core/handlers/http-context-handler.d.ts +7 -0
- package/{src/lib/core/handlers/index.ts → lib/core/handlers/index.d.ts} +3 -3
- package/lib/core/handlers/storage-handler.d.ts +16 -0
- package/lib/core/handlers/stortage.d.ts +7 -0
- package/lib/core/interceptors/app-http-config.d.ts +8 -0
- package/lib/core/interceptors/base-http.interceptor.d.ts +15 -0
- package/lib/core/interceptors/global-http-error.interceptor.d.ts +6 -0
- package/{src/lib/core/interceptors/index.ts → lib/core/interceptors/index.d.ts} +3 -3
- package/lib/core/interfaces/index.d.ts +3 -0
- package/{src/lib/core/interfaces/jwt-token-decoded.interface.ts → lib/core/interfaces/jwt-token-decoded.interface.d.ts} +7 -7
- package/lib/core/interfaces/list-response.interface.d.ts +5 -0
- package/lib/core/interfaces/router-data.interface.d.ts +17 -0
- package/lib/core/interfaces/user-info.interface.d.ts +4 -0
- package/lib/core/interfaces/user-profile-data.d.ts +16 -0
- package/lib/core/services/auth.service.d.ts +19 -0
- package/lib/core/services/base-http-service/base-http-response.d.ts +14 -0
- package/lib/core/services/base-http-service/base-http-types.d.ts +37 -0
- package/lib/core/services/base-http-service/base-http-utils.d.ts +6 -0
- package/lib/core/services/base-http-service/base-http.service.d.ts +22 -0
- package/{src/lib/core/services/base-http-service/index.ts → lib/core/services/base-http-service/index.d.ts} +4 -4
- package/lib/core/services/base-pagination-service/base-pagination.service.d.ts +21 -0
- package/{src/lib/core/services/base-pagination-service/index.ts → lib/core/services/base-pagination-service/index.d.ts} +3 -3
- package/lib/core/services/base-pagination-service/list-options.interface.d.ts +8 -0
- package/lib/core/services/base-pagination-service/pagination.d.ts +6 -0
- package/lib/core/services/error-handler.service.d.ts +12 -0
- package/{src/lib/core/services/index.ts → lib/core/services/index.d.ts} +8 -8
- package/lib/core/services/jwt-decoder.service.d.ts +11 -0
- package/lib/core/services/loader.service.d.ts +13 -0
- package/lib/core/services/lov.service.d.ts +9 -0
- package/lib/core/services/permissions.service.d.ts +20 -0
- package/lib/core/services/toaster.service.d.ts +15 -0
- package/package.json +36 -20
- package/eslint.config.js +0 -48
- package/ng-package.json +0 -7
- package/project.json +0 -29
- package/src/lib/core/components/global-loader/global-loader.component.html +0 -18
- package/src/lib/core/components/global-loader/global-loader.component.scss +0 -0
- package/src/lib/core/components/global-loader/global-loader.component.spec.ts +0 -24
- package/src/lib/core/components/global-loader/global-loader.component.ts +0 -16
- package/src/lib/core/components/no-access/no-access.component.html +0 -9
- package/src/lib/core/components/no-access/no-access.component.ts +0 -17
- package/src/lib/core/core-config.ts +0 -11
- package/src/lib/core/directives/permissions.directive.ts +0 -114
- package/src/lib/core/enums/user-permissions.enum.ts +0 -36
- package/src/lib/core/guards/auth.guard.ts +0 -17
- package/src/lib/core/guards/permissions.guard.ts +0 -17
- package/src/lib/core/handlers/http-context-handler.ts +0 -14
- package/src/lib/core/handlers/storage-handler.ts +0 -37
- package/src/lib/core/handlers/stortage.ts +0 -7
- package/src/lib/core/interceptors/app-http-config.ts +0 -8
- package/src/lib/core/interceptors/base-http.interceptor.ts +0 -45
- package/src/lib/core/interceptors/global-http-error.interceptor.ts +0 -21
- package/src/lib/core/interfaces/index.ts +0 -3
- package/src/lib/core/interfaces/list-response.interface.ts +0 -5
- package/src/lib/core/interfaces/router-data.interface.ts +0 -20
- package/src/lib/core/interfaces/user-info.interface.ts +0 -4
- package/src/lib/core/interfaces/user-profile-data.ts +0 -19
- package/src/lib/core/services/auth.service.ts +0 -63
- package/src/lib/core/services/base-http-service/base-http-response.ts +0 -14
- package/src/lib/core/services/base-http-service/base-http-types.ts +0 -42
- package/src/lib/core/services/base-http-service/base-http-utils.ts +0 -43
- package/src/lib/core/services/base-http-service/base-http.service.ts +0 -106
- package/src/lib/core/services/base-http-service/http-context-handler.ts +0 -9
- package/src/lib/core/services/base-pagination-service/base-pagination.service.ts +0 -59
- package/src/lib/core/services/base-pagination-service/list-options.interface.ts +0 -8
- package/src/lib/core/services/base-pagination-service/pagination.ts +0 -6
- package/src/lib/core/services/enviroment.base.service.ts +0 -16
- package/src/lib/core/services/error-handler.service.ts +0 -74
- package/src/lib/core/services/jwt-decoder.service.ts +0 -23
- package/src/lib/core/services/loader.service.ts +0 -32
- package/src/lib/core/services/lov.service.ts +0 -22
- package/src/lib/core/services/permissions.service.ts +0 -66
- package/src/lib/core/services/toaster.service.ts +0 -65
- package/tsconfig.json +0 -26
- package/tsconfig.lib.json +0 -11
- package/tsconfig.lib.prod.json +0 -9
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycC1wcm9kdWN0cy1hcHAtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvY29ycC1wcm9kdWN0cy1hcHAtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./lib/core/services/base-pagination-service";
|
|
2
|
+
export * from "./lib/core/components";
|
|
3
|
+
export * from "./lib/core/services";
|
|
4
|
+
export * from "./lib/core/interfaces";
|
|
5
|
+
export * from "./lib/core/guards";
|
|
6
|
+
export * from "./lib/core/interceptors";
|
|
7
|
+
export * from "./lib/core/enums";
|
|
8
|
+
export * from "./lib/core/directives";
|
|
9
|
+
export * from "./lib/core/core-config";
|
|
10
|
+
export * from "./lib/core/handlers";
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9saWIvY29yZS9zZXJ2aWNlcy9iYXNlLXBhZ2luYXRpb24tc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29yZS9jb21wb25lbnRzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb3JlL3NlcnZpY2VzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb3JlL2ludGVyZmFjZXNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvcmUvZ3VhcmRzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb3JlL2ludGVyY2VwdG9yc1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29yZS9lbnVtc1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29yZS9kaXJlY3RpdmVzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb3JlL2NvcmUtY29uZmlnXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb3JlL2hhbmRsZXJzXCI7XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AsyncPipe, NgClass } from '@angular/common';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { TranslatePipe } from "@ngx-translate/core";
|
|
4
|
+
import { LoaderService } from "../../services";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services";
|
|
7
|
+
export class GlobalLoaderComponent {
|
|
8
|
+
constructor(loaderService) {
|
|
9
|
+
this.loaderService = loaderService;
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalLoaderComponent, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: GlobalLoaderComponent, isStandalone: true, selector: "global-loader", inputs: { color: "color" }, ngImport: i0, template: "@if (loaderService.isLoading$ | async; as data) {\r\n @if (data.show) {\r\n <div\r\n class=\"fixed inset-0 z-[1111] flex justify-center items-center\"\r\n [ngClass]=\"{\r\n 'bg-white/75': data?.isSystemLoader,\r\n 'absolute': !data?.isSystemLoader\r\n }\"\r\n >\r\n <div class=\"text-center flex flex-col gap-5 items-center\">\r\n <div\r\n class=\"animate-spin inline-block w-12 h-12 border-[3px] border-current border-t-transparent text-gray-800 rounded-full\">\r\n </div>\r\n <span>{{ 'loading' | translate }}</span>\r\n </div>\r\n </div>\r\n }\r\n}\r\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalLoaderComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: "global-loader", standalone: true, imports: [AsyncPipe, NgClass, TranslatePipe], template: "@if (loaderService.isLoading$ | async; as data) {\r\n @if (data.show) {\r\n <div\r\n class=\"fixed inset-0 z-[1111] flex justify-center items-center\"\r\n [ngClass]=\"{\r\n 'bg-white/75': data?.isSystemLoader,\r\n 'absolute': !data?.isSystemLoader\r\n }\"\r\n >\r\n <div class=\"text-center flex flex-col gap-5 items-center\">\r\n <div\r\n class=\"animate-spin inline-block w-12 h-12 border-[3px] border-current border-t-transparent text-gray-800 rounded-full\">\r\n </div>\r\n <span>{{ 'loading' | translate }}</span>\r\n </div>\r\n </div>\r\n }\r\n}\r\n" }]
|
|
17
|
+
}], ctorParameters: () => [{ type: i1.LoaderService }], propDecorators: { color: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvZ2xvYmFsLWxvYWRlci9nbG9iYWwtbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvcmUvY29tcG9uZW50cy9nbG9iYWwtbG9hZGVyL2dsb2JhbC1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFTN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFtQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7OEdBRnhDLHFCQUFxQjtrR0FBckIscUJBQXFCLHFHQ1psQyw0bkJBa0JBLHFERFJZLFNBQVMsOENBQUUsT0FBTywrRUFBRSxhQUFhOzsyRkFFaEMscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGVBQWUsY0FHYixJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQztrRkFHbkMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7TG9hZGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJnbG9iYWwtbG9hZGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9nbG9iYWwtbG9hZGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2dsb2JhbC1sb2FkZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0NsYXNzLCBUcmFuc2xhdGVQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsTG9hZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlKSB7fVxyXG59XHJcbiIsIkBpZiAobG9hZGVyU2VydmljZS5pc0xvYWRpbmckIHwgYXN5bmM7IGFzIGRhdGEpIHtcclxuICBAaWYgKGRhdGEuc2hvdykge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZpeGVkIGluc2V0LTAgei1bMTExMV0gZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAnYmctd2hpdGUvNzUnOiBkYXRhPy5pc1N5c3RlbUxvYWRlcixcclxuICAgICAgICdhYnNvbHV0ZSc6ICFkYXRhPy5pc1N5c3RlbUxvYWRlclxyXG4gICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBmbGV4IGZsZXgtY29sIGdhcC01IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZS1zcGluIGlubGluZS1ibG9jayB3LTEyIGgtMTIgYm9yZGVyLVszcHhdIGJvcmRlci1jdXJyZW50IGJvcmRlci10LXRyYW5zcGFyZW50IHRleHQtZ3JheS04MDAgcm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4+e3sgJ2xvYWRpbmcnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./global-loader/global-loader.component";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2dsb2JhbC1sb2FkZXIvZ2xvYmFsLWxvYWRlci5jb21wb25lbnRcIjtcclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const CORE_CONFIG = new InjectionToken("CoreConfig");
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFhLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3JlQ29uZmlnIHtcclxuICBhcGlQcmVmaXg6IHN0cmluZztcclxuICBwcm9kdWN0aW9uOiBib29sZWFuO1xyXG4gIGdhdGV3YXlVcmw6IHN0cmluZztcclxuICBsb2dpblVybDogc3RyaW5nO1xyXG4gIGxvZ291dEVuZHBvaW50OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDT1JFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb3JlQ29uZmlnPihcIkNvcmVDb25maWdcIik7XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './permissions.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbnMuZGlyZWN0aXZlJztcclxuIl19
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { PermissionsService } from '../services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services";
|
|
5
|
+
export class HasPermissionsDirective {
|
|
6
|
+
constructor(permissionsService, viewContainer, templateRef) {
|
|
7
|
+
this.permissionsService = permissionsService;
|
|
8
|
+
this.viewContainer = viewContainer;
|
|
9
|
+
this.templateRef = templateRef;
|
|
10
|
+
this.isViewCreated = false;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* make sure that the key value looks like the UserPermissionsEnum enum
|
|
14
|
+
* usage: *permissions="[PermissionsActions.EDIT]; key: LOOKUPS
|
|
15
|
+
*/
|
|
16
|
+
set hasPermissions(actions) {
|
|
17
|
+
if (this.arraysChanged(this._actions, actions)) {
|
|
18
|
+
this._actions = actions;
|
|
19
|
+
this.updateView();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
set hasPermissionsKey(key) {
|
|
23
|
+
if (this._key !== key) {
|
|
24
|
+
this._key = key;
|
|
25
|
+
this.updateView();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
set hasPermissionsNewPermissions(newPermissions) {
|
|
29
|
+
if (this.arraysChanged(this._newPermissions, newPermissions)) {
|
|
30
|
+
this._newPermissions = newPermissions;
|
|
31
|
+
this.updateView();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
set hasPermissionsIsDomain(isDomain) {
|
|
35
|
+
if (this._isDomain !== isDomain) {
|
|
36
|
+
this._isDomain = isDomain;
|
|
37
|
+
this.updateView();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.subscription = this.permissionsService.domainPermissions$.subscribe(() => {
|
|
42
|
+
if (this._isDomain) {
|
|
43
|
+
this.updateView();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
ngOnDestroy() {
|
|
48
|
+
this.subscription?.unsubscribe();
|
|
49
|
+
}
|
|
50
|
+
updateView() {
|
|
51
|
+
const canShow = this._actions.some(action => this.hasPermission(action));
|
|
52
|
+
if (canShow && !this.isViewCreated) {
|
|
53
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
54
|
+
this.isViewCreated = true;
|
|
55
|
+
}
|
|
56
|
+
else if (!canShow && this.isViewCreated) {
|
|
57
|
+
this.clearView();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
hasPermission(action) {
|
|
61
|
+
if (this._isDomain) {
|
|
62
|
+
return this.permissionsService.checkDomainHasPermission(this._key, action);
|
|
63
|
+
}
|
|
64
|
+
return this.permissionsService.checkKeyHasPermission(this._key, action, this._newPermissions);
|
|
65
|
+
}
|
|
66
|
+
clearView() {
|
|
67
|
+
this.viewContainer.clear();
|
|
68
|
+
this.isViewCreated = false;
|
|
69
|
+
}
|
|
70
|
+
arraysChanged(a, b) {
|
|
71
|
+
if (a === b)
|
|
72
|
+
return false;
|
|
73
|
+
if (!a || !b)
|
|
74
|
+
return true;
|
|
75
|
+
if (a.length !== b.length)
|
|
76
|
+
return true;
|
|
77
|
+
return a.some((v, i) => v !== b[i]);
|
|
78
|
+
}
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HasPermissionsDirective, deps: [{ token: i1.PermissionsService }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
80
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: HasPermissionsDirective, isStandalone: true, selector: "[hasPermissions]", inputs: { hasPermissions: "hasPermissions", hasPermissionsKey: "hasPermissionsKey", hasPermissionsNewPermissions: "hasPermissionsNewPermissions", hasPermissionsIsDomain: "hasPermissionsIsDomain" }, ngImport: i0 }); }
|
|
81
|
+
}
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HasPermissionsDirective, decorators: [{
|
|
83
|
+
type: Directive,
|
|
84
|
+
args: [{
|
|
85
|
+
selector: '[hasPermissions]',
|
|
86
|
+
standalone: true
|
|
87
|
+
}]
|
|
88
|
+
}], ctorParameters: () => [{ type: i1.PermissionsService }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { hasPermissions: [{
|
|
89
|
+
type: Input,
|
|
90
|
+
args: [{ required: true }]
|
|
91
|
+
}], hasPermissionsKey: [{
|
|
92
|
+
type: Input,
|
|
93
|
+
args: [{ required: true }]
|
|
94
|
+
}], hasPermissionsNewPermissions: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], hasPermissionsIsDomain: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}] } });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL3Blcm1pc3Npb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBUWpELE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsWUFDVSxrQkFBc0MsRUFDdEMsYUFBK0IsRUFDL0IsV0FBaUM7UUFGakMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBTm5DLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBTzNCLENBQUM7SUFFSjs7O09BR0c7SUFFSCxJQUErQixjQUFjLENBQUMsT0FBaUI7UUFDN0QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUErQixpQkFBaUIsQ0FBQyxHQUFXO1FBQzFELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFhLDRCQUE0QixDQUFDLGNBQXdCO1FBQ2hFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBYSxzQkFBc0IsQ0FBQyxRQUFpQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFekUsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUIsQ0FBQzthQUFNLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFjO1FBQ2xDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHdCQUF3QixDQUNyRCxJQUFJLENBQUMsSUFBMkIsRUFDaEMsTUFBNEIsQ0FDN0IsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FDbEQsSUFBSSxDQUFDLElBQTJCLEVBQ2hDLE1BQTRCLEVBQzVCLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUFZLEVBQUUsQ0FBWTtRQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUN2QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs4R0FoR1UsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dKQXFCZ0MsY0FBYztzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBT00saUJBQWlCO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPWiw0QkFBNEI7c0JBQXhDLEtBQUs7Z0JBT08sc0JBQXNCO3NCQUFsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25zQWN0aW9ucywgVXNlclBlcm1pc3Npb25zRW51bSB9IGZyb20gJy4uL2VudW1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1toYXNQZXJtaXNzaW9uc10nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEhhc1Blcm1pc3Npb25zRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2FjdGlvbnM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX25ld1Blcm1pc3Npb25zOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9pc0RvbWFpbjogYm9vbGVhbjtcclxuXHJcbiAgcHJpdmF0ZSBpc1ZpZXdDcmVhdGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj5cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqICBtYWtlIHN1cmUgdGhhdCB0aGUga2V5IHZhbHVlIGxvb2tzIGxpa2UgdGhlIFVzZXJQZXJtaXNzaW9uc0VudW0gZW51bVxyXG4gICAqICB1c2FnZTogKnBlcm1pc3Npb25zPVwiW1Blcm1pc3Npb25zQWN0aW9ucy5FRElUXTsga2V5OiBMT09LVVBTXHJcbiAgICovXHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHNldCBoYXNQZXJtaXNzaW9ucyhhY3Rpb25zOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKHRoaXMuYXJyYXlzQ2hhbmdlZCh0aGlzLl9hY3Rpb25zLCBhY3Rpb25zKSkge1xyXG4gICAgICB0aGlzLl9hY3Rpb25zID0gYWN0aW9ucztcclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgaGFzUGVybWlzc2lvbnNLZXkoa2V5OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLl9rZXkgIT09IGtleSkge1xyXG4gICAgICB0aGlzLl9rZXkgPSBrZXk7XHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGhhc1Blcm1pc3Npb25zTmV3UGVybWlzc2lvbnMobmV3UGVybWlzc2lvbnM6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodGhpcy5hcnJheXNDaGFuZ2VkKHRoaXMuX25ld1Blcm1pc3Npb25zLCBuZXdQZXJtaXNzaW9ucykpIHtcclxuICAgICAgdGhpcy5fbmV3UGVybWlzc2lvbnMgPSBuZXdQZXJtaXNzaW9ucztcclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgaGFzUGVybWlzc2lvbnNJc0RvbWFpbihpc0RvbWFpbjogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuX2lzRG9tYWluICE9PSBpc0RvbWFpbikge1xyXG4gICAgICB0aGlzLl9pc0RvbWFpbiA9IGlzRG9tYWluO1xyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5kb21haW5QZXJtaXNzaW9ucyQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX2lzRG9tYWluKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGNhblNob3cgPSB0aGlzLl9hY3Rpb25zLnNvbWUoYWN0aW9uID0+IHRoaXMuaGFzUGVybWlzc2lvbihhY3Rpb24pKTtcclxuXHJcbiAgICBpZiAoY2FuU2hvdyAmJiAhdGhpcy5pc1ZpZXdDcmVhdGVkKSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIHRoaXMuaXNWaWV3Q3JlYXRlZCA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKCFjYW5TaG93ICYmIHRoaXMuaXNWaWV3Q3JlYXRlZCkge1xyXG4gICAgICB0aGlzLmNsZWFyVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYXNQZXJtaXNzaW9uKGFjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5faXNEb21haW4pIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNoZWNrRG9tYWluSGFzUGVybWlzc2lvbihcclxuICAgICAgICB0aGlzLl9rZXkgYXMgVXNlclBlcm1pc3Npb25zRW51bSxcclxuICAgICAgICBhY3Rpb24gYXMgUGVybWlzc2lvbnNBY3Rpb25zXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNoZWNrS2V5SGFzUGVybWlzc2lvbihcclxuICAgICAgdGhpcy5fa2V5IGFzIFVzZXJQZXJtaXNzaW9uc0VudW0sXHJcbiAgICAgIGFjdGlvbiBhcyBQZXJtaXNzaW9uc0FjdGlvbnMsXHJcbiAgICAgIHRoaXMuX25ld1Blcm1pc3Npb25zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclZpZXcoKSB7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgIHRoaXMuaXNWaWV3Q3JlYXRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcnJheXNDaGFuZ2VkKGE/OiBzdHJpbmdbXSwgYj86IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYSA9PT0gYikgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKCFhIHx8ICFiKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIGEuc29tZSgodiwgaSkgPT4gdiAhPT0gYltpXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './user-permissions.enum';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3VzZXItcGVybWlzc2lvbnMuZW51bSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export var UserPermissionsEnum;
|
|
2
|
+
(function (UserPermissionsEnum) {
|
|
3
|
+
UserPermissionsEnum["BOD"] = "BOD";
|
|
4
|
+
UserPermissionsEnum["BOARD_COMMITTEES"] = "BOARD_COMMITTEES";
|
|
5
|
+
UserPermissionsEnum["BOARD_MEETINGS"] = "BOARD_MEETINGS";
|
|
6
|
+
UserPermissionsEnum["MEETING_INSIDE_THE_BOD"] = "MEETING_INSIDE_THE_BOD";
|
|
7
|
+
UserPermissionsEnum["COMMITTEE"] = "COMMITTEE";
|
|
8
|
+
UserPermissionsEnum["MEETING_INSIDE_THE_COMMITTEE"] = "MEETING_INSIDE_THE_COMMITTEE";
|
|
9
|
+
UserPermissionsEnum["MEETING"] = "MEETING";
|
|
10
|
+
UserPermissionsEnum["DECISION"] = "DECISION";
|
|
11
|
+
UserPermissionsEnum["RECOMMENDATION"] = "RECOMMENDATION";
|
|
12
|
+
UserPermissionsEnum["TASK"] = "TASK";
|
|
13
|
+
UserPermissionsEnum["VOTING"] = "VOTING";
|
|
14
|
+
UserPermissionsEnum["VOTING_SECRETARY_RESULTS"] = "VOTING_SECRETARY_RESULTS";
|
|
15
|
+
UserPermissionsEnum["VOTING_RESULTS"] = "VOTING_RESULTS";
|
|
16
|
+
UserPermissionsEnum["DRAFT_MOM"] = "DRAFT_MOM";
|
|
17
|
+
UserPermissionsEnum["FINAL_MOM"] = "FINAL_MOM";
|
|
18
|
+
UserPermissionsEnum["MOM"] = "MOM";
|
|
19
|
+
UserPermissionsEnum["AGENDA"] = "AGENDA";
|
|
20
|
+
UserPermissionsEnum["ATTENDEES"] = "ATTENDEES";
|
|
21
|
+
UserPermissionsEnum["COMMENT"] = "COMMENT";
|
|
22
|
+
})(UserPermissionsEnum || (UserPermissionsEnum = {}));
|
|
23
|
+
export var PermissionsActions;
|
|
24
|
+
(function (PermissionsActions) {
|
|
25
|
+
PermissionsActions["VIEW"] = "VIEW";
|
|
26
|
+
PermissionsActions["CREATE"] = "CREATE";
|
|
27
|
+
PermissionsActions["EDIT"] = "EDIT";
|
|
28
|
+
PermissionsActions["DELETE"] = "DELETE";
|
|
29
|
+
PermissionsActions["REORDER"] = "REORDER";
|
|
30
|
+
PermissionsActions["DOWNLOAD"] = "DOWNLOAD";
|
|
31
|
+
PermissionsActions["MARK"] = "MARK";
|
|
32
|
+
PermissionsActions["GENERATE"] = "GENERATE";
|
|
33
|
+
PermissionsActions["TERMINATE"] = "TERMINATE";
|
|
34
|
+
PermissionsActions["START"] = "START";
|
|
35
|
+
PermissionsActions["END"] = "END";
|
|
36
|
+
PermissionsActions["ACTIVATE"] = "ACTIVATE";
|
|
37
|
+
})(PermissionsActions || (PermissionsActions = {}));
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wZXJtaXNzaW9ucy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9lbnVtcy91c2VyLXBlcm1pc3Npb25zLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBb0JYO0FBcEJELFdBQVksbUJBQW1CO0lBQzdCLGtDQUFXLENBQUE7SUFDWCw0REFBcUMsQ0FBQTtJQUNyQyx3REFBaUMsQ0FBQTtJQUNqQyx3RUFBaUQsQ0FBQTtJQUNqRCw4Q0FBdUIsQ0FBQTtJQUN2QixvRkFBNkQsQ0FBQTtJQUM3RCwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtJQUNyQix3REFBaUMsQ0FBQTtJQUNqQyxvQ0FBYSxDQUFBO0lBQ2Isd0NBQWlCLENBQUE7SUFDakIsNEVBQXFELENBQUE7SUFDckQsd0RBQWlDLENBQUE7SUFDakMsOENBQXVCLENBQUE7SUFDdkIsOENBQXVCLENBQUE7SUFDdkIsa0NBQVcsQ0FBQTtJQUNYLHdDQUFpQixDQUFBO0lBQ2pCLDhDQUF1QixDQUFBO0lBQ3ZCLDBDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFwQlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQW9COUI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFhWDtBQWJELFdBQVksa0JBQWtCO0lBQzVCLG1DQUFhLENBQUE7SUFDYix1Q0FBaUIsQ0FBQTtJQUNqQixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsbUNBQWEsQ0FBQTtJQUNiLDJDQUFxQixDQUFBO0lBQ3JCLDZDQUF1QixDQUFBO0lBQ3ZCLHFDQUFlLENBQUE7SUFDZixpQ0FBVyxDQUFBO0lBQ1gsMkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWJXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFhN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVc2VyUGVybWlzc2lvbnNFbnVtIHtcclxuICBCT0QgPSBcIkJPRFwiLFxyXG4gIEJPQVJEX0NPTU1JVFRFRVMgPSBcIkJPQVJEX0NPTU1JVFRFRVNcIixcclxuICBCT0FSRF9NRUVUSU5HUyA9IFwiQk9BUkRfTUVFVElOR1NcIixcclxuICBNRUVUSU5HX0lOU0lERV9USEVfQk9EID0gXCJNRUVUSU5HX0lOU0lERV9USEVfQk9EXCIsXHJcbiAgQ09NTUlUVEVFID0gXCJDT01NSVRURUVcIixcclxuICBNRUVUSU5HX0lOU0lERV9USEVfQ09NTUlUVEVFID0gXCJNRUVUSU5HX0lOU0lERV9USEVfQ09NTUlUVEVFXCIsXHJcbiAgTUVFVElORyA9IFwiTUVFVElOR1wiLFxyXG4gIERFQ0lTSU9OID0gXCJERUNJU0lPTlwiLFxyXG4gIFJFQ09NTUVOREFUSU9OID0gXCJSRUNPTU1FTkRBVElPTlwiLFxyXG4gIFRBU0sgPSBcIlRBU0tcIixcclxuICBWT1RJTkcgPSBcIlZPVElOR1wiLFxyXG4gIFZPVElOR19TRUNSRVRBUllfUkVTVUxUUyA9IFwiVk9USU5HX1NFQ1JFVEFSWV9SRVNVTFRTXCIsXHJcbiAgVk9USU5HX1JFU1VMVFMgPSBcIlZPVElOR19SRVNVTFRTXCIsXHJcbiAgRFJBRlRfTU9NID0gXCJEUkFGVF9NT01cIixcclxuICBGSU5BTF9NT00gPSBcIkZJTkFMX01PTVwiLFxyXG4gIE1PTSA9IFwiTU9NXCIsXHJcbiAgQUdFTkRBID0gXCJBR0VOREFcIixcclxuICBBVFRFTkRFRVMgPSBcIkFUVEVOREVFU1wiLFxyXG4gIENPTU1FTlQgPSBcIkNPTU1FTlRcIlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uc0FjdGlvbnMge1xyXG4gIFZJRVcgPSBcIlZJRVdcIixcclxuICBDUkVBVEUgPSBcIkNSRUFURVwiLFxyXG4gIEVESVQgPSBcIkVESVRcIixcclxuICBERUxFVEUgPSBcIkRFTEVURVwiLFxyXG4gIFJFT1JERVIgPSBcIlJFT1JERVJcIixcclxuICBET1dOTE9BRCA9IFwiRE9XTkxPQURcIixcclxuICBNQVJLID0gXCJNQVJLXCIsXHJcbiAgR0VORVJBVEUgPSBcIkdFTkVSQVRFXCIsXHJcbiAgVEVSTUlOQVRFID0gXCJURVJNSU5BVEVcIixcclxuICBTVEFSVCA9IFwiU1RBUlRcIixcclxuICBFTkQgPSBcIkVORFwiLFxyXG4gIEFDVElWQVRFID0gXCJBQ1RJVkFURVwiXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { inject } from "@angular/core";
|
|
2
|
+
import { AuthService } from "../services";
|
|
3
|
+
import { CORE_CONFIG } from "../core-config";
|
|
4
|
+
export const authGuard = () => {
|
|
5
|
+
const appConfig = inject(CORE_CONFIG);
|
|
6
|
+
const authService = inject(AuthService);
|
|
7
|
+
const token = authService.getUserToken();
|
|
8
|
+
if (!token) {
|
|
9
|
+
window.location.href = appConfig.loginUrl;
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvcmUvZ3VhcmRzL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWtCLEdBQUcsRUFBRTtJQUMzQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQWEsV0FBVyxDQUFDLENBQUM7SUFDbEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxHQUFrQixXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFeEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUMxQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4gfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IENPUkVfQ09ORklHLCBDb3JlQ29uZmlnIH0gZnJvbSBcIi4uL2NvcmUtY29uZmlnXCI7XHJcblxyXG5leHBvcnQgY29uc3QgYXV0aEd1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKCkgPT4ge1xyXG4gIGNvbnN0IGFwcENvbmZpZyA9IGluamVjdDxDb3JlQ29uZmlnPihDT1JFX0NPTkZJRyk7XHJcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xyXG4gIGNvbnN0IHRva2VuOiBzdHJpbmcgfCBudWxsID0gYXV0aFNlcnZpY2UuZ2V0VXNlclRva2VuKCk7XHJcblxyXG4gIGlmICghdG9rZW4pIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYXBwQ29uZmlnLmxvZ2luVXJsO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRydWU7XHJcbn07XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './auth.guard';
|
|
2
|
+
export * from './permissions.guard';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2d1YXJkcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLmd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9ucy5ndWFyZCc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { inject } from "@angular/core";
|
|
2
|
+
import { Router } from "@angular/router";
|
|
3
|
+
import { PermissionsService } from "../services";
|
|
4
|
+
export const permissionsGuard = (route) => {
|
|
5
|
+
const permissionsService = inject(PermissionsService);
|
|
6
|
+
const router = inject(Router);
|
|
7
|
+
const { key, action } = route.data["permissions"];
|
|
8
|
+
if (!route.data["permissions"] || (route.data["permissions"] && permissionsService.routeGuardChecker(key, action))) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
router.navigate(["no-access"]);
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2d1YXJkcy9wZXJtaXNzaW9ucy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2pELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3ZELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4sIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IFJvdXRlUGVybWlzc2lvbnNJbmZvIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBwZXJtaXNzaW9uc0d1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKHJvdXRlKSA9PiB7XHJcbiAgY29uc3QgcGVybWlzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KFBlcm1pc3Npb25zU2VydmljZSk7XHJcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgY29uc3QgeyBrZXksIGFjdGlvbiB9OiBSb3V0ZVBlcm1pc3Npb25zSW5mbyA9IHJvdXRlLmRhdGFbXCJwZXJtaXNzaW9uc1wiXTtcclxuXHJcbiAgaWYgKCFyb3V0ZS5kYXRhW1wicGVybWlzc2lvbnNcIl0gfHwgKHJvdXRlLmRhdGFbXCJwZXJtaXNzaW9uc1wiXSAmJiBwZXJtaXNzaW9uc1NlcnZpY2Uucm91dGVHdWFyZENoZWNrZXIoa2V5LCBhY3Rpb24pKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJvdXRlci5uYXZpZ2F0ZShbXCJuby1hY2Nlc3NcIl0pO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufTtcclxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HttpContext, HttpContextToken } from "@angular/common/http";
|
|
2
|
+
export const IS_SYSTEM_LOADER = new HttpContextToken(() => true); // set default loader
|
|
3
|
+
export const USE_API_PREFIX = new HttpContextToken(() => true); // set default loader
|
|
4
|
+
export class HttpContextHandler {
|
|
5
|
+
static setLoaderType(isSystemLoader) {
|
|
6
|
+
return new HttpContext().set(IS_SYSTEM_LOADER, isSystemLoader);
|
|
7
|
+
}
|
|
8
|
+
static useApiPrefix(hasBaseSegment) {
|
|
9
|
+
return new HttpContext().set(USE_API_PREFIX, hasBaseSegment);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jb250ZXh0LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL2h0dHAtY29udGV4dC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCO0FBQ2hHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCO0FBRTlGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUF1QjtRQUMxQyxPQUFPLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQXVCO1FBQ3pDLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0LCBIdHRwQ29udGV4dFRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5leHBvcnQgY29uc3QgSVNfU1lTVEVNX0xPQURFUiA9IG5ldyBIdHRwQ29udGV4dFRva2VuPGJvb2xlYW4+KCgpID0+IHRydWUpOyAvLyBzZXQgZGVmYXVsdCBsb2FkZXJcclxuZXhwb3J0IGNvbnN0IFVTRV9BUElfUFJFRklYID0gbmV3IEh0dHBDb250ZXh0VG9rZW48Ym9vbGVhbj4oKCkgPT4gdHJ1ZSk7IC8vIHNldCBkZWZhdWx0IGxvYWRlclxyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBDb250ZXh0SGFuZGxlciB7XHJcbiAgc3RhdGljIHNldExvYWRlclR5cGUoaXNTeXN0ZW1Mb2FkZXI6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBuZXcgSHR0cENvbnRleHQoKS5zZXQoSVNfU1lTVEVNX0xPQURFUiwgaXNTeXN0ZW1Mb2FkZXIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHVzZUFwaVByZWZpeChoYXNCYXNlU2VnbWVudDogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwQ29udGV4dCgpLnNldChVU0VfQVBJX1BSRUZJWCwgaGFzQmFzZVNlZ21lbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./http-context-handler";
|
|
2
|
+
export * from "./storage-handler";
|
|
3
|
+
export * from "./stortage";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2h0dHAtY29udGV4dC1oYW5kbGVyXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3JhZ2UtaGFuZGxlclwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9zdG9ydGFnZVwiO1xyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const setLocalStorage = (key, value) => localStorage.setItem(key, value);
|
|
2
|
+
const getLocalStorage = (key) => localStorage.getItem(key);
|
|
3
|
+
const clearLocalStorage = () => localStorage.clear();
|
|
4
|
+
const setSessionStorage = (key, value) => sessionStorage.setItem(key, value);
|
|
5
|
+
const getSessionStorage = (key) => sessionStorage.getItem(key);
|
|
6
|
+
const clearSessionStorage = () => sessionStorage.clear();
|
|
7
|
+
export class StorageHandler {
|
|
8
|
+
static { this.local = {
|
|
9
|
+
set: (key, value) => this.setItem(key, value, setLocalStorage),
|
|
10
|
+
get: (key) => this.getItem(key, getLocalStorage),
|
|
11
|
+
clear: () => this.clearStorage(clearLocalStorage)
|
|
12
|
+
}; }
|
|
13
|
+
static { this.session = {
|
|
14
|
+
set: (key, value) => this.setItem(key, value, setSessionStorage),
|
|
15
|
+
get: (key) => this.getItem(key, getSessionStorage),
|
|
16
|
+
clear: () => this.clearStorage(clearSessionStorage)
|
|
17
|
+
}; }
|
|
18
|
+
static setItem(key, value, set) {
|
|
19
|
+
if (!key)
|
|
20
|
+
return;
|
|
21
|
+
set(key, typeof value === "string" ? value : JSON.stringify(value));
|
|
22
|
+
}
|
|
23
|
+
static getItem(key, get, withParsing = false) {
|
|
24
|
+
const data = get(key) ?? null;
|
|
25
|
+
if (data)
|
|
26
|
+
return withParsing ? JSON.parse(data) : data;
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
static clearStorage(clear) {
|
|
30
|
+
clear();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9oYW5kbGVycy9zdG9yYWdlLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN6RixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuRSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNyRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDN0YsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2RSxNQUFNLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUV6RCxNQUFNLE9BQU8sY0FBYzthQUNYLFVBQUssR0FBRztRQUNwQixHQUFHLEVBQUUsQ0FBQyxHQUFxQixFQUFFLEtBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQztRQUN6RixHQUFHLEVBQUUsQ0FBSSxHQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFJLEdBQUcsRUFBRSxlQUFlLENBQUM7UUFDeEUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7S0FDbEQsQ0FBQzthQUNZLFlBQU8sR0FBRztRQUN0QixHQUFHLEVBQUUsQ0FBQyxHQUF1QixFQUFFLEtBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixDQUFDO1FBQzdGLEdBQUcsRUFBRSxDQUFJLEdBQXVCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQzVFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDO0tBQ3BELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQWdCLEVBQUUsS0FBYyxFQUFFLEdBQXlDO1FBQ2hHLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUNqQixHQUFHLENBQUMsR0FBYSxFQUFFLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFPLENBQUksR0FBZ0IsRUFBRSxHQUFtQyxFQUFFLFdBQVcsR0FBRyxLQUFLO1FBQ2xHLE1BQU0sSUFBSSxHQUFrQixHQUFHLENBQUMsR0FBYSxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ZELElBQUksSUFBSTtZQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFpQjtRQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRhbnQgZm9yIGdsb2JhbCBjb250ZXh0XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZUtleXMsIFNlc3Npb25TdG9yYWdlS2V5cywgU3RvcmFnZUVudW0gfSBmcm9tIFwiLi9zdG9ydGFnZVwiO1xyXG5cclxuY29uc3Qgc2V0TG9jYWxTdG9yYWdlID0gKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuY29uc3QgZ2V0TG9jYWxTdG9yYWdlID0gKGtleTogc3RyaW5nKSA9PiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG5jb25zdCBjbGVhckxvY2FsU3RvcmFnZSA9ICgpID0+IGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG5jb25zdCBzZXRTZXNzaW9uU3RvcmFnZSA9IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuY29uc3QgZ2V0U2Vzc2lvblN0b3JhZ2UgPSAoa2V5OiBzdHJpbmcpID0+IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuY29uc3QgY2xlYXJTZXNzaW9uU3RvcmFnZSA9ICgpID0+IHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcblxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZUhhbmRsZXIge1xyXG4gIHB1YmxpYyBzdGF0aWMgbG9jYWwgPSB7XHJcbiAgICBzZXQ6IChrZXk6IExvY2FsU3RvcmFnZUtleXMsIHZhbHVlOiB1bmtub3duKSA9PiB0aGlzLnNldEl0ZW0oa2V5LCB2YWx1ZSwgc2V0TG9jYWxTdG9yYWdlKSxcclxuICAgIGdldDogPFQ+KGtleTogTG9jYWxTdG9yYWdlS2V5cykgPT4gdGhpcy5nZXRJdGVtPFQ+KGtleSwgZ2V0TG9jYWxTdG9yYWdlKSxcclxuICAgIGNsZWFyOiAoKSA9PiB0aGlzLmNsZWFyU3RvcmFnZShjbGVhckxvY2FsU3RvcmFnZSlcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgc2Vzc2lvbiA9IHtcclxuICAgIHNldDogKGtleTogU2Vzc2lvblN0b3JhZ2VLZXlzLCB2YWx1ZTogdW5rbm93bikgPT4gdGhpcy5zZXRJdGVtKGtleSwgdmFsdWUsIHNldFNlc3Npb25TdG9yYWdlKSxcclxuICAgIGdldDogPFQ+KGtleTogU2Vzc2lvblN0b3JhZ2VLZXlzKSA9PiB0aGlzLmdldEl0ZW08VD4oa2V5LCBnZXRTZXNzaW9uU3RvcmFnZSksXHJcbiAgICBjbGVhcjogKCkgPT4gdGhpcy5jbGVhclN0b3JhZ2UoY2xlYXJTZXNzaW9uU3RvcmFnZSlcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBzZXRJdGVtKGtleTogU3RvcmFnZUVudW0sIHZhbHVlOiB1bmtub3duLCBzZXQ6IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgaWYgKCFrZXkpIHJldHVybjtcclxuICAgIHNldChrZXkgYXMgc3RyaW5nLCB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyB2YWx1ZSA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRJdGVtPFQ+KGtleTogU3RvcmFnZUVudW0sIGdldDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsLCB3aXRoUGFyc2luZyA9IGZhbHNlKTogVCB8IG51bGwge1xyXG4gICAgY29uc3QgZGF0YTogc3RyaW5nIHwgbnVsbCA9IGdldChrZXkgYXMgc3RyaW5nKSA/PyBudWxsO1xyXG4gICAgaWYgKGRhdGEpIHJldHVybiB3aXRoUGFyc2luZyA/IEpTT04ucGFyc2UoZGF0YSkgOiBkYXRhO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjbGVhclN0b3JhZ2UoY2xlYXI6ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGNsZWFyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var LocalStorageKeys;
|
|
2
|
+
(function (LocalStorageKeys) {
|
|
3
|
+
LocalStorageKeys["LANGUAGE"] = "LANGUAGE";
|
|
4
|
+
LocalStorageKeys["TOKEN"] = "TOKEN";
|
|
5
|
+
})(LocalStorageKeys || (LocalStorageKeys = {}));
|
|
6
|
+
export var SessionStorageKeys;
|
|
7
|
+
(function (SessionStorageKeys) {
|
|
8
|
+
})(SessionStorageKeys || (SessionStorageKeys = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcnRhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL3N0b3J0YWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIseUNBQXFCLENBQUE7SUFDckIsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUFxQjtBQUFqQyxXQUFZLGtCQUFrQjtBQUFFLENBQUMsRUFBckIsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUFHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XHJcbiAgTEFOR1VBR0UgPSBcIkxBTkdVQUdFXCIsXHJcbiAgVE9LRU4gPSBcIlRPS0VOXCJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU2Vzc2lvblN0b3JhZ2VLZXlzIHt9XHJcbmV4cG9ydCB0eXBlIFN0b3JhZ2VFbnVtID0gU2Vzc2lvblN0b3JhZ2VLZXlzIHwgTG9jYWxTdG9yYWdlS2V5cztcclxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const COMMON_BASE_URL = "common/api/v1";
|
|
2
|
+
export const APP_HTTP_CONFIG = {
|
|
3
|
+
BOARD_BASE_URL: "board-acl/private/v1",
|
|
4
|
+
MEETING_BASE_URL: "meeting-acl/private/v1",
|
|
5
|
+
IGATE_BASE_URL: COMMON_BASE_URL + "/igate-users",
|
|
6
|
+
LOV_BASE_URL: COMMON_BASE_URL + "/lov",
|
|
7
|
+
ATTACHMENT_BASE_URL: COMMON_BASE_URL + "/attachment"
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWh0dHAtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvYXBwLWh0dHAtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLGNBQWMsRUFBRSxzQkFBc0I7SUFDdEMsZ0JBQWdCLEVBQUUsd0JBQXdCO0lBQzFDLGNBQWMsRUFBRSxlQUFlLEdBQUcsY0FBYztJQUNoRCxZQUFZLEVBQUUsZUFBZSxHQUFHLE1BQU07SUFDdEMsbUJBQW1CLEVBQUUsZUFBZSxHQUFHLGFBQWE7Q0FDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDT01NT05fQkFTRV9VUkwgPSBcImNvbW1vbi9hcGkvdjFcIjtcclxuZXhwb3J0IGNvbnN0IEFQUF9IVFRQX0NPTkZJRyA9IHtcclxuICBCT0FSRF9CQVNFX1VSTDogXCJib2FyZC1hY2wvcHJpdmF0ZS92MVwiLFxyXG4gIE1FRVRJTkdfQkFTRV9VUkw6IFwibWVldGluZy1hY2wvcHJpdmF0ZS92MVwiLFxyXG4gIElHQVRFX0JBU0VfVVJMOiBDT01NT05fQkFTRV9VUkwgKyBcIi9pZ2F0ZS11c2Vyc1wiLFxyXG4gIExPVl9CQVNFX1VSTDogQ09NTU9OX0JBU0VfVVJMICsgXCIvbG92XCIsXHJcbiAgQVRUQUNITUVOVF9CQVNFX1VSTDogQ09NTU9OX0JBU0VfVVJMICsgXCIvYXR0YWNobWVudFwiXHJcbn07XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Inject, inject, Injectable } from "@angular/core";
|
|
2
|
+
import { finalize, tap } from "rxjs";
|
|
3
|
+
import { IS_SYSTEM_LOADER, USE_API_PREFIX } from "../handlers/http-context-handler";
|
|
4
|
+
import { AuthService } from "../services/auth.service";
|
|
5
|
+
import { LoaderService } from "../services/loader.service";
|
|
6
|
+
import { CORE_CONFIG } from "../core-config";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class HttpBaseInterceptor {
|
|
9
|
+
constructor(appConfig) {
|
|
10
|
+
this.appConfig = appConfig;
|
|
11
|
+
this.authService = inject(AuthService);
|
|
12
|
+
this.loaderService = inject(LoaderService);
|
|
13
|
+
}
|
|
14
|
+
intercept(request, next) {
|
|
15
|
+
const useApiPrefix = request.context.get(USE_API_PREFIX);
|
|
16
|
+
const URL = `${this.appConfig.gatewayUrl}${useApiPrefix ? this.appConfig.apiPrefix : ""}${request.url}`;
|
|
17
|
+
const token = this.authService.getUserToken();
|
|
18
|
+
// Handler header
|
|
19
|
+
request = request.clone({
|
|
20
|
+
url: URL,
|
|
21
|
+
setHeaders: {
|
|
22
|
+
Authorization: `Bearer ${token}`,
|
|
23
|
+
Language: "en",
|
|
24
|
+
...request.headers
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
// Handle loader
|
|
28
|
+
const IS_SYSTEM_LOADER_CHECK = request.context.get(IS_SYSTEM_LOADER);
|
|
29
|
+
this.loaderService.setLoading(true, IS_SYSTEM_LOADER_CHECK, request.url);
|
|
30
|
+
return next.handle(request).pipe(
|
|
31
|
+
// Handler Token
|
|
32
|
+
tap((event) => {
|
|
33
|
+
// if (event instanceof HttpResponse && request.url.includes(User_Token)) {
|
|
34
|
+
// Set user token ..
|
|
35
|
+
// }
|
|
36
|
+
}), finalize(() => this.loaderService.setLoading(false, IS_SYSTEM_LOADER_CHECK, request.url)));
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HttpBaseInterceptor, deps: [{ token: CORE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HttpBaseInterceptor }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HttpBaseInterceptor, decorators: [{
|
|
42
|
+
type: Injectable
|
|
43
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: [CORE_CONFIG]
|
|
46
|
+
}] }] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvYmFzZS1odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3pELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBMkMsU0FBcUI7UUFBckIsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUhoRSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU2QixDQUFDO0lBRXBFLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4RyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTlDLGlCQUFpQjtRQUNqQixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QixHQUFHLEVBQUUsR0FBRztZQUNSLFVBQVUsRUFBRTtnQkFDVixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7Z0JBQ2hDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEdBQUcsT0FBTyxDQUFDLE9BQU87YUFDbkI7U0FDRixDQUFDLENBQUM7UUFFSCxnQkFBZ0I7UUFDaEIsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUk7UUFDOUIsZ0JBQWdCO1FBQ2hCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osNEVBQTRFO1lBQzVFLG9CQUFvQjtZQUNwQixLQUFLO1FBQ1AsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDMUYsQ0FBQztJQUNKLENBQUM7OEdBbENVLG1CQUFtQixrQkFJVixXQUFXO2tIQUpwQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUtJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSVNfU1lTVEVNX0xPQURFUiwgVVNFX0FQSV9QUkVGSVggfSBmcm9tIFwiLi4vaGFuZGxlcnMvaHR0cC1jb250ZXh0LWhhbmRsZXJcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9hZGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ09SRV9DT05GSUcsIENvcmVDb25maWcgfSBmcm9tIFwiLi4vY29yZS1jb25maWdcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBCYXNlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcclxuICBsb2FkZXJTZXJ2aWNlID0gaW5qZWN0KExvYWRlclNlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPUkVfQ09ORklHKSBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBDb3JlQ29uZmlnKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcclxuICAgIGNvbnN0IHVzZUFwaVByZWZpeCA9IHJlcXVlc3QuY29udGV4dC5nZXQoVVNFX0FQSV9QUkVGSVgpO1xyXG4gICAgY29uc3QgVVJMID0gYCR7dGhpcy5hcHBDb25maWcuZ2F0ZXdheVVybH0ke3VzZUFwaVByZWZpeCA/IHRoaXMuYXBwQ29uZmlnLmFwaVByZWZpeCA6IFwiXCJ9JHtyZXF1ZXN0LnVybH1gO1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJUb2tlbigpO1xyXG5cclxuICAgIC8vIEhhbmRsZXIgaGVhZGVyXHJcbiAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgIHVybDogVVJMLFxyXG4gICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXHJcbiAgICAgICAgTGFuZ3VhZ2U6IFwiZW5cIixcclxuICAgICAgICAuLi5yZXF1ZXN0LmhlYWRlcnNcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gSGFuZGxlIGxvYWRlclxyXG4gICAgY29uc3QgSVNfU1lTVEVNX0xPQURFUl9DSEVDSyA9IHJlcXVlc3QuY29udGV4dC5nZXQoSVNfU1lTVEVNX0xPQURFUik7XHJcbiAgICB0aGlzLmxvYWRlclNlcnZpY2Uuc2V0TG9hZGluZyh0cnVlLCBJU19TWVNURU1fTE9BREVSX0NIRUNLLCByZXF1ZXN0LnVybCk7XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgIC8vIEhhbmRsZXIgVG9rZW5cclxuICAgICAgdGFwKChldmVudCkgPT4ge1xyXG4gICAgICAgIC8vICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UgJiYgcmVxdWVzdC51cmwuaW5jbHVkZXMoVXNlcl9Ub2tlbikpIHtcclxuICAgICAgICAvLyBTZXQgdXNlciB0b2tlbiAuLlxyXG4gICAgICAgIC8vICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRlclNlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSwgSVNfU1lTVEVNX0xPQURFUl9DSEVDSywgcmVxdWVzdC51cmwpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { retry, timer } from 'rxjs';
|
|
2
|
+
export class GlobalHttpErrorInterceptor {
|
|
3
|
+
// check if it is a server error to retry the request
|
|
4
|
+
shouldRetry(error) {
|
|
5
|
+
if (error.status >= 500) {
|
|
6
|
+
return timer(1000);
|
|
7
|
+
}
|
|
8
|
+
throw error;
|
|
9
|
+
}
|
|
10
|
+
intercept(request, next) {
|
|
11
|
+
return next.handle(request).pipe(retry({
|
|
12
|
+
count: 1,
|
|
13
|
+
delay: this.shouldRetry
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWh0dHAtZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2ludGVyY2VwdG9ycy9nbG9iYWwtaHR0cC1lcnJvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLHFEQUFxRDtJQUNyRCxXQUFXLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixLQUFLLENBQUM7WUFDSixLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztTQUN4QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCByZXRyeSwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxIdHRwRXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgLy8gY2hlY2sgaWYgaXQgaXMgYSBzZXJ2ZXIgZXJyb3IgdG8gcmV0cnkgdGhlIHJlcXVlc3RcclxuICBzaG91bGRSZXRyeShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGlmIChlcnJvci5zdGF0dXMgPj0gNTAwKSB7XHJcbiAgICAgIHJldHVybiB0aW1lcigxMDAwKTtcclxuICAgIH1cclxuICAgIHRocm93IGVycm9yO1xyXG4gIH1cclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgcmV0cnkoe1xyXG4gICAgICAgIGNvdW50OiAxLFxyXG4gICAgICAgIGRlbGF5OiB0aGlzLnNob3VsZFJldHJ5XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./app-http-config";
|
|
2
|
+
export * from "./base-http.interceptor";
|
|
3
|
+
export * from "./global-http-error.interceptor";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FwcC1odHRwLWNvbmZpZ1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9iYXNlLWh0dHAuaW50ZXJjZXB0b3JcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vZ2xvYmFsLWh0dHAtZXJyb3IuaW50ZXJjZXB0b3JcIjtcclxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./router-data.interface";
|
|
2
|
+
export * from "./list-response.interface";
|
|
3
|
+
export * from "./user-info.interface";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9yb3V0ZXItZGF0YS5pbnRlcmZhY2VcIlxyXG5leHBvcnQgKiBmcm9tIFwiLi9saXN0LXJlc3BvbnNlLmludGVyZmFjZVwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItaW5mby5pbnRlcmZhY2VcIlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LXRva2VuLWRlY29kZWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL2p3dC10b2tlbi1kZWNvZGVkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnd0UGF5bG9hZCB9IGZyb20gXCJqd3QtZGVjb2RlXCI7XHJcbmltcG9ydCB7IFVzZXJQcm9maWxlRGF0YSB9IGZyb20gXCIuL3VzZXItcHJvZmlsZS1kYXRhXCI7XHJcbmV4cG9ydCBpbnRlcmZhY2UgSldURGVjb2RlZCBleHRlbmRzIEp3dFBheWxvYWQge1xyXG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcclxuICByb2xlOiBzdHJpbmc7XHJcbiAgcHJvZmlsZTogVXNlclByb2ZpbGVEYXRhO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZXNwb25zZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvbGlzdC1yZXNwb25zZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlc3BvbnNlPFQ+IHtcclxuICBkYXRhOiBUO1xyXG4gIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcclxuICB0b3RhbFBhZ2VzOiBudW1iZXI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWRhdGEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL3JvdXRlci1kYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7UGVybWlzc2lvbnNBY3Rpb25zLCBVc2VyUGVybWlzc2lvbnNFbnVtfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVEYXRhIHtcclxuICBicmVhZGNydW1iPzogKChkYXRhOiBSb3V0ZURhdGEpID0+IHN0cmluZykgfCBzdHJpbmc7XHJcbiAgc2hvd0JyZWFkY3J1bWI/OiBib29sZWFuO1xyXG4gIGlzQ2xpY2thYmxlSW5CcmVhZGNydW1iPzogYm9vbGVhbjtcclxuICBwZXJtaXNzaW9ucz86IFJvdXRlUGVybWlzc2lvbnNJbmZvO1xyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUGVybWlzc2lvbnNJbmZvIHtcclxuICBrZXk6IFVzZXJQZXJtaXNzaW9uc0VudW07XHJcbiAgYWN0aW9uOiBQZXJtaXNzaW9uc0FjdGlvbnM7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBBcHBSb3V0ZSBleHRlbmRzIFJvdXRlIHtcclxuICBkYXRhPzogUm91dGVEYXRhO1xyXG4gIGNoaWxkcmVuPzogQXBwUm91dGVbXTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbmZvLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy91c2VyLWluZm8uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFVzZXJJbmZvIHtcclxuICAgIHVzZXJOYW1lOnN0cmluZztcclxuICAgIGVtYWlsOnN0cmluZztcclxufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvdXNlci1wcm9maWxlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVEYXRhIHtcclxuICBjb250YWN0OiBDb250YWN0O1xyXG4gIHBvc2l0aW9uOiBQb3NpdGlvbjtcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIHByb2ZpbGVJbWFnZTogc3RyaW5nO1xyXG4gIG5hbWVFbjogc3RyaW5nO1xyXG4gIG5hbWVBcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhY3Qge1xyXG4gIG1vYmlsZTogc3RyaW5nO1xyXG4gIHdvcms6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XHJcbiAgY29kZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Inject, Injectable } from "@angular/core";
|
|
2
|
+
import { BehaviorSubject } from "rxjs";
|
|
3
|
+
import { StorageHandler } from "../handlers/storage-handler";
|
|
4
|
+
import { LocalStorageKeys } from "../handlers/stortage";
|
|
5
|
+
import { BaseHttpService } from "./base-http-service";
|
|
6
|
+
import { CORE_CONFIG } from "../core-config";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AuthService extends BaseHttpService {
|
|
9
|
+
constructor(appConfig) {
|
|
10
|
+
super();
|
|
11
|
+
this.appConfig = appConfig;
|
|
12
|
+
this.isUserLoggedIn$ = new BehaviorSubject(this.isLoggedIn());
|
|
13
|
+
}
|
|
14
|
+
setApiConfig() {
|
|
15
|
+
return {
|
|
16
|
+
apiUrl: "",
|
|
17
|
+
microServiceUrl: ""
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
initAuthentication() {
|
|
21
|
+
const token = new URLSearchParams(window.location.search).get("token");
|
|
22
|
+
if (token) {
|
|
23
|
+
this.setAuthentication(token);
|
|
24
|
+
window.location.search = "";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
setAuthentication(token) {
|
|
28
|
+
this.isUserLoggedIn$.next(true);
|
|
29
|
+
this.setUserToken(token);
|
|
30
|
+
}
|
|
31
|
+
isLoggedIn() {
|
|
32
|
+
return !!this.getUserToken();
|
|
33
|
+
}
|
|
34
|
+
getUserToken() {
|
|
35
|
+
return StorageHandler.local.get(LocalStorageKeys.TOKEN);
|
|
36
|
+
}
|
|
37
|
+
setUserToken(token) {
|
|
38
|
+
return StorageHandler.local.set(LocalStorageKeys.TOKEN, token);
|
|
39
|
+
}
|
|
40
|
+
logoutFromSSO() {
|
|
41
|
+
const logoutUrl = this.appConfig.logoutEndpoint;
|
|
42
|
+
return this.single("", {
|
|
43
|
+
urlRewrite: logoutUrl
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
clearAuth() {
|
|
47
|
+
StorageHandler.local.clear();
|
|
48
|
+
StorageHandler.session.clear();
|
|
49
|
+
this.isUserLoggedIn$.next(false);
|
|
50
|
+
window.location.href = this.appConfig.loginUrl;
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AuthService, deps: [{ token: CORE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
53
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AuthService, providedIn: "root" }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AuthService, decorators: [{
|
|
56
|
+
type: Injectable,
|
|
57
|
+
args: [{
|
|
58
|
+
providedIn: "root"
|
|
59
|
+
}]
|
|
60
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
61
|
+
type: Inject,
|
|
62
|
+
args: [CORE_CONFIG]
|
|
63
|
+
}] }] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBRzlDLFlBQTJDLFNBQXFCO1FBQzlELEtBQUssRUFBRSxDQUFDO1FBRGlDLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFGekQsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUloRSxDQUFDO0lBRVEsWUFBWTtRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFLEVBQUU7WUFDVixlQUFlLEVBQUUsRUFBRTtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEtBQUssR0FBa0IsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEYsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBVSxFQUFFLEVBQUU7WUFDOUIsVUFBVSxFQUFFLFNBQVM7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQzs4R0FuRFUsV0FBVyxrQkFHRixXQUFXO2tIQUhwQixXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUljLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VIYW5kbGVyIH0gZnJvbSBcIi4uL2hhbmRsZXJzL3N0b3JhZ2UtaGFuZGxlclwiO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VLZXlzIH0gZnJvbSBcIi4uL2hhbmRsZXJzL3N0b3J0YWdlXCI7XHJcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgSHR0cENvbmZpZyB9IGZyb20gXCIuL2Jhc2UtaHR0cC1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENPUkVfQ09ORklHLCBDb3JlQ29uZmlnIH0gZnJvbSBcIi4uL2NvcmUtY29uZmlnXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlIHtcclxuICBwdWJsaWMgaXNVc2VyTG9nZ2VkSW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmlzTG9nZ2VkSW4oKSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ09SRV9DT05GSUcpIHByb3RlY3RlZCBhcHBDb25maWc6IENvcmVDb25maWcpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBzZXRBcGlDb25maWcoKTogSHR0cENvbmZpZyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhcGlVcmw6IFwiXCIsXHJcbiAgICAgIG1pY3JvU2VydmljZVVybDogXCJcIlxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGluaXRBdXRoZW50aWNhdGlvbigpIHtcclxuICAgIGNvbnN0IHRva2VuOiBzdHJpbmcgfCBudWxsID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoXCJ0b2tlblwiKTtcclxuICAgIGlmICh0b2tlbikge1xyXG4gICAgICB0aGlzLnNldEF1dGhlbnRpY2F0aW9uKHRva2VuKTtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLnNlYXJjaCA9IFwiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRBdXRoZW50aWNhdGlvbih0b2tlbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmlzVXNlckxvZ2dlZEluJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5zZXRVc2VyVG9rZW4odG9rZW4pO1xyXG4gIH1cclxuXHJcbiAgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuZ2V0VXNlclRva2VuKCk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gU3RvcmFnZUhhbmRsZXIubG9jYWwuZ2V0KExvY2FsU3RvcmFnZUtleXMuVE9LRU4pO1xyXG4gIH1cclxuXHJcbiAgc2V0VXNlclRva2VuKHRva2VuPzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gU3RvcmFnZUhhbmRsZXIubG9jYWwuc2V0KExvY2FsU3RvcmFnZUtleXMuVE9LRU4sIHRva2VuKTtcclxuICB9XHJcblxyXG4gIGxvZ291dEZyb21TU08oKSB7XHJcbiAgICBjb25zdCBsb2dvdXRVcmwgPSB0aGlzLmFwcENvbmZpZy5sb2dvdXRFbmRwb2ludDtcclxuICAgIHJldHVybiB0aGlzLnNpbmdsZTx1bmtub3duPihcIlwiLCB7XHJcbiAgICAgIHVybFJld3JpdGU6IGxvZ291dFVybFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckF1dGgoKSB7XHJcbiAgICBTdG9yYWdlSGFuZGxlci5sb2NhbC5jbGVhcigpO1xyXG4gICAgU3RvcmFnZUhhbmRsZXIuc2Vzc2lvbi5jbGVhcigpO1xyXG4gICAgdGhpcy5pc1VzZXJMb2dnZWRJbiQubmV4dChmYWxzZSk7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuYXBwQ29uZmlnLmxvZ2luVXJsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9iYXNlLWh0dHAtc2VydmljZS9iYXNlLWh0dHAtcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQmFzZUh0dHBSZXNwb25zZTxUPiB7XHJcbiAgY29kZTogbnVtYmVyO1xyXG4gIGVycm9yczogQmFzZUVycm9yO1xyXG4gIHBheWxvYWQ6IFQ7XHJcbiAgc2VydmljZVRpbWU6IHN0cmluZztcclxuICBzdWNjZXNzOiBib29sZWFuO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQmFzZUVycm9yIHtcclxuICBlcnJvckNvZGU6IHN0cmluZztcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgdGltZXN0YW1wOiBzdHJpbmc7XHJcbiAgcGFyYW06IHN0cmluZ1tdO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const HttpRequestOptionsKeys = ['headers', 'params', 'context', 'reportProgress', 'observe', 'responseType'];
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9iYXNlLWh0dHAtc2VydmljZS9iYXNlLWh0dHAtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JBLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUNqQyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUGFyYW1zIGFzIFJvdXRlclBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDb25maWcge1xyXG4gIGFwaVVybD86IHN0cmluZztcclxuICBtaWNyb1NlcnZpY2VVcmw6c3RyaW5nO1xyXG4gIGdsb2JhbE1hcEZuPzogKHJlczogYW55KSA9PiBhbnk7XHJcbiAgbWV0aG9kcz86IFNlcnZpY2VDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhcmFtcyA9XHJcbiAgfCBIdHRwUGFyYW1zXHJcbiAgfCB7IFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmtub3duIH07XHJcbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHtcclxuICBoZWFkZXJzPzpcclxuICAgIHwgSHR0cEhlYWRlcnNcclxuICAgIHwgUm91dGVyUGFyYW1zXHJcbiAgICB8IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfTtcclxuICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwgeyBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0gfCBQYXJhbXM7XHJcbiAgY29udGV4dD86IEh0dHBDb250ZXh0O1xyXG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICBvYnNlcnZlPzogJ2V2ZW50cyc7XHJcbiAgcmVzcG9uc2VUeXBlPzogc3RyaW5nO1xyXG59O1xyXG5leHBvcnQgY29uc3QgSHR0cFJlcXVlc3RPcHRpb25zS2V5czogQXJyYXk8a2V5b2YgUmVxdWlyZWQ8SHR0cFJlcXVlc3RPcHRpb25zPj4gPVxyXG4gIFsnaGVhZGVycycsICdwYXJhbXMnLCAnY29udGV4dCcsICdyZXBvcnRQcm9ncmVzcycsICdvYnNlcnZlJywgJ3Jlc3BvbnNlVHlwZSddO1xyXG5cclxuZXhwb3J0IHR5cGUgSHR0cE9wdGlvbnM8VCA9IGFueT4gPSBIdHRwUmVxdWVzdE9wdGlvbnMgJiB7XHJcbiAgdXJsUmV3cml0ZT86IHN0cmluZztcclxuICB1cmxQb3N0Zml4Pzogc3RyaW5nO1xyXG4gIG1hcEZuPzogKHJlczogYW55KSA9PiBUO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlQ29uZmlnIHtcclxuICBzaW5nbGU/OiBIdHRwT3B0aW9ucztcclxuICBnZXRBbGw/OiBIdHRwT3B0aW9ucztcclxuICBhZGQ/OiBIdHRwT3B0aW9ucztcclxuICB1cGRhdGU/OiBIdHRwT3B0aW9ucztcclxuICBkZWxldGU/OiBIdHRwT3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnREVMRVRFJztcclxuIl19
|