{"version":3,"file":"verben-ticketing-ui-src-lib-services.mjs","sources":["../../../projects/verben-ticketing-ui/src/lib/services/environment.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/http-web-request.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/util.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/import.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/label.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/shared.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/company-settings.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/verben-ticketing-ui-src-lib-services.ts"],"sourcesContent":["// In your library's services/environment.service.ts\nimport { Injectable, InjectionToken, Inject } from '@angular/core';\n// import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';\n\nexport const ENVIRONMENT = new InjectionToken<Environment>('environment');\n\nexport interface Environment {\n  production: boolean;\n  //  GLAPI: string;\n  AuthenticationAPI: string;\n  TicketingAPI: string;\n  Tenant: string;\n  APIKey: string;\n  Secret: string;\n  FILE_BASE_URL: string;\n  WorkFlowAPI: string;\n  Token?: string;\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class EnvironmentService {\n  constructor(@Inject(ENVIRONMENT) private env: Environment) {}\n\n  get environment(): Environment {\n    return this.env;\n  }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ErrorResponse } from 'verben-ticketing-ui/src/lib/models';\nimport { EnvironmentService } from './environment.service';\nimport { NotificationService } from 'verben-ng-ui';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class HttpWebRequestService {\n  isProd: boolean;\n\n  constructor(\n    private http: HttpClient,\n    private envSvc: EnvironmentService,\n    private notificationService: NotificationService,\n  ) {\n    this.isProd = this.envSvc.environment.production;\n  }\n\n  private buildHeaders(ovverideToken: string | null = null): {\n    [header: string]: string | string[];\n  } {\n    const customToken = ovverideToken || this.envSvc.environment.Token;\n    //  console.log({ CustomerToken: customToken });\n    return customToken\n      ? {\n          'Content-Type': 'application/json',\n          'X-Custom-Auth': customToken,\n          Authorization: customToken,\n        }\n      : {\n          'Content-Type': 'application/json',\n          Authorization:\n            'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJNYWlsQWRkcmVzcyI6InZlcmJlbmFAZ21haWwuY29tIiwiQXBwbGljYXRpb24iOiIiLCJOYW1lIjoiVmVyYmVuYSBMb2dpYyBMaW1pdGVkIiwiUm9sZXMiOiIiLCJUZW5hbnRJZCI6IlBETFRDNiIsIlNlcnZpY2VOYW1lIjoiV2hpdGUzNjAiLCJuYmYiOjE3MzYxNjM1OTYsImV4cCI6MTczNjM3OTU5NiwiaWF0IjoxNzM2MTYzNTk2fQ.q5ErmDIP0NwKKRlVeb9_EfmrEfd8gsFzkNNszkTeTg4',\n        };\n  }\n\n  private buildUrl(url: string, baseUrl: string): string {\n    return `${baseUrl}/${url}`;\n  }\n\n  private handleError(err: any): ErrorResponse {\n    const msg =\n      err?.ErrorMsg ||\n      (err?.errors?.values as string[])?.toString() ||\n      `Error occurred`;\n    this.notificationService.error(msg, { timeout: 10000 });\n    return new ErrorResponse(msg);\n  }\n\n  private request<T>(\n    method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'POST_NO_ERROR',\n    url: string,\n    body?: any,\n    overrideToken?: string,\n    baseUrl: string = this.envSvc.environment.AuthenticationAPI,\n  ): Promise<T> | Observable<T> {\n    const options = {\n      headers: this.buildHeaders(overrideToken || null),\n    };\n\n    const requestUrl = this.buildUrl(url, baseUrl);\n\n    switch (method) {\n      case 'GET':\n        return new Promise((resolve) =>\n          this.http.get<T>(requestUrl, options).subscribe({\n            next: resolve,\n            error: (err) => resolve(this.handleError(err) as T),\n          }),\n        );\n      case 'POST':\n        return new Promise((resolve) =>\n          this.http.post<T>(requestUrl, body, options).subscribe({\n            next: resolve,\n            error: (err) => resolve(this.handleError(err) as T),\n          }),\n        );\n      case 'POST_NO_ERROR':\n        return new Promise((resolve) =>\n          this.http.post<T>(requestUrl, body, options).subscribe({\n            next: resolve,\n          }),\n        );\n      case 'PUT':\n        return this.http.put<T>(requestUrl, body, options);\n      case 'DELETE':\n        return this.http.delete<T>(requestUrl, options);\n    }\n  }\n\n  get<T>(url: string, overrideToken?: string, baseUrl?: string): Promise<T> {\n    return this.request(\n      'GET',\n      url,\n      undefined,\n      overrideToken,\n      baseUrl,\n    ) as Promise<T>;\n  }\n\n  post<T>(\n    url: string,\n    body: any,\n    overrideToken?: string,\n    baseUrl?: string,\n  ): Promise<T> {\n    // console.log({ Url: url, Ovveride: overrideToken });\n    return this.request(\n      'POST',\n      url,\n      JSON.stringify(body),\n      overrideToken,\n      baseUrl,\n    ) as Promise<T>;\n  }\n\n  postNoError<T>(\n    url: string,\n    body: any,\n    overrideToken?: string,\n    baseUrl?: string,\n  ): Promise<T> {\n    return this.request(\n      'POST_NO_ERROR',\n      url,\n      JSON.stringify(body),\n      overrideToken,\n      baseUrl,\n    ) as Promise<T>;\n  }\n\n  postFile<T>(\n    url: string,\n    formData: FormData,\n    overrideToken?: string,\n    baseUrl?: string,\n  ): Promise<T> {\n    return new Promise((resolve) =>\n      this.http\n        .post<T>(\n          this.buildUrl(\n            url,\n            baseUrl || this.envSvc.environment.AuthenticationAPI,\n          ),\n          formData,\n        )\n        .subscribe({\n          next: resolve,\n          error: (err) => resolve(this.handleError(err) as T),\n        }),\n    );\n  }\n\n  put<T>(\n    url: string,\n    body: any,\n    overrideToken?: string,\n    baseUrl?: string,\n  ): Observable<T> {\n    return this.request(\n      'PUT',\n      url,\n      body,\n      overrideToken,\n      baseUrl,\n    ) as Observable<T>;\n  }\n\n  delete<T>(\n    url: string,\n    overrideToken?: string,\n    baseUrl?: string,\n  ): Observable<T> {\n    return this.request(\n      'DELETE',\n      url,\n      undefined,\n      overrideToken,\n      baseUrl,\n    ) as Observable<T>;\n  }\n}\n","import {\n  Inject,\n  Injectable,\n  InjectionToken,\n  Optional,\n  SkipSelf,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UTIL_SERVICE } from 'verben-ng-ui';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class UtilService {\n  constructor(\n    @Optional()\n    @Inject(UTIL_SERVICE)\n    private parentUtilService: any,\n    private route:Router\n  ) {}\n\n  sendBI(state: boolean): void {\n    if (this.parentUtilService && this.parentUtilService.sendBI) {\n      this.parentUtilService.sendBI(state);\n    } else {\n      console.warn('Util Service is not provided');\n    }\n  }\n\n  showInfo(message: string): void {\n    if (this.parentUtilService && this.parentUtilService.showInfo) {\n      this.parentUtilService.showInfo(message);\n    } else {\n      console.warn('Util Service is not provided');\n    }\n  }\n  showSuccess(message: string): void {\n    if (this.parentUtilService && this.parentUtilService.showSuccess) {\n      this.parentUtilService.showSuccess(message);\n    } else {\n      console.warn('Util Service is not provided');\n    }\n  }\ngoToPage(page: string, extra?: any) {\n  if (extra && typeof extra === 'object') {\n    this.route.navigate([`/${page}`], { queryParams: extra });\n    return;\n  }\n\n  if (extra) {\n    this.route.navigate([`/${page}`, extra]);\n    return;\n  }\n\n  this.route.navigate([`/${page}`]);\n}\n\n    openFullRouteInNewWindow(url: string): void {\n    window.open(url, '_blank');\n  }\n  showError(message: string): void {\n    if (this.parentUtilService && this.parentUtilService.showError) {\n      this.parentUtilService.showError(message);\n    } else {\n      console.warn('Util Service is not provided');\n    }\n  }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n  ObjectState,\n  ErrorResponse,\n  PagedResult,\n  BaseModel,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport { UtilService } from './util.service';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class ImportService<T extends BaseModel> {\n  overrideToken: string | null = null;\n\n  constructor(\n    private utilService: UtilService,\n    private server: HttpWebRequestService, //private cdr: ChangeDetectorRef\n  ) {}\n\n  initService(overrideToken: string | null) {\n    this.overrideToken = overrideToken;\n  }\n\n  onComplete(\n    event: any[],\n    defaults: T,\n    endpoint: string | null,\n    baseUrl: string,\n    entity: string,\n    updateCallback: (items: T[]) => void,\n    pagedState: PagedResult<T> | null = null,\n    stringProps: (keyof T)[] = [],\n    numberProps: (keyof T)[] = [],\n    datePropsExtras: (keyof T)[] = [],\n  ) {\n    const normalized = event.map((raw) => {\n      const def = defaults;\n      let merged: T = {\n        ...def,\n        ...raw,\n        Code: raw.Code ? String(raw.Code) : '',\n      };\n\n      stringProps.forEach((key) => {\n        const value = raw[key];\n        merged[key] = value != null ? String(value) : ('' as any);\n      });\n\n      numberProps.forEach((key) => {\n        const value = raw[key];\n\n        if (typeof value === 'string') {\n          // Only parse if it's a valid number\n          const num = value === '' || isNaN(Number(value)) ? 0 : Number(value);\n          merged[key] = num as any;\n        } else {\n          merged[key] = value;\n        }\n      });\n\n      const dateProps: (keyof T)[] = (\n        ['CreatedAt', 'UpdatedAt'] as (keyof T)[]\n      ).concat(datePropsExtras);\n      dateProps.forEach((key) => {\n        const val = merged[key];\n\n        let dateObj: Date;\n\n        if (val instanceof Date) {\n          dateObj = val;\n        } else if (typeof val === 'number') {\n          dateObj = this.excelSerialToDate(val);\n        } else if (typeof val === 'string') {\n          dateObj = new Date(val);\n        } else {\n          dateObj = new Date();\n        }\n        if (isNaN(dateObj.getTime())) {\n          dateObj = new Date();\n        }\n        merged[key] = dateObj as any;\n      });\n\n      return merged;\n    });\n\n    if (normalized && normalized.length > 0) {\n      this.saveImportedDataBatch(\n        normalized,\n        endpoint,\n        baseUrl,\n        entity,\n        updateCallback,\n        pagedState,\n      );\n    }\n  }\n\n  async saveImportedDataBatch(\n    items: T[],\n    endpoint: string | null,\n    baseUrl: string,\n    entity: string,\n    updateCallback: (items: T[]) => void,\n    pagedState: PagedResult<T> | null = null,\n  ) {\n    if (!items?.length) return;\n\n    const preparedItems = items.map((item) => ({\n      ...item,\n      DataState: ObjectState.New,\n      Id: '',\n    }));\n\n    if (!endpoint) {\n      preparedItems.forEach((srv, idx) => {\n        srv.Id = `UPLOAD ${idx}`;\n        // srv.id = `UPLOAD ${idx}`;\n      });\n      updateCallback(preparedItems);\n\n      if (pagedState) {\n        pagedState.Skip += preparedItems.length;\n      }\n\n      return;\n    }\n\n    this.utilService.sendBI(true);\n    const res = await this.server.post(\n      endpoint,\n      preparedItems,\n      this.overrideToken || undefined,\n      baseUrl,\n    );\n    this.utilService.sendBI(false);\n\n    if (res instanceof ErrorResponse) {\n      return;\n    } else {\n      this.utilService.showSuccess(`${entity} upload successful`);\n      const result = res as T[];\n\n      result.forEach((srv, idx) => {\n        srv.Id = srv.Code;\n        // srv.id = srv.Code;\n        // const newItem = {\n        //   ...srv,\n        //   Id: srv.Code,\n        //   id: srv.Code,\n        // };\n\n        // const cardData: CardData = {\n        //   selected: false,\n        //   title: newItem.Id.toString(),\n        //   data: newItem,\n        //   body: [],\n        //   children: [],\n        // };\n      });\n\n      updateCallback(result);\n\n      if (pagedState) {\n        pagedState.Skip += result.length;\n      }\n    }\n  }\n\n  excelSerialToDate(serial: number): Date {\n    1;\n    const excelEpoch = new Date(Date.UTC(1899, 11, 30));\n    const millisPerDay = 24 * 60 * 60 * 1000;\n\n    return new Date(excelEpoch.getTime() + serial * millisPerDay);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { UtilService as AppUtilService } from './util.service';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport {\n  SearchOperator,\n  SearchDynamicWrapper,\n  SearchPropertySign,\n  ErrorResponse,\n  PagedResult,\n  KeyValueParam,\n  CacheDataRequest,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { Observable, of } from 'rxjs';\n\ntype BatchedRequest = {\n  codes: Set<string>;\n  resolvers: Map<string, Array<(label: string) => void>>;\n  rejectors: Map<string, Array<(error: any) => void>>;\n  timer: any;\n};\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class LabelService {\n  private cache = new Map<string, string>();\n  private inFlightRequests = new Map<string, Promise<string>>();\n  private batchedRequests = new Map<string, BatchedRequest>();\n  private tempStore = new Map<string, KeyValueParam[]>();\n  private batchingDelay = 50; // Sliding debounce delay in ms\n  private cacheInProgress = new Map<string, Promise<void>>();\n  constructor(\n    private utilService: AppUtilService,\n    private server: HttpWebRequestService,\n  ) {}\n\n  async getAsyncLabel(\n    value: any,\n    entity: string,\n    labelProp: string,\n    env: string,\n    key: string = 'Code',\n  ): Promise<string> {\n    const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}`;\n\n    if (this.cache.has(cacheKey)) {\n      const value = this.cache.get(cacheKey)!;\n      return value;\n    }\n\n    var payload: SearchDynamicWrapper = {\n      Fields: [labelProp],\n      SearchKeyValues: [\n        {\n          PropertyName: key,\n          EntityValue: value,\n          Operator: SearchOperator.And,\n          Sign: SearchPropertySign.EQ,\n        },\n      ],\n    };\n\n    this.utilService.sendBI(true);\n    const res = await this.server.postNoError(\n      `SearchDynamic${entity}/0/1`,\n      payload,\n      env,\n    );\n    this.utilService.sendBI(false);\n    if (res instanceof ErrorResponse) {\n      return value;\n    } else {\n      const result = (res as PagedResult<string>).Result;\n      const label = result.length > 0 ? result[0] : value;\n      this.cache.set(cacheKey, label);\n      return label;\n    }\n  }\n\n  async getAsyncLabelWithRequestTracking(\n    value: any,\n    entity: string,\n    labelProp: string,\n    env: string,\n    key: string = 'Code',\n  ): Promise<string> {\n    const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}`;\n\n    if (this.cache.has(cacheKey)) {\n      return this.cache.get(cacheKey)!;\n    }\n\n    if (this.inFlightRequests.has(cacheKey)) {\n      return this.inFlightRequests.get(cacheKey)!;\n    }\n\n    const requestPromise = (async () => {\n      const payload: SearchDynamicWrapper = {\n        Fields: [labelProp],\n        SearchKeyValues: [\n          {\n            PropertyName: key,\n            EntityValue: value,\n            Operator: SearchOperator.And,\n            Sign: SearchPropertySign.EQ,\n          },\n        ],\n      };\n\n      this.utilService.sendBI(true);\n      const res = await this.server.post(\n        `SearchDynamic${entity}/0/1`,\n        payload,\n        env,\n      );\n      this.utilService.sendBI(false);\n\n      let label: string;\n      if (res instanceof ErrorResponse) {\n        label = '';\n      } else {\n        const result = (res as PagedResult<string>).Result;\n        label = result.length > 0 ? result[0] : value;\n      }\n\n      this.cache.set(cacheKey, label);\n      this.inFlightRequests.delete(cacheKey);\n\n      return label;\n    })();\n\n    // Save the in-flight request\n    this.inFlightRequests.set(cacheKey, requestPromise);\n\n    return requestPromise;\n  }\n\n  async getAsyncLabelWithRequestTrackingNoGateway(\n    value: any,\n    entity: string,\n    labelProp: string,\n    env: string,\n    controller: string,\n    key: string = 'Code',\n  ): Promise<string> {\n    const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}_${controller}`;\n\n    if (this.cache.has(cacheKey)) {\n      return this.cache.get(cacheKey)!;\n    }\n\n    if (this.inFlightRequests.has(cacheKey)) {\n      return this.inFlightRequests.get(cacheKey)!;\n    }\n\n    const requestPromise = (async () => {\n      const payload: SearchDynamicWrapper = {\n        Fields: [labelProp],\n        SearchKeyValues: [\n          {\n            PropertyName: key,\n            EntityValue: value,\n            Operator: SearchOperator.And,\n            Sign: SearchPropertySign.EQ,\n          },\n        ],\n      };\n\n      this.utilService.sendBI(true);\n      const res = await this.server.post(\n        `${controller}/SearchDynamic${entity}s/0/1`,\n        payload,\n        env,\n      );\n      this.utilService.sendBI(false);\n\n      let label: string;\n      if (res instanceof ErrorResponse) {\n        label = '';\n      } else {\n        const result = (res as PagedResult<string>).Result;\n        label = result.length > 0 ? result[0] : value;\n      }\n\n      this.cache.set(cacheKey, label);\n      this.inFlightRequests.delete(cacheKey);\n\n      return label;\n    })();\n\n    // Save the in-flight request\n    this.inFlightRequests.set(cacheKey, requestPromise);\n\n    return requestPromise;\n  }\n\n  async getAsyncLabelWithBatching(\n    value: any,\n    entity: string,\n    labelProp: string,\n    env: string,\n    overrideToken?: string,\n    key: string = 'Code',\n  ): Promise<string> {\n    const batchKey = `${entity}_${labelProp}_${env}_${key}`;\n    const cacheKey = `${batchKey}_${value}`;\n\n    if (this.cacheInProgress.has(batchKey)) {\n      await this.cacheInProgress.get(batchKey);\n    }\n    // Return from cache if available\n    if (this.cache.has(cacheKey)) {\n      return this.cache.get(cacheKey)!;\n    }\n\n    const store = this.tempStore.get(batchKey);\n    if (store) {\n      const item = store.find((x) => x.Key == value);\n      if (item) {\n        return item.Value;\n      } else {\n        return value;\n      }\n    }\n\n    return new Promise((resolve, reject) => {\n      let batch = this.batchedRequests.get(batchKey);\n\n      if (!batch) {\n        batch = {\n          codes: new Set(),\n          resolvers: new Map(),\n          rejectors: new Map(),\n          timer: null,\n        };\n        this.batchedRequests.set(batchKey, batch);\n      }\n\n      // Add current request to batch\n      batch.codes.add(value);\n      if (!batch.resolvers.has(value)) {\n        batch.resolvers.set(value, []);\n        batch.rejectors.set(value, []);\n      }\n      batch.resolvers.get(value)!.push(resolve);\n      batch.rejectors.get(value)!.push(reject);\n\n      // Reset debounce timer\n      if (batch.timer) clearTimeout(batch.timer);\n      batch.timer = setTimeout(\n        async () => await this.flushBatch(batchKey, overrideToken),\n        this.batchingDelay,\n      );\n    });\n  }\n\n  private async flushBatch(\n    batchKey: string,\n    overrideToken: string | null = null,\n  ) {\n    const batch = this.batchedRequests.get(batchKey);\n    if (!batch) return;\n\n    // console.log({ OvverideTokenTwo: overrideToken });\n\n    this.batchedRequests.delete(batchKey);\n\n    const [entity, labelProp, env, key] = batchKey.split('_');\n    const values = Array.from(batch.codes);\n\n    const payload: SearchDynamicWrapper = {\n      Fields: [key, labelProp],\n      SearchKeyValues: values.map((val) => ({\n        PropertyName: key,\n        EntityValue: val,\n        Operator: SearchOperator.Or,\n        Sign: SearchPropertySign.EQ,\n      })),\n    };\n\n    payload.SearchKeyValues.push({\n      PropertyName: 'TenantId',\n      EntityValue: '',\n      Operator: SearchOperator.And,\n      Sign: SearchPropertySign.NEQ,\n    });\n\n    this.utilService.sendBI(true);\n    const res = await this.server.post(\n      `SearchDynamic${entity}/0/0`,\n      payload,\n      overrideToken || undefined,\n      env,\n    );\n    this.utilService.sendBI(false);\n\n    if (res instanceof ErrorResponse) {\n      for (const val of values) {\n        const resolvers = batch.resolvers.get(val) || [];\n        resolvers.forEach((r) => r(val));\n      }\n      return;\n    }\n\n    const resultArray = (res as PagedResult<any>).Result;\n\n    const labelMap = new Map<string, string>();\n    resultArray.forEach((item: any) => {\n      labelMap.set(item[key], item[labelProp]);\n    });\n\n    for (const val of values) {\n      const label = labelMap.get(val) ?? val;\n      const cacheKey = `${batchKey}_${val}`;\n      this.cache.set(cacheKey, label);\n\n      const resolvers = batch.resolvers.get(val) || [];\n      resolvers.forEach((r) => r(label));\n    }\n  }\n\n  async cacheData(items: CacheDataRequest[]) {\n    for (let item of items) {\n      const batchKey = `${item.Entity}_${item.LabelProp}_${item.Environment}_${item.Key}`;\n\n      // Signal this batchKey is in progress\n      const inProgress = this._cacheSingleBatch(item, batchKey);\n      this.cacheInProgress.set(batchKey, inProgress);\n\n      await inProgress;\n      this.cacheInProgress.delete(batchKey);\n    }\n  }\n\n  private async _cacheSingleBatch(\n    item: CacheDataRequest,\n    batchKey: string,\n    overrideToken: string | null = null,\n  ): Promise<void> {\n    if (item.Values.length == 0) {\n      return;\n    }\n    const payload: SearchDynamicWrapper = {\n      Fields: [item.Key, item.LabelProp],\n      SearchKeyValues: item.Values.map((val) => ({\n        PropertyName: item.Key,\n        EntityValue: val,\n        Operator: SearchOperator.Or,\n        Sign: SearchPropertySign.EQ,\n      })),\n    };\n\n    this.utilService.sendBI(true);\n    const res = await this.server.post(\n      `SearchDynamic${item.Entity}/0/0`,\n      payload,\n      overrideToken || undefined,\n      item.Environment,\n    );\n    this.utilService.sendBI(false);\n\n    if (!(res instanceof ErrorResponse)) {\n      const resultArray = (res as PagedResult<any>).Result;\n      const keyValues: KeyValueParam[] = resultArray.map((x: any) => ({\n        Key: x[item.Key],\n        Value: x[item.LabelProp],\n      }));\n      this.tempStore.set(batchKey, keyValues);\n    }\n  }\n\n  // async cacheData(items: CacheDataRequest[]) {\n  //   for(let item of items) {\n  //     const batchKey = `${item.Entity}_${item.LabelProp}_${item.Environment}_${item.Key}`;\n  //     const payload: SearchDynamicWrapper = {\n  //     Fields: [item.Key, item.LabelProp],\n  //     SearchKeyValues: item.Values.map((val) => ({\n  //         PropertyName: item.Key,\n  //         EntityValue: val,\n  //         Operator: SearchOperator.Or,\n  //         Sign: SearchPropertySign.EQ,\n  //       })),\n  //     };\n\n  //     this.utilService.sendBI(true);\n  //     const res = await this.server.post(\n  //       `SearchDynamic${item.Entity}/0/0`,\n  //       payload,\n  //       item.Environment\n  //     );\n  //     this.utilService.sendBI(false);\n\n  //     if (res instanceof ErrorResponse) {\n\n  //     } else {\n  //       const resultArray = (res as PagedResult<any>).Result;\n  //       const keyValues: KeyValueParam[] = [];\n  //       resultArray.forEach((x: any) => {\n  //         var keyValue: KeyValueParam = {\n  //           Key: x[item.Key],\n  //           Value: x[item.LabelProp]\n  //         }\n  //         keyValues.push(keyValue);\n  //       })\n  //       this.tempStore.set(batchKey, keyValues);\n  //     }\n  //   }\n  // }\n}\n","import { Injectable } from '@angular/core';\nimport { DEFAULT_PAGE_SIZE } from 'verben-ticketing-ui/src/lib/constants';\nimport {\n  ErrorResponse,\n  File,\n  PagedResult,\n  SearchOperator,\n  SearchPropertySign,\n  SearchPropertyValue,\n  TenantPriority,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { ObjectState } from 'verben-ticketing-ui/src/lib/models';\nimport { UtilService } from './util.service';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SharedService {\n  pageSize: number = DEFAULT_PAGE_SIZE;\n  overrideToken: string | null = null;\n\n  constructor(\n    private utilService: UtilService,\n    private server: HttpWebRequestService,\n    private envSvc: EnvironmentService,\n  ) {}\n\n  initService(overrideToken: string | null) {\n    this.overrideToken = overrideToken;\n  }\n\n  createCustomFile(\n    base64data: string,\n    index: number,\n    file: globalThis.File,\n  ): File | null {\n    const extension = file.name.split('.').pop();\n    const customFile: File = {\n      Extension: extension,\n      Name: file.name,\n      Data: base64data,\n      DataState: ObjectState.New,\n    };\n\n    return customFile;\n  }\n\n  async getAllPrioritiesForTenant(\n    tenant: string,\n  ): Promise<PagedResult<TenantPriority> | undefined> {\n    const payload: SearchPropertyValue[] = [\n      {\n        PropertyName: 'TenantId',\n        EntityValue: tenant,\n        Operator: SearchOperator.And,\n        Sign: SearchPropertySign.EQ,\n      },\n    ];\n    this.utilService.sendBI(true);\n    const res = await this.server.post(\n      `Ticket/SearchTenantPriority/0/0`,\n      payload,\n      this.overrideToken || undefined,\n      this.envSvc.environment.TicketingAPI,\n    );\n    this.utilService.sendBI(false);\n    if (res instanceof ErrorResponse) {\n      return;\n    } else {\n      var result = res as PagedResult<TenantPriority>;\n      return result;\n    }\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Company } from 'verben-ticketing-ui/src/lib/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class CompanySettingsService {\n  locale: string = 'en-US';\n  numberDP: number = 2;\n  dateFormat: string = 'M/d/yyyy';\n  baseCurrency: string = 'NGN';\n\n  setSettings(data: Company) {\n    this.locale = data.LocaleCode || 'en-US';\n    this.numberDP = data.NumberDP ?? 2;\n    this.dateFormat = data.DateFormat || 'M/d/yyyy';\n    this.baseCurrency = data.BaseCurrency;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EnvironmentService","i1","i1.UtilService","i2.HttpWebRequestService","i3.EnvironmentService"],"mappings":"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"}