@corp-products/app-core 3.0.5 → 3.0.7

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.
@@ -368,7 +368,6 @@ const REQUEST_MODIFIER = new InjectionToken('REQUEST_MODIFIER');
368
368
  class HttpBaseInterceptor {
369
369
  appConfig;
370
370
  requestModifier;
371
- authService = inject(AuthService);
372
371
  loaderService = inject(LoaderService);
373
372
  constructor(appConfig, requestModifier) {
374
373
  this.appConfig = appConfig;
@@ -376,8 +375,6 @@ class HttpBaseInterceptor {
376
375
  }
377
376
  intercept(request, next) {
378
377
  console.log('interceptor', this.appConfig);
379
- const useApiPrefix = request.context.get(USE_API_PREFIX);
380
- const URL = `${this.appConfig.gatewayUrl}${useApiPrefix ? this.appConfig.apiPrefix : ''}${request.url}`;
381
378
  request = this.requestModifier(request);
382
379
  // Handle loader
383
380
  const IS_SYSTEM_LOADER_CHECK = request.context.get(IS_SYSTEM_LOADER);
@@ -630,11 +627,11 @@ class GlobalLoaderComponent {
630
627
  this.loaderService = loaderService;
631
628
  }
632
629
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GlobalLoaderComponent, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Component });
633
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", 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: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
630
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GlobalLoaderComponent, isStandalone: true, selector: "global-loader", inputs: { color: "color" }, ngImport: i0, template: "@if (loaderService.isLoading$ | async; as data) {\r\n @if (data && data.show) {\r\n <div class=\"loader bg-{{color}}\" [ngClass]=\"{\r\n 'system-loader': data.isSystemLoader,\r\n 'absolute': !data.isSystemLoader\r\n }\">\r\n <div class=\"flex flex-col gap-5 items-center\">\r\n <div class=\"animate-spin inline-block w-12 h-12 border-[3px] border-current border-t-transparent\r\n text-blue-900 rounded-full\">\r\n </div>\r\n <span>{{ 'shared.loading' | translate }}</span>\r\n </div>\r\n </div>\r\n }\r\n}\r\n\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
634
631
  }
635
632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GlobalLoaderComponent, decorators: [{
636
633
  type: Component,
637
- 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" }]
634
+ args: [{ selector: "global-loader", standalone: true, imports: [AsyncPipe, NgClass, TranslatePipe], template: "@if (loaderService.isLoading$ | async; as data) {\r\n @if (data && data.show) {\r\n <div class=\"loader bg-{{color}}\" [ngClass]=\"{\r\n 'system-loader': data.isSystemLoader,\r\n 'absolute': !data.isSystemLoader\r\n }\">\r\n <div class=\"flex flex-col gap-5 items-center\">\r\n <div class=\"animate-spin inline-block w-12 h-12 border-[3px] border-current border-t-transparent\r\n text-blue-900 rounded-full\">\r\n </div>\r\n <span>{{ 'shared.loading' | translate }}</span>\r\n </div>\r\n </div>\r\n }\r\n}\r\n\r\n" }]
638
635
  }], ctorParameters: () => [{ type: LoaderService }], propDecorators: { color: [{
639
636
  type: Input
640
637
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"corp-products-app-core.mjs","sources":["../../../projects/core/src/lib/services/base-pagination-service/pagination.ts","../../../projects/core/src/lib/services/base-pagination-service/base-pagination.service.ts","../../../projects/core/src/lib/handlers/storage-handler.ts","../../../projects/core/src/lib/handlers/stortage.ts","../../../projects/core/src/lib/core-config.ts","../../../projects/core/src/lib/services/base-http-service/base-http-types.ts","../../../projects/core/src/lib/services/base-http-service/base-http-utils.ts","../../../projects/core/src/lib/services/base-http-service/base-http.service.ts","../../../projects/core/src/lib/services/auth.service.ts","../../../projects/core/src/lib/services/jwt-decoder.service.ts","../../../projects/core/src/lib/interceptors/app-http-config.ts","../../../projects/core/src/lib/handlers/http-context-handler.ts","../../../projects/core/src/lib/services/loader.service.ts","../../../projects/core/src/lib/request-modifier.ts","../../../projects/core/src/lib/interceptors/base-http.interceptor.ts","../../../projects/core/src/lib/interceptors/global-http-error.interceptor.ts","../../../projects/core/src/lib/services/lov.service.ts","../../../projects/core/src/lib/services/error-handler.service.ts","../../../projects/core/src/lib/services/permissions.service.ts","../../../projects/core/src/lib/services/detect-device.service.ts","../../../projects/core/src/lib/components/global-loader/global-loader.component.ts","../../../projects/core/src/lib/components/global-loader/global-loader.component.html","../../../projects/core/src/lib/guards/auth.guard.ts","../../../projects/core/src/lib/guards/permissions.guard.ts","../../../projects/core/src/lib/enums/user-permissions.enum.ts","../../../projects/core/src/lib/enums/date-formatter.enum.ts","../../../projects/core/src/lib/enums/display-types.enum.ts","../../../projects/core/src/lib/enums/localization.enum.ts","../../../projects/core/src/lib/directives/permissions.directive.ts","../../../projects/core/src/lib/directives/responsive-element.directive.ts","../../../projects/core/src/corp-products-app-core.ts"],"sourcesContent":["export const PAGESIZE = 10;\r\nexport const PAGE_SIZE_OPTION = [5, 10, 15, 20];\r\nexport enum SortDirection {\r\n ASC = 'ASC',\r\n DESC = 'DESC'\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { ListOptions } from './list-options.interface';\r\nimport { PAGE_SIZE_OPTION, PAGESIZE, SortDirection } from './pagination';\r\nexport abstract class BasePaginationService<T = any> {\r\n totalRecords = 0;\r\n totalPages = 0;\r\n rowsChange: number = PAGESIZE;\r\n\r\n pageSizes = PAGE_SIZE_OPTION;\r\n defaultSortValue = 'createdAt';\r\n defaultSortDirection = SortDirection.DESC;\r\n first: number | undefined = 0;\r\n\r\n listOptions: ListOptions = {\r\n searchValue: '',\r\n paginator: this.rowsChange,\r\n page: 0,\r\n direction: this.defaultSortDirection,\r\n sortBy: this.defaultSortValue,\r\n };\r\n\r\n abstract getList(listOptions: ListOptions): void | Observable<T>;\r\n\r\n createListFilter(filters: { [key: string]: unknown }): void {\r\n this.listOptions = {\r\n ...this.listOptions,\r\n ...filters,\r\n };\r\n }\r\n\r\n resetList(): void {\r\n this.listOptions = {\r\n searchValue: '',\r\n paginator: this.rowsChange,\r\n page: 0,\r\n };\r\n }\r\n\r\n resetPaginator(): void {\r\n this.listOptions = {\r\n ...this.listOptions,\r\n paginator: this.rowsChange,\r\n page: 0,\r\n };\r\n }\r\n\r\n onPageChange(event: any): void {\r\n this.listOptions = {\r\n ...this.listOptions,\r\n page: event.page,\r\n paginator: event.rows,\r\n };\r\n this.first = event.first ?? 0;\r\n this.getList(this.listOptions);\r\n }\r\n}\r\n","// Important for global context\r\nimport { CookiesStorageKeys, LocalStorageKeys, SessionStorageKeys, StorageEnum } from \"./stortage\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\nconst setLocalStorage = (key: string, value: string) => localStorage.setItem(key, value);\r\nconst getLocalStorage = (key: string) => localStorage.getItem(key);\r\nconst clearLocalStorage = () => localStorage.clear();\r\nconst setSessionStorage = (key: string, value: string) => sessionStorage.setItem(key, value);\r\nconst getSessionStorage = (key: string) => sessionStorage.getItem(key);\r\nconst clearSessionStorage = () => sessionStorage.clear();\r\n\r\nexport class StorageHandler {\r\n private static cookieService: CookieService;\r\n\r\n public static init(cookieService: CookieService): void {\r\n this.cookieService = cookieService;\r\n }\r\n\r\n public static get cookies() {\r\n if (!this.cookieService) {\r\n throw new Error(\r\n \"CookieService is not initialized. Call StorageHandler.init(cookieService) first.\"\r\n );\r\n }\r\n\r\n return {\r\n set: (key: CookiesStorageKeys, value: string, expires?: number) =>\r\n this.cookieService.set(key, value, expires),\r\n get: (key: CookiesStorageKeys) => this.cookieService.get(key),\r\n clear: (key: CookiesStorageKeys) => this.cookieService.delete(key)\r\n };\r\n }\r\n\r\n public static local = {\r\n set: (key: LocalStorageKeys, value: unknown) => this.setItem(key, value, setLocalStorage),\r\n get: <T>(key: LocalStorageKeys) => this.getItem<T>(key, getLocalStorage),\r\n clear: () => this.clearStorage(clearLocalStorage)\r\n };\r\n public static session = {\r\n set: (key: SessionStorageKeys, value: unknown) => this.setItem(key, value, setSessionStorage),\r\n get: <T>(key: SessionStorageKeys) => this.getItem<T>(key, getSessionStorage),\r\n clear: () => this.clearStorage(clearSessionStorage)\r\n };\r\n\r\n private static setItem(key: StorageEnum, value: unknown, set: (key: string, value: string) => void): void {\r\n if (!key) return;\r\n set(key as string, typeof value === \"string\" ? value : JSON.stringify(value));\r\n }\r\n\r\n private static getItem<T>(key: StorageEnum, get: (key: string) => string | null, withParsing = false): T | null {\r\n const data: string | null = get(key as string) ?? null;\r\n if (data) return withParsing ? JSON.parse(data) as T : data as T;\r\n return null;\r\n }\r\n\r\n private static clearStorage(clear: () => void): void {\r\n clear();\r\n }\r\n}","export enum LocalStorageKeys {\r\n LANGUAGE = \"LANGUAGE\",\r\n TOKEN = \"TOKEN\"\r\n}\r\n\r\nexport enum SessionStorageKeys {}\r\nexport type StorageEnum = SessionStorageKeys | LocalStorageKeys | CookiesStorageKeys;\r\n\r\nexport enum CookiesStorageKeys {\r\n LANGUAGE = \"LANGUAGE\",\r\n TOKEN = \"TOKEN\",\r\n AUTHORIZATION = \"Authorization\"\r\n}","import { InjectionToken } from \"@angular/core\";\r\nimport { ToasterOptions } from \"./interfaces\";\r\n\r\nexport interface CoreConfig {\r\n apiPrefix: string;\r\n production: boolean;\r\n gatewayUrl: string;\r\n loginUrl: string;\r\n logoutEndpoint: string;\r\n}\r\n\r\nexport const CORE_CONFIG = new InjectionToken<CoreConfig>(\"CoreConfig\");\r\n\r\n\r\nexport interface ToasterInterface {\r\n success(options:ToasterOptions): void;\r\n error(options:ToasterOptions): void;\r\n warning(options:ToasterOptions): void;\r\n info(options:ToasterOptions): void;\r\n}\r\nexport const TOASTER_SERVICE = new InjectionToken<ToasterInterface>(\"ToasterService\");\r\n","import { HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Params as RouterParams } from '@angular/router';\r\n\r\nexport interface HttpConfig {\r\n apiUrl?: string;\r\n microServiceUrl:string;\r\n globalMapFn?: (res: any) => any;\r\n methods?: ServiceConfig;\r\n}\r\n\r\nexport type Params =\r\n | HttpParams\r\n | { [param: string]: string | string[] | unknown };\r\nexport type HttpRequestOptions = {\r\n headers?:\r\n | HttpHeaders\r\n | RouterParams\r\n | { [header: string]: string | string[] };\r\n params?: HttpParams | { [param: string]: string | string[] } | Params;\r\n context?: HttpContext;\r\n reportProgress?: boolean;\r\n observe?: 'events';\r\n responseType?: string;\r\n};\r\nexport const HttpRequestOptionsKeys: Array<keyof Required<HttpRequestOptions>> =\r\n ['headers', 'params', 'context', 'reportProgress', 'observe', 'responseType'];\r\n\r\nexport type HttpOptions<T = any> = HttpRequestOptions & {\r\n urlRewrite?: string;\r\n urlPostfix?: string;\r\n mapFn?: (res: any) => T;\r\n};\r\n\r\nexport interface ServiceConfig {\r\n single?: HttpOptions;\r\n getAll?: HttpOptions;\r\n add?: HttpOptions;\r\n update?: HttpOptions;\r\n delete?: HttpOptions;\r\n}\r\n\r\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';\r\n","import { map } from \"rxjs/operators\";\r\nimport { HttpOptions, HttpRequestOptionsKeys } from \"./base-http-types\";\r\nimport { BaseHttpResponse } from \"./base-http-response\";\r\n\r\nexport const resolveUrl = (baseUrl: string, options?: HttpOptions, ...args: string[]): string => {\r\n const { urlRewrite, urlPostfix } = options || {};\r\n\r\n if (urlRewrite) {\r\n return urlRewrite;\r\n }\r\n\r\n let result = baseUrl;\r\n\r\n if (args && args.length > 0 && args[0] !== \"\") {\r\n result += `/${args.join(\"/\")}`;\r\n }\r\n\r\n if (urlPostfix) {\r\n result += `/${urlPostfix}`;\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport const extractRequestOptions = (options?: any) => {\r\n if (!options || typeof options !== \"object\") {\r\n return {};\r\n }\r\n /* eslint-disable */\r\n return HttpRequestOptionsKeys.reduce((requestOptions: any, key) => {\r\n const value = options[key];\r\n\r\n if (value !== undefined) {\r\n requestOptions[key] = value;\r\n }\r\n\r\n return requestOptions;\r\n }, {});\r\n};\r\n\r\nexport const mapResponse = <T>(options?: HttpOptions) => map((res: T) => (options?.mapFn ? options.mapFn(res) : res));\r\n\r\nexport const epmDefaultMapper = <T>(res: BaseHttpResponse<T>) => res.payload;\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpConfig, HttpOptions, ServiceConfig } from './base-http-types';\r\nimport { epmDefaultMapper, extractRequestOptions, mapResponse, resolveUrl } from './base-http-utils';\r\n\r\nexport abstract class BaseHttpService {\r\n private readonly http: HttpClient = inject(HttpClient);\r\n\r\n get url(): string {\r\n const { apiUrl,microServiceUrl } = this.setApiConfig();\r\n return `${microServiceUrl}${apiUrl ? `/${apiUrl}` : ''}`;\r\n }\r\n\r\n get methodsConfig(): ServiceConfig | undefined {\r\n const { methods } = this.setApiConfig();\r\n return methods;\r\n }\r\n\r\n get globalMapFn(): (res: any) => any {\r\n const { globalMapFn } = this.setApiConfig();\r\n return globalMapFn || epmDefaultMapper;\r\n }\r\n\r\n abstract setApiConfig(): HttpConfig;\r\n\r\n single<T>(id: string | number, options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('single');\r\n const url = resolveUrl(this.url, activeOptions, id?.toString());\r\n const requestOptions = extractRequestOptions(activeOptions);\r\n\r\n return this.http\r\n .get<T>(url, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n getAll<T>(options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('getAll');\r\n const url = resolveUrl(this.url, activeOptions);\r\n const requestOptions = extractRequestOptions(activeOptions);\r\n\r\n return this.http\r\n .get<T>(url, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n add<T>(body: unknown, options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('add');\r\n const url = resolveUrl(this.url, activeOptions);\r\n const requestOptions = { ...extractRequestOptions(activeOptions) };\r\n\r\n return this.http\r\n .post<T>(url, body, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n update<T>(\r\n id: string | number,\r\n body: unknown,\r\n options?: HttpOptions\r\n ): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('update');\r\n const url = resolveUrl(this.url, activeOptions, id?.toString());\r\n const requestOptions = { ...extractRequestOptions(activeOptions) };\r\n\r\n return this.http\r\n .put<T>(url, body, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n delete<T>(id: string | number, options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('delete');\r\n const url = resolveUrl(this.url, activeOptions, id?.toString());\r\n const requestOptions = extractRequestOptions(activeOptions);\r\n\r\n return this.http\r\n .delete<T>(url, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n protected getMethodConfig(method: keyof ServiceConfig): any {\r\n return this.methodsConfig ? this.methodsConfig[method] : undefined;\r\n }\r\n\r\n protected getMapFun(options?: HttpOptions) {\r\n const getMapFunObj = {\r\n default: { mapFn: epmDefaultMapper },\r\n custom: { mapFn: this.globalMapFn },\r\n };\r\n\r\n if (\r\n options &&\r\n (options?.reportProgress || options?.responseType === 'blob')\r\n ) {\r\n return { mapFn: (res: unknown) => res };\r\n }\r\n\r\n if (options && options?.mapFn) {\r\n return { mapFn: options.mapFn };\r\n }\r\n\r\n const isGlobalMapFnValid =\r\n this.globalMapFn && typeof this.globalMapFn === 'function';\r\n return isGlobalMapFnValid ? getMapFunObj.custom : getMapFunObj.default;\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { StorageHandler } from '../handlers/storage-handler';\r\nimport { CookiesStorageKeys, LocalStorageKeys } from '../handlers/stortage';\r\nimport { CORE_CONFIG, CoreConfig } from '../core-config';\r\nimport { BaseHttpService, HttpConfig } from './base-http-service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService extends BaseHttpService {\r\n public isUserLoggedIn$ = new BehaviorSubject(this.isLoggedIn());\r\n\r\n constructor(@Inject(CORE_CONFIG) protected appConfig: CoreConfig) {\r\n super();\r\n }\r\n override setApiConfig(): HttpConfig {\r\n return {\r\n apiUrl: '',\r\n microServiceUrl: '',\r\n };\r\n }\r\n\r\n initAuthentication() {\r\n const token: string | null = new URLSearchParams(window.location.search).get('token');\r\n if (token) {\r\n this.setAuthentication(token);\r\n window.location.search = '';\r\n }\r\n }\r\n\r\n setAuthentication(token: string) {\r\n this.isUserLoggedIn$.next(true);\r\n this.setUserToken(token);\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n return !!this.getUserToken();\r\n }\r\n\r\n getUserToken(): string | null {\r\n return StorageHandler.cookies.get(CookiesStorageKeys.AUTHORIZATION);\r\n }\r\n\r\n setUserToken(token?: string) {\r\n return StorageHandler.local.set(LocalStorageKeys.TOKEN, token);\r\n }\r\n\r\n logoutFromSSO() {\r\n const logoutUrl = this.appConfig.logoutEndpoint;\r\n return this.single<unknown>('', {\r\n urlRewrite: logoutUrl,\r\n });\r\n }\r\n\r\n clearAuth() {\r\n StorageHandler.local.clear();\r\n StorageHandler.session.clear();\r\n this.isUserLoggedIn$.next(false);\r\n window.location.href = this.appConfig.loginUrl;\r\n }\r\n}\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { jwtDecode } from \"jwt-decode\";\r\nimport { AuthService } from \"./auth.service\";\r\nimport { JWTDecoded } from \"../interfaces/jwt-token-decoded.interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class JwtDecoderService {\r\n authService = inject(AuthService);\r\n public decodedToken: JWTDecoded;\r\n\r\n constructor() {\r\n this.decodeToken();\r\n }\r\n\r\n public decodeToken() {\r\n const token: string = this.authService.getUserToken() as string;\r\n if (token) {\r\n this.decodedToken = jwtDecode(token);\r\n }\r\n }\r\n}\r\n","export const COMMON_BASE_URL = \"common/api/v1\";\r\nexport const APP_HTTP_CONFIG = {\r\n BOARD_BASE_URL: \"board-acl/private/v1\",\r\n MEETING_BASE_URL: \"meeting-acl/private/v1\",\r\n IGATE_BASE_URL: COMMON_BASE_URL + \"/igate-users\",\r\n LOV_BASE_URL: COMMON_BASE_URL + \"/lov\",\r\n ATTACHMENT_BASE_URL: COMMON_BASE_URL + \"/attachment\"\r\n};\r\n","import { HttpContext, HttpContextToken } from \"@angular/common/http\";\r\n\r\nexport const IS_SYSTEM_LOADER = new HttpContextToken<boolean>(() => true); // set default loader\r\nexport const USE_API_PREFIX = new HttpContextToken<boolean>(() => true); // set default loader\r\n\r\nexport class HttpContextHandler {\r\n static setLoaderType(isSystemLoader: boolean) {\r\n return new HttpContext().set(IS_SYSTEM_LOADER, isSystemLoader);\r\n }\r\n\r\n static useApiPrefix(hasBaseSegment: boolean) {\r\n return new HttpContext().set(USE_API_PREFIX, hasBaseSegment);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface LoaderState {\r\n show: boolean;\r\n isSystemLoader?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class LoaderService {\r\n isLoading$ = new BehaviorSubject<LoaderState>({ show: false });\r\n private loadingMap: Map<string, boolean> = new Map<string, boolean>();\r\n\r\n setLoading(loading: boolean, isSystemLoader = true, url: string): void {\r\n if (!url) {\r\n throw new Error(\"The request URL must be provided to the LoaderService.setLoading function\");\r\n }\r\n\r\n if (loading) {\r\n this.loadingMap.set(url, loading);\r\n this.isLoading$.next({ show: true, isSystemLoader });\r\n } else if (!loading && this.loadingMap.has(url)) {\r\n this.loadingMap.delete(url);\r\n }\r\n\r\n if (!this.loadingMap.size) {\r\n this.isLoading$.next({ show: false });\r\n }\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\n\r\nexport type RequestModifier = (req: HttpRequest<any>) => HttpRequest<any>;\r\n\r\nexport const REQUEST_MODIFIER = new InjectionToken<RequestModifier>('REQUEST_MODIFIER');\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpHeaders,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { Inject, inject, Injectable } from '@angular/core';\r\nimport { finalize, Observable, tap } from 'rxjs';\r\nimport { IS_SYSTEM_LOADER, USE_API_PREFIX } from '../handlers/http-context-handler';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { LoaderService } from '../services/loader.service';\r\nimport { CORE_CONFIG, CoreConfig } from '../core-config';\r\nimport { REQUEST_MODIFIER } from '../request-modifier';\r\n\r\n@Injectable()\r\nexport class HttpBaseInterceptor implements HttpInterceptor {\r\n authService = inject(AuthService);\r\n loaderService = inject(LoaderService);\r\n\r\n constructor(\r\n @Inject(CORE_CONFIG) protected appConfig: CoreConfig,\r\n @Inject(REQUEST_MODIFIER) protected requestModifier: (req: HttpRequest<any>) => HttpRequest<any>\r\n ) {}\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n console.log('interceptor', this.appConfig);\r\n const useApiPrefix = request.context.get(USE_API_PREFIX);\r\n const URL = `${this.appConfig.gatewayUrl}${useApiPrefix ? this.appConfig.apiPrefix : ''}${\r\n request.url\r\n }`;\r\n request = this.requestModifier(request);\r\n\r\n // Handle loader\r\n const IS_SYSTEM_LOADER_CHECK = request.context.get(IS_SYSTEM_LOADER);\r\n this.loaderService.setLoading(true, IS_SYSTEM_LOADER_CHECK, request.url);\r\n\r\n return next.handle(request).pipe(\r\n // Handler Token\r\n tap((event) => {\r\n // if (event instanceof HttpResponse && request.url.includes(User_Token)) {\r\n // Set user token ..\r\n // }\r\n }),\r\n finalize(() => this.loaderService.setLoading(false, IS_SYSTEM_LOADER_CHECK, request.url))\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable, retry, timer } from 'rxjs';\r\n\r\nexport class GlobalHttpErrorInterceptor implements HttpInterceptor {\r\n // check if it is a server error to retry the request\r\n shouldRetry(error: HttpErrorResponse) {\r\n if (error.status >= 500) {\r\n return timer(1000);\r\n }\r\n throw error;\r\n }\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n return next.handle(request).pipe(\r\n retry({\r\n count: 1,\r\n delay: this.shouldRetry\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { APP_HTTP_CONFIG } from '../interceptors';\r\nimport { BaseHttpService, HttpConfig } from './base-http-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ListOfValues extends BaseHttpService {\r\n override setApiConfig(): HttpConfig {\r\n return {\r\n microServiceUrl: APP_HTTP_CONFIG.LOV_BASE_URL,\r\n apiUrl: \"lookups\"\r\n };\r\n }\r\n\r\n getRolesByGroup<T>(group: string): Observable<T> {\r\n return this.getAll<T>({\r\n urlPostfix: group\r\n });\r\n }\r\n}\r\n","import { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { TOASTER_SERVICE, ToasterInterface } from \"../core-config\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ErrorHandlerService implements ErrorHandler {\r\n constructor(\r\n private injector: Injector,\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n private get toasterService(): ToasterInterface {\r\n return this.injector.get<ToasterInterface>(TOASTER_SERVICE);\r\n }\r\n\r\n handleError(error: unknown): void {\r\n console.log(\"ErrorHandlerService\", error);\r\n if (error instanceof Error && !(error instanceof HttpErrorResponse)) {\r\n console.error(error);\r\n return;\r\n }\r\n\r\n if (error instanceof HttpErrorResponse) {\r\n console.error(\"HTTP Error:\", error);\r\n\r\n switch (error.status) {\r\n case 400:\r\n this.showError(`network_errors.${error.error.message}`);\r\n break\r\n case 401:\r\n this.showError(`network_errors.${error.error.message}`);\r\n break;\r\n case 404:\r\n this.showError(`network_errors.${error.error?.message}`);\r\n break;\r\n case 403:\r\n this.showError(\"error.forbidden.message\");\r\n break;\r\n case 500:\r\n this.showError(\"validation_error.server\");\r\n break;\r\n default:\r\n this.showError(\"validation_error.random\");\r\n break;\r\n }\r\n }\r\n }\r\n\r\n private showError(messageKey: string): void {\r\n this.toasterService.error({\r\n title: this.translateService.instant(\"error\"),\r\n message: this.translateService.instant(messageKey),\r\n });\r\n }\r\n}\r\n","import { Injectable, inject } from \"@angular/core\";\r\nimport { JwtDecoderService } from \"./jwt-decoder.service\";\r\nimport { PermissionsActions, UserPermissionsEnum } from \"../enums\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PermissionsService {\r\n private jwtDecoderService = inject(JwtDecoderService);\r\n private decodedToken = this.jwtDecoderService.decodedToken;\r\n private tokenPermissions = this.decodedToken ? this.decodedToken.permissions as [] : [];\r\n private domainPermissionsSubject = new BehaviorSubject<string[]>([]);\r\n domainPermissions$ = this.domainPermissionsSubject.asObservable();\r\n\r\n private getKeyName(action: string) {\r\n const actionsArr = action.split(\"_\");\r\n return actionsArr.splice(1, actionsArr.length - 1).join(\"_\");\r\n }\r\n\r\n getActionName(action: string) {\r\n return action.split(\"_\")[0];\r\n }\r\n\r\n getAllowedActionsByKey(key: UserPermissionsEnum, newPermissions?: string[]) {\r\n const permissionsNeeded = newPermissions || this.tokenPermissions;\r\n if (!permissionsNeeded) {\r\n console.error(\"There are no permissions available\");\r\n return [];\r\n }\r\n return permissionsNeeded\r\n .filter((p) => {\r\n return key === this.getKeyName(p);\r\n })\r\n .map((t) => {\r\n return this.getActionName(t);\r\n });\r\n }\r\n\r\n checkKeyHasPermission(key: UserPermissionsEnum, action: PermissionsActions, newPermissions?: string[]) {\r\n return this.getAllowedActionsByKey(key, newPermissions).some((p) => p === action);\r\n }\r\n\r\n checkDomainHasPermission(key: UserPermissionsEnum, action: PermissionsActions) {\r\n return this.getAllowedActionsByKey(key, this.getDomainPermissions()).some((p) => p === action);\r\n }\r\n\r\n routeGuardChecker(key: UserPermissionsEnum, action: PermissionsActions) {\r\n if(!this.checkKeyHasPermission(key, action)){\r\n return this.checkKeyHasPermission(key, action,this.getDomainPermissions());\r\n }\r\n return true;\r\n }\r\n\r\n clearDomainPermissions() {\r\n this.domainPermissionsSubject.next([]);\r\n }\r\n\r\n setDomainPermissions(permissions: string[]) {\r\n this.domainPermissionsSubject.next(permissions);\r\n }\r\n\r\n getDomainPermissions(): string[] {\r\n return this.domainPermissionsSubject.getValue();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n//import { DeviceDetectorService } from \"ngx-device-detector\";\r\nimport { debounceTime, distinctUntilChanged, fromEvent, Observable, startWith, Subject, tap } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DetectDeviceService {\r\n currentWidth: number = window.innerWidth;\r\n private _width$: Subject<number> = new Subject();\r\n private _agent: string;\r\n constructor() {\r\n fromEvent(window, \"resize\")\r\n .pipe(distinctUntilChanged(), debounceTime(200))\r\n .subscribe((event) => this._handelResize(event));\r\n }\r\n\r\n private _handelResize(event: any) {\r\n this._width$.next(event.target.innerWidth);\r\n this.currentWidth = event.target.innerWidth;\r\n }\r\n\r\n get onResize$(): Observable<number> {\r\n return this._width$.asObservable().pipe(\r\n debounceTime(100), // Debounce to avoid too many events\r\n startWith(window.innerWidth), // Trigger initial check\r\n distinctUntilChanged(), // Avoid duplication\r\n tap(() => this._detect())\r\n );\r\n }\r\n\r\n get agent(): string | undefined {\r\n // Optimize getter performance\r\n if (this._agent) {\r\n return this._agent;\r\n }\r\n\r\n const value = localStorage.getItem(\"User-Agent\");\r\n this._agent = value!;\r\n\r\n return value!;\r\n }\r\n\r\n private _detect(): void {\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n\r\n this.isMobile() ? body?.setAttribute(\"view\", \"mobile\") : body?.setAttribute(\"view\", \"web\");\r\n\r\n switch (true) {\r\n case this.isBrowser():\r\n body?.setAttribute(\"device\", \"browser\");\r\n break;\r\n case this.isIOS():\r\n body?.setAttribute(\"device\", \"ios\");\r\n break;\r\n case this.isAndroid():\r\n body?.setAttribute(\"device\", \"android\");\r\n break;\r\n default:\r\n body?.removeAttribute(\"device\");\r\n }\r\n }\r\n\r\n public isMobile() {\r\n // return this.deviceService.isMobile();\r\n return false;\r\n }\r\n\r\n public isBrowser() {\r\n return !this.agent;\r\n }\r\n\r\n public isIOS() {\r\n return this.agent && (this.agent.toLocaleLowerCase().includes(\"iphone\") || this.agent.toLocaleLowerCase().includes(\"ios\"));\r\n }\r\n\r\n public isAndroid() {\r\n return this.agent && this.agent.toLocaleLowerCase().includes(\"android\");\r\n }\r\n}\r\n","import { AsyncPipe, NgClass } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport {TranslatePipe} from \"@ngx-translate/core\";\r\nimport {LoaderService} from \"../../services\";\r\n\r\n@Component({\r\n selector: \"global-loader\",\r\n templateUrl: \"./global-loader.component.html\",\r\n styleUrls: [\"./global-loader.component.scss\"],\r\n standalone: true,\r\n imports: [AsyncPipe, NgClass, TranslatePipe]\r\n})\r\nexport class GlobalLoaderComponent {\r\n @Input() color: string;\r\n constructor(public loaderService: LoaderService) {}\r\n}\r\n","@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","import { inject } from '@angular/core';\r\nimport { CanActivateFn } from '@angular/router';\r\nimport { StorageHandler } from '../handlers/storage-handler';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { CORE_CONFIG, CoreConfig } from '../core-config';\r\nimport { CookiesStorageKeys } from '../handlers';\r\n\r\nexport const authGuard: CanActivateFn = () => {\r\n const appConfig = inject<CoreConfig>(CORE_CONFIG);\r\n const cookieService = inject(CookieService);\r\n StorageHandler.init(cookieService);\r\n const token: string | null = StorageHandler.cookies.get(CookiesStorageKeys.AUTHORIZATION);\r\n\r\n if (!token) {\r\n window.location.href = appConfig.loginUrl;\r\n return false;\r\n }\r\n\r\n return true;\r\n};\r\n","import { inject } from \"@angular/core\";\r\nimport { CanActivateFn, Router } from \"@angular/router\";\r\nimport { PermissionsService } from \"../services\";\r\nimport { RoutePermissionsInfo } from \"../interfaces\";\r\n\r\nexport const permissionsGuard: CanActivateFn = (route) => {\r\n const permissionsService = inject(PermissionsService);\r\n const router = inject(Router);\r\n const { key, action }: RoutePermissionsInfo = route.data[\"permissions\"];\r\n\r\n if (!route.data[\"permissions\"] || (route.data[\"permissions\"] && permissionsService.routeGuardChecker(key, action))) {\r\n return true;\r\n } else {\r\n router.navigate([\"no-access\"]);\r\n return false;\r\n }\r\n};\r\n","export enum UserPermissionsEnum {\r\n BOD = \"BOD\",\r\n BOARD_COMMITTEES = \"BOARD_COMMITTEES\",\r\n BOARD_MEETINGS = \"BOARD_MEETINGS\",\r\n MEETING_INSIDE_THE_BOD = \"MEETING_INSIDE_THE_BOD\",\r\n COMMITTEE = \"COMMITTEE\",\r\n MEETING_INSIDE_THE_COMMITTEE = \"MEETING_INSIDE_THE_COMMITTEE\",\r\n MEETING = \"MEETING\",\r\n DECISION = \"DECISION\",\r\n RECOMMENDATION = \"RECOMMENDATION\",\r\n TASK = \"TASK\",\r\n VOTING = \"VOTING\",\r\n VOTING_SECRETARY_RESULTS = \"VOTING_SECRETARY_RESULTS\",\r\n VOTING_RESULTS = \"VOTING_RESULTS\",\r\n DRAFT_MOM = \"DRAFT_MOM\",\r\n FINAL_MOM = \"FINAL_MOM\",\r\n MOM = \"MOM\",\r\n AGENDA = \"AGENDA\",\r\n ATTENDEES = \"ATTENDEES\",\r\n COMMENT = \"COMMENT\"\r\n}\r\n\r\nexport enum PermissionsActions {\r\n VIEW = \"VIEW\",\r\n CREATE = \"CREATE\",\r\n EDIT = \"EDIT\",\r\n DELETE = \"DELETE\",\r\n REORDER = \"REORDER\",\r\n DOWNLOAD = \"DOWNLOAD\",\r\n MARK = \"MARK\",\r\n GENERATE = \"GENERATE\",\r\n TERMINATE = \"TERMINATE\",\r\n START = \"START\",\r\n END = \"END\",\r\n ACTIVATE = \"ACTIVATE\"\r\n}\r\n","export enum DateFormatter {\r\n FULL_DATE_TIME = \"dd MMM yyyy - hh:mm a\",\r\n DATE_TIME_ZONE = \"yyyy-MM-dd'T'HH:mm:ssxxx\",\r\n DATE_UTC = \"yyyy-MM-dd'T'HH:mm:ss'Z'\",\r\n dd_MM_yyyy = \"dd-MM-yyyy\",\r\n yyyy_MM_dd = \"yyyy-MM-dd\",\r\n MMM_dd_yyyy = \"MMM dd ,yyyy\",\r\n MM_D_yyy = \"MM dd ,yyy\",\r\n MMM_D_YYY_Time = \"MMM dd ,YYYY - hh:mm a\",\r\n MMM_d_y_Time = \"MMM d, y, h:mm a\",\r\n d_MM_y = \"d MMM y\",\r\n MMM_D_Y = \"MMM d, y\",\r\n DD_MM = \"dd MMM\",\r\n DATE_PICKER = \"dd/MM/yyyy\",\r\n DATE_FULL_YEAR = \"yyyy\"\r\n}\r\n","export enum DisplayTypesEnum {\r\n WEB_ONLY = \"webOnly\",\r\n MOBILE_ONLY = \"mobileOnly\"\r\n}\r\n","export enum Language {\r\n AR = \"ar\",\r\n EN = \"en\"\r\n}\r\n\r\nexport enum AppDirection {\r\n RTL = \"rtl\",\r\n LTR = \"ltr\"\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { PermissionsService } from '../services';\r\nimport { PermissionsActions, UserPermissionsEnum } from '../enums';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[hasPermissions]',\r\n standalone: true\r\n})\r\nexport class HasPermissionsDirective implements OnInit, OnDestroy {\r\n private _actions: string[];\r\n private _key: string;\r\n private _newPermissions: string[];\r\n private _isDomain: boolean;\r\n\r\n private isViewCreated = false;\r\n private subscription: Subscription;\r\n\r\n constructor(\r\n private permissionsService: PermissionsService,\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<unknown>\r\n ) {}\r\n\r\n /**\r\n * make sure that the key value looks like the UserPermissionsEnum enum\r\n * usage: *permissions=\"[PermissionsActions.EDIT]; key: LOOKUPS\r\n */\r\n\r\n @Input({ required: true }) set hasPermissions(actions: string[]) {\r\n if (this.arraysChanged(this._actions, actions)) {\r\n this._actions = actions;\r\n this.updateView();\r\n }\r\n }\r\n\r\n @Input({ required: true }) set hasPermissionsKey(key: string) {\r\n if (this._key !== key) {\r\n this._key = key;\r\n this.updateView();\r\n }\r\n }\r\n\r\n @Input() set hasPermissionsNewPermissions(newPermissions: string[]) {\r\n if (this.arraysChanged(this._newPermissions, newPermissions)) {\r\n this._newPermissions = newPermissions;\r\n this.updateView();\r\n }\r\n }\r\n\r\n @Input() set hasPermissionsIsDomain(isDomain: boolean) {\r\n if (this._isDomain !== isDomain) {\r\n this._isDomain = isDomain;\r\n this.updateView();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscription = this.permissionsService.domainPermissions$.subscribe(() => {\r\n if (this._isDomain) {\r\n this.updateView();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n\r\n private updateView() {\r\n const canShow = this._actions.some(action => this.hasPermission(action));\r\n\r\n if (canShow && !this.isViewCreated) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.isViewCreated = true;\r\n } else if (!canShow && this.isViewCreated) {\r\n this.clearView();\r\n }\r\n }\r\n\r\n private hasPermission(action: string): boolean {\r\n if (this._isDomain) {\r\n return this.permissionsService.checkDomainHasPermission(\r\n this._key as UserPermissionsEnum,\r\n action as PermissionsActions\r\n );\r\n }\r\n\r\n return this.permissionsService.checkKeyHasPermission(\r\n this._key as UserPermissionsEnum,\r\n action as PermissionsActions,\r\n this._newPermissions\r\n );\r\n }\r\n\r\n private clearView() {\r\n this.viewContainer.clear();\r\n this.isViewCreated = false;\r\n }\r\n\r\n private arraysChanged(a?: string[], b?: string[]): boolean {\r\n if (a === b) return false;\r\n if (!a || !b) return true;\r\n if (a.length !== b.length) return true;\r\n return a.some((v, i) => v !== b[i]);\r\n }\r\n}\r\n","import { Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DetectDeviceService } from \"../services/detect-device.service\";\r\nimport { DisplayTypesEnum } from \"../enums/display-types.enum\";\r\n\r\n/*\r\n * Usage:\r\n * <div *responsiveElement=\"DisplayTypes.WEB_ONLY\">Web</div>\r\n * <div *responsiveElement=\"DisplayTypes.MOBILE_ONLY\">Mobile</div>\r\n * */\r\n\r\n@Directive({\r\n selector: \"[responsiveElement]\",\r\n standalone: true\r\n})\r\nexport class ResponsiveElementDirective implements OnInit, OnDestroy {\r\n @Input(\"responsiveElement\") displayFor: DisplayTypesEnum.WEB_ONLY | DisplayTypesEnum.MOBILE_ONLY;\r\n\r\n private resizeSubscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private detectDeviceServiceService: DetectDeviceService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.resizeSubscription.add(this.detectDeviceServiceService.onResize$.subscribe(this.checkWidth.bind(this)));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.resizeSubscription.unsubscribe();\r\n }\r\n\r\n private checkWidth() {\r\n const shouldDisplay =\r\n (this.displayFor === DisplayTypesEnum.WEB_ONLY && !this.detectDeviceServiceService.isMobile()) ||\r\n (this.displayFor === DisplayTypesEnum.MOBILE_ONLY && this.detectDeviceServiceService.isMobile());\r\n if (shouldDisplay) {\r\n this.viewContainer.length === 0 && this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LoaderService","i1.PermissionsService","i1.DetectDeviceService"],"mappings":"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"}
1
+ {"version":3,"file":"corp-products-app-core.mjs","sources":["../../../projects/core/src/lib/services/base-pagination-service/pagination.ts","../../../projects/core/src/lib/services/base-pagination-service/base-pagination.service.ts","../../../projects/core/src/lib/handlers/storage-handler.ts","../../../projects/core/src/lib/handlers/stortage.ts","../../../projects/core/src/lib/core-config.ts","../../../projects/core/src/lib/services/base-http-service/base-http-types.ts","../../../projects/core/src/lib/services/base-http-service/base-http-utils.ts","../../../projects/core/src/lib/services/base-http-service/base-http.service.ts","../../../projects/core/src/lib/services/auth.service.ts","../../../projects/core/src/lib/services/jwt-decoder.service.ts","../../../projects/core/src/lib/interceptors/app-http-config.ts","../../../projects/core/src/lib/handlers/http-context-handler.ts","../../../projects/core/src/lib/services/loader.service.ts","../../../projects/core/src/lib/request-modifier.ts","../../../projects/core/src/lib/interceptors/base-http.interceptor.ts","../../../projects/core/src/lib/interceptors/global-http-error.interceptor.ts","../../../projects/core/src/lib/services/lov.service.ts","../../../projects/core/src/lib/services/error-handler.service.ts","../../../projects/core/src/lib/services/permissions.service.ts","../../../projects/core/src/lib/services/detect-device.service.ts","../../../projects/core/src/lib/components/global-loader/global-loader.component.ts","../../../projects/core/src/lib/components/global-loader/global-loader.component.html","../../../projects/core/src/lib/guards/auth.guard.ts","../../../projects/core/src/lib/guards/permissions.guard.ts","../../../projects/core/src/lib/enums/user-permissions.enum.ts","../../../projects/core/src/lib/enums/date-formatter.enum.ts","../../../projects/core/src/lib/enums/display-types.enum.ts","../../../projects/core/src/lib/enums/localization.enum.ts","../../../projects/core/src/lib/directives/permissions.directive.ts","../../../projects/core/src/lib/directives/responsive-element.directive.ts","../../../projects/core/src/corp-products-app-core.ts"],"sourcesContent":["export const PAGESIZE = 10;\r\nexport const PAGE_SIZE_OPTION = [5, 10, 15, 20];\r\nexport enum SortDirection {\r\n ASC = 'ASC',\r\n DESC = 'DESC'\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { ListOptions } from './list-options.interface';\r\nimport { PAGE_SIZE_OPTION, PAGESIZE, SortDirection } from './pagination';\r\nexport abstract class BasePaginationService<T = any> {\r\n totalRecords = 0;\r\n totalPages = 0;\r\n rowsChange: number = PAGESIZE;\r\n\r\n pageSizes = PAGE_SIZE_OPTION;\r\n defaultSortValue = 'createdAt';\r\n defaultSortDirection = SortDirection.DESC;\r\n first: number | undefined = 0;\r\n\r\n listOptions: ListOptions = {\r\n searchValue: '',\r\n paginator: this.rowsChange,\r\n page: 0,\r\n direction: this.defaultSortDirection,\r\n sortBy: this.defaultSortValue,\r\n };\r\n\r\n abstract getList(listOptions: ListOptions): void | Observable<T>;\r\n\r\n createListFilter(filters: { [key: string]: unknown }): void {\r\n this.listOptions = {\r\n ...this.listOptions,\r\n ...filters,\r\n };\r\n }\r\n\r\n resetList(): void {\r\n this.listOptions = {\r\n searchValue: '',\r\n paginator: this.rowsChange,\r\n page: 0,\r\n };\r\n }\r\n\r\n resetPaginator(): void {\r\n this.listOptions = {\r\n ...this.listOptions,\r\n paginator: this.rowsChange,\r\n page: 0,\r\n };\r\n }\r\n\r\n onPageChange(event: any): void {\r\n this.listOptions = {\r\n ...this.listOptions,\r\n page: event.page,\r\n paginator: event.rows,\r\n };\r\n this.first = event.first ?? 0;\r\n this.getList(this.listOptions);\r\n }\r\n}\r\n","// Important for global context\r\nimport { CookiesStorageKeys, LocalStorageKeys, SessionStorageKeys, StorageEnum } from \"./stortage\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\nconst setLocalStorage = (key: string, value: string) => localStorage.setItem(key, value);\r\nconst getLocalStorage = (key: string) => localStorage.getItem(key);\r\nconst clearLocalStorage = () => localStorage.clear();\r\nconst setSessionStorage = (key: string, value: string) => sessionStorage.setItem(key, value);\r\nconst getSessionStorage = (key: string) => sessionStorage.getItem(key);\r\nconst clearSessionStorage = () => sessionStorage.clear();\r\n\r\nexport class StorageHandler {\r\n private static cookieService: CookieService;\r\n\r\n public static init(cookieService: CookieService): void {\r\n this.cookieService = cookieService;\r\n }\r\n\r\n public static get cookies() {\r\n if (!this.cookieService) {\r\n throw new Error(\r\n \"CookieService is not initialized. Call StorageHandler.init(cookieService) first.\"\r\n );\r\n }\r\n\r\n return {\r\n set: (key: CookiesStorageKeys, value: string, expires?: number) =>\r\n this.cookieService.set(key, value, expires),\r\n get: (key: CookiesStorageKeys) => this.cookieService.get(key),\r\n clear: (key: CookiesStorageKeys) => this.cookieService.delete(key)\r\n };\r\n }\r\n\r\n public static local = {\r\n set: (key: LocalStorageKeys, value: unknown) => this.setItem(key, value, setLocalStorage),\r\n get: <T>(key: LocalStorageKeys) => this.getItem<T>(key, getLocalStorage),\r\n clear: () => this.clearStorage(clearLocalStorage)\r\n };\r\n public static session = {\r\n set: (key: SessionStorageKeys, value: unknown) => this.setItem(key, value, setSessionStorage),\r\n get: <T>(key: SessionStorageKeys) => this.getItem<T>(key, getSessionStorage),\r\n clear: () => this.clearStorage(clearSessionStorage)\r\n };\r\n\r\n private static setItem(key: StorageEnum, value: unknown, set: (key: string, value: string) => void): void {\r\n if (!key) return;\r\n set(key as string, typeof value === \"string\" ? value : JSON.stringify(value));\r\n }\r\n\r\n private static getItem<T>(key: StorageEnum, get: (key: string) => string | null, withParsing = false): T | null {\r\n const data: string | null = get(key as string) ?? null;\r\n if (data) return withParsing ? JSON.parse(data) as T : data as T;\r\n return null;\r\n }\r\n\r\n private static clearStorage(clear: () => void): void {\r\n clear();\r\n }\r\n}","export enum LocalStorageKeys {\r\n LANGUAGE = \"LANGUAGE\",\r\n TOKEN = \"TOKEN\"\r\n}\r\n\r\nexport enum SessionStorageKeys {}\r\nexport type StorageEnum = SessionStorageKeys | LocalStorageKeys | CookiesStorageKeys;\r\n\r\nexport enum CookiesStorageKeys {\r\n LANGUAGE = \"LANGUAGE\",\r\n TOKEN = \"TOKEN\",\r\n AUTHORIZATION = \"Authorization\"\r\n}","import { InjectionToken } from \"@angular/core\";\r\nimport { ToasterOptions } from \"./interfaces\";\r\n\r\nexport interface CoreConfig {\r\n apiPrefix: string;\r\n production: boolean;\r\n gatewayUrl: string;\r\n loginUrl: string;\r\n logoutEndpoint: string;\r\n}\r\n\r\nexport const CORE_CONFIG = new InjectionToken<CoreConfig>(\"CoreConfig\");\r\n\r\n\r\nexport interface ToasterInterface {\r\n success(options:ToasterOptions): void;\r\n error(options:ToasterOptions): void;\r\n warning(options:ToasterOptions): void;\r\n info(options:ToasterOptions): void;\r\n}\r\nexport const TOASTER_SERVICE = new InjectionToken<ToasterInterface>(\"ToasterService\");\r\n","import { HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Params as RouterParams } from '@angular/router';\r\n\r\nexport interface HttpConfig {\r\n apiUrl?: string;\r\n microServiceUrl:string;\r\n globalMapFn?: (res: any) => any;\r\n methods?: ServiceConfig;\r\n}\r\n\r\nexport type Params =\r\n | HttpParams\r\n | { [param: string]: string | string[] | unknown };\r\nexport type HttpRequestOptions = {\r\n headers?:\r\n | HttpHeaders\r\n | RouterParams\r\n | { [header: string]: string | string[] };\r\n params?: HttpParams | { [param: string]: string | string[] } | Params;\r\n context?: HttpContext;\r\n reportProgress?: boolean;\r\n observe?: 'events';\r\n responseType?: string;\r\n};\r\nexport const HttpRequestOptionsKeys: Array<keyof Required<HttpRequestOptions>> =\r\n ['headers', 'params', 'context', 'reportProgress', 'observe', 'responseType'];\r\n\r\nexport type HttpOptions<T = any> = HttpRequestOptions & {\r\n urlRewrite?: string;\r\n urlPostfix?: string;\r\n mapFn?: (res: any) => T;\r\n};\r\n\r\nexport interface ServiceConfig {\r\n single?: HttpOptions;\r\n getAll?: HttpOptions;\r\n add?: HttpOptions;\r\n update?: HttpOptions;\r\n delete?: HttpOptions;\r\n}\r\n\r\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';\r\n","import { map } from \"rxjs/operators\";\r\nimport { HttpOptions, HttpRequestOptionsKeys } from \"./base-http-types\";\r\nimport { BaseHttpResponse } from \"./base-http-response\";\r\n\r\nexport const resolveUrl = (baseUrl: string, options?: HttpOptions, ...args: string[]): string => {\r\n const { urlRewrite, urlPostfix } = options || {};\r\n\r\n if (urlRewrite) {\r\n return urlRewrite;\r\n }\r\n\r\n let result = baseUrl;\r\n\r\n if (args && args.length > 0 && args[0] !== \"\") {\r\n result += `/${args.join(\"/\")}`;\r\n }\r\n\r\n if (urlPostfix) {\r\n result += `/${urlPostfix}`;\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport const extractRequestOptions = (options?: any) => {\r\n if (!options || typeof options !== \"object\") {\r\n return {};\r\n }\r\n /* eslint-disable */\r\n return HttpRequestOptionsKeys.reduce((requestOptions: any, key) => {\r\n const value = options[key];\r\n\r\n if (value !== undefined) {\r\n requestOptions[key] = value;\r\n }\r\n\r\n return requestOptions;\r\n }, {});\r\n};\r\n\r\nexport const mapResponse = <T>(options?: HttpOptions) => map((res: T) => (options?.mapFn ? options.mapFn(res) : res));\r\n\r\nexport const epmDefaultMapper = <T>(res: BaseHttpResponse<T>) => res.payload;\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpConfig, HttpOptions, ServiceConfig } from './base-http-types';\r\nimport { epmDefaultMapper, extractRequestOptions, mapResponse, resolveUrl } from './base-http-utils';\r\n\r\nexport abstract class BaseHttpService {\r\n private readonly http: HttpClient = inject(HttpClient);\r\n\r\n get url(): string {\r\n const { apiUrl,microServiceUrl } = this.setApiConfig();\r\n return `${microServiceUrl}${apiUrl ? `/${apiUrl}` : ''}`;\r\n }\r\n\r\n get methodsConfig(): ServiceConfig | undefined {\r\n const { methods } = this.setApiConfig();\r\n return methods;\r\n }\r\n\r\n get globalMapFn(): (res: any) => any {\r\n const { globalMapFn } = this.setApiConfig();\r\n return globalMapFn || epmDefaultMapper;\r\n }\r\n\r\n abstract setApiConfig(): HttpConfig;\r\n\r\n single<T>(id: string | number, options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('single');\r\n const url = resolveUrl(this.url, activeOptions, id?.toString());\r\n const requestOptions = extractRequestOptions(activeOptions);\r\n\r\n return this.http\r\n .get<T>(url, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n getAll<T>(options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('getAll');\r\n const url = resolveUrl(this.url, activeOptions);\r\n const requestOptions = extractRequestOptions(activeOptions);\r\n\r\n return this.http\r\n .get<T>(url, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n add<T>(body: unknown, options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('add');\r\n const url = resolveUrl(this.url, activeOptions);\r\n const requestOptions = { ...extractRequestOptions(activeOptions) };\r\n\r\n return this.http\r\n .post<T>(url, body, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n update<T>(\r\n id: string | number,\r\n body: unknown,\r\n options?: HttpOptions\r\n ): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('update');\r\n const url = resolveUrl(this.url, activeOptions, id?.toString());\r\n const requestOptions = { ...extractRequestOptions(activeOptions) };\r\n\r\n return this.http\r\n .put<T>(url, body, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n delete<T>(id: string | number, options?: HttpOptions): Observable<T> {\r\n const activeOptions = options || this.getMethodConfig('delete');\r\n const url = resolveUrl(this.url, activeOptions, id?.toString());\r\n const requestOptions = extractRequestOptions(activeOptions);\r\n\r\n return this.http\r\n .delete<T>(url, requestOptions)\r\n .pipe(mapResponse(this.getMapFun(activeOptions)));\r\n }\r\n\r\n protected getMethodConfig(method: keyof ServiceConfig): any {\r\n return this.methodsConfig ? this.methodsConfig[method] : undefined;\r\n }\r\n\r\n protected getMapFun(options?: HttpOptions) {\r\n const getMapFunObj = {\r\n default: { mapFn: epmDefaultMapper },\r\n custom: { mapFn: this.globalMapFn },\r\n };\r\n\r\n if (\r\n options &&\r\n (options?.reportProgress || options?.responseType === 'blob')\r\n ) {\r\n return { mapFn: (res: unknown) => res };\r\n }\r\n\r\n if (options && options?.mapFn) {\r\n return { mapFn: options.mapFn };\r\n }\r\n\r\n const isGlobalMapFnValid =\r\n this.globalMapFn && typeof this.globalMapFn === 'function';\r\n return isGlobalMapFnValid ? getMapFunObj.custom : getMapFunObj.default;\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { StorageHandler } from '../handlers/storage-handler';\r\nimport { CookiesStorageKeys, LocalStorageKeys } from '../handlers/stortage';\r\nimport { CORE_CONFIG, CoreConfig } from '../core-config';\r\nimport { BaseHttpService, HttpConfig } from './base-http-service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService extends BaseHttpService {\r\n public isUserLoggedIn$ = new BehaviorSubject(this.isLoggedIn());\r\n\r\n constructor(@Inject(CORE_CONFIG) protected appConfig: CoreConfig) {\r\n super();\r\n }\r\n override setApiConfig(): HttpConfig {\r\n return {\r\n apiUrl: '',\r\n microServiceUrl: '',\r\n };\r\n }\r\n\r\n initAuthentication() {\r\n const token: string | null = new URLSearchParams(window.location.search).get('token');\r\n if (token) {\r\n this.setAuthentication(token);\r\n window.location.search = '';\r\n }\r\n }\r\n\r\n setAuthentication(token: string) {\r\n this.isUserLoggedIn$.next(true);\r\n this.setUserToken(token);\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n return !!this.getUserToken();\r\n }\r\n\r\n getUserToken(): string | null {\r\n return StorageHandler.cookies.get(CookiesStorageKeys.AUTHORIZATION);\r\n }\r\n\r\n setUserToken(token?: string) {\r\n return StorageHandler.local.set(LocalStorageKeys.TOKEN, token);\r\n }\r\n\r\n logoutFromSSO() {\r\n const logoutUrl = this.appConfig.logoutEndpoint;\r\n return this.single<unknown>('', {\r\n urlRewrite: logoutUrl,\r\n });\r\n }\r\n\r\n clearAuth() {\r\n StorageHandler.local.clear();\r\n StorageHandler.session.clear();\r\n this.isUserLoggedIn$.next(false);\r\n window.location.href = this.appConfig.loginUrl;\r\n }\r\n}\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { jwtDecode } from \"jwt-decode\";\r\nimport { AuthService } from \"./auth.service\";\r\nimport { JWTDecoded } from \"../interfaces/jwt-token-decoded.interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class JwtDecoderService {\r\n authService = inject(AuthService);\r\n public decodedToken: JWTDecoded;\r\n\r\n constructor() {\r\n this.decodeToken();\r\n }\r\n\r\n public decodeToken() {\r\n const token: string = this.authService.getUserToken() as string;\r\n if (token) {\r\n this.decodedToken = jwtDecode(token);\r\n }\r\n }\r\n}\r\n","export const COMMON_BASE_URL = \"common/api/v1\";\r\nexport const APP_HTTP_CONFIG = {\r\n BOARD_BASE_URL: \"board-acl/private/v1\",\r\n MEETING_BASE_URL: \"meeting-acl/private/v1\",\r\n IGATE_BASE_URL: COMMON_BASE_URL + \"/igate-users\",\r\n LOV_BASE_URL: COMMON_BASE_URL + \"/lov\",\r\n ATTACHMENT_BASE_URL: COMMON_BASE_URL + \"/attachment\"\r\n};\r\n","import { HttpContext, HttpContextToken } from \"@angular/common/http\";\r\n\r\nexport const IS_SYSTEM_LOADER = new HttpContextToken<boolean>(() => true); // set default loader\r\nexport const USE_API_PREFIX = new HttpContextToken<boolean>(() => true); // set default loader\r\n\r\nexport class HttpContextHandler {\r\n static setLoaderType(isSystemLoader: boolean) {\r\n return new HttpContext().set(IS_SYSTEM_LOADER, isSystemLoader);\r\n }\r\n\r\n static useApiPrefix(hasBaseSegment: boolean) {\r\n return new HttpContext().set(USE_API_PREFIX, hasBaseSegment);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface LoaderState {\r\n show: boolean;\r\n isSystemLoader?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class LoaderService {\r\n isLoading$ = new BehaviorSubject<LoaderState>({ show: false });\r\n private loadingMap: Map<string, boolean> = new Map<string, boolean>();\r\n\r\n setLoading(loading: boolean, isSystemLoader = true, url: string): void {\r\n if (!url) {\r\n throw new Error(\"The request URL must be provided to the LoaderService.setLoading function\");\r\n }\r\n\r\n if (loading) {\r\n this.loadingMap.set(url, loading);\r\n this.isLoading$.next({ show: true, isSystemLoader });\r\n } else if (!loading && this.loadingMap.has(url)) {\r\n this.loadingMap.delete(url);\r\n }\r\n\r\n if (!this.loadingMap.size) {\r\n this.isLoading$.next({ show: false });\r\n }\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\n\r\nexport type RequestModifier = (req: HttpRequest<any>) => HttpRequest<any>;\r\n\r\nexport const REQUEST_MODIFIER = new InjectionToken<RequestModifier>('REQUEST_MODIFIER');\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { Inject, inject, Injectable } from '@angular/core';\r\nimport { finalize, Observable, tap } from 'rxjs';\r\nimport { IS_SYSTEM_LOADER, USE_API_PREFIX } from '../handlers/http-context-handler';\r\nimport { LoaderService } from '../services/loader.service';\r\nimport { CORE_CONFIG, CoreConfig } from '../core-config';\r\nimport { REQUEST_MODIFIER } from '../request-modifier';\r\n\r\n@Injectable()\r\nexport class HttpBaseInterceptor implements HttpInterceptor {\r\n loaderService = inject(LoaderService);\r\n\r\n constructor(\r\n @Inject(CORE_CONFIG) protected appConfig: CoreConfig,\r\n @Inject(REQUEST_MODIFIER) protected requestModifier: (req: HttpRequest<any>) => HttpRequest<any>\r\n ) {}\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n console.log('interceptor', this.appConfig);\r\n request = this.requestModifier(request);\r\n\r\n // Handle loader\r\n const IS_SYSTEM_LOADER_CHECK = request.context.get(IS_SYSTEM_LOADER);\r\n this.loaderService.setLoading(true, IS_SYSTEM_LOADER_CHECK, request.url);\r\n\r\n return next.handle(request).pipe(\r\n // Handler Token\r\n tap((event) => {\r\n // if (event instanceof HttpResponse && request.url.includes(User_Token)) {\r\n // Set user token ..\r\n // }\r\n }),\r\n finalize(() => this.loaderService.setLoading(false, IS_SYSTEM_LOADER_CHECK, request.url))\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable, retry, timer } from 'rxjs';\r\n\r\nexport class GlobalHttpErrorInterceptor implements HttpInterceptor {\r\n // check if it is a server error to retry the request\r\n shouldRetry(error: HttpErrorResponse) {\r\n if (error.status >= 500) {\r\n return timer(1000);\r\n }\r\n throw error;\r\n }\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n return next.handle(request).pipe(\r\n retry({\r\n count: 1,\r\n delay: this.shouldRetry\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { APP_HTTP_CONFIG } from '../interceptors';\r\nimport { BaseHttpService, HttpConfig } from './base-http-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ListOfValues extends BaseHttpService {\r\n override setApiConfig(): HttpConfig {\r\n return {\r\n microServiceUrl: APP_HTTP_CONFIG.LOV_BASE_URL,\r\n apiUrl: \"lookups\"\r\n };\r\n }\r\n\r\n getRolesByGroup<T>(group: string): Observable<T> {\r\n return this.getAll<T>({\r\n urlPostfix: group\r\n });\r\n }\r\n}\r\n","import { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { TOASTER_SERVICE, ToasterInterface } from \"../core-config\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ErrorHandlerService implements ErrorHandler {\r\n constructor(\r\n private injector: Injector,\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n private get toasterService(): ToasterInterface {\r\n return this.injector.get<ToasterInterface>(TOASTER_SERVICE);\r\n }\r\n\r\n handleError(error: unknown): void {\r\n console.log(\"ErrorHandlerService\", error);\r\n if (error instanceof Error && !(error instanceof HttpErrorResponse)) {\r\n console.error(error);\r\n return;\r\n }\r\n\r\n if (error instanceof HttpErrorResponse) {\r\n console.error(\"HTTP Error:\", error);\r\n\r\n switch (error.status) {\r\n case 400:\r\n this.showError(`network_errors.${error.error.message}`);\r\n break\r\n case 401:\r\n this.showError(`network_errors.${error.error.message}`);\r\n break;\r\n case 404:\r\n this.showError(`network_errors.${error.error?.message}`);\r\n break;\r\n case 403:\r\n this.showError(\"error.forbidden.message\");\r\n break;\r\n case 500:\r\n this.showError(\"validation_error.server\");\r\n break;\r\n default:\r\n this.showError(\"validation_error.random\");\r\n break;\r\n }\r\n }\r\n }\r\n\r\n private showError(messageKey: string): void {\r\n this.toasterService.error({\r\n title: this.translateService.instant(\"error\"),\r\n message: this.translateService.instant(messageKey),\r\n });\r\n }\r\n}\r\n","import { Injectable, inject } from \"@angular/core\";\r\nimport { JwtDecoderService } from \"./jwt-decoder.service\";\r\nimport { PermissionsActions, UserPermissionsEnum } from \"../enums\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PermissionsService {\r\n private jwtDecoderService = inject(JwtDecoderService);\r\n private decodedToken = this.jwtDecoderService.decodedToken;\r\n private tokenPermissions = this.decodedToken ? this.decodedToken.permissions as [] : [];\r\n private domainPermissionsSubject = new BehaviorSubject<string[]>([]);\r\n domainPermissions$ = this.domainPermissionsSubject.asObservable();\r\n\r\n private getKeyName(action: string) {\r\n const actionsArr = action.split(\"_\");\r\n return actionsArr.splice(1, actionsArr.length - 1).join(\"_\");\r\n }\r\n\r\n getActionName(action: string) {\r\n return action.split(\"_\")[0];\r\n }\r\n\r\n getAllowedActionsByKey(key: UserPermissionsEnum, newPermissions?: string[]) {\r\n const permissionsNeeded = newPermissions || this.tokenPermissions;\r\n if (!permissionsNeeded) {\r\n console.error(\"There are no permissions available\");\r\n return [];\r\n }\r\n return permissionsNeeded\r\n .filter((p) => {\r\n return key === this.getKeyName(p);\r\n })\r\n .map((t) => {\r\n return this.getActionName(t);\r\n });\r\n }\r\n\r\n checkKeyHasPermission(key: UserPermissionsEnum, action: PermissionsActions, newPermissions?: string[]) {\r\n return this.getAllowedActionsByKey(key, newPermissions).some((p) => p === action);\r\n }\r\n\r\n checkDomainHasPermission(key: UserPermissionsEnum, action: PermissionsActions) {\r\n return this.getAllowedActionsByKey(key, this.getDomainPermissions()).some((p) => p === action);\r\n }\r\n\r\n routeGuardChecker(key: UserPermissionsEnum, action: PermissionsActions) {\r\n if(!this.checkKeyHasPermission(key, action)){\r\n return this.checkKeyHasPermission(key, action,this.getDomainPermissions());\r\n }\r\n return true;\r\n }\r\n\r\n clearDomainPermissions() {\r\n this.domainPermissionsSubject.next([]);\r\n }\r\n\r\n setDomainPermissions(permissions: string[]) {\r\n this.domainPermissionsSubject.next(permissions);\r\n }\r\n\r\n getDomainPermissions(): string[] {\r\n return this.domainPermissionsSubject.getValue();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n//import { DeviceDetectorService } from \"ngx-device-detector\";\r\nimport { debounceTime, distinctUntilChanged, fromEvent, Observable, startWith, Subject, tap } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DetectDeviceService {\r\n currentWidth: number = window.innerWidth;\r\n private _width$: Subject<number> = new Subject();\r\n private _agent: string;\r\n constructor() {\r\n fromEvent(window, \"resize\")\r\n .pipe(distinctUntilChanged(), debounceTime(200))\r\n .subscribe((event) => this._handelResize(event));\r\n }\r\n\r\n private _handelResize(event: any) {\r\n this._width$.next(event.target.innerWidth);\r\n this.currentWidth = event.target.innerWidth;\r\n }\r\n\r\n get onResize$(): Observable<number> {\r\n return this._width$.asObservable().pipe(\r\n debounceTime(100), // Debounce to avoid too many events\r\n startWith(window.innerWidth), // Trigger initial check\r\n distinctUntilChanged(), // Avoid duplication\r\n tap(() => this._detect())\r\n );\r\n }\r\n\r\n get agent(): string | undefined {\r\n // Optimize getter performance\r\n if (this._agent) {\r\n return this._agent;\r\n }\r\n\r\n const value = localStorage.getItem(\"User-Agent\");\r\n this._agent = value!;\r\n\r\n return value!;\r\n }\r\n\r\n private _detect(): void {\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n\r\n this.isMobile() ? body?.setAttribute(\"view\", \"mobile\") : body?.setAttribute(\"view\", \"web\");\r\n\r\n switch (true) {\r\n case this.isBrowser():\r\n body?.setAttribute(\"device\", \"browser\");\r\n break;\r\n case this.isIOS():\r\n body?.setAttribute(\"device\", \"ios\");\r\n break;\r\n case this.isAndroid():\r\n body?.setAttribute(\"device\", \"android\");\r\n break;\r\n default:\r\n body?.removeAttribute(\"device\");\r\n }\r\n }\r\n\r\n public isMobile() {\r\n // return this.deviceService.isMobile();\r\n return false;\r\n }\r\n\r\n public isBrowser() {\r\n return !this.agent;\r\n }\r\n\r\n public isIOS() {\r\n return this.agent && (this.agent.toLocaleLowerCase().includes(\"iphone\") || this.agent.toLocaleLowerCase().includes(\"ios\"));\r\n }\r\n\r\n public isAndroid() {\r\n return this.agent && this.agent.toLocaleLowerCase().includes(\"android\");\r\n }\r\n}\r\n","import { AsyncPipe, NgClass } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport {TranslatePipe} from \"@ngx-translate/core\";\r\nimport {LoaderService} from \"../../services\";\r\n\r\n@Component({\r\n selector: \"global-loader\",\r\n templateUrl: \"./global-loader.component.html\",\r\n styleUrls: [\"./global-loader.component.scss\"],\r\n standalone: true,\r\n imports: [AsyncPipe, NgClass, TranslatePipe]\r\n})\r\nexport class GlobalLoaderComponent {\r\n @Input() color: string;\r\n constructor(public loaderService: LoaderService) {}\r\n}\r\n","@if (loaderService.isLoading$ | async; as data) {\r\n @if (data && data.show) {\r\n <div class=\"loader bg-{{color}}\" [ngClass]=\"{\r\n 'system-loader': data.isSystemLoader,\r\n 'absolute': !data.isSystemLoader\r\n }\">\r\n <div class=\"flex flex-col gap-5 items-center\">\r\n <div class=\"animate-spin inline-block w-12 h-12 border-[3px] border-current border-t-transparent\r\n text-blue-900 rounded-full\">\r\n </div>\r\n <span>{{ 'shared.loading' | translate }}</span>\r\n </div>\r\n </div>\r\n }\r\n}\r\n\r\n","import { inject } from '@angular/core';\r\nimport { CanActivateFn } from '@angular/router';\r\nimport { StorageHandler } from '../handlers/storage-handler';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { CORE_CONFIG, CoreConfig } from '../core-config';\r\nimport { CookiesStorageKeys } from '../handlers';\r\n\r\nexport const authGuard: CanActivateFn = () => {\r\n const appConfig = inject<CoreConfig>(CORE_CONFIG);\r\n const cookieService = inject(CookieService);\r\n StorageHandler.init(cookieService);\r\n const token: string | null = StorageHandler.cookies.get(CookiesStorageKeys.AUTHORIZATION);\r\n\r\n if (!token) {\r\n window.location.href = appConfig.loginUrl;\r\n return false;\r\n }\r\n\r\n return true;\r\n};\r\n","import { inject } from \"@angular/core\";\r\nimport { CanActivateFn, Router } from \"@angular/router\";\r\nimport { PermissionsService } from \"../services\";\r\nimport { RoutePermissionsInfo } from \"../interfaces\";\r\n\r\nexport const permissionsGuard: CanActivateFn = (route) => {\r\n const permissionsService = inject(PermissionsService);\r\n const router = inject(Router);\r\n const { key, action }: RoutePermissionsInfo = route.data[\"permissions\"];\r\n\r\n if (!route.data[\"permissions\"] || (route.data[\"permissions\"] && permissionsService.routeGuardChecker(key, action))) {\r\n return true;\r\n } else {\r\n router.navigate([\"no-access\"]);\r\n return false;\r\n }\r\n};\r\n","export enum UserPermissionsEnum {\r\n BOD = \"BOD\",\r\n BOARD_COMMITTEES = \"BOARD_COMMITTEES\",\r\n BOARD_MEETINGS = \"BOARD_MEETINGS\",\r\n MEETING_INSIDE_THE_BOD = \"MEETING_INSIDE_THE_BOD\",\r\n COMMITTEE = \"COMMITTEE\",\r\n MEETING_INSIDE_THE_COMMITTEE = \"MEETING_INSIDE_THE_COMMITTEE\",\r\n MEETING = \"MEETING\",\r\n DECISION = \"DECISION\",\r\n RECOMMENDATION = \"RECOMMENDATION\",\r\n TASK = \"TASK\",\r\n VOTING = \"VOTING\",\r\n VOTING_SECRETARY_RESULTS = \"VOTING_SECRETARY_RESULTS\",\r\n VOTING_RESULTS = \"VOTING_RESULTS\",\r\n DRAFT_MOM = \"DRAFT_MOM\",\r\n FINAL_MOM = \"FINAL_MOM\",\r\n MOM = \"MOM\",\r\n AGENDA = \"AGENDA\",\r\n ATTENDEES = \"ATTENDEES\",\r\n COMMENT = \"COMMENT\"\r\n}\r\n\r\nexport enum PermissionsActions {\r\n VIEW = \"VIEW\",\r\n CREATE = \"CREATE\",\r\n EDIT = \"EDIT\",\r\n DELETE = \"DELETE\",\r\n REORDER = \"REORDER\",\r\n DOWNLOAD = \"DOWNLOAD\",\r\n MARK = \"MARK\",\r\n GENERATE = \"GENERATE\",\r\n TERMINATE = \"TERMINATE\",\r\n START = \"START\",\r\n END = \"END\",\r\n ACTIVATE = \"ACTIVATE\"\r\n}\r\n","export enum DateFormatter {\r\n FULL_DATE_TIME = \"dd MMM yyyy - hh:mm a\",\r\n DATE_TIME_ZONE = \"yyyy-MM-dd'T'HH:mm:ssxxx\",\r\n DATE_UTC = \"yyyy-MM-dd'T'HH:mm:ss'Z'\",\r\n dd_MM_yyyy = \"dd-MM-yyyy\",\r\n yyyy_MM_dd = \"yyyy-MM-dd\",\r\n MMM_dd_yyyy = \"MMM dd ,yyyy\",\r\n MM_D_yyy = \"MM dd ,yyy\",\r\n MMM_D_YYY_Time = \"MMM dd ,YYYY - hh:mm a\",\r\n MMM_d_y_Time = \"MMM d, y, h:mm a\",\r\n d_MM_y = \"d MMM y\",\r\n MMM_D_Y = \"MMM d, y\",\r\n DD_MM = \"dd MMM\",\r\n DATE_PICKER = \"dd/MM/yyyy\",\r\n DATE_FULL_YEAR = \"yyyy\"\r\n}\r\n","export enum DisplayTypesEnum {\r\n WEB_ONLY = \"webOnly\",\r\n MOBILE_ONLY = \"mobileOnly\"\r\n}\r\n","export enum Language {\r\n AR = \"ar\",\r\n EN = \"en\"\r\n}\r\n\r\nexport enum AppDirection {\r\n RTL = \"rtl\",\r\n LTR = \"ltr\"\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { PermissionsService } from '../services';\r\nimport { PermissionsActions, UserPermissionsEnum } from '../enums';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[hasPermissions]',\r\n standalone: true\r\n})\r\nexport class HasPermissionsDirective implements OnInit, OnDestroy {\r\n private _actions: string[];\r\n private _key: string;\r\n private _newPermissions: string[];\r\n private _isDomain: boolean;\r\n\r\n private isViewCreated = false;\r\n private subscription: Subscription;\r\n\r\n constructor(\r\n private permissionsService: PermissionsService,\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<unknown>\r\n ) {}\r\n\r\n /**\r\n * make sure that the key value looks like the UserPermissionsEnum enum\r\n * usage: *permissions=\"[PermissionsActions.EDIT]; key: LOOKUPS\r\n */\r\n\r\n @Input({ required: true }) set hasPermissions(actions: string[]) {\r\n if (this.arraysChanged(this._actions, actions)) {\r\n this._actions = actions;\r\n this.updateView();\r\n }\r\n }\r\n\r\n @Input({ required: true }) set hasPermissionsKey(key: string) {\r\n if (this._key !== key) {\r\n this._key = key;\r\n this.updateView();\r\n }\r\n }\r\n\r\n @Input() set hasPermissionsNewPermissions(newPermissions: string[]) {\r\n if (this.arraysChanged(this._newPermissions, newPermissions)) {\r\n this._newPermissions = newPermissions;\r\n this.updateView();\r\n }\r\n }\r\n\r\n @Input() set hasPermissionsIsDomain(isDomain: boolean) {\r\n if (this._isDomain !== isDomain) {\r\n this._isDomain = isDomain;\r\n this.updateView();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscription = this.permissionsService.domainPermissions$.subscribe(() => {\r\n if (this._isDomain) {\r\n this.updateView();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n\r\n private updateView() {\r\n const canShow = this._actions.some(action => this.hasPermission(action));\r\n\r\n if (canShow && !this.isViewCreated) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.isViewCreated = true;\r\n } else if (!canShow && this.isViewCreated) {\r\n this.clearView();\r\n }\r\n }\r\n\r\n private hasPermission(action: string): boolean {\r\n if (this._isDomain) {\r\n return this.permissionsService.checkDomainHasPermission(\r\n this._key as UserPermissionsEnum,\r\n action as PermissionsActions\r\n );\r\n }\r\n\r\n return this.permissionsService.checkKeyHasPermission(\r\n this._key as UserPermissionsEnum,\r\n action as PermissionsActions,\r\n this._newPermissions\r\n );\r\n }\r\n\r\n private clearView() {\r\n this.viewContainer.clear();\r\n this.isViewCreated = false;\r\n }\r\n\r\n private arraysChanged(a?: string[], b?: string[]): boolean {\r\n if (a === b) return false;\r\n if (!a || !b) return true;\r\n if (a.length !== b.length) return true;\r\n return a.some((v, i) => v !== b[i]);\r\n }\r\n}\r\n","import { Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DetectDeviceService } from \"../services/detect-device.service\";\r\nimport { DisplayTypesEnum } from \"../enums/display-types.enum\";\r\n\r\n/*\r\n * Usage:\r\n * <div *responsiveElement=\"DisplayTypes.WEB_ONLY\">Web</div>\r\n * <div *responsiveElement=\"DisplayTypes.MOBILE_ONLY\">Mobile</div>\r\n * */\r\n\r\n@Directive({\r\n selector: \"[responsiveElement]\",\r\n standalone: true\r\n})\r\nexport class ResponsiveElementDirective implements OnInit, OnDestroy {\r\n @Input(\"responsiveElement\") displayFor: DisplayTypesEnum.WEB_ONLY | DisplayTypesEnum.MOBILE_ONLY;\r\n\r\n private resizeSubscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private detectDeviceServiceService: DetectDeviceService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.resizeSubscription.add(this.detectDeviceServiceService.onResize$.subscribe(this.checkWidth.bind(this)));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.resizeSubscription.unsubscribe();\r\n }\r\n\r\n private checkWidth() {\r\n const shouldDisplay =\r\n (this.displayFor === DisplayTypesEnum.WEB_ONLY && !this.detectDeviceServiceService.isMobile()) ||\r\n (this.displayFor === DisplayTypesEnum.MOBILE_ONLY && this.detectDeviceServiceService.isMobile());\r\n if (shouldDisplay) {\r\n this.viewContainer.length === 0 && this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LoaderService","i1.PermissionsService","i1.DetectDeviceService"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -373,7 +373,6 @@ declare const APP_HTTP_CONFIG: {
373
373
  declare class HttpBaseInterceptor implements HttpInterceptor {
374
374
  protected appConfig: CoreConfig;
375
375
  protected requestModifier: (req: HttpRequest<any>) => HttpRequest<any>;
376
- authService: AuthService;
377
376
  loaderService: LoaderService;
378
377
  constructor(appConfig: CoreConfig, requestModifier: (req: HttpRequest<any>) => HttpRequest<any>);
379
378
  intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corp-products/app-core",
3
- "version": "3.0.5",
3
+ "version": "3.0.7",
4
4
  "author": "shireen Omar",
5
5
  "description": "shared core services across our apps",
6
6
  "peerDependencies": {