@corp-products/app-core 1.0.3 → 1.0.5

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.
Files changed (26) hide show
  1. package/esm2022/lib/core/components/index.mjs +2 -5
  2. package/esm2022/lib/core/core-config.mjs +1 -1
  3. package/esm2022/lib/core/handlers/http-context-handler.mjs +6 -2
  4. package/esm2022/lib/core/interceptors/base-http.interceptor.mjs +4 -4
  5. package/esm2022/lib/core/services/base-http-service/base-http-utils.mjs +6 -6
  6. package/fesm2022/corp-products-app-core.mjs +57 -288
  7. package/fesm2022/corp-products-app-core.mjs.map +1 -1
  8. package/lib/core/components/index.d.ts +1 -4
  9. package/lib/core/core-config.d.ts +1 -1
  10. package/lib/core/handlers/http-context-handler.d.ts +3 -1
  11. package/lib/core/services/base-http-service/base-http-utils.d.ts +2 -2
  12. package/package.json +2 -3
  13. package/esm2022/lib/core/components/app-breadcrumb/app-breadcrumb.component.mjs +0 -105
  14. package/esm2022/lib/core/components/app-breadcrumb/app-breadcrumb.interface.mjs +0 -2
  15. package/esm2022/lib/core/components/app-header/app-header.component.mjs +0 -51
  16. package/esm2022/lib/core/components/app-side-menu/app-side-menu.component.mjs +0 -31
  17. package/esm2022/lib/core/components/app-side-menu/routes-names.mjs +0 -27
  18. package/esm2022/lib/core/components/app-side-menu/side-menu-items.mjs +0 -44
  19. package/esm2022/lib/core/components/app-side-menu/side-menu.mjs +0 -2
  20. package/lib/core/components/app-breadcrumb/app-breadcrumb.component.d.ts +0 -18
  21. package/lib/core/components/app-breadcrumb/app-breadcrumb.interface.d.ts +0 -12
  22. package/lib/core/components/app-header/app-header.component.d.ts +0 -19
  23. package/lib/core/components/app-side-menu/app-side-menu.component.d.ts +0 -13
  24. package/lib/core/components/app-side-menu/routes-names.d.ts +0 -2
  25. package/lib/core/components/app-side-menu/side-menu-items.d.ts +0 -2
  26. package/lib/core/components/app-side-menu/side-menu.d.ts +0 -11
@@ -1,5 +1,2 @@
1
- export * from './app-breadcrumb/app-breadcrumb.component';
2
- export * from './app-header/app-header.component';
3
- export * from './app-side-menu/app-side-menu.component';
4
- export * from './global-loader/global-loader.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwLWJyZWFkY3J1bWIvYXBwLWJyZWFkY3J1bWIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAtaGVhZGVyL2FwcC1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAtc2lkZS1tZW51L2FwcC1zaWRlLW1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9nbG9iYWwtbG9hZGVyL2dsb2JhbC1sb2FkZXIuY29tcG9uZW50JztcclxuIl19
1
+ export * from "./global-loader/global-loader.component";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2dsb2JhbC1sb2FkZXIvZ2xvYmFsLWxvYWRlci5jb21wb25lbnRcIjtcclxuIl19
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from "@angular/core";
2
2
  export const CORE_CONFIG = new InjectionToken("CoreConfig");
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFhLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3JlQ29uZmlnIHtcclxuICBhcGlVcmw6IHN0cmluZztcclxuICBwcm9kdWN0aW9uOiBib29sZWFuO1xyXG4gIGdhdGV3YXlVcmw6IHN0cmluZztcclxuICBsb2dpblVybDogc3RyaW5nO1xyXG4gIGxvZ291dEVuZHBvaW50OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDT1JFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb3JlQ29uZmlnPihcIkNvcmVDb25maWdcIik7XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2NvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFhLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3JlQ29uZmlnIHtcclxuICBhcGlQcmVmaXg6IHN0cmluZztcclxuICBwcm9kdWN0aW9uOiBib29sZWFuO1xyXG4gIGdhdGV3YXlVcmw6IHN0cmluZztcclxuICBsb2dpblVybDogc3RyaW5nO1xyXG4gIGxvZ291dEVuZHBvaW50OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDT1JFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb3JlQ29uZmlnPihcIkNvcmVDb25maWdcIik7XHJcbiJdfQ==
@@ -1,8 +1,12 @@
1
- import { HttpContext, HttpContextToken } from '@angular/common/http';
1
+ import { HttpContext, HttpContextToken } from "@angular/common/http";
2
2
  export const IS_SYSTEM_LOADER = new HttpContextToken(() => true); // set default loader
3
+ export const USE_API_PREFIX = new HttpContextToken(() => true); // set default loader
3
4
  export class HttpContextHandler {
4
5
  static setLoaderType(isSystemLoader) {
5
6
  return new HttpContext().set(IS_SYSTEM_LOADER, isSystemLoader);
6
7
  }
8
+ static useApiPrefix(hasBaseSegment) {
9
+ return new HttpContext().set(USE_API_PREFIX, hasBaseSegment);
10
+ }
7
11
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jb250ZXh0LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL2h0dHAtY29udGV4dC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCO0FBRWhHLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUF1QjtRQUMxQyxPQUFPLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0LCBIdHRwQ29udGV4dFRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuZXhwb3J0IGNvbnN0IElTX1NZU1RFTV9MT0FERVIgPSBuZXcgSHR0cENvbnRleHRUb2tlbjxib29sZWFuPigoKSA9PiB0cnVlKTsgLy8gc2V0IGRlZmF1bHQgbG9hZGVyXHJcblxyXG5leHBvcnQgY2xhc3MgSHR0cENvbnRleHRIYW5kbGVyIHtcclxuICBzdGF0aWMgc2V0TG9hZGVyVHlwZShpc1N5c3RlbUxvYWRlcjogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwQ29udGV4dCgpLnNldChJU19TWVNURU1fTE9BREVSLCBpc1N5c3RlbUxvYWRlcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jb250ZXh0LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL2h0dHAtY29udGV4dC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCO0FBQ2hHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCO0FBRTlGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUF1QjtRQUMxQyxPQUFPLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQXVCO1FBQ3pDLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0LCBIdHRwQ29udGV4dFRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5leHBvcnQgY29uc3QgSVNfU1lTVEVNX0xPQURFUiA9IG5ldyBIdHRwQ29udGV4dFRva2VuPGJvb2xlYW4+KCgpID0+IHRydWUpOyAvLyBzZXQgZGVmYXVsdCBsb2FkZXJcclxuZXhwb3J0IGNvbnN0IFVTRV9BUElfUFJFRklYID0gbmV3IEh0dHBDb250ZXh0VG9rZW48Ym9vbGVhbj4oKCkgPT4gdHJ1ZSk7IC8vIHNldCBkZWZhdWx0IGxvYWRlclxyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBDb250ZXh0SGFuZGxlciB7XHJcbiAgc3RhdGljIHNldExvYWRlclR5cGUoaXNTeXN0ZW1Mb2FkZXI6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBuZXcgSHR0cENvbnRleHQoKS5zZXQoSVNfU1lTVEVNX0xPQURFUiwgaXNTeXN0ZW1Mb2FkZXIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHVzZUFwaVByZWZpeChoYXNCYXNlU2VnbWVudDogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwQ29udGV4dCgpLnNldChVU0VfQVBJX1BSRUZJWCwgaGFzQmFzZVNlZ21lbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Inject, inject, Injectable } from "@angular/core";
2
2
  import { finalize, tap } from "rxjs";
3
- import { IS_SYSTEM_LOADER } from "../handlers/http-context-handler";
3
+ import { IS_SYSTEM_LOADER, USE_API_PREFIX } from "../handlers/http-context-handler";
4
4
  import { AuthService } from "../services/auth.service";
5
5
  import { LoaderService } from "../services/loader.service";
6
6
  import { CORE_CONFIG } from "../core-config";
@@ -12,8 +12,8 @@ export class HttpBaseInterceptor {
12
12
  this.loaderService = inject(LoaderService);
13
13
  }
14
14
  intercept(request, next) {
15
- console.log("interceptor", this.appConfig);
16
- const URL = `${this.appConfig.gatewayUrl}${request.url}`;
15
+ const useApiPrefix = request.context.get(USE_API_PREFIX);
16
+ const URL = `${this.appConfig.gatewayUrl}${useApiPrefix ? this.appConfig.apiPrefix : ""}${request.url}`;
17
17
  const token = this.authService.getUserToken();
18
18
  // Handler header
19
19
  request = request.clone({
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
43
43
  type: Inject,
44
44
  args: [CORE_CONFIG]
45
45
  }] }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvYmFzZS1odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHekQsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUEyQyxTQUFxQjtRQUFyQixjQUFTLEdBQVQsU0FBUyxDQUFZO1FBSGhFLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRTZCLENBQUM7SUFFcEUsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUMsaUJBQWlCO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3RCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsVUFBVSxFQUFFO2dCQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtnQkFDaEMsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGLENBQUMsQ0FBQztRQUVILGdCQUFnQjtRQUNoQixNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSTtRQUM5QixnQkFBZ0I7UUFDaEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWiw0RUFBNEU7WUFDNUUsb0JBQW9CO1lBQ3BCLEtBQUs7UUFDUCxDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMxRixDQUFDO0lBQ0osQ0FBQzs4R0FqQ1UsbUJBQW1CLGtCQUlWLFdBQVc7a0hBSnBCLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBS0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJU19TWVNURU1fTE9BREVSIH0gZnJvbSBcIi4uL2hhbmRsZXJzL2h0dHAtY29udGV4dC1oYW5kbGVyXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2FkZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENPUkVfQ09ORklHLCBDb3JlQ29uZmlnIH0gZnJvbSBcIi4uL2NvcmUtY29uZmlnXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwQmFzZUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcbiAgbG9hZGVyU2VydmljZSA9IGluamVjdChMb2FkZXJTZXJ2aWNlKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChDT1JFX0NPTkZJRykgcHJvdGVjdGVkIGFwcENvbmZpZzogQ29yZUNvbmZpZykge31cclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBjb25zb2xlLmxvZyhcImludGVyY2VwdG9yXCIsIHRoaXMuYXBwQ29uZmlnKTtcclxuICAgIGNvbnN0IFVSTCA9IGAke3RoaXMuYXBwQ29uZmlnLmdhdGV3YXlVcmx9JHtyZXF1ZXN0LnVybH1gO1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJUb2tlbigpO1xyXG5cclxuICAgIC8vIEhhbmRsZXIgaGVhZGVyXHJcbiAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgIHVybDogVVJMLFxyXG4gICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXHJcbiAgICAgICAgTGFuZ3VhZ2U6IFwiZW5cIlxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBIYW5kbGUgbG9hZGVyXHJcbiAgICBjb25zdCBJU19TWVNURU1fTE9BREVSX0NIRUNLID0gcmVxdWVzdC5jb250ZXh0LmdldChJU19TWVNURU1fTE9BREVSKTtcclxuICAgIHRoaXMubG9hZGVyU2VydmljZS5zZXRMb2FkaW5nKHRydWUsIElTX1NZU1RFTV9MT0FERVJfQ0hFQ0ssIHJlcXVlc3QudXJsKTtcclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgLy8gSGFuZGxlciBUb2tlblxyXG4gICAgICB0YXAoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgLy8gIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSAmJiByZXF1ZXN0LnVybC5pbmNsdWRlcyhVc2VyX1Rva2VuKSkge1xyXG4gICAgICAgIC8vIFNldCB1c2VyIHRva2VuIC4uXHJcbiAgICAgICAgLy8gIH1cclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGVyU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlLCBJU19TWVNURU1fTE9BREVSX0NIRUNLLCByZXF1ZXN0LnVybCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvYmFzZS1odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3pELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBMkMsU0FBcUI7UUFBckIsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUhoRSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU2QixDQUFDO0lBRXBFLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4RyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTlDLGlCQUFpQjtRQUNqQixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QixHQUFHLEVBQUUsR0FBRztZQUNSLFVBQVUsRUFBRTtnQkFDVixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7Z0JBQ2hDLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFFSCxnQkFBZ0I7UUFDaEIsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUk7UUFDOUIsZ0JBQWdCO1FBQ2hCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osNEVBQTRFO1lBQzVFLG9CQUFvQjtZQUNwQixLQUFLO1FBQ1AsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDMUYsQ0FBQztJQUNKLENBQUM7OEdBakNVLG1CQUFtQixrQkFJVixXQUFXO2tIQUpwQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUtJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSVNfU1lTVEVNX0xPQURFUiwgVVNFX0FQSV9QUkVGSVggfSBmcm9tIFwiLi4vaGFuZGxlcnMvaHR0cC1jb250ZXh0LWhhbmRsZXJcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9hZGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ09SRV9DT05GSUcsIENvcmVDb25maWcgfSBmcm9tIFwiLi4vY29yZS1jb25maWdcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBCYXNlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcclxuICBsb2FkZXJTZXJ2aWNlID0gaW5qZWN0KExvYWRlclNlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPUkVfQ09ORklHKSBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBDb3JlQ29uZmlnKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcclxuICAgIGNvbnN0IHVzZUFwaVByZWZpeCA9IHJlcXVlc3QuY29udGV4dC5nZXQoVVNFX0FQSV9QUkVGSVgpO1xyXG4gICAgY29uc3QgVVJMID0gYCR7dGhpcy5hcHBDb25maWcuZ2F0ZXdheVVybH0ke3VzZUFwaVByZWZpeCA/IHRoaXMuYXBwQ29uZmlnLmFwaVByZWZpeCA6IFwiXCJ9JHtyZXF1ZXN0LnVybH1gO1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJUb2tlbigpO1xyXG5cclxuICAgIC8vIEhhbmRsZXIgaGVhZGVyXHJcbiAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgIHVybDogVVJMLFxyXG4gICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXHJcbiAgICAgICAgTGFuZ3VhZ2U6IFwiZW5cIlxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBIYW5kbGUgbG9hZGVyXHJcbiAgICBjb25zdCBJU19TWVNURU1fTE9BREVSX0NIRUNLID0gcmVxdWVzdC5jb250ZXh0LmdldChJU19TWVNURU1fTE9BREVSKTtcclxuICAgIHRoaXMubG9hZGVyU2VydmljZS5zZXRMb2FkaW5nKHRydWUsIElTX1NZU1RFTV9MT0FERVJfQ0hFQ0ssIHJlcXVlc3QudXJsKTtcclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgLy8gSGFuZGxlciBUb2tlblxyXG4gICAgICB0YXAoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgLy8gIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSAmJiByZXF1ZXN0LnVybC5pbmNsdWRlcyhVc2VyX1Rva2VuKSkge1xyXG4gICAgICAgIC8vIFNldCB1c2VyIHRva2VuIC4uXHJcbiAgICAgICAgLy8gIH1cclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGVyU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlLCBJU19TWVNURU1fTE9BREVSX0NIRUNLLCByZXF1ZXN0LnVybCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,13 +1,13 @@
1
- import { map } from 'rxjs/operators';
2
- import { HttpRequestOptionsKeys } from './base-http-types';
1
+ import { map } from "rxjs/operators";
2
+ import { HttpRequestOptionsKeys } from "./base-http-types";
3
3
  export const resolveUrl = (baseUrl, options, ...args) => {
4
4
  const { urlRewrite, urlPostfix } = options || {};
5
5
  if (urlRewrite) {
6
6
  return urlRewrite;
7
7
  }
8
8
  let result = baseUrl;
9
- if (args && args.length > 0 && args[0] !== '') {
10
- result += `/${args.join('/')}`;
9
+ if (args && args.length > 0 && args[0] !== "") {
10
+ result += `/${args.join("/")}`;
11
11
  }
12
12
  if (urlPostfix) {
13
13
  result += `/${urlPostfix}`;
@@ -15,7 +15,7 @@ export const resolveUrl = (baseUrl, options, ...args) => {
15
15
  return result;
16
16
  };
17
17
  export const extractRequestOptions = (options) => {
18
- if (!options || typeof options !== 'object') {
18
+ if (!options || typeof options !== "object") {
19
19
  return {};
20
20
  }
21
21
  /* eslint-disable */
@@ -29,4 +29,4 @@ export const extractRequestOptions = (options) => {
29
29
  };
30
30
  export const mapResponse = (options) => map((res) => (options?.mapFn ? options.mapFn(res) : res));
31
31
  export const epmDefaultMapper = (res) => res.payload;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9iYXNlLWh0dHAtc2VydmljZS9iYXNlLWh0dHAtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBZSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3hFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUN4QixPQUFlLEVBQ2YsT0FBcUIsRUFDckIsR0FBRyxJQUFjLEVBQ1QsRUFBRTtJQUNWLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUVqRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUVyQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDOUMsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBYSxFQUFFLEVBQUU7SUFDckQsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxvQkFBb0I7SUFDcEIsT0FBTyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFtQixFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2hFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUM7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBSSxPQUFxQixFQUFFLEVBQUUsQ0FDdEQsR0FBRyxDQUFDLENBQUMsR0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBSSxHQUF3QixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwT3B0aW9ucywgSHR0cFJlcXVlc3RPcHRpb25zS2V5cyB9IGZyb20gJy4vYmFzZS1odHRwLXR5cGVzJztcclxuaW1wb3J0IHsgQmFzZUh0dHBSZXNwb25zZSB9IGZyb20gJy4vYmFzZS1odHRwLXJlc3BvbnNlJztcclxuXHJcbmV4cG9ydCBjb25zdCByZXNvbHZlVXJsID0gKFxyXG4gIGJhc2VVcmw6IHN0cmluZyxcclxuICBvcHRpb25zPzogSHR0cE9wdGlvbnMsXHJcbiAgLi4uYXJnczogc3RyaW5nW11cclxuKTogc3RyaW5nID0+IHtcclxuICBjb25zdCB7IHVybFJld3JpdGUsIHVybFBvc3RmaXggfSA9IG9wdGlvbnMgfHwge307XHJcblxyXG4gIGlmICh1cmxSZXdyaXRlKSB7XHJcbiAgICByZXR1cm4gdXJsUmV3cml0ZTtcclxuICB9XHJcblxyXG4gIGxldCByZXN1bHQgPSBiYXNlVXJsO1xyXG5cclxuICBpZiAoYXJncyAmJiBhcmdzLmxlbmd0aCA+IDAgJiYgYXJnc1swXSAhPT0gJycpIHtcclxuICAgIHJlc3VsdCArPSBgLyR7YXJncy5qb2luKCcvJyl9YDtcclxuICB9XHJcblxyXG4gIGlmICh1cmxQb3N0Zml4KSB7XHJcbiAgICByZXN1bHQgKz0gYC8ke3VybFBvc3RmaXh9YDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZXh0cmFjdFJlcXVlc3RPcHRpb25zID0gKG9wdGlvbnM/OiBhbnkpID0+IHtcclxuICBpZiAoIW9wdGlvbnMgfHwgdHlwZW9mIG9wdGlvbnMgIT09ICdvYmplY3QnKSB7XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG4gIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgcmV0dXJuIEh0dHBSZXF1ZXN0T3B0aW9uc0tleXMucmVkdWNlKChyZXF1ZXN0T3B0aW9uczogYW55LCBrZXkpID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gb3B0aW9uc1trZXldO1xyXG5cclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJlcXVlc3RPcHRpb25zW2tleV0gPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVxdWVzdE9wdGlvbnM7XHJcbiAgfSwge30pO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IG1hcFJlc3BvbnNlID0gPFQ+KG9wdGlvbnM/OiBIdHRwT3B0aW9ucykgPT5cclxuICBtYXAoKHJlczogVCkgPT4gKG9wdGlvbnM/Lm1hcEZuID8gb3B0aW9ucy5tYXBGbihyZXMpIDogcmVzKSk7XHJcblxyXG5leHBvcnQgY29uc3QgZXBtRGVmYXVsdE1hcHBlciA9IDxUPihyZXM6IEJhc2VIdHRwUmVzcG9uc2U8VD4pID0+IHJlcy5wYXlsb2FkO1xyXG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9iYXNlLWh0dHAtc2VydmljZS9iYXNlLWh0dHAtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBZSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3hFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQWUsRUFBRSxPQUFxQixFQUFFLEdBQUcsSUFBYyxFQUFVLEVBQUU7SUFDOUYsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRWpELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBRXJCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM5QyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxPQUFhLEVBQUUsRUFBRTtJQUNyRCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELG9CQUFvQjtJQUNwQixPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQW1CLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDaEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFJLE9BQXFCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXRILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUksR0FBd0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBIdHRwT3B0aW9ucywgSHR0cFJlcXVlc3RPcHRpb25zS2V5cyB9IGZyb20gXCIuL2Jhc2UtaHR0cC10eXBlc1wiO1xyXG5pbXBvcnQgeyBCYXNlSHR0cFJlc3BvbnNlIH0gZnJvbSBcIi4vYmFzZS1odHRwLXJlc3BvbnNlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgcmVzb2x2ZVVybCA9IChiYXNlVXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucywgLi4uYXJnczogc3RyaW5nW10pOiBzdHJpbmcgPT4ge1xyXG4gIGNvbnN0IHsgdXJsUmV3cml0ZSwgdXJsUG9zdGZpeCB9ID0gb3B0aW9ucyB8fCB7fTtcclxuXHJcbiAgaWYgKHVybFJld3JpdGUpIHtcclxuICAgIHJldHVybiB1cmxSZXdyaXRlO1xyXG4gIH1cclxuXHJcbiAgbGV0IHJlc3VsdCA9IGJhc2VVcmw7XHJcblxyXG4gIGlmIChhcmdzICYmIGFyZ3MubGVuZ3RoID4gMCAmJiBhcmdzWzBdICE9PSBcIlwiKSB7XHJcbiAgICByZXN1bHQgKz0gYC8ke2FyZ3Muam9pbihcIi9cIil9YDtcclxuICB9XHJcblxyXG4gIGlmICh1cmxQb3N0Zml4KSB7XHJcbiAgICByZXN1bHQgKz0gYC8ke3VybFBvc3RmaXh9YDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZXh0cmFjdFJlcXVlc3RPcHRpb25zID0gKG9wdGlvbnM/OiBhbnkpID0+IHtcclxuICBpZiAoIW9wdGlvbnMgfHwgdHlwZW9mIG9wdGlvbnMgIT09IFwib2JqZWN0XCIpIHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcbiAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICByZXR1cm4gSHR0cFJlcXVlc3RPcHRpb25zS2V5cy5yZWR1Y2UoKHJlcXVlc3RPcHRpb25zOiBhbnksIGtleSkgPT4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBvcHRpb25zW2tleV07XHJcblxyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmVxdWVzdE9wdGlvbnNba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXF1ZXN0T3B0aW9ucztcclxuICB9LCB7fSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbWFwUmVzcG9uc2UgPSA8VD4ob3B0aW9ucz86IEh0dHBPcHRpb25zKSA9PiBtYXAoKHJlczogVCkgPT4gKG9wdGlvbnM/Lm1hcEZuID8gb3B0aW9ucy5tYXBGbihyZXMpIDogcmVzKSk7XHJcblxyXG5leHBvcnQgY29uc3QgZXBtRGVmYXVsdE1hcHBlciA9IDxUPihyZXM6IEJhc2VIdHRwUmVzcG9uc2U8VD4pID0+IHJlcy5wYXlsb2FkO1xyXG4iXX0=
@@ -1,18 +1,14 @@
1
- import { CommonModule, NgClass, AsyncPipe } from '@angular/common';
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { ViewEncapsulation, Component, inject, InjectionToken, Inject, Injectable, Input, Directive, EventEmitter, Output } from '@angular/core';
4
- import * as i1 from '@angular/router';
5
- import { NavigationEnd, RouterModule, Router } from '@angular/router';
6
- import { Breadcrumb } from 'primeng/breadcrumb';
7
- import { filter, BehaviorSubject, tap, finalize, timer, retry, from } from 'rxjs';
8
- import { AppButtonComponent } from '@corp-products/ui-components';
9
- import { Menu } from 'primeng/menu';
3
+ import { inject, InjectionToken, Inject, Injectable, Input, Component, Directive } from '@angular/core';
4
+ import * as i2 from '@ngx-translate/core';
5
+ import { TranslatePipe } from '@ngx-translate/core';
10
6
  import { jwtDecode } from 'jwt-decode';
7
+ import { BehaviorSubject, tap, finalize, timer, retry, from } from 'rxjs';
11
8
  import { map } from 'rxjs/operators';
12
9
  import { HttpClient, HttpContextToken, HttpContext, HttpErrorResponse } from '@angular/common/http';
13
- import * as i1$1 from 'primeng/api';
14
- import * as i2 from '@ngx-translate/core';
15
- import { TranslatePipe } from '@ngx-translate/core';
10
+ import * as i1 from 'primeng/api';
11
+ import { Router } from '@angular/router';
16
12
 
17
13
  const PAGESIZE = 10;
18
14
  const PAGE_SIZE_OPTION = [5, 10, 15, 20];
@@ -70,104 +66,6 @@ class BasePaginationService {
70
66
  }
71
67
  }
72
68
 
73
- class AppBreadcrumbComponent {
74
- constructor(activatedRoute, router) {
75
- this.activatedRoute = activatedRoute;
76
- this.router = router;
77
- }
78
- ngOnInit() {
79
- this.router.events
80
- .pipe(filter(event => event instanceof NavigationEnd))
81
- .subscribe((e) => {
82
- // remove duplicates
83
- this.items = this._createBreadcrumbs(this.activatedRoute.root).filter((item, index, self) => index === self.findIndex((t) => t.label === item.label && t.routerLink === item.routerLink));
84
- this._checkHiddenBreadcrumb();
85
- this._checkEmpty();
86
- });
87
- }
88
- _checkHiddenBreadcrumb() {
89
- const activeBreadcrumb = this.items?.find((item) => {
90
- return item.routerLink === this.router.url;
91
- });
92
- this.isShownBreadcrumb = !!activeBreadcrumb?.isShownBreadcrumb;
93
- }
94
- _createBreadcrumbs(activatedRoute, routerLink = '', breadcrumbs = []) {
95
- const children = activatedRoute.children;
96
- if (children.length === 0) {
97
- return breadcrumbs;
98
- }
99
- for (const child of children) {
100
- const routeURL = child.snapshot.url.map(segment => segment.path).join('/');
101
- if (routeURL !== '') {
102
- routerLink += `/${routeURL}`;
103
- }
104
- let label = child.snapshot.data["breadcrumb"];
105
- const notClickableBreadcrumb = !!child.snapshot.data["notClickableBreadcrumb"];
106
- const isShownBreadcrumb = !!child.snapshot.data["isShownBreadcrumb"];
107
- const extraBreadcrumbs = child.snapshot.data["extraBreadcrumbs"] || [];
108
- if (!(typeof label === 'undefined' || label === null)) {
109
- const data = activatedRoute.snapshot.firstChild?.data || {};
110
- // Resolve dynamic breadcrumb label
111
- if (label && label.startsWith("[") && label.endsWith("]")) {
112
- label = this._getRecursiveKey(data, label.slice(1, -1).split("."));
113
- }
114
- // Resolve dynamic URL parts
115
- const resolveDynamicUrl = (route) => {
116
- return route.replace(/\[([^\]]+)]/g, (_, key) => this._getRecursiveKey(data, key.split(".")) || '');
117
- };
118
- const mainBreadcrumb = { label, routerLink, data, notClickableBreadcrumb, isShownBreadcrumb };
119
- // Process extra breadcrumbs
120
- const beforeBreadcrumbs = [];
121
- const afterBreadcrumbs = [];
122
- extraBreadcrumbs.forEach(extra => {
123
- let extraLabel = extra.label || '';
124
- if (extraLabel.startsWith("[") && extraLabel.endsWith("]")) {
125
- extraLabel = this._getRecursiveKey(data, extraLabel.slice(1, -1).split("."));
126
- }
127
- const extraUrl = resolveDynamicUrl(extra.routerLink || '');
128
- const extraBreadcrumb = { ...extra, label: extraLabel, routerLink: extraUrl };
129
- if (extra.position === "before") {
130
- beforeBreadcrumbs.push(extraBreadcrumb);
131
- }
132
- else {
133
- afterBreadcrumbs.push(extraBreadcrumb);
134
- }
135
- });
136
- // Merge breadcrumbs
137
- breadcrumbs.push(...beforeBreadcrumbs, mainBreadcrumb, ...afterBreadcrumbs);
138
- }
139
- return this._createBreadcrumbs(child, routerLink, breadcrumbs);
140
- }
141
- }
142
- _checkEmpty() {
143
- if (!this.items)
144
- return;
145
- const lastBreadcrumbVisibility = this.items[this.items.length - 1].isShownBreadcrumb;
146
- this.items = this.items.filter(b => b.label !== '');
147
- this.items[this.items.length - 1].isShownBreadcrumb = lastBreadcrumbVisibility;
148
- }
149
- _getRecursiveKey(obj, keys) {
150
- if (keys.length === 0) {
151
- return undefined;
152
- }
153
- const [currentKey, ...remainingKeys] = keys;
154
- if (currentKey in obj) {
155
- if (remainingKeys.length > 0) {
156
- return this._getRecursiveKey(obj[currentKey], remainingKeys);
157
- }
158
- return obj[currentKey];
159
- }
160
- return undefined;
161
- }
162
- ;
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "@if(isShownBreadcrumb) {\r\n <nav class=\"flex gap-x-3 text-[12px] w-full items-center mb-5\">\r\n <div class=\"card flex justify-center\">\r\n <p-breadcrumb [model]=\"items\"></p-breadcrumb>\r\n </div>\r\n </nav>\r\n}\r\n", styles: [".p-breadcrumb-list li:first-child a{color:var(--secondary)}.p-breadcrumb-list .p-breadcrumb-separator{transform:scale(.7)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: RouterModule }], encapsulation: i0.ViewEncapsulation.None }); }
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
167
- type: Component,
168
- args: [{ selector: 'app-breadcrumb', standalone: true, imports: [CommonModule, Breadcrumb, RouterModule], encapsulation: ViewEncapsulation.None, template: "@if(isShownBreadcrumb) {\r\n <nav class=\"flex gap-x-3 text-[12px] w-full items-center mb-5\">\r\n <div class=\"card flex justify-center\">\r\n <p-breadcrumb [model]=\"items\"></p-breadcrumb>\r\n </div>\r\n </nav>\r\n}\r\n", styles: [".p-breadcrumb-list li:first-child a{color:var(--secondary)}.p-breadcrumb-list .p-breadcrumb-separator{transform:scale(.7)}\n"] }]
169
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }] });
170
-
171
69
  const setLocalStorage = (key, value) => localStorage.setItem(key, value);
172
70
  const getLocalStorage = (key) => localStorage.getItem(key);
173
71
  const clearLocalStorage = () => localStorage.clear();
@@ -218,8 +116,8 @@ const resolveUrl = (baseUrl, options, ...args) => {
218
116
  return urlRewrite;
219
117
  }
220
118
  let result = baseUrl;
221
- if (args && args.length > 0 && args[0] !== '') {
222
- result += `/${args.join('/')}`;
119
+ if (args && args.length > 0 && args[0] !== "") {
120
+ result += `/${args.join("/")}`;
223
121
  }
224
122
  if (urlPostfix) {
225
123
  result += `/${urlPostfix}`;
@@ -227,7 +125,7 @@ const resolveUrl = (baseUrl, options, ...args) => {
227
125
  return result;
228
126
  };
229
127
  const extractRequestOptions = (options) => {
230
- if (!options || typeof options !== 'object') {
128
+ if (!options || typeof options !== "object") {
231
129
  return {};
232
130
  }
233
131
  /* eslint-disable */
@@ -408,10 +306,14 @@ const APP_HTTP_CONFIG = {
408
306
  };
409
307
 
410
308
  const IS_SYSTEM_LOADER = new HttpContextToken(() => true); // set default loader
309
+ const USE_API_PREFIX = new HttpContextToken(() => true); // set default loader
411
310
  class HttpContextHandler {
412
311
  static setLoaderType(isSystemLoader) {
413
312
  return new HttpContext().set(IS_SYSTEM_LOADER, isSystemLoader);
414
313
  }
314
+ static useApiPrefix(hasBaseSegment) {
315
+ return new HttpContext().set(USE_API_PREFIX, hasBaseSegment);
316
+ }
415
317
  }
416
318
 
417
319
  class LoaderService {
@@ -451,8 +353,8 @@ class HttpBaseInterceptor {
451
353
  this.loaderService = inject(LoaderService);
452
354
  }
453
355
  intercept(request, next) {
454
- console.log("interceptor", this.appConfig);
455
- const URL = `${this.appConfig.gatewayUrl}${request.url}`;
356
+ const useApiPrefix = request.context.get(USE_API_PREFIX);
357
+ const URL = `${this.appConfig.gatewayUrl}${useApiPrefix ? this.appConfig.apiPrefix : ""}${request.url}`;
456
358
  const token = this.authService.getUserToken();
457
359
  // Handler header
458
360
  request = request.clone({
@@ -574,7 +476,7 @@ class ToasterService {
574
476
  clear() {
575
477
  this.messageService.clear(this.mainKey);
576
478
  }
577
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ToasterService, deps: [{ token: i1$1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
479
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ToasterService, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
578
480
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ToasterService, providedIn: "root" }); }
579
481
  }
580
482
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ToasterService, decorators: [{
@@ -582,7 +484,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
582
484
  args: [{
583
485
  providedIn: "root"
584
486
  }]
585
- }], ctorParameters: () => [{ type: i1$1.MessageService }] });
487
+ }], ctorParameters: () => [{ type: i1.MessageService }] });
586
488
 
587
489
  class ErrorHandlerService {
588
490
  constructor(toasterService, translateService) {
@@ -712,6 +614,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
712
614
  }]
713
615
  }] });
714
616
 
617
+ class GlobalLoaderComponent {
618
+ constructor(loaderService) {
619
+ this.loaderService = loaderService;
620
+ }
621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalLoaderComponent, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
622
+ 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" }] }); }
623
+ }
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalLoaderComponent, decorators: [{
625
+ type: Component,
626
+ 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" }]
627
+ }], ctorParameters: () => [{ type: LoaderService }], propDecorators: { color: [{
628
+ type: Input
629
+ }] } });
630
+
631
+ const authGuard = () => {
632
+ const appConfig = inject(CORE_CONFIG);
633
+ const authService = inject(AuthService);
634
+ const token = authService.getUserToken();
635
+ if (!token) {
636
+ window.location.href = appConfig.loginUrl;
637
+ return false;
638
+ }
639
+ return true;
640
+ };
641
+
642
+ const permissionsGuard = (route) => {
643
+ const permissionsService = inject(PermissionsService);
644
+ const router = inject(Router);
645
+ const { key, action } = route.data["permissions"];
646
+ if (!route.data["permissions"] || (route.data["permissions"] && permissionsService.routeGuardChecker(key, action))) {
647
+ return true;
648
+ }
649
+ else {
650
+ router.navigate(["no-access"]);
651
+ return false;
652
+ }
653
+ };
654
+
715
655
  var UserPermissionsEnum;
716
656
  (function (UserPermissionsEnum) {
717
657
  UserPermissionsEnum["BOD"] = "BOD";
@@ -845,180 +785,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
845
785
  type: Input
846
786
  }] } });
847
787
 
848
- class AppHeaderComponent {
849
- constructor(authService) {
850
- this.authService = authService;
851
- this.createButtonClicked = new EventEmitter();
852
- this.toggleMenu = new EventEmitter();
853
- this.items = [
854
- {
855
- items: [
856
- {
857
- label: "خــــروج",
858
- command: () => this.logout()
859
- }
860
- ]
861
- }
862
- ];
863
- this.UserPermissionsEnum = UserPermissionsEnum;
864
- this.PermissionsActions = PermissionsActions;
865
- }
866
- logout() {
867
- this.authService
868
- .logoutFromSSO()
869
- .pipe(finalize(() => {
870
- this.authService.clearAuth();
871
- }))
872
- .subscribe();
873
- }
874
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppHeaderComponent, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
875
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AppHeaderComponent, isStandalone: true, selector: "app-header", inputs: { userInfo: "userInfo" }, outputs: { createButtonClicked: "createButtonClicked", toggleMenu: "toggleMenu" }, ngImport: i0, template: "<div class=\"px-10 flex justify-between items-center bg-white shadow-md py-3 h-16\">\r\n <div class=\"d-flex md:hidden w-fit\">\r\n <!-- Burger Icon for Mobile -->\r\n <app-button icon=\"font-icon-burger-icon text-[25px]\" size=\"large\" variant=\"text\"\r\n (clickEmitter)=\"toggleMenu.emit()\"/>\r\n </div>\r\n <div class=\"d-flex items-center justify-content-between gap-1\">\r\n <app-button\r\n *hasPermissions=\"[PermissionsActions.CREATE];key: UserPermissionsEnum.BOD\"\r\n iconPos=\"right\" icon=\"font-icon-plus\" (clickEmitter)=\"createButtonClicked.emit()\"\r\n [title]=\"'actions.create' | translate\"/>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-1\">\r\n @if (userInfo) {\r\n <div class=\"flex flex-col items-end justify-center\">\r\n <p class=\"text-sm\">{{ userInfo.userName }}</p>\r\n <p class=\"text-gray-500 mb-0 text-[10px]\">{{ userInfo.email }}</p>\r\n </div>\r\n\r\n <img src=\"assets/images/user-placeholder.jpg\" class=\"w-9 h-9 object-cover rounded-full\" alt=\"\"/>\r\n }\r\n <p-menu #menu [model]=\"items\" [popup]=\"true\"></p-menu>\r\n <button (click)=\"menu.toggle($event)\" class=\"mb-2\"><i class=\"font-icon-Vector text-[6px]\"></i></button>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "component", type: AppButtonComponent, selector: "app-button", inputs: ["title", "class", "icon", "size", "style", "iconPos", "variant", "disabled", "text", "rounded"], outputs: ["clickEmitter"] }, { kind: "component", type: Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: HasPermissionsDirective, selector: "[hasPermissions]", inputs: ["hasPermissions", "hasPermissionsKey", "hasPermissionsNewPermissions", "hasPermissionsIsDomain"] }], encapsulation: i0.ViewEncapsulation.None }); }
876
- }
877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppHeaderComponent, decorators: [{
878
- type: Component,
879
- args: [{ selector: "app-header", standalone: true, imports: [RouterModule, AppButtonComponent, Menu, TranslatePipe, HasPermissionsDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"px-10 flex justify-between items-center bg-white shadow-md py-3 h-16\">\r\n <div class=\"d-flex md:hidden w-fit\">\r\n <!-- Burger Icon for Mobile -->\r\n <app-button icon=\"font-icon-burger-icon text-[25px]\" size=\"large\" variant=\"text\"\r\n (clickEmitter)=\"toggleMenu.emit()\"/>\r\n </div>\r\n <div class=\"d-flex items-center justify-content-between gap-1\">\r\n <app-button\r\n *hasPermissions=\"[PermissionsActions.CREATE];key: UserPermissionsEnum.BOD\"\r\n iconPos=\"right\" icon=\"font-icon-plus\" (clickEmitter)=\"createButtonClicked.emit()\"\r\n [title]=\"'actions.create' | translate\"/>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-1\">\r\n @if (userInfo) {\r\n <div class=\"flex flex-col items-end justify-center\">\r\n <p class=\"text-sm\">{{ userInfo.userName }}</p>\r\n <p class=\"text-gray-500 mb-0 text-[10px]\">{{ userInfo.email }}</p>\r\n </div>\r\n\r\n <img src=\"assets/images/user-placeholder.jpg\" class=\"w-9 h-9 object-cover rounded-full\" alt=\"\"/>\r\n }\r\n <p-menu #menu [model]=\"items\" [popup]=\"true\"></p-menu>\r\n <button (click)=\"menu.toggle($event)\" class=\"mb-2\"><i class=\"font-icon-Vector text-[6px]\"></i></button>\r\n </div>\r\n</div>\r\n" }]
880
- }], ctorParameters: () => [{ type: AuthService }], propDecorators: { createButtonClicked: [{
881
- type: Output
882
- }], toggleMenu: [{
883
- type: Output
884
- }], userInfo: [{
885
- type: Input
886
- }] } });
887
-
888
- const ROUTES_NAME = {
889
- board: {
890
- name: '/board-page',
891
- },
892
- users: {
893
- name: '/users',
894
- },
895
- // reports: {
896
- // name: '/reports',
897
- // },
898
- meetings: {
899
- name: '/meeting-page',
900
- },
901
- // tasks: {
902
- // name: '/tasks',
903
- // },
904
- // imported: {
905
- // name: '/imported',
906
- // },
907
- // exported: {
908
- // name: '/exported',
909
- // },
910
- // board: {
911
- // name: '/board',
912
- // },
913
- };
914
-
915
- const BASE_SIDE_MENU_ITEMS = [
916
- {
917
- label: 'الإجتماعات',
918
- icon: 'font-icon-menu-board',
919
- link: ROUTES_NAME['meetings'].name
920
- },
921
- {
922
- label: 'اللجان و المجالس',
923
- icon: 'font-icon-people',
924
- link: ROUTES_NAME['board'].name
925
- },
926
- // {
927
- // label: 'المستخدمين',
928
- // icon: 'font-icon-profile-2user',
929
- // link: ROUTES_NAME['users'].name,
930
- // },
931
- // {
932
- // label: 'الإجتماعات',
933
- // icon: 'font-icon-menu-board',
934
- // link: ROUTES_NAME['meetings'].name,
935
- // },
936
- // {
937
- // label: 'مهامي',
938
- // icon: 'font-icon-task-square',
939
- // link: ROUTES_NAME['tasks'].name,
940
- // },
941
- // {
942
- // label: 'الوارد',
943
- // icon: 'font-icon-directbox-receive',
944
- // link: ROUTES_NAME['imported'].name,
945
- // },
946
- // {
947
- // label: 'الصادر',
948
- // icon: 'font-icon-directbox-send',
949
- // link: ROUTES_NAME['exported'].name,
950
- // },
951
- // {
952
- // label: 'التقارير',
953
- // icon: 'font-icon-status-up',
954
- // link: ROUTES_NAME['reports'].name,
955
- // },
956
- ];
957
-
958
- class AppSideMenuComponent {
959
- constructor() {
960
- this.menuItems = BASE_SIDE_MENU_ITEMS;
961
- this.permissionsService = inject(PermissionsService);
962
- }
963
- ngOnInit() {
964
- this.filteredMenu = this.menuItems.filter((item) => {
965
- if (!item.permissionKey) {
966
- return true;
967
- }
968
- return this.permissionsService.checkKeyHasPermission(item.permissionKey, PermissionsActions.VIEW);
969
- });
970
- }
971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppSideMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
972
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AppSideMenuComponent, isStandalone: true, selector: "app-side-menu", inputs: { isOpen: "isOpen" }, ngImport: i0, template: "<nav\r\n [ngClass]=\"{ 'max-w-0 md:max-w-[500px]': !isOpen, 'max-w-[500px]': isOpen }\"\r\n class=\"md:flex h-100 bg-primary flex text-white flex-col py-2 text-center gap-y-10 transition-all w-24 hover:md:w-48 duration-500\">\r\n <a [routerLink]=\"'/'\"><i class=\"font-icon-STC-Logo text-[20px] pt-4 block px-4\"></i></a>\r\n <ul class=\"flex flex-col flex-grow\">\r\n @for (item of filteredMenu; track $index) {\r\n <li>\r\n <a\r\n [routerLinkActive]=\"'bg-primary_dark border-secondary'\"\r\n [routerLink]=\"item.link\"\r\n class=\"flex flex-col py-3 px-4 border-r-2 border-primary transition-all hover:bg-primary_dark hover:border-secondary\">\r\n <i [class]=\"item.icon + ' text-[17px] mb-1'\"></i>\r\n <span class=\"text-[10px] truncate\">{{ item.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n\r\n <a href=\"#\"><i class=\"font-icon-setting text-[20px] pb-4 block px-4\"></i></a>\r\n</nav>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
973
- }
974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppSideMenuComponent, decorators: [{
975
- type: Component,
976
- args: [{ selector: "app-side-menu", standalone: true, imports: [RouterModule, NgClass], encapsulation: ViewEncapsulation.None, template: "<nav\r\n [ngClass]=\"{ 'max-w-0 md:max-w-[500px]': !isOpen, 'max-w-[500px]': isOpen }\"\r\n class=\"md:flex h-100 bg-primary flex text-white flex-col py-2 text-center gap-y-10 transition-all w-24 hover:md:w-48 duration-500\">\r\n <a [routerLink]=\"'/'\"><i class=\"font-icon-STC-Logo text-[20px] pt-4 block px-4\"></i></a>\r\n <ul class=\"flex flex-col flex-grow\">\r\n @for (item of filteredMenu; track $index) {\r\n <li>\r\n <a\r\n [routerLinkActive]=\"'bg-primary_dark border-secondary'\"\r\n [routerLink]=\"item.link\"\r\n class=\"flex flex-col py-3 px-4 border-r-2 border-primary transition-all hover:bg-primary_dark hover:border-secondary\">\r\n <i [class]=\"item.icon + ' text-[17px] mb-1'\"></i>\r\n <span class=\"text-[10px] truncate\">{{ item.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n\r\n <a href=\"#\"><i class=\"font-icon-setting text-[20px] pb-4 block px-4\"></i></a>\r\n</nav>\r\n" }]
977
- }], propDecorators: { isOpen: [{
978
- type: Input
979
- }] } });
980
-
981
- class GlobalLoaderComponent {
982
- constructor(loaderService) {
983
- this.loaderService = loaderService;
984
- }
985
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalLoaderComponent, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
986
- 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" }] }); }
987
- }
988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalLoaderComponent, decorators: [{
989
- type: Component,
990
- 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" }]
991
- }], ctorParameters: () => [{ type: LoaderService }], propDecorators: { color: [{
992
- type: Input
993
- }] } });
994
-
995
- const authGuard = () => {
996
- const appConfig = inject(CORE_CONFIG);
997
- const authService = inject(AuthService);
998
- const token = authService.getUserToken();
999
- if (!token) {
1000
- window.location.href = appConfig.loginUrl;
1001
- return false;
1002
- }
1003
- return true;
1004
- };
1005
-
1006
- const permissionsGuard = (route) => {
1007
- const permissionsService = inject(PermissionsService);
1008
- const router = inject(Router);
1009
- const { key, action } = route.data["permissions"];
1010
- if (!route.data["permissions"] || (route.data["permissions"] && permissionsService.routeGuardChecker(key, action))) {
1011
- return true;
1012
- }
1013
- else {
1014
- router.navigate(["no-access"]);
1015
- return false;
1016
- }
1017
- };
1018
-
1019
788
  /**
1020
789
  * Generated bundle index. Do not edit.
1021
790
  */
1022
791
 
1023
- export { APP_HTTP_CONFIG, AppBreadcrumbComponent, AppHeaderComponent, AppSideMenuComponent, AuthService, BaseHttpService, BasePaginationService, COMMON_BASE_URL, CORE_CONFIG, ErrorHandlerService, GlobalHttpErrorInterceptor, GlobalLoaderComponent, HasPermissionsDirective, HttpBaseInterceptor, HttpRequestOptionsKeys, JwtDecoderService, ListOfValues, LoaderService, PAGESIZE, PAGE_SIZE_OPTION, PermissionsActions, PermissionsService, SortDirection, ToasterService, UserPermissionsEnum, authGuard, epmDefaultMapper, extractRequestOptions, mapResponse, permissionsGuard, resolveUrl };
792
+ export { APP_HTTP_CONFIG, AuthService, BaseHttpService, BasePaginationService, COMMON_BASE_URL, CORE_CONFIG, ErrorHandlerService, GlobalHttpErrorInterceptor, GlobalLoaderComponent, HasPermissionsDirective, HttpBaseInterceptor, HttpRequestOptionsKeys, JwtDecoderService, ListOfValues, LoaderService, PAGESIZE, PAGE_SIZE_OPTION, PermissionsActions, PermissionsService, SortDirection, ToasterService, UserPermissionsEnum, authGuard, epmDefaultMapper, extractRequestOptions, mapResponse, permissionsGuard, resolveUrl };
1024
793
  //# sourceMappingURL=corp-products-app-core.mjs.map