@veloceapps/api 11.0.0-22 → 11.0.0-23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/index.mjs +1 -4
- package/esm2020/src/lib/api.module.mjs +1 -10
- package/esm2020/src/lib/types/index.mjs +1 -3
- package/fesm2015/veloceapps-api.mjs +1 -105
- package/fesm2015/veloceapps-api.mjs.map +1 -1
- package/fesm2020/veloceapps-api.mjs +1 -115
- package/fesm2020/veloceapps-api.mjs.map +1 -1
- package/package.json +1 -1
- package/src/index.d.ts +0 -3
- package/src/lib/types/index.d.ts +0 -2
- package/esm2020/src/lib/services/delta-api.service.mjs +0 -23
- package/esm2020/src/lib/services/price-api.service.mjs +0 -63
- package/esm2020/src/lib/services/ramp-api.service.mjs +0 -31
- package/esm2020/src/lib/types/price.types.mjs +0 -2
- package/esm2020/src/lib/types/quote.types.mjs +0 -2
- package/esm2020/src/lib/types/ramp-request.types.mjs +0 -2
- package/src/lib/services/delta-api.service.d.ts +0 -12
- package/src/lib/services/price-api.service.d.ts +0 -16
- package/src/lib/services/ramp-api.service.d.ts +0 -13
- package/src/lib/types/price.types.d.ts +0 -5
- package/src/lib/types/quote.types.d.ts +0 -8
- package/src/lib/types/ramp-request.types.d.ts +0 -13
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"veloceapps-api.mjs","sources":["../../../../libs/api/src/lib/services/account-api.service.ts","../../../../libs/api/src/lib/services/auth.service.ts","../../../../libs/api/src/lib/services/catalog-admin-api.service.ts","../../../../libs/api/src/lib/services/catalog-api.service.ts","../../../../libs/api/src/lib/types/dto/configuration-settings-dto.types.ts","../../../../libs/api/src/lib/services/configuration-settings-api.service.ts","../../../../libs/api/src/lib/services/contracted-price-api.service.ts","../../../../libs/api/src/lib/services/delta-api.service.ts","../../../../libs/api/src/lib/services/document-attachment-api.service.ts","../../../../libs/api/src/lib/services/endpoints-api.service.ts","../../../../libs/api/src/lib/services/flow-state-api.ts","../../../../libs/api/src/lib/services/flows-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-admin-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-api.service.ts","../../../../libs/api/src/lib/services/offers-api.service.ts","../../../../libs/api/src/lib/utils/canvas.utils.ts","../../../../libs/api/src/lib/services/org-info-api.service.ts","../../../../libs/api/src/lib/services/picklists-api.service.ts","../../../../libs/api/src/lib/services/portals-api.service.ts","../../../../libs/api/src/lib/services/price-api.service.ts","../../../../libs/api/src/lib/services/product-api.service.ts","../../../../libs/api/src/lib/services/promotions-api.service.ts","../../../../libs/api/src/lib/services/ramp-api.service.ts","../../../../libs/api/src/lib/services/rebate-program-api.service.ts","../../../../libs/api/src/lib/services/rebate-type-api.service.ts","../../../../libs/api/src/lib/services/salesforce-api.service.ts","../../../../libs/api/src/lib/services/sandbox-manager-api.service.ts","../../../../libs/api/src/lib/services/shopping-cart-settings-api.service.ts","../../../../libs/api/src/lib/services/stateful-configuration-api.ts","../../../../libs/api/src/lib/services/veloce-objects-api.service.ts","../../../../libs/api/src/lib/api.module.ts","../../../../libs/api/veloceapps-api.ts"],"sourcesContent":["import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  Account,\n  AccountAssetsState,\n  BaseHttpService,\n  HttpRequestConfigurableOptions,\n  LineItem,\n  Order,\n  Quote,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class AccountApiService {\n  private readonly SERVICE_URL = '/accounts';\n  constructor(private httpService: BaseHttpService) {}\n\n  public getAccounts$(options?: HttpRequestConfigurableOptions): Observable<Account[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: `${this.SERVICE_URL}`,\n      ...options,\n    });\n  }\n\n  public searchAccounts$(\n    searchParams?: QuerySearchParams,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<Account[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}`,\n      params: params,\n      ...options,\n    });\n  }\n\n  public getAccount$(id: string, options?: HttpRequestConfigurableOptions): Observable<Account> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n      ...options,\n    });\n  }\n\n  public getAssetsState(accountId: string, options?: HttpRequestConfigurableOptions): Observable<AccountAssetsState> {\n    return this.httpService.api<AccountAssetsState>({\n      method: 'get',\n      url: `/v2${this.SERVICE_URL}/${accountId}/assets`,\n      ...options,\n    });\n  }\n\n  public getAssets(accountId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem[]> {\n    return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/assets`, ...options });\n  }\n\n  public getOrders(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Order[]> {\n    return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/orders`, ...options });\n  }\n\n  public getQuotes(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Quote[]> {\n    return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/quotes`, ...options });\n  }\n\n  public getAsset(accountId: string, assetId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/assets/${assetId}`,\n      ...options,\n    });\n  }\n\n  public getOrder(\n    accountId: string,\n    orderId: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<LineItem[]> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}`,\n      ...options,\n    });\n  }\n\n  public getQuote(\n    accountId: string,\n    quoteId: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<LineItem[]> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}`,\n      ...options,\n    });\n  }\n\n  public quoteToOrder(accountId: string, quoteId: string, options?: HttpRequestConfigurableOptions) {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}/to-order`,\n      method: 'post',\n      body: { id: quoteId },\n      ...options,\n    });\n  }\n\n  public orderToAsset(accountId: string, orderId: string, options?: HttpRequestConfigurableOptions) {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}/to-asset`,\n      method: 'post',\n      body: { id: orderId },\n      ...options,\n    });\n  }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { VeloceAuthResponse } from '../types';\n\n@Injectable()\nexport class VeloceAuthService {\n  constructor(private http: HttpClient) {}\n\n  public auth$(instanceUrl: string, accessToken: string): Observable<VeloceAuthResponse> {\n    const headers = new HttpHeaders({\n      'Content-Type': 'application/json',\n      Authorization: `Bearer ${accessToken}`,\n    });\n\n    return this.http.get<VeloceAuthResponse>(`${instanceUrl}/services/apexrest/VELOCE_PRISM/veloce-auth`, { headers });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  Catalog,\n  Category,\n  CategoryFilter,\n  CategoryRequestPayloadWithData,\n  Expression,\n  NewCatalog,\n  NewCategory,\n  NewCategoryFilter,\n  Product,\n} from '@veloceapps/core';\nimport { Observable, noop } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogAdminApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/catalogs';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchCatalogs$ = (searchParams?: QuerySearchParams): Observable<Catalog[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n    return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n  };\n\n  public searchCatalogs$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public fetchCategories$ = (catalogId: string): Observable<Category[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories` });\n  };\n\n  public searchProducts$ = (catalogId: string, categoryId: string): Observable<Product[]> => {\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n      body: {},\n    });\n  };\n\n  public fetchAttributes$ = (catalogId: string, categoryId: string): Observable<CategoryFilter[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes` });\n  };\n\n  public createNewCatalog$ = (catalogData: NewCatalog): Observable<Catalog> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body: catalogData,\n    });\n  };\n\n  public duplicateCatalog$ = (cloneRequest: CloneRequest): Observable<Catalog> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public updateCatalog$ = (data: Catalog): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${data.id}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public removeCatalog$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreCatalog$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public createNewCategory$ = (categoryData: NewCategory): Observable<Category> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${categoryData.catalogId}/categories`,\n      method: 'post',\n      body: categoryData,\n    });\n  };\n\n  public updateCategory$ = (category: Category): Observable<Category> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${category.catalogId}/categories/${category.id}`,\n      method: 'put',\n      body: category,\n    });\n  };\n\n  public duplicateCategory$ = (catalogId: string, cloneRequest: CloneRequest): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${catalogId}/categories/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public removeCategory$ = (id: string, catalogId: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${catalogId}/categories/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreCategory$ = (id: string, catalogId: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${catalogId}/categories/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public removeAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<string> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n      body: data,\n    });\n  };\n\n  public restoreAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public createNewAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<NewCategoryFilter>): Observable<CategoryFilter> => {\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes`,\n      body: data,\n    });\n  };\n\n  public updateAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<CategoryFilter> => {\n    return this.baseHttpService.api({\n      method: 'put',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n      body: data,\n    });\n  };\n\n  public searchProductCandidates$ = (\n    catalogId: string,\n    categoryId: string,\n    expression: Expression,\n    searchParams: QuerySearchParams,\n  ): Observable<Product[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/candidates/search`,\n      params,\n      body: expression,\n    });\n  };\n\n  public addProduct$ = (product: Product, catalogId: string, categoryId: string) => {\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n      body: product,\n    });\n  };\n\n  public updateProduct$ = (product: Partial<Product>, catalogId: string, categoryId: string) => {\n    return this.baseHttpService.api({\n      method: 'put',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${product.id}`,\n      body: product,\n    });\n  };\n\n  public removeProduct$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<Product>): Observable<string> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${data.id}`,\n    });\n  };\n\n  public attachImage$(catalogId: string, categoryId: string, file: File): Observable<void> {\n    const data = new FormData();\n    data.append('image', file);\n\n    return this.baseHttpService.upload({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n      body: data,\n    });\n  }\n\n  public removeImage$(catalogId: string, categoryId: string): Observable<void> {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n    });\n  }\n\n  public fetchImage$(catalogId: string, categoryId: string): Observable<File> {\n    return this.baseHttpService.api({\n      url: this.getImageUrl(catalogId, categoryId),\n      method: 'get',\n      responseType: 'blob',\n      errorHandler: noop,\n    });\n  }\n\n  public getImageUrl(catalogId: string, categoryId: string) {\n    return `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`;\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Catalog, Category, Expression, Product, SearchRequest } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogApiService {\n  private readonly serviceUrl: string = '/product-catalogs';\n\n  constructor(private service: BaseHttpService) {}\n\n  public fetchCatalogs$(): Observable<Catalog[]> {\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}`,\n    });\n  }\n\n  public searchCatalogs$(searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression,\n    });\n  }\n\n  public getCatalog$(id: string): Observable<Catalog> {\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}/${id}`,\n    });\n  }\n\n  public fetchCategories$(catalogId: string): Observable<Category[]> {\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}/${catalogId}/categories`,\n    });\n  }\n\n  public fetchCatalogProducts$(\n    catalogId: string,\n    searchParams?: QuerySearchParams,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/products`,\n      params,\n      body: context,\n    });\n  }\n\n  public fetchCategoryProducts$(\n    catalogId: string,\n    categoryId: string,\n    searchParams?: QuerySearchParams,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n      params,\n      body: context,\n    });\n  }\n\n  public searchCategoryProducts$(\n    catalogId: string,\n    categoryId: string,\n    searchParams?: QuerySearchParams,\n    searchRequest?: SearchRequest,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n      params,\n      body: {\n        configurationContext: context,\n        request: searchRequest,\n      },\n    });\n  }\n\n  public fetchEligibleProducts$(\n    searchParams?: QuerySearchParams,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/products`,\n      params: params,\n      body: context,\n    });\n  }\n\n  public fetchProducts$(searchParams?: QuerySearchParams): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}/products`,\n      params: params,\n    });\n  }\n}\n","import { ConfigurationSettings } from '@veloceapps/core';\n\nexport class ConfigurationSettingsDTO {\n  public static fromDTO(dto: ConfigurationSettingsDTO, key?: string): ConfigurationSettings {\n    return {\n      id: dto?.id,\n      key: dto?.key || key || '',\n      value: dto?.value,\n    };\n  }\n\n  public static toDTO(data: ConfigurationSettings): ConfigurationSettingsDTO {\n    return {\n      id: data.id,\n      key: data.key,\n      value: data.value,\n    };\n  }\n\n  constructor(public id: string, public key: string, public value: string) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  ConfigurationSettings,\n  DataAdministrationField,\n  HttpRequestConfigurableOptions,\n} from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { ConfigurationSettingsDTO } from '../types/dto/configuration-settings-dto.types';\n\n@Injectable()\nexport class ConfigurationSettingsApiService {\n  private readonly SERVICE_URL = '/configuration-settings';\n\n  constructor(private httpService: BaseHttpService, private messageService: MessageService) {}\n\n  public fetchSettings(options?: HttpRequestConfigurableOptions): Observable<ConfigurationSettings[]> {\n    return this.httpService\n      .api<ConfigurationSettingsDTO[]>({\n        url: `${this.SERVICE_URL}`,\n        method: 'get',\n        ...options,\n      })\n      .pipe(\n        map((settings: ConfigurationSettingsDTO[]) =>\n          settings.map(setting => ConfigurationSettingsDTO.fromDTO(setting)),\n        ),\n      );\n  }\n\n  public fetchSetting(\n    settingsKey: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings | null> {\n    return this.httpService\n      .api<ConfigurationSettingsDTO>({\n        url: `${this.SERVICE_URL}/byKey/${settingsKey}`,\n        method: 'get',\n        ...options,\n        skipErrorHandler: true,\n      })\n      .pipe(\n        map((setting: ConfigurationSettingsDTO) => ConfigurationSettingsDTO.fromDTO(setting, settingsKey)),\n        catchError(err => {\n          if (err instanceof HttpErrorResponse && err.status === 404) {\n            if (!options?.skipErrorHandler) {\n              this.messageService.add({\n                severity: 'error',\n                summary: `Configuration Setting \"${settingsKey}\" is not found`,\n                sticky: true,\n              });\n            }\n\n            return of(null);\n          }\n\n          throw err;\n        }),\n      );\n  }\n\n  public createSetting(\n    setting: ConfigurationSettings,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings> {\n    const request = ConfigurationSettingsDTO.toDTO(setting);\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}`,\n      method: 'post',\n      body: {\n        ...request,\n      },\n      ...options,\n    });\n  }\n\n  public updateSetting(\n    setting: ConfigurationSettings,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings> {\n    const request = ConfigurationSettingsDTO.toDTO(setting);\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${request.id}`,\n      method: 'put',\n      body: {\n        ...request,\n      },\n      ...options,\n    });\n  }\n\n  public removeSetting(\n    setting: ConfigurationSettings,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings> {\n    const request = ConfigurationSettingsDTO.toDTO(setting);\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${request.id}`,\n      method: 'delete',\n      ...options,\n    });\n  }\n\n  public restoreSetting(settingId: string, options?: HttpRequestConfigurableOptions): Observable<void> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${settingId}/restore`,\n      method: 'patch',\n      ...options,\n    });\n  }\n\n  public clear(name: DataAdministrationField, options?: HttpRequestConfigurableOptions): Observable<void> {\n    return this.httpService.api({\n      method: 'get',\n      url: '/cache/evict/' + name,\n      ...options,\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, ContractedPrice, Expression, GuidedSelling, NewContractedPrice } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class ContractedPriceApiService {\n  private readonly serviceUrl = '/admin/contracted-price';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchContractedPrices$ = (): Observable<ContractedPrice[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}` });\n  };\n\n  public fetchContractedPrice$ = (id: string): Observable<ContractedPrice> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public createContractedPrice$ = (data: NewContractedPrice): Observable<ContractedPrice> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public updateContractedPrice$ = (data: ContractedPrice): Observable<ContractedPrice> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${data.id}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public searchContractedPrices$ = (\n    searchParams?: QuerySearchParams,\n    expression?: Expression,\n  ): Observable<GuidedSelling[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, LineItem } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CalculateDeltaRequest } from '../types/delta-request.types';\n\n@Injectable()\nexport class DeltaApiService {\n  private readonly SERVICE_URL = '/delta';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  public calculate$(request: CalculateDeltaRequest): Observable<LineItem[]> {\n    return this.httpService.api<LineItem[]>({\n      method: 'post',\n      url: `${this.SERVICE_URL}/calculate`,\n      body: request,\n      skipErrorHandler: true,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Attachment, BaseHttpService, FileDownloadService } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { TemplateAttachmentSearchRequest } from '../types/attachment.types';\n\n@Injectable()\nexport class DocumentAttachmentApiService {\n  private readonly SERVICE_URL = '/attachments';\n\n  constructor(private httpService: BaseHttpService, private fileDownloadService: FileDownloadService) {}\n\n  public getAttachments(searchRequest: TemplateAttachmentSearchRequest): Observable<Attachment[]> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/search`,\n      method: 'post',\n      body: searchRequest,\n    });\n  }\n\n  public createAttachment(attachment: Attachment, file?: File, reportProgress?: boolean): Observable<Attachment> {\n    const formData: FormData = new FormData();\n\n    if (file) {\n      formData.append('file', file, file.name);\n    }\n\n    formData.append(\n      'attachment',\n      new Blob([JSON.stringify(attachment)], {\n        type: 'application/json',\n      }),\n    );\n\n    return this.httpService.upload({\n      url: `${this.SERVICE_URL}`,\n      body: formData,\n      method: 'post',\n      observe: reportProgress ? 'events' : undefined,\n      reportProgress,\n    });\n  }\n\n  public updateAttachment(id: string, attachment: Attachment): Observable<Attachment> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n      body: attachment,\n      method: 'put',\n    });\n  }\n\n  public getAttachmentFile(id: string, isPreventDownload?: boolean): Observable<any> {\n    return this.httpService\n      .api({\n        url: `${this.SERVICE_URL}/${id}/file`,\n        responseType: isPreventDownload ? 'arraybuffer' : 'blob',\n        observe: isPreventDownload ? 'body' : 'response',\n      })\n      .pipe(\n        tap(response => {\n          if (!isPreventDownload) {\n            this.fileDownloadService.processDownload(response);\n          }\n        }),\n        map(response => (isPreventDownload ? new Blob([response.body || response]) : response.body || response)),\n      );\n  }\n\n  public removeAttachment(id: string): Observable<unknown> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n      method: 'delete',\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Endpoint, EndpointExecuteRequest, Expression, NewEndpoint } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class EndpointsApiService {\n  private readonly adminServiceUrl: string = '/admin/api-endpoints';\n  private readonly serviceUrl: string = '/api-endpoints';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchEndpoints$(): Observable<Endpoint[]> {\n    return this.searchEndpoints$(new Expression(), 0, -1);\n  }\n\n  public searchEndpoints$(expression: Expression, skip: number, count: number): Observable<Endpoint[]> {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.adminServiceUrl}/search`,\n      params,\n      body: expression,\n    });\n  }\n\n  public removeEndpoint$(id: string): Observable<void> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${id}`,\n      method: 'delete',\n    });\n  }\n\n  public restoreEndpoint$(id: string): Observable<void> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  }\n\n  public fetchEndpoint$(id: string): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${id}`,\n      method: 'get',\n    });\n  }\n\n  public createEndpoint$(body: NewEndpoint): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public updateEndpoint$(body: Endpoint): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public duplicateEndpoint$(cloneRequest: CloneRequest): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  }\n\n  public executeEndpoint$(body: EndpointExecuteRequest): Observable<string> {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/execute`,\n      method: 'post',\n      body,\n      responseType: 'text',\n      skipErrorHandler: true,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  ConfigurationStateExecuteRequest,\n  ConfigurationStateNewRequest,\n  ConfigurationStateStartRequest,\n  FlowState,\n  FlowStateExecutionRequestDTO,\n  FlowStateExecutionResult,\n  FlowStateInitRequest,\n  FlowStateInitResponse,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class FlowStateApiService {\n  private readonly SERVICE_URL = '/configuration/states';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  /**\n   * Initialize flow state\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public init(request: FlowStateInitRequest): Observable<FlowStateInitResponse> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/start`,\n      body: request,\n    });\n  }\n\n  /**\n   * Get existing state by ID\n   * @param id ID\n   * @returns Flow State\n   */\n  public get(id: string): Observable<FlowState> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n    });\n  }\n\n  /**\n   * Execute actions/selectors\n   * @param id State ID\n   * @param request Request\n   * @returns Execute result\n   */\n  public execute(id: string, request: FlowStateExecutionRequestDTO): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/execute`,\n      body: request,\n    });\n  }\n\n  /**\n   * Save Quote in the state\n   * @param id State ID\n   */\n  public save(id: string): Observable<{ quoteId: string }> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/save`,\n    });\n  }\n\n  /**\n   * Submit Quote in the state\n   * @param id State ID\n   */\n  public submit(id: string): Observable<{ quoteId: string }> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/submit`,\n    });\n  }\n\n  /**\n   * Close Flow state\n   * @param id State ID\n   */\n  public cancel(id: string): Observable<void> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/cancel`,\n    });\n  }\n\n  /**\n   * Initialize stateful configuration\n   * @param stateId string\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public newConfiguration(\n    stateId: string,\n    request: ConfigurationStateNewRequest,\n  ): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/new`,\n      body: request,\n    });\n  }\n\n  /**\n   * Start stateful configuration\n   * @param stateId string\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public startConfiguration(\n    stateId: string,\n    request: ConfigurationStateStartRequest,\n  ): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/start`,\n      body: request,\n    });\n  }\n\n  /**\n   * Execute stateful configuration\n   * @param stateId string\n   * @param configurationId string\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public executeConfiguration(\n    stateId: string,\n    configurationId: string,\n    request: ConfigurationStateExecuteRequest,\n  ): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/execute`,\n      body: request,\n    });\n  }\n\n  /**\n   * Save stateful configuration\n   * @param stateId string\n   * @param configurationId string\n   */\n  public saveConfiguration(stateId: string, configurationId: string): Observable<{ quoteId: string }> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/save`,\n    });\n  }\n\n  /**\n   * Cancel stateful configuration\n   * @param stateId string\n   * @param configurationId string\n   */\n  public cancelConfiguration(stateId: string, configurationId: string): Observable<void> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/cancel`,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Flow } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class FlowsApiService {\n  private readonly flowsKey = 'flows';\n\n  constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n  public getFlow(id: string): Observable<Flow> {\n    return this.fetchFlows().pipe(\n      map(flows => flows.find(flow => flow.id == id)),\n      map(flow => {\n        if (!flow) {\n          throw new Error(`Flow with flowId=${id} is not defined`);\n        }\n\n        return flow;\n      }),\n    );\n  }\n\n  public fetchFlows(): Observable<Flow[]> {\n    return this.configurationSettingsApiService\n      .fetchSetting(this.flowsKey)\n      .pipe(map((setting): Flow[] => (setting?.value ? JSON.parse(setting.value) : [])));\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, NewGuidedSelling } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingsAdminApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/admin/guided-selling';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchGuidedSellings$ = (searchParams?: QuerySearchParams): Observable<GuidedSelling[]> => {\n    return this.searchGuidedSellings$(searchParams);\n  };\n\n  public searchGuidedSellings$ = (\n    searchParams?: QuerySearchParams,\n    expression?: Expression,\n  ): Observable<GuidedSelling[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public fetchGuidedSelling$ = (id: string): Observable<GuidedSelling> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public createNewGuidedSelling$ = (guidedSelling: NewGuidedSelling): Observable<GuidedSelling> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body: guidedSelling,\n    });\n  };\n\n  public duplicateGuidedSelling$ = (cloneRequest: CloneRequest): Observable<GuidedSelling> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public updateGuidedSelling$ = (data: GuidedSelling): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${data.id}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public removeGuidedSelling$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreGuidedSelling$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, Operator } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingApiService {\n  private readonly serviceUrl = '/guided-selling';\n\n  constructor(private http: BaseHttpService) {}\n\n  public searchByName$(name: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n    const expression = new Expression(undefined, [{ key: 'name', operator: Operator.EQ, value: name }]);\n\n    return this.http.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  }\n\n  public searchById$(id: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n    const expression = new Expression(undefined, [{ key: 'id', operator: Operator.EQ, value: id }]);\n\n    return this.http.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewOffer, NewOfferProduct, Offer, OfferProduct } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { OfferProductsUpsertRequest, OfferProductsUpsertResponse } from '../types/dto/offers-dto.types';\n\n@Injectable()\nexport class OffersApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/admin/offers';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public createOffer$(body: NewOffer): Observable<Offer> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public fetchOffers$(): Observable<Offer[]> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n    });\n  }\n\n  public fetchOffer$(id: string): Observable<Offer> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n    });\n  }\n\n  public updateOffer$(offer: Offer): Observable<Offer> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${offer.id}`,\n      method: 'put',\n      body: offer,\n    });\n  }\n\n  public removeOffer$(id: string): Observable<void> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  }\n\n  public searchOffers$(expression: Expression, skip: number, count: number): Observable<Offer[]> {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression,\n    });\n  }\n\n  public fetchOfferProducts$(id: string): Observable<OfferProduct[]> {\n    return this.baseHttpService\n      .api<OfferProductsUpsertResponse>({\n        url: `${this.serviceUrl}/${id}/products`,\n      })\n      .pipe(map(response => response.products));\n  }\n\n  public upsertOfferProducts$(id: string, products: (OfferProduct | NewOfferProduct)[]): Observable<OfferProduct[]> {\n    const request: OfferProductsUpsertRequest = { products };\n\n    return this.baseHttpService\n      .api<OfferProductsUpsertResponse>({\n        url: `${this.serviceUrl}/${id}/products`,\n        method: 'put',\n        body: request,\n      })\n      .pipe(map(response => response.products));\n  }\n}\n","import { isApexError, isCanvasError } from '@veloceapps/core';\nimport { isArray } from 'lodash';\n\n/**\n * Parses the response from Canvas and checks for errors.\n *  - If an error is found, publishes an error message and returns the failover value.\n *  - If no error is found, returns the parsed response.\n *\n * Note! The API call first goes to APEX before reaching the Canvas, so errors can originate from either APEX or Canvas.\n *\n * @param {string} response - The JSON string response from the Canvas call.\n * @param {T} failover - The value to return in case of error.\n * @returns {T | K} The parsed response or the failover value.\n *\n * @template T The expected type of the parsed response.\n * @template K The type of the failover value.\n *\n * @remarks If there's an Apex error, the response data can be an array.\n * In such cases, the function extracts the first element of the array.\n */\nexport const handleCanvasResponse = <T, K>(\n  response: string,\n  failover: K,\n  errorPublisher: (message: string) => void,\n): T | K => {\n  const parsed = JSON.parse(response);\n  const errorCandidate = isArray(parsed) ? parsed[0] : parsed;\n\n  if (isApexError(errorCandidate)) {\n    errorPublisher(errorCandidate.message);\n    return failover;\n  }\n  if (isCanvasError(errorCandidate)) {\n    errorPublisher(errorCandidate.error);\n    return failover;\n  }\n\n  return parsed as T;\n};\n","import { Injectable } from '@angular/core';\nimport { VlWindow } from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { AvailableVersionsInfo, OrgInfo } from '../types/org-info.types';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class OrgInfoApiService {\n  constructor(private messageService: MessageService) {}\n\n  public getOrgInfo$(): Observable<OrgInfo | undefined> {\n    try {\n      return window.doCanvasCall && window.ORGANIZATION_ID\n        ? from(window.doCanvasCall(`org-info/${window.ORGANIZATION_ID}`, null)).pipe(\n            map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public getAvailableVersionsInfo$(): Observable<AvailableVersionsInfo | undefined> {\n    try {\n      return window.doCanvasCall && window.ORGANIZATION_ID\n        ? from(window.doCanvasCall('versions/available', 'include_all=true')).pipe(\n            map(response =>\n              handleCanvasResponse<AvailableVersionsInfo, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public upgradeVersion$(targetVersion: string): Observable<OrgInfo | undefined> {\n    try {\n      return window.doCanvasCall && window.ORGANIZATION_ID\n        ? from(window.doCanvasCall('versions/upgrade', `target_version=${targetVersion}`)).pipe(\n            map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  /**\n   * Shows an error message using the message service.\n   *\n   * @param {string} message - the error message to be published.\n   */\n  private publishErrorMessage = (message: string): void => {\n    this.messageService.add({ severity: 'error', summary: message, sticky: true });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, NewPicklist, NewPicklistValue, Picklist } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class PicklistsApiService {\n  private readonly serviceUrl: string = '/admin';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAllPicklists$ = (): Observable<Picklist[]> =>\n    this.baseHttpService.api({ url: `${this.serviceUrl}/picklists` });\n\n  public fetchPicklist$ = (code: string): Observable<Picklist> =>\n    this.baseHttpService.api({ url: `${this.serviceUrl}/picklists/${code}` });\n\n  public createPicklist$ = (picklist: NewPicklist): Observable<Picklist> => {\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/picklists`, body: picklist });\n  };\n\n  public updatePicklist$ = (picklist: Picklist): Observable<Picklist> => {\n    return this.baseHttpService.api({\n      method: 'put',\n      url: `${this.serviceUrl}/picklists/${picklist.id}`,\n      body: picklist,\n    });\n  };\n\n  public removePicklist$ = (id: string): Observable<void> =>\n    this.baseHttpService.api({ method: 'delete', url: `${this.serviceUrl}/picklists/${id}` });\n\n  public restorePicklist$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/picklists/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public addPicklistValue$ = (picklist: Picklist, value: NewPicklistValue): Observable<Picklist> => {\n    const data = {\n      ...picklist,\n      values: [...picklist.values, value],\n    };\n\n    return this.baseHttpService.api({ method: 'put', url: `${this.serviceUrl}/picklists/${picklist.id}`, body: data });\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPortal, Portal, PortalCustomization } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class PortalsApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/admin/portal';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public createNewPortal$(body: NewPortal): Observable<Portal> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public updatePortal$(portal: Portal, settings: PortalCustomization): Observable<Portal> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${portal.id}`,\n      method: 'put',\n      body: {\n        ...portal,\n        settings: JSON.stringify(settings),\n      },\n    });\n  }\n\n  public getPortals$ = (skip = 1, name = ''): Observable<Portal[]> => {\n    let params: HttpParams = new HttpParams();\n    params = params.append('count', (PortalsApiService.MAX_RESULTS * skip).toString());\n    params = params.append('skip', '0');\n    params = params.append('name', name);\n    return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n  };\n\n  public searchPortals$ = (skip = 0, expression?: Expression): Observable<Portal[]> => {\n    let params: HttpParams = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + PortalsApiService.MAX_RESULTS);\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public removePortal$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicatePortal$ = (cloneRequest: CloneRequest): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public getPortal$ = (id: string): Observable<Portal> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n    });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, PriceList, PriceSummary } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { PriceCalculateRequest } from '../types/price.types';\n\n@Injectable()\nexport class PriceApiService {\n  private readonly SERVICE_URL = '/price';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  public calculate(request: PriceCalculateRequest): Observable<PriceSummary> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/calculate`,\n      body: request,\n      skipErrorHandler: true,\n    });\n  }\n\n  public getPriceLists(): Observable<PriceList[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: '/price-lists',\n    });\n  }\n\n  public getPriceList(id: string): Observable<PriceList> {\n    return this.httpService.api({\n      method: 'get',\n      url: `/price-lists/${id}`,\n    });\n  }\n\n  public getSellingTermByEndDate(\n    planId?: string,\n    offeringId?: string,\n    startDate?: string,\n    endDate?: string,\n    frequencyUnit?: string,\n    frequencyDuration?: string,\n  ): Observable<any> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/selling-term-by-end-date`,\n      body: {\n        planId: planId,\n        offeringId: offeringId,\n        startDate: startDate,\n        endDate: endDate,\n        frequencyUnit: frequencyUnit,\n        frequencyDuration: frequencyDuration,\n      },\n    });\n  }\n\n  public getSellingTermByTerm(\n    planId?: string,\n    offeringId?: string,\n    startDate?: string,\n    term?: number,\n    frequencyUnit?: string,\n    frequencyDuration?: string,\n  ): Observable<any> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/selling-term-by-term`,\n      body: {\n        planId: planId,\n        offeringId: offeringId,\n        startDate: startDate,\n        term: term,\n        frequencyUnit: frequencyUnit,\n        frequencyDuration: frequencyDuration,\n      },\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  AttributeDefinition,\n  BaseHttpService,\n  Expression,\n  LazyChunkRequest,\n  NewAttributeDefinition,\n  NewProduct,\n  NewProductAttribute,\n  Product,\n  ProductAttribute,\n} from '@veloceapps/core';\nimport { noop, Observable } from 'rxjs';\n\n@Injectable()\nexport class ProductApiService {\n  private readonly serviceUrl: string = '/products';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchProducts$ = (payload: LazyChunkRequest): Observable<Product[]> => {\n    let params: HttpParams = new HttpParams();\n    params = params.append('count', payload.count);\n    params = params.append('skip', payload.skip);\n    if (payload.name) {\n      params = params.append('name', payload.name);\n    }\n    return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n  };\n\n  public searchProducts$ = (expression: Expression, skip: number, count: number): Observable<Product[]> => {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params: params,\n      body: expression,\n    });\n  };\n\n  public fetchProduct$ = (id: string): Observable<Product> =>\n    this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n\n  public fetchAttributes$ = (): Observable<AttributeDefinition[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });\n  };\n\n  public searchAttributes$ = (\n    expression: Expression,\n    skip: number,\n    count: number,\n  ): Observable<AttributeDefinition[]> => {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/attributes/definition/search`,\n      params: params,\n      body: expression,\n    });\n  };\n\n  public fetchAttributesByModel = (modelId: string): Observable<AttributeDefinition[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });\n  };\n\n  public createNewProduct$ = (productData: NewProduct): Observable<Product> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body: productData,\n    });\n  };\n\n  public updateProduct$ = (body: Product): Observable<Product> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  };\n\n  public removeProduct$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreProduct$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public createProductAttribute$ = (attributeData: NewProductAttribute): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes`,\n      method: 'post',\n      body: attributeData,\n    });\n  };\n\n  public updateProductAttribute$ = (attributeData: ProductAttribute): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/${attributeData.id}`,\n      method: 'put',\n      body: attributeData,\n    });\n  };\n\n  public removeProductAttribute$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public createNewAttribute$ = (attributeData: NewAttributeDefinition): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition`,\n      method: 'post',\n      body: attributeData,\n    });\n  };\n\n  public updateAttribute$ = (body: AttributeDefinition): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition/${body.id}`,\n      method: 'put',\n      body,\n    });\n  };\n\n  public removeAttribute$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreAttribute$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public attachImage$(productId: string, file: File): Observable<void> {\n    const data = new FormData();\n    data.append('image', file);\n\n    return this.baseHttpService.upload({\n      method: 'post',\n      url: `${this.serviceUrl}/${productId}/image`,\n      body: data,\n    });\n  }\n\n  public removeImage$(productId: string): Observable<void> {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${productId}/image`,\n    });\n  }\n\n  public fetchImage$(productId: string): Observable<File> {\n    return this.baseHttpService.api({\n      url: this.getImageUrl(productId),\n      method: 'get',\n      responseType: 'blob',\n      errorHandler: noop,\n    });\n  }\n\n  public getImageUrl(productId: string) {\n    return `${this.serviceUrl}/${productId}/image`;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPromotion, Promotion } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class PromotionsApiService {\n  private readonly serviceUrl: string = '/admin/promotion';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAll$ = (): Observable<Promotion> => {\n    return this.baseHttpService.api<Promotion>({ url: this.serviceUrl });\n  };\n\n  public search$(expression: Expression, skip?: number, count?: number): Observable<Promotion[]> {\n    let params = new HttpParams();\n    if (typeof skip === 'number') {\n      params = params.set('skip', '' + skip);\n    }\n    if (typeof count === 'number') {\n      params = params.set('count', '' + count);\n    }\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n  }\n\n  public fetchOne$ = (id: string): Observable<Promotion> => {\n    return this.baseHttpService.api<Promotion>({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public create$(body: NewPromotion): Observable<Promotion> {\n    return this.baseHttpService.api<Promotion>({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public update$(body: Promotion): Observable<Promotion> {\n    return this.baseHttpService.api<Promotion>({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public remove$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicate$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        method: 'post',\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, PriceSummary } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { NextRampRequest, RenewRampRequest } from '../types';\n\n@Injectable()\nexport class RampApiService {\n  private readonly SERVICE_URL = '/ramp';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  public next(request: NextRampRequest, options?: HttpRequestConfigurableOptions): Observable<PriceSummary> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/next`,\n      body: request,\n      ...options,\n    });\n  }\n\n  public renew(request: RenewRampRequest, options?: HttpRequestConfigurableOptions): Observable<PriceSummary> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/renew`,\n      body: request,\n      ...options,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateProgram, RebateProgram } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateProgramApiService {\n  private readonly serviceUrl: string = '/admin/rebate-program';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAll$ = (): Observable<RebateProgram[]> => {\n    return this.baseHttpService.api<RebateProgram[]>({ url: this.serviceUrl });\n  };\n\n  public search$(expression: Expression, skip?: number, count?: number): Observable<RebateProgram[]> {\n    let params = new HttpParams();\n    if (typeof skip === 'number') {\n      params = params.set('skip', '' + skip);\n    }\n    if (typeof count === 'number') {\n      params = params.set('count', '' + count);\n    }\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n  }\n\n  public fetchOne$ = (id: string): Observable<RebateProgram> => {\n    return this.baseHttpService.api<RebateProgram>({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public create$(body: NewRebateProgram): Observable<RebateProgram> {\n    return this.baseHttpService.api<RebateProgram>({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public update$(body: RebateProgram): Observable<RebateProgram> {\n    return this.baseHttpService.api<RebateProgram>({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public remove$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicate$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        method: 'post',\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateType, RebateType } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateTypeApiService {\n  private readonly serviceUrl: string = '/admin/rebate-type';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAll$ = (): Observable<RebateType> => {\n    return this.baseHttpService.api<RebateType>({ url: this.serviceUrl });\n  };\n\n  public search$(expression: Expression, skip?: number, count?: number): Observable<RebateType[]> {\n    let params = new HttpParams();\n    if (typeof skip === 'number') {\n      params = params.set('skip', '' + skip);\n    }\n    if (typeof count === 'number') {\n      params = params.set('count', '' + count);\n    }\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n  }\n\n  public fetchOne$ = (id: string): Observable<RebateType> => {\n    return this.baseHttpService.api<RebateType>({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public create$(body: NewRebateType): Observable<RebateType> {\n    return this.baseHttpService.api<RebateType>({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public update$(body: RebateType): Observable<RebateType> {\n    return this.baseHttpService.api<RebateType>({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public remove$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicate$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        method: 'post',\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  GlobalPicklist,\n  GlobalPicklistValue,\n  HttpRequestConfigurableOptions,\n  SalesforceField,\n  SalesforceObject,\n  SearchRequest,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SalesforceApiService {\n  private readonly SERVICE_URL = '/proxy';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  public query<T>(\n    searchRequest: SearchRequest,\n    objectName: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<T[]> {\n    return this.httpService.api({\n      method: 'post',\n      body: { ...searchRequest, count: searchRequest.count || 100 },\n      url: `${this.SERVICE_URL}/query/${objectName}`,\n      ...options,\n    });\n  }\n\n  public queryObjects(search?: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceObject[]> {\n    let params = new HttpParams();\n    if (search) {\n      params = params.append('search', search);\n    }\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/query`,\n      params,\n      ...options,\n    });\n  }\n\n  public search<T = any>(\n    req: { searchString: string },\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<{ searchRecords: T[] }> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/rest/search`,\n      params: { q: req.searchString },\n      ...options,\n    });\n  }\n\n  public describeObject(objectName: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceField[]> {\n    const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n    return this.httpService.api({ url: methodUrl, ...options });\n  }\n\n  public describeField(\n    objectName: string,\n    fieldName: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<SalesforceField> {\n    const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields/${fieldName}`;\n\n    return this.httpService.api({ url: methodUrl, ...options });\n  }\n\n  public describe2<T>(objectName: string, fields: string[], options?: HttpRequestConfigurableOptions): Observable<T> {\n    const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n    return this.httpService.api({ method: 'post', url: methodUrl, body: fields, ...options });\n  }\n\n  public apexGetRequest<T>(\n    path: string,\n    params: HttpParams | Record<string, any>,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<T> {\n    // this line is needed because HttpParams instance from Integration behaves wrong in studio instance of Angular\n    const httpParams = new HttpParams({ fromString: params.toString() });\n\n    return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params: httpParams, ...options });\n  }\n\n  public apexPostRequest<T, S>(path: string, body: S, options?: HttpRequestConfigurableOptions): Observable<T> {\n    return this.httpService.api({\n      method: 'post',\n      body,\n      url: `${this.SERVICE_URL}/apex${path}`,\n      ...options,\n    });\n  }\n\n  public getGlobalPicklists(): Observable<GlobalPicklist[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: `${this.SERVICE_URL}/globalvalueset`,\n    });\n  }\n\n  public getGlobalPicklistValues(id: string): Observable<GlobalPicklistValue[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: `${this.SERVICE_URL}/globalvalueset/${id}/values`,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { NewSalesforceOrganization, SalesforceOrganization, VlWindow } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class SandboxManagerApiService {\n  constructor(private messageService: MessageService) {}\n\n  public getSalesforceOrganizations$(): Observable<SalesforceOrganization[]> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall('orgs', '', 'GET')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization[], SalesforceOrganization[]>(\n                response,\n                [],\n                this.publishErrorMessage,\n              ),\n            ),\n            catchError(() => of([])),\n          )\n        : of([]);\n    } catch {\n      return of([]);\n    }\n  }\n\n  public getAvailableSalesforceOrganizationSizes$(): Observable<Dictionary<number>> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall('available-sizes', '', 'GET')).pipe(\n            map(response =>\n              handleCanvasResponse<Dictionary<number>, Dictionary<number>>(response, {}, this.publishErrorMessage),\n            ),\n            catchError(() => of({})),\n          )\n        : of({});\n    } catch {\n      return of({});\n    }\n  }\n\n  public createSalesforceOrganization$(\n    payload: NewSalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall('orgs', JSON.stringify(payload), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch (err) {\n      return of(undefined);\n    }\n  }\n\n  public updateSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}`, JSON.stringify(payload), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public deleteSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}`, '', 'DELETE')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public activateSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}/activate`, JSON.stringify({}), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public deactivateSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}/deactivate`, JSON.stringify({}), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  /**\n   * Shows an error message using the message service.\n   *\n   * @param {string} message - the error message to be published.\n   */\n  private publishErrorMessage = (message: string): void => {\n    this.messageService.add({ severity: 'error', summary: message, sticky: true });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationSettings, parseJsonSafely, ShoppingCartSetting, ShoppingCartSettings } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class ShoppingCartSettingsApiService {\n  private readonly shoppingCartSettingsKey = 'shopping-cart';\n\n  constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n  public getSetting(id: string): Observable<ShoppingCartSetting | undefined> {\n    return this.fetchSettings().pipe(\n      map((settings): ShoppingCartSetting[] => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n      map(settings => settings.find(setting => setting.id == id)),\n    );\n  }\n\n  public fetchSettings(): Observable<ConfigurationSettings | null> {\n    return this.configurationSettingsApiService.fetchSetting(this.shoppingCartSettingsKey, { skipErrorHandler: true });\n  }\n\n  public getSettingsMap(): Observable<ShoppingCartSettings> {\n    return this.fetchSettings().pipe(\n      map((settings: ConfigurationSettings | null) => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n      map((settings: ShoppingCartSetting[]) =>\n        settings.reduce((acc, setting) => {\n          return { ...acc, [setting.id]: setting.properties };\n        }, {} as ShoppingCartSettings),\n      ),\n    );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  ConfigurationExecuteRequest,\n  ConfigurationExecuteResponse,\n  QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { StatefulConfigurationRequest } from '../types/stateful-configuration.types';\n\n@Injectable()\nexport class StatefulConfigurationApiService {\n  private readonly SERVICE_URL = '/configuration/states';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  /**\n   * Initialize configuration state\n   * @param request Request\n   * @returns ID of new configuration state\n   */\n  public init(request: StatefulConfigurationRequest): Observable<string> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/init`,\n      body: request,\n      responseType: 'text',\n    });\n  }\n\n  /**\n   * Get existing state by ID\n   * @param id ID\n   * @returns Configuration State\n   */\n  public get(id: string): Observable<QuoteDraft> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n    });\n  }\n\n  /**\n   * Execute actions/selectors\n   * @param id State ID\n   * @param request Request\n   * @returns Execute result\n   */\n  public execute(id: string, request: ConfigurationExecuteRequest): Observable<ConfigurationExecuteResponse> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/${id}/execute`,\n      body: request,\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  Expression,\n  NewVeloceObject,\n  NewVeloceObjectCategory,\n  VeloceObject,\n  VeloceObjectCategory,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class VeloceObjectsApiService {\n  private readonly serviceUrl: string = '/veloceobjects';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchCategories$(): Observable<VeloceObjectCategory[]> {\n    return this.baseHttpService.api<VeloceObjectCategory[]>({ url: `${this.serviceUrl}/categories` });\n  }\n\n  public createCategory$(category: NewVeloceObjectCategory): Observable<VeloceObjectCategory> {\n    return this.baseHttpService.api<VeloceObjectCategory>({\n      method: 'post',\n      url: `${this.serviceUrl}/categories`,\n      body: category,\n    });\n  }\n\n  public updateCategory$ = (category: VeloceObjectCategory): Observable<VeloceObjectCategory> => {\n    return this.baseHttpService.api<VeloceObjectCategory>({\n      method: 'put',\n      url: `${this.serviceUrl}/categories/${category.id}`,\n      body: category,\n    });\n  };\n\n  public deleteCategory$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/categories/${id}`,\n    });\n  };\n\n  public fetchObjects$(): Observable<VeloceObject[]> {\n    return this.baseHttpService.api<VeloceObject[]>({ url: `${this.serviceUrl}` });\n  }\n\n  public fetchObject$(id: string): Observable<VeloceObject> {\n    return this.baseHttpService.api<VeloceObject>({ url: `${this.serviceUrl}/${id}` });\n  }\n\n  public searchObjects$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<VeloceObject[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public createObject$(object: NewVeloceObject): Observable<VeloceObject> {\n    return this.baseHttpService.api<VeloceObject>({\n      method: 'post',\n      url: `${this.serviceUrl}`,\n      body: object,\n    });\n  }\n\n  public updateObject$(object: VeloceObject): Observable<VeloceObject> {\n    return this.baseHttpService.api<VeloceObject>({\n      method: 'put',\n      url: `${this.serviceUrl}/${object.id}`,\n      body: object,\n    });\n  }\n\n  public deleteObject$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${id}`,\n    });\n  };\n\n  public duplicateObject$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        method: 'post',\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n\n  public restoreObject$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { ApiV2Module } from '@veloceapps/api/v2';\nimport { BaseHttpService, XrayService } from '@veloceapps/core';\nimport { AccountApiService } from './services/account-api.service';\nimport { VeloceAuthService } from './services/auth.service';\nimport { CatalogAdminApiService } from './services/catalog-admin-api.service';\nimport { CatalogApiService } from './services/catalog-api.service';\nimport { ConfigurationSettingsApiService } from './services/configuration-settings-api.service';\nimport { ContractedPriceApiService } from './services/contracted-price-api.service';\nimport { DeltaApiService } from './services/delta-api.service';\nimport { DocumentAttachmentApiService } from './services/document-attachment-api.service';\nimport { EndpointsApiService } from './services/endpoints-api.service';\nimport { FlowStateApiService } from './services/flow-state-api';\nimport { FlowsApiService } from './services/flows-api.service';\nimport { GuidedSellingsAdminApiService } from './services/guided-sellings-admin-api.service';\nimport { GuidedSellingApiService } from './services/guided-sellings-api.service';\nimport { OffersApiService } from './services/offers-api.service';\nimport { OrgInfoApiService } from './services/org-info-api.service';\nimport { PicklistsApiService } from './services/picklists-api.service';\nimport { PortalsApiService } from './services/portals-api.service';\nimport { PriceApiService } from './services/price-api.service';\nimport { ProductApiService } from './services/product-api.service';\nimport { PromotionsApiService } from './services/promotions-api.service';\nimport { RampApiService } from './services/ramp-api.service';\nimport { RebateProgramApiService } from './services/rebate-program-api.service';\nimport { RebateTypeApiService } from './services/rebate-type-api.service';\nimport { SalesforceApiService } from './services/salesforce-api.service';\nimport { SandboxManagerApiService } from './services/sandbox-manager-api.service';\nimport { ShoppingCartSettingsApiService } from './services/shopping-cart-settings-api.service';\nimport { StatefulConfigurationApiService } from './services/stateful-configuration-api';\nimport { VeloceObjectsApiService } from './services/veloce-objects-api.service';\n\n@NgModule({\n  imports: [HttpClientModule, ApiV2Module],\n  providers: [\n    BaseHttpService,\n    XrayService,\n    ConfigurationSettingsApiService,\n    DocumentAttachmentApiService,\n    PriceApiService,\n    RampApiService,\n    SalesforceApiService,\n    FlowsApiService,\n    GuidedSellingsAdminApiService,\n    ShoppingCartSettingsApiService,\n    ProductApiService,\n    CatalogAdminApiService,\n    GuidedSellingApiService,\n    CatalogApiService,\n    DeltaApiService,\n    AccountApiService,\n    PicklistsApiService,\n    EndpointsApiService,\n    OrgInfoApiService,\n    OffersApiService,\n    VeloceObjectsApiService,\n    StatefulConfigurationApiService,\n    RebateProgramApiService,\n    RebateTypeApiService,\n    PromotionsApiService,\n    VeloceAuthService,\n    ContractedPriceApiService,\n    PortalsApiService,\n    FlowStateApiService,\n    SandboxManagerApiService,\n  ],\n})\nexport class ApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i1.ConfigurationSettingsApiService","map","catchError"],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"veloceapps-api.mjs","sources":["../../../../libs/api/src/lib/services/account-api.service.ts","../../../../libs/api/src/lib/services/auth.service.ts","../../../../libs/api/src/lib/services/catalog-admin-api.service.ts","../../../../libs/api/src/lib/services/catalog-api.service.ts","../../../../libs/api/src/lib/types/dto/configuration-settings-dto.types.ts","../../../../libs/api/src/lib/services/configuration-settings-api.service.ts","../../../../libs/api/src/lib/services/contracted-price-api.service.ts","../../../../libs/api/src/lib/services/document-attachment-api.service.ts","../../../../libs/api/src/lib/services/endpoints-api.service.ts","../../../../libs/api/src/lib/services/flow-state-api.ts","../../../../libs/api/src/lib/services/flows-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-admin-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-api.service.ts","../../../../libs/api/src/lib/services/offers-api.service.ts","../../../../libs/api/src/lib/utils/canvas.utils.ts","../../../../libs/api/src/lib/services/org-info-api.service.ts","../../../../libs/api/src/lib/services/picklists-api.service.ts","../../../../libs/api/src/lib/services/portals-api.service.ts","../../../../libs/api/src/lib/services/product-api.service.ts","../../../../libs/api/src/lib/services/promotions-api.service.ts","../../../../libs/api/src/lib/services/rebate-program-api.service.ts","../../../../libs/api/src/lib/services/rebate-type-api.service.ts","../../../../libs/api/src/lib/services/salesforce-api.service.ts","../../../../libs/api/src/lib/services/sandbox-manager-api.service.ts","../../../../libs/api/src/lib/services/shopping-cart-settings-api.service.ts","../../../../libs/api/src/lib/services/stateful-configuration-api.ts","../../../../libs/api/src/lib/services/veloce-objects-api.service.ts","../../../../libs/api/src/lib/api.module.ts","../../../../libs/api/veloceapps-api.ts"],"sourcesContent":["import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  Account,\n  AccountAssetsState,\n  BaseHttpService,\n  HttpRequestConfigurableOptions,\n  LineItem,\n  Order,\n  Quote,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class AccountApiService {\n  private readonly SERVICE_URL = '/accounts';\n  constructor(private httpService: BaseHttpService) {}\n\n  public getAccounts$(options?: HttpRequestConfigurableOptions): Observable<Account[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: `${this.SERVICE_URL}`,\n      ...options,\n    });\n  }\n\n  public searchAccounts$(\n    searchParams?: QuerySearchParams,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<Account[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}`,\n      params: params,\n      ...options,\n    });\n  }\n\n  public getAccount$(id: string, options?: HttpRequestConfigurableOptions): Observable<Account> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n      ...options,\n    });\n  }\n\n  public getAssetsState(accountId: string, options?: HttpRequestConfigurableOptions): Observable<AccountAssetsState> {\n    return this.httpService.api<AccountAssetsState>({\n      method: 'get',\n      url: `/v2${this.SERVICE_URL}/${accountId}/assets`,\n      ...options,\n    });\n  }\n\n  public getAssets(accountId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem[]> {\n    return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/assets`, ...options });\n  }\n\n  public getOrders(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Order[]> {\n    return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/orders`, ...options });\n  }\n\n  public getQuotes(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Quote[]> {\n    return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/quotes`, ...options });\n  }\n\n  public getAsset(accountId: string, assetId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/assets/${assetId}`,\n      ...options,\n    });\n  }\n\n  public getOrder(\n    accountId: string,\n    orderId: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<LineItem[]> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}`,\n      ...options,\n    });\n  }\n\n  public getQuote(\n    accountId: string,\n    quoteId: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<LineItem[]> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}`,\n      ...options,\n    });\n  }\n\n  public quoteToOrder(accountId: string, quoteId: string, options?: HttpRequestConfigurableOptions) {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}/to-order`,\n      method: 'post',\n      body: { id: quoteId },\n      ...options,\n    });\n  }\n\n  public orderToAsset(accountId: string, orderId: string, options?: HttpRequestConfigurableOptions) {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}/to-asset`,\n      method: 'post',\n      body: { id: orderId },\n      ...options,\n    });\n  }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { VeloceAuthResponse } from '../types';\n\n@Injectable()\nexport class VeloceAuthService {\n  constructor(private http: HttpClient) {}\n\n  public auth$(instanceUrl: string, accessToken: string): Observable<VeloceAuthResponse> {\n    const headers = new HttpHeaders({\n      'Content-Type': 'application/json',\n      Authorization: `Bearer ${accessToken}`,\n    });\n\n    return this.http.get<VeloceAuthResponse>(`${instanceUrl}/services/apexrest/VELOCE_PRISM/veloce-auth`, { headers });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  Catalog,\n  Category,\n  CategoryFilter,\n  CategoryRequestPayloadWithData,\n  Expression,\n  NewCatalog,\n  NewCategory,\n  NewCategoryFilter,\n  Product,\n} from '@veloceapps/core';\nimport { Observable, noop } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogAdminApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/catalogs';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchCatalogs$ = (searchParams?: QuerySearchParams): Observable<Catalog[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n    return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n  };\n\n  public searchCatalogs$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public fetchCategories$ = (catalogId: string): Observable<Category[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories` });\n  };\n\n  public searchProducts$ = (catalogId: string, categoryId: string): Observable<Product[]> => {\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n      body: {},\n    });\n  };\n\n  public fetchAttributes$ = (catalogId: string, categoryId: string): Observable<CategoryFilter[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes` });\n  };\n\n  public createNewCatalog$ = (catalogData: NewCatalog): Observable<Catalog> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body: catalogData,\n    });\n  };\n\n  public duplicateCatalog$ = (cloneRequest: CloneRequest): Observable<Catalog> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public updateCatalog$ = (data: Catalog): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${data.id}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public removeCatalog$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreCatalog$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public createNewCategory$ = (categoryData: NewCategory): Observable<Category> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${categoryData.catalogId}/categories`,\n      method: 'post',\n      body: categoryData,\n    });\n  };\n\n  public updateCategory$ = (category: Category): Observable<Category> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${category.catalogId}/categories/${category.id}`,\n      method: 'put',\n      body: category,\n    });\n  };\n\n  public duplicateCategory$ = (catalogId: string, cloneRequest: CloneRequest): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${catalogId}/categories/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public removeCategory$ = (id: string, catalogId: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${catalogId}/categories/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreCategory$ = (id: string, catalogId: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${catalogId}/categories/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public removeAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<string> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n      body: data,\n    });\n  };\n\n  public restoreAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public createNewAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<NewCategoryFilter>): Observable<CategoryFilter> => {\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes`,\n      body: data,\n    });\n  };\n\n  public updateAttribute$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<CategoryFilter> => {\n    return this.baseHttpService.api({\n      method: 'put',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n      body: data,\n    });\n  };\n\n  public searchProductCandidates$ = (\n    catalogId: string,\n    categoryId: string,\n    expression: Expression,\n    searchParams: QuerySearchParams,\n  ): Observable<Product[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/candidates/search`,\n      params,\n      body: expression,\n    });\n  };\n\n  public addProduct$ = (product: Product, catalogId: string, categoryId: string) => {\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n      body: product,\n    });\n  };\n\n  public updateProduct$ = (product: Partial<Product>, catalogId: string, categoryId: string) => {\n    return this.baseHttpService.api({\n      method: 'put',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${product.id}`,\n      body: product,\n    });\n  };\n\n  public removeProduct$ = ({\n    catalogId,\n    categoryId,\n    data,\n  }: CategoryRequestPayloadWithData<Product>): Observable<string> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${data.id}`,\n    });\n  };\n\n  public attachImage$(catalogId: string, categoryId: string, file: File): Observable<void> {\n    const data = new FormData();\n    data.append('image', file);\n\n    return this.baseHttpService.upload({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n      body: data,\n    });\n  }\n\n  public removeImage$(catalogId: string, categoryId: string): Observable<void> {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n    });\n  }\n\n  public fetchImage$(catalogId: string, categoryId: string): Observable<File> {\n    return this.baseHttpService.api({\n      url: this.getImageUrl(catalogId, categoryId),\n      method: 'get',\n      responseType: 'blob',\n      errorHandler: noop,\n    });\n  }\n\n  public getImageUrl(catalogId: string, categoryId: string) {\n    return `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`;\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Catalog, Category, Expression, Product, SearchRequest } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogApiService {\n  private readonly serviceUrl: string = '/product-catalogs';\n\n  constructor(private service: BaseHttpService) {}\n\n  public fetchCatalogs$(): Observable<Catalog[]> {\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}`,\n    });\n  }\n\n  public searchCatalogs$(searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression,\n    });\n  }\n\n  public getCatalog$(id: string): Observable<Catalog> {\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}/${id}`,\n    });\n  }\n\n  public fetchCategories$(catalogId: string): Observable<Category[]> {\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}/${catalogId}/categories`,\n    });\n  }\n\n  public fetchCatalogProducts$(\n    catalogId: string,\n    searchParams?: QuerySearchParams,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/products`,\n      params,\n      body: context,\n    });\n  }\n\n  public fetchCategoryProducts$(\n    catalogId: string,\n    categoryId: string,\n    searchParams?: QuerySearchParams,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n      params,\n      body: context,\n    });\n  }\n\n  public searchCategoryProducts$(\n    catalogId: string,\n    categoryId: string,\n    searchParams?: QuerySearchParams,\n    searchRequest?: SearchRequest,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n      params,\n      body: {\n        configurationContext: context,\n        request: searchRequest,\n      },\n    });\n  }\n\n  public fetchEligibleProducts$(\n    searchParams?: QuerySearchParams,\n    context?: Record<string, string>,\n  ): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'post',\n      url: `${this.serviceUrl}/products`,\n      params: params,\n      body: context,\n    });\n  }\n\n  public fetchProducts$(searchParams?: QuerySearchParams): Observable<Product[]> {\n    const params = new HttpParams({ fromObject: searchParams });\n\n    return this.service.api({\n      method: 'get',\n      url: `${this.serviceUrl}/products`,\n      params: params,\n    });\n  }\n}\n","import { ConfigurationSettings } from '@veloceapps/core';\n\nexport class ConfigurationSettingsDTO {\n  public static fromDTO(dto: ConfigurationSettingsDTO, key?: string): ConfigurationSettings {\n    return {\n      id: dto?.id,\n      key: dto?.key || key || '',\n      value: dto?.value,\n    };\n  }\n\n  public static toDTO(data: ConfigurationSettings): ConfigurationSettingsDTO {\n    return {\n      id: data.id,\n      key: data.key,\n      value: data.value,\n    };\n  }\n\n  constructor(public id: string, public key: string, public value: string) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  ConfigurationSettings,\n  DataAdministrationField,\n  HttpRequestConfigurableOptions,\n} from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { ConfigurationSettingsDTO } from '../types/dto/configuration-settings-dto.types';\n\n@Injectable()\nexport class ConfigurationSettingsApiService {\n  private readonly SERVICE_URL = '/configuration-settings';\n\n  constructor(private httpService: BaseHttpService, private messageService: MessageService) {}\n\n  public fetchSettings(options?: HttpRequestConfigurableOptions): Observable<ConfigurationSettings[]> {\n    return this.httpService\n      .api<ConfigurationSettingsDTO[]>({\n        url: `${this.SERVICE_URL}`,\n        method: 'get',\n        ...options,\n      })\n      .pipe(\n        map((settings: ConfigurationSettingsDTO[]) =>\n          settings.map(setting => ConfigurationSettingsDTO.fromDTO(setting)),\n        ),\n      );\n  }\n\n  public fetchSetting(\n    settingsKey: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings | null> {\n    return this.httpService\n      .api<ConfigurationSettingsDTO>({\n        url: `${this.SERVICE_URL}/byKey/${settingsKey}`,\n        method: 'get',\n        ...options,\n        skipErrorHandler: true,\n      })\n      .pipe(\n        map((setting: ConfigurationSettingsDTO) => ConfigurationSettingsDTO.fromDTO(setting, settingsKey)),\n        catchError(err => {\n          if (err instanceof HttpErrorResponse && err.status === 404) {\n            if (!options?.skipErrorHandler) {\n              this.messageService.add({\n                severity: 'error',\n                summary: `Configuration Setting \"${settingsKey}\" is not found`,\n                sticky: true,\n              });\n            }\n\n            return of(null);\n          }\n\n          throw err;\n        }),\n      );\n  }\n\n  public createSetting(\n    setting: ConfigurationSettings,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings> {\n    const request = ConfigurationSettingsDTO.toDTO(setting);\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}`,\n      method: 'post',\n      body: {\n        ...request,\n      },\n      ...options,\n    });\n  }\n\n  public updateSetting(\n    setting: ConfigurationSettings,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings> {\n    const request = ConfigurationSettingsDTO.toDTO(setting);\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${request.id}`,\n      method: 'put',\n      body: {\n        ...request,\n      },\n      ...options,\n    });\n  }\n\n  public removeSetting(\n    setting: ConfigurationSettings,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<ConfigurationSettings> {\n    const request = ConfigurationSettingsDTO.toDTO(setting);\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${request.id}`,\n      method: 'delete',\n      ...options,\n    });\n  }\n\n  public restoreSetting(settingId: string, options?: HttpRequestConfigurableOptions): Observable<void> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${settingId}/restore`,\n      method: 'patch',\n      ...options,\n    });\n  }\n\n  public clear(name: DataAdministrationField, options?: HttpRequestConfigurableOptions): Observable<void> {\n    return this.httpService.api({\n      method: 'get',\n      url: '/cache/evict/' + name,\n      ...options,\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, ContractedPrice, Expression, GuidedSelling, NewContractedPrice } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class ContractedPriceApiService {\n  private readonly serviceUrl = '/admin/contracted-price';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchContractedPrices$ = (): Observable<ContractedPrice[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}` });\n  };\n\n  public fetchContractedPrice$ = (id: string): Observable<ContractedPrice> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public createContractedPrice$ = (data: NewContractedPrice): Observable<ContractedPrice> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public updateContractedPrice$ = (data: ContractedPrice): Observable<ContractedPrice> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${data.id}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public searchContractedPrices$ = (\n    searchParams?: QuerySearchParams,\n    expression?: Expression,\n  ): Observable<GuidedSelling[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { Attachment, BaseHttpService, FileDownloadService } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { TemplateAttachmentSearchRequest } from '../types/attachment.types';\n\n@Injectable()\nexport class DocumentAttachmentApiService {\n  private readonly SERVICE_URL = '/attachments';\n\n  constructor(private httpService: BaseHttpService, private fileDownloadService: FileDownloadService) {}\n\n  public getAttachments(searchRequest: TemplateAttachmentSearchRequest): Observable<Attachment[]> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/search`,\n      method: 'post',\n      body: searchRequest,\n    });\n  }\n\n  public createAttachment(attachment: Attachment, file?: File, reportProgress?: boolean): Observable<Attachment> {\n    const formData: FormData = new FormData();\n\n    if (file) {\n      formData.append('file', file, file.name);\n    }\n\n    formData.append(\n      'attachment',\n      new Blob([JSON.stringify(attachment)], {\n        type: 'application/json',\n      }),\n    );\n\n    return this.httpService.upload({\n      url: `${this.SERVICE_URL}`,\n      body: formData,\n      method: 'post',\n      observe: reportProgress ? 'events' : undefined,\n      reportProgress,\n    });\n  }\n\n  public updateAttachment(id: string, attachment: Attachment): Observable<Attachment> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n      body: attachment,\n      method: 'put',\n    });\n  }\n\n  public getAttachmentFile(id: string, isPreventDownload?: boolean): Observable<any> {\n    return this.httpService\n      .api({\n        url: `${this.SERVICE_URL}/${id}/file`,\n        responseType: isPreventDownload ? 'arraybuffer' : 'blob',\n        observe: isPreventDownload ? 'body' : 'response',\n      })\n      .pipe(\n        tap(response => {\n          if (!isPreventDownload) {\n            this.fileDownloadService.processDownload(response);\n          }\n        }),\n        map(response => (isPreventDownload ? new Blob([response.body || response]) : response.body || response)),\n      );\n  }\n\n  public removeAttachment(id: string): Observable<unknown> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n      method: 'delete',\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Endpoint, EndpointExecuteRequest, Expression, NewEndpoint } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class EndpointsApiService {\n  private readonly adminServiceUrl: string = '/admin/api-endpoints';\n  private readonly serviceUrl: string = '/api-endpoints';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchEndpoints$(): Observable<Endpoint[]> {\n    return this.searchEndpoints$(new Expression(), 0, -1);\n  }\n\n  public searchEndpoints$(expression: Expression, skip: number, count: number): Observable<Endpoint[]> {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.adminServiceUrl}/search`,\n      params,\n      body: expression,\n    });\n  }\n\n  public removeEndpoint$(id: string): Observable<void> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${id}`,\n      method: 'delete',\n    });\n  }\n\n  public restoreEndpoint$(id: string): Observable<void> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  }\n\n  public fetchEndpoint$(id: string): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${id}`,\n      method: 'get',\n    });\n  }\n\n  public createEndpoint$(body: NewEndpoint): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public updateEndpoint$(body: Endpoint): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public duplicateEndpoint$(cloneRequest: CloneRequest): Observable<Endpoint> {\n    return this.baseHttpService.api({\n      url: `${this.adminServiceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  }\n\n  public executeEndpoint$(body: EndpointExecuteRequest): Observable<string> {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/execute`,\n      method: 'post',\n      body,\n      responseType: 'text',\n      skipErrorHandler: true,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  ConfigurationStateExecuteRequest,\n  ConfigurationStateNewRequest,\n  ConfigurationStateStartRequest,\n  FlowState,\n  FlowStateExecutionRequestDTO,\n  FlowStateExecutionResult,\n  FlowStateInitRequest,\n  FlowStateInitResponse,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class FlowStateApiService {\n  private readonly SERVICE_URL = '/configuration/states';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  /**\n   * Initialize flow state\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public init(request: FlowStateInitRequest): Observable<FlowStateInitResponse> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/start`,\n      body: request,\n    });\n  }\n\n  /**\n   * Get existing state by ID\n   * @param id ID\n   * @returns Flow State\n   */\n  public get(id: string): Observable<FlowState> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n    });\n  }\n\n  /**\n   * Execute actions/selectors\n   * @param id State ID\n   * @param request Request\n   * @returns Execute result\n   */\n  public execute(id: string, request: FlowStateExecutionRequestDTO): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/execute`,\n      body: request,\n    });\n  }\n\n  /**\n   * Save Quote in the state\n   * @param id State ID\n   */\n  public save(id: string): Observable<{ quoteId: string }> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/save`,\n    });\n  }\n\n  /**\n   * Submit Quote in the state\n   * @param id State ID\n   */\n  public submit(id: string): Observable<{ quoteId: string }> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/submit`,\n    });\n  }\n\n  /**\n   * Close Flow state\n   * @param id State ID\n   */\n  public cancel(id: string): Observable<void> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${id}/cancel`,\n    });\n  }\n\n  /**\n   * Initialize stateful configuration\n   * @param stateId string\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public newConfiguration(\n    stateId: string,\n    request: ConfigurationStateNewRequest,\n  ): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/new`,\n      body: request,\n    });\n  }\n\n  /**\n   * Start stateful configuration\n   * @param stateId string\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public startConfiguration(\n    stateId: string,\n    request: ConfigurationStateStartRequest,\n  ): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/start`,\n      body: request,\n    });\n  }\n\n  /**\n   * Execute stateful configuration\n   * @param stateId string\n   * @param configurationId string\n   * @param request Request\n   * @returns Flow initialization response, which contains session ID and result of selectors\n   */\n  public executeConfiguration(\n    stateId: string,\n    configurationId: string,\n    request: ConfigurationStateExecuteRequest,\n  ): Observable<FlowStateExecutionResult> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/execute`,\n      body: request,\n    });\n  }\n\n  /**\n   * Save stateful configuration\n   * @param stateId string\n   * @param configurationId string\n   */\n  public saveConfiguration(stateId: string, configurationId: string): Observable<{ quoteId: string }> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/save`,\n    });\n  }\n\n  /**\n   * Cancel stateful configuration\n   * @param stateId string\n   * @param configurationId string\n   */\n  public cancelConfiguration(stateId: string, configurationId: string): Observable<void> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/cancel`,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Flow } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class FlowsApiService {\n  private readonly flowsKey = 'flows';\n\n  constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n  public getFlow(id: string): Observable<Flow> {\n    return this.fetchFlows().pipe(\n      map(flows => flows.find(flow => flow.id == id)),\n      map(flow => {\n        if (!flow) {\n          throw new Error(`Flow with flowId=${id} is not defined`);\n        }\n\n        return flow;\n      }),\n    );\n  }\n\n  public fetchFlows(): Observable<Flow[]> {\n    return this.configurationSettingsApiService\n      .fetchSetting(this.flowsKey)\n      .pipe(map((setting): Flow[] => (setting?.value ? JSON.parse(setting.value) : [])));\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, NewGuidedSelling } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingsAdminApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/admin/guided-selling';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchGuidedSellings$ = (searchParams?: QuerySearchParams): Observable<GuidedSelling[]> => {\n    return this.searchGuidedSellings$(searchParams);\n  };\n\n  public searchGuidedSellings$ = (\n    searchParams?: QuerySearchParams,\n    expression?: Expression,\n  ): Observable<GuidedSelling[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public fetchGuidedSelling$ = (id: string): Observable<GuidedSelling> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public createNewGuidedSelling$ = (guidedSelling: NewGuidedSelling): Observable<GuidedSelling> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body: guidedSelling,\n    });\n  };\n\n  public duplicateGuidedSelling$ = (cloneRequest: CloneRequest): Observable<GuidedSelling> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public updateGuidedSelling$ = (data: GuidedSelling): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${data.id}`,\n      method: 'put',\n      body: data,\n    });\n  };\n\n  public removeGuidedSelling$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreGuidedSelling$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, Operator } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingApiService {\n  private readonly serviceUrl = '/guided-selling';\n\n  constructor(private http: BaseHttpService) {}\n\n  public searchByName$(name: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n    const expression = new Expression(undefined, [{ key: 'name', operator: Operator.EQ, value: name }]);\n\n    return this.http.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  }\n\n  public searchById$(id: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n    const expression = new Expression(undefined, [{ key: 'id', operator: Operator.EQ, value: id }]);\n\n    return this.http.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewOffer, NewOfferProduct, Offer, OfferProduct } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { OfferProductsUpsertRequest, OfferProductsUpsertResponse } from '../types/dto/offers-dto.types';\n\n@Injectable()\nexport class OffersApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/admin/offers';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public createOffer$(body: NewOffer): Observable<Offer> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public fetchOffers$(): Observable<Offer[]> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n    });\n  }\n\n  public fetchOffer$(id: string): Observable<Offer> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n    });\n  }\n\n  public updateOffer$(offer: Offer): Observable<Offer> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${offer.id}`,\n      method: 'put',\n      body: offer,\n    });\n  }\n\n  public removeOffer$(id: string): Observable<void> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  }\n\n  public searchOffers$(expression: Expression, skip: number, count: number): Observable<Offer[]> {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression,\n    });\n  }\n\n  public fetchOfferProducts$(id: string): Observable<OfferProduct[]> {\n    return this.baseHttpService\n      .api<OfferProductsUpsertResponse>({\n        url: `${this.serviceUrl}/${id}/products`,\n      })\n      .pipe(map(response => response.products));\n  }\n\n  public upsertOfferProducts$(id: string, products: (OfferProduct | NewOfferProduct)[]): Observable<OfferProduct[]> {\n    const request: OfferProductsUpsertRequest = { products };\n\n    return this.baseHttpService\n      .api<OfferProductsUpsertResponse>({\n        url: `${this.serviceUrl}/${id}/products`,\n        method: 'put',\n        body: request,\n      })\n      .pipe(map(response => response.products));\n  }\n}\n","import { isApexError, isCanvasError } from '@veloceapps/core';\nimport { isArray } from 'lodash';\n\n/**\n * Parses the response from Canvas and checks for errors.\n *  - If an error is found, publishes an error message and returns the failover value.\n *  - If no error is found, returns the parsed response.\n *\n * Note! The API call first goes to APEX before reaching the Canvas, so errors can originate from either APEX or Canvas.\n *\n * @param {string} response - The JSON string response from the Canvas call.\n * @param {T} failover - The value to return in case of error.\n * @returns {T | K} The parsed response or the failover value.\n *\n * @template T The expected type of the parsed response.\n * @template K The type of the failover value.\n *\n * @remarks If there's an Apex error, the response data can be an array.\n * In such cases, the function extracts the first element of the array.\n */\nexport const handleCanvasResponse = <T, K>(\n  response: string,\n  failover: K,\n  errorPublisher: (message: string) => void,\n): T | K => {\n  const parsed = JSON.parse(response);\n  const errorCandidate = isArray(parsed) ? parsed[0] : parsed;\n\n  if (isApexError(errorCandidate)) {\n    errorPublisher(errorCandidate.message);\n    return failover;\n  }\n  if (isCanvasError(errorCandidate)) {\n    errorPublisher(errorCandidate.error);\n    return failover;\n  }\n\n  return parsed as T;\n};\n","import { Injectable } from '@angular/core';\nimport { VlWindow } from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { AvailableVersionsInfo, OrgInfo } from '../types/org-info.types';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class OrgInfoApiService {\n  constructor(private messageService: MessageService) {}\n\n  public getOrgInfo$(): Observable<OrgInfo | undefined> {\n    try {\n      return window.doCanvasCall && window.ORGANIZATION_ID\n        ? from(window.doCanvasCall(`org-info/${window.ORGANIZATION_ID}`, null)).pipe(\n            map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public getAvailableVersionsInfo$(): Observable<AvailableVersionsInfo | undefined> {\n    try {\n      return window.doCanvasCall && window.ORGANIZATION_ID\n        ? from(window.doCanvasCall('versions/available', 'include_all=true')).pipe(\n            map(response =>\n              handleCanvasResponse<AvailableVersionsInfo, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public upgradeVersion$(targetVersion: string): Observable<OrgInfo | undefined> {\n    try {\n      return window.doCanvasCall && window.ORGANIZATION_ID\n        ? from(window.doCanvasCall('versions/upgrade', `target_version=${targetVersion}`)).pipe(\n            map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  /**\n   * Shows an error message using the message service.\n   *\n   * @param {string} message - the error message to be published.\n   */\n  private publishErrorMessage = (message: string): void => {\n    this.messageService.add({ severity: 'error', summary: message, sticky: true });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, NewPicklist, NewPicklistValue, Picklist } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class PicklistsApiService {\n  private readonly serviceUrl: string = '/admin';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAllPicklists$ = (): Observable<Picklist[]> =>\n    this.baseHttpService.api({ url: `${this.serviceUrl}/picklists` });\n\n  public fetchPicklist$ = (code: string): Observable<Picklist> =>\n    this.baseHttpService.api({ url: `${this.serviceUrl}/picklists/${code}` });\n\n  public createPicklist$ = (picklist: NewPicklist): Observable<Picklist> => {\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/picklists`, body: picklist });\n  };\n\n  public updatePicklist$ = (picklist: Picklist): Observable<Picklist> => {\n    return this.baseHttpService.api({\n      method: 'put',\n      url: `${this.serviceUrl}/picklists/${picklist.id}`,\n      body: picklist,\n    });\n  };\n\n  public removePicklist$ = (id: string): Observable<void> =>\n    this.baseHttpService.api({ method: 'delete', url: `${this.serviceUrl}/picklists/${id}` });\n\n  public restorePicklist$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/picklists/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public addPicklistValue$ = (picklist: Picklist, value: NewPicklistValue): Observable<Picklist> => {\n    const data = {\n      ...picklist,\n      values: [...picklist.values, value],\n    };\n\n    return this.baseHttpService.api({ method: 'put', url: `${this.serviceUrl}/picklists/${picklist.id}`, body: data });\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPortal, Portal, PortalCustomization } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class PortalsApiService {\n  public static MAX_RESULTS = 60;\n\n  private readonly serviceUrl: string = '/admin/portal';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public createNewPortal$(body: NewPortal): Observable<Portal> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public updatePortal$(portal: Portal, settings: PortalCustomization): Observable<Portal> {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${portal.id}`,\n      method: 'put',\n      body: {\n        ...portal,\n        settings: JSON.stringify(settings),\n      },\n    });\n  }\n\n  public getPortals$ = (skip = 1, name = ''): Observable<Portal[]> => {\n    let params: HttpParams = new HttpParams();\n    params = params.append('count', (PortalsApiService.MAX_RESULTS * skip).toString());\n    params = params.append('skip', '0');\n    params = params.append('name', name);\n    return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n  };\n\n  public searchPortals$ = (skip = 0, expression?: Expression): Observable<Portal[]> => {\n    let params: HttpParams = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + PortalsApiService.MAX_RESULTS);\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public removePortal$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicatePortal$ = (cloneRequest: CloneRequest): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n      method: 'post',\n      body: cloneRequest,\n    });\n  };\n\n  public getPortal$ = (id: string): Observable<Portal> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n    });\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  AttributeDefinition,\n  BaseHttpService,\n  Expression,\n  LazyChunkRequest,\n  NewAttributeDefinition,\n  NewProduct,\n  NewProductAttribute,\n  Product,\n  ProductAttribute,\n} from '@veloceapps/core';\nimport { noop, Observable } from 'rxjs';\n\n@Injectable()\nexport class ProductApiService {\n  private readonly serviceUrl: string = '/products';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchProducts$ = (payload: LazyChunkRequest): Observable<Product[]> => {\n    let params: HttpParams = new HttpParams();\n    params = params.append('count', payload.count);\n    params = params.append('skip', payload.skip);\n    if (payload.name) {\n      params = params.append('name', payload.name);\n    }\n    return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n  };\n\n  public searchProducts$ = (expression: Expression, skip: number, count: number): Observable<Product[]> => {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params: params,\n      body: expression,\n    });\n  };\n\n  public fetchProduct$ = (id: string): Observable<Product> =>\n    this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n\n  public fetchAttributes$ = (): Observable<AttributeDefinition[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });\n  };\n\n  public searchAttributes$ = (\n    expression: Expression,\n    skip: number,\n    count: number,\n  ): Observable<AttributeDefinition[]> => {\n    let params = new HttpParams();\n    params = params.set('skip', '' + skip);\n    params = params.set('count', '' + count);\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/attributes/definition/search`,\n      params: params,\n      body: expression,\n    });\n  };\n\n  public fetchAttributesByModel = (modelId: string): Observable<AttributeDefinition[]> => {\n    return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });\n  };\n\n  public createNewProduct$ = (productData: NewProduct): Observable<Product> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body: productData,\n    });\n  };\n\n  public updateProduct$ = (body: Product): Observable<Product> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  };\n\n  public removeProduct$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreProduct$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public createProductAttribute$ = (attributeData: NewProductAttribute): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes`,\n      method: 'post',\n      body: attributeData,\n    });\n  };\n\n  public updateProductAttribute$ = (attributeData: ProductAttribute): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/${attributeData.id}`,\n      method: 'put',\n      body: attributeData,\n    });\n  };\n\n  public removeProductAttribute$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public createNewAttribute$ = (attributeData: NewAttributeDefinition): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition`,\n      method: 'post',\n      body: attributeData,\n    });\n  };\n\n  public updateAttribute$ = (body: AttributeDefinition): Observable<AttributeDefinition> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition/${body.id}`,\n      method: 'put',\n      body,\n    });\n  };\n\n  public removeAttribute$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restoreAttribute$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      url: `${this.serviceUrl}/attributes/definition/${id}/restore`,\n      method: 'patch',\n    });\n  };\n\n  public attachImage$(productId: string, file: File): Observable<void> {\n    const data = new FormData();\n    data.append('image', file);\n\n    return this.baseHttpService.upload({\n      method: 'post',\n      url: `${this.serviceUrl}/${productId}/image`,\n      body: data,\n    });\n  }\n\n  public removeImage$(productId: string): Observable<void> {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${productId}/image`,\n    });\n  }\n\n  public fetchImage$(productId: string): Observable<File> {\n    return this.baseHttpService.api({\n      url: this.getImageUrl(productId),\n      method: 'get',\n      responseType: 'blob',\n      errorHandler: noop,\n    });\n  }\n\n  public getImageUrl(productId: string) {\n    return `${this.serviceUrl}/${productId}/image`;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPromotion, Promotion } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class PromotionsApiService {\n  private readonly serviceUrl: string = '/admin/promotion';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAll$ = (): Observable<Promotion> => {\n    return this.baseHttpService.api<Promotion>({ url: this.serviceUrl });\n  };\n\n  public search$(expression: Expression, skip?: number, count?: number): Observable<Promotion[]> {\n    let params = new HttpParams();\n    if (typeof skip === 'number') {\n      params = params.set('skip', '' + skip);\n    }\n    if (typeof count === 'number') {\n      params = params.set('count', '' + count);\n    }\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n  }\n\n  public fetchOne$ = (id: string): Observable<Promotion> => {\n    return this.baseHttpService.api<Promotion>({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public create$(body: NewPromotion): Observable<Promotion> {\n    return this.baseHttpService.api<Promotion>({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public update$(body: Promotion): Observable<Promotion> {\n    return this.baseHttpService.api<Promotion>({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public remove$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicate$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        method: 'post',\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateProgram, RebateProgram } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateProgramApiService {\n  private readonly serviceUrl: string = '/admin/rebate-program';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAll$ = (): Observable<RebateProgram[]> => {\n    return this.baseHttpService.api<RebateProgram[]>({ url: this.serviceUrl });\n  };\n\n  public search$(expression: Expression, skip?: number, count?: number): Observable<RebateProgram[]> {\n    let params = new HttpParams();\n    if (typeof skip === 'number') {\n      params = params.set('skip', '' + skip);\n    }\n    if (typeof count === 'number') {\n      params = params.set('count', '' + count);\n    }\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n  }\n\n  public fetchOne$ = (id: string): Observable<RebateProgram> => {\n    return this.baseHttpService.api<RebateProgram>({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public create$(body: NewRebateProgram): Observable<RebateProgram> {\n    return this.baseHttpService.api<RebateProgram>({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public update$(body: RebateProgram): Observable<RebateProgram> {\n    return this.baseHttpService.api<RebateProgram>({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public remove$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicate$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        method: 'post',\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateType, RebateType } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateTypeApiService {\n  private readonly serviceUrl: string = '/admin/rebate-type';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchAll$ = (): Observable<RebateType> => {\n    return this.baseHttpService.api<RebateType>({ url: this.serviceUrl });\n  };\n\n  public search$(expression: Expression, skip?: number, count?: number): Observable<RebateType[]> {\n    let params = new HttpParams();\n    if (typeof skip === 'number') {\n      params = params.set('skip', '' + skip);\n    }\n    if (typeof count === 'number') {\n      params = params.set('count', '' + count);\n    }\n    return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n  }\n\n  public fetchOne$ = (id: string): Observable<RebateType> => {\n    return this.baseHttpService.api<RebateType>({ url: `${this.serviceUrl}/${id}` });\n  };\n\n  public create$(body: NewRebateType): Observable<RebateType> {\n    return this.baseHttpService.api<RebateType>({\n      url: `${this.serviceUrl}`,\n      method: 'post',\n      body,\n    });\n  }\n\n  public update$(body: RebateType): Observable<RebateType> {\n    return this.baseHttpService.api<RebateType>({\n      url: `${this.serviceUrl}/${body.id}`,\n      method: 'put',\n      body,\n    });\n  }\n\n  public remove$ = (id: string): Observable<string> => {\n    return this.baseHttpService.api<string>({\n      url: `${this.serviceUrl}/${id}`,\n      method: 'delete',\n    });\n  };\n\n  public restore$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n\n  public duplicate$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        method: 'post',\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  GlobalPicklist,\n  GlobalPicklistValue,\n  HttpRequestConfigurableOptions,\n  SalesforceField,\n  SalesforceObject,\n  SearchRequest,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SalesforceApiService {\n  private readonly SERVICE_URL = '/proxy';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  public query<T>(\n    searchRequest: SearchRequest,\n    objectName: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<T[]> {\n    return this.httpService.api({\n      method: 'post',\n      body: { ...searchRequest, count: searchRequest.count || 100 },\n      url: `${this.SERVICE_URL}/query/${objectName}`,\n      ...options,\n    });\n  }\n\n  public queryObjects(search?: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceObject[]> {\n    let params = new HttpParams();\n    if (search) {\n      params = params.append('search', search);\n    }\n\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/query`,\n      params,\n      ...options,\n    });\n  }\n\n  public search<T = any>(\n    req: { searchString: string },\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<{ searchRecords: T[] }> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/rest/search`,\n      params: { q: req.searchString },\n      ...options,\n    });\n  }\n\n  public describeObject(objectName: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceField[]> {\n    const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n    return this.httpService.api({ url: methodUrl, ...options });\n  }\n\n  public describeField(\n    objectName: string,\n    fieldName: string,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<SalesforceField> {\n    const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields/${fieldName}`;\n\n    return this.httpService.api({ url: methodUrl, ...options });\n  }\n\n  public describe2<T>(objectName: string, fields: string[], options?: HttpRequestConfigurableOptions): Observable<T> {\n    const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n    return this.httpService.api({ method: 'post', url: methodUrl, body: fields, ...options });\n  }\n\n  public apexGetRequest<T>(\n    path: string,\n    params: HttpParams | Record<string, any>,\n    options?: HttpRequestConfigurableOptions,\n  ): Observable<T> {\n    // this line is needed because HttpParams instance from Integration behaves wrong in studio instance of Angular\n    const httpParams = new HttpParams({ fromString: params.toString() });\n\n    return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params: httpParams, ...options });\n  }\n\n  public apexPostRequest<T, S>(path: string, body: S, options?: HttpRequestConfigurableOptions): Observable<T> {\n    return this.httpService.api({\n      method: 'post',\n      body,\n      url: `${this.SERVICE_URL}/apex${path}`,\n      ...options,\n    });\n  }\n\n  public getGlobalPicklists(): Observable<GlobalPicklist[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: `${this.SERVICE_URL}/globalvalueset`,\n    });\n  }\n\n  public getGlobalPicklistValues(id: string): Observable<GlobalPicklistValue[]> {\n    return this.httpService.api({\n      method: 'get',\n      url: `${this.SERVICE_URL}/globalvalueset/${id}/values`,\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { NewSalesforceOrganization, SalesforceOrganization, VlWindow } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class SandboxManagerApiService {\n  constructor(private messageService: MessageService) {}\n\n  public getSalesforceOrganizations$(): Observable<SalesforceOrganization[]> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall('orgs', '', 'GET')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization[], SalesforceOrganization[]>(\n                response,\n                [],\n                this.publishErrorMessage,\n              ),\n            ),\n            catchError(() => of([])),\n          )\n        : of([]);\n    } catch {\n      return of([]);\n    }\n  }\n\n  public getAvailableSalesforceOrganizationSizes$(): Observable<Dictionary<number>> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall('available-sizes', '', 'GET')).pipe(\n            map(response =>\n              handleCanvasResponse<Dictionary<number>, Dictionary<number>>(response, {}, this.publishErrorMessage),\n            ),\n            catchError(() => of({})),\n          )\n        : of({});\n    } catch {\n      return of({});\n    }\n  }\n\n  public createSalesforceOrganization$(\n    payload: NewSalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall('orgs', JSON.stringify(payload), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch (err) {\n      return of(undefined);\n    }\n  }\n\n  public updateSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}`, JSON.stringify(payload), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public deleteSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}`, '', 'DELETE')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public activateSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}/activate`, JSON.stringify({}), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  public deactivateSalesforceOrganization$(\n    payload: SalesforceOrganization,\n  ): Observable<SalesforceOrganization | undefined> {\n    try {\n      return window.doSandboxCall\n        ? from(window.doSandboxCall(`orgs/${payload.orgId}/deactivate`, JSON.stringify({}), 'POST')).pipe(\n            map(response =>\n              handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n            ),\n            catchError(() => of(undefined)),\n          )\n        : of(undefined);\n    } catch {\n      return of(undefined);\n    }\n  }\n\n  /**\n   * Shows an error message using the message service.\n   *\n   * @param {string} message - the error message to be published.\n   */\n  private publishErrorMessage = (message: string): void => {\n    this.messageService.add({ severity: 'error', summary: message, sticky: true });\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationSettings, parseJsonSafely, ShoppingCartSetting, ShoppingCartSettings } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class ShoppingCartSettingsApiService {\n  private readonly shoppingCartSettingsKey = 'shopping-cart';\n\n  constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n  public getSetting(id: string): Observable<ShoppingCartSetting | undefined> {\n    return this.fetchSettings().pipe(\n      map((settings): ShoppingCartSetting[] => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n      map(settings => settings.find(setting => setting.id == id)),\n    );\n  }\n\n  public fetchSettings(): Observable<ConfigurationSettings | null> {\n    return this.configurationSettingsApiService.fetchSetting(this.shoppingCartSettingsKey, { skipErrorHandler: true });\n  }\n\n  public getSettingsMap(): Observable<ShoppingCartSettings> {\n    return this.fetchSettings().pipe(\n      map((settings: ConfigurationSettings | null) => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n      map((settings: ShoppingCartSetting[]) =>\n        settings.reduce((acc, setting) => {\n          return { ...acc, [setting.id]: setting.properties };\n        }, {} as ShoppingCartSettings),\n      ),\n    );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  ConfigurationExecuteRequest,\n  ConfigurationExecuteResponse,\n  QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { StatefulConfigurationRequest } from '../types/stateful-configuration.types';\n\n@Injectable()\nexport class StatefulConfigurationApiService {\n  private readonly SERVICE_URL = '/configuration/states';\n\n  constructor(private httpService: BaseHttpService) {}\n\n  /**\n   * Initialize configuration state\n   * @param request Request\n   * @returns ID of new configuration state\n   */\n  public init(request: StatefulConfigurationRequest): Observable<string> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/init`,\n      body: request,\n      responseType: 'text',\n    });\n  }\n\n  /**\n   * Get existing state by ID\n   * @param id ID\n   * @returns Configuration State\n   */\n  public get(id: string): Observable<QuoteDraft> {\n    return this.httpService.api({\n      url: `${this.SERVICE_URL}/${id}`,\n    });\n  }\n\n  /**\n   * Execute actions/selectors\n   * @param id State ID\n   * @param request Request\n   * @returns Execute result\n   */\n  public execute(id: string, request: ConfigurationExecuteRequest): Observable<ConfigurationExecuteResponse> {\n    return this.httpService.api({\n      method: 'post',\n      url: `${this.SERVICE_URL}/${id}/execute`,\n      body: request,\n    });\n  }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n  BaseHttpService,\n  Expression,\n  NewVeloceObject,\n  NewVeloceObjectCategory,\n  VeloceObject,\n  VeloceObjectCategory,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class VeloceObjectsApiService {\n  private readonly serviceUrl: string = '/veloceobjects';\n\n  constructor(private baseHttpService: BaseHttpService) {}\n\n  public fetchCategories$(): Observable<VeloceObjectCategory[]> {\n    return this.baseHttpService.api<VeloceObjectCategory[]>({ url: `${this.serviceUrl}/categories` });\n  }\n\n  public createCategory$(category: NewVeloceObjectCategory): Observable<VeloceObjectCategory> {\n    return this.baseHttpService.api<VeloceObjectCategory>({\n      method: 'post',\n      url: `${this.serviceUrl}/categories`,\n      body: category,\n    });\n  }\n\n  public updateCategory$ = (category: VeloceObjectCategory): Observable<VeloceObjectCategory> => {\n    return this.baseHttpService.api<VeloceObjectCategory>({\n      method: 'put',\n      url: `${this.serviceUrl}/categories/${category.id}`,\n      body: category,\n    });\n  };\n\n  public deleteCategory$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/categories/${id}`,\n    });\n  };\n\n  public fetchObjects$(): Observable<VeloceObject[]> {\n    return this.baseHttpService.api<VeloceObject[]>({ url: `${this.serviceUrl}` });\n  }\n\n  public fetchObject$(id: string): Observable<VeloceObject> {\n    return this.baseHttpService.api<VeloceObject>({ url: `${this.serviceUrl}/${id}` });\n  }\n\n  public searchObjects$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<VeloceObject[]> => {\n    const params = new HttpParams({ fromObject: { ...searchParams } });\n\n    return this.baseHttpService.api({\n      method: 'post',\n      url: `${this.serviceUrl}/search`,\n      params,\n      body: expression || {},\n    });\n  };\n\n  public createObject$(object: NewVeloceObject): Observable<VeloceObject> {\n    return this.baseHttpService.api<VeloceObject>({\n      method: 'post',\n      url: `${this.serviceUrl}`,\n      body: object,\n    });\n  }\n\n  public updateObject$(object: VeloceObject): Observable<VeloceObject> {\n    return this.baseHttpService.api<VeloceObject>({\n      method: 'put',\n      url: `${this.serviceUrl}/${object.id}`,\n      body: object,\n    });\n  }\n\n  public deleteObject$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'delete',\n      url: `${this.serviceUrl}/${id}`,\n    });\n  };\n\n  public duplicateObject$ = (body: CloneRequest): Observable<string> => {\n    return this.baseHttpService\n      .api({\n        method: 'post',\n        url: `${this.serviceUrl}/${body.id}/clone`,\n        body,\n      })\n      .pipe(map(response => response.clonedRecordId));\n  };\n\n  public restoreObject$ = (id: string): Observable<void> => {\n    return this.baseHttpService.api({\n      method: 'patch',\n      url: `${this.serviceUrl}/${id}/restore`,\n    });\n  };\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { ApiV2Module } from '@veloceapps/api/v2';\nimport { BaseHttpService, XrayService } from '@veloceapps/core';\nimport { AccountApiService } from './services/account-api.service';\nimport { VeloceAuthService } from './services/auth.service';\nimport { CatalogAdminApiService } from './services/catalog-admin-api.service';\nimport { CatalogApiService } from './services/catalog-api.service';\nimport { ConfigurationSettingsApiService } from './services/configuration-settings-api.service';\nimport { ContractedPriceApiService } from './services/contracted-price-api.service';\nimport { DocumentAttachmentApiService } from './services/document-attachment-api.service';\nimport { EndpointsApiService } from './services/endpoints-api.service';\nimport { FlowStateApiService } from './services/flow-state-api';\nimport { FlowsApiService } from './services/flows-api.service';\nimport { GuidedSellingsAdminApiService } from './services/guided-sellings-admin-api.service';\nimport { GuidedSellingApiService } from './services/guided-sellings-api.service';\nimport { OffersApiService } from './services/offers-api.service';\nimport { OrgInfoApiService } from './services/org-info-api.service';\nimport { PicklistsApiService } from './services/picklists-api.service';\nimport { PortalsApiService } from './services/portals-api.service';\nimport { ProductApiService } from './services/product-api.service';\nimport { PromotionsApiService } from './services/promotions-api.service';\nimport { RebateProgramApiService } from './services/rebate-program-api.service';\nimport { RebateTypeApiService } from './services/rebate-type-api.service';\nimport { SalesforceApiService } from './services/salesforce-api.service';\nimport { SandboxManagerApiService } from './services/sandbox-manager-api.service';\nimport { ShoppingCartSettingsApiService } from './services/shopping-cart-settings-api.service';\nimport { StatefulConfigurationApiService } from './services/stateful-configuration-api';\nimport { VeloceObjectsApiService } from './services/veloce-objects-api.service';\n\n@NgModule({\n  imports: [HttpClientModule, ApiV2Module],\n  providers: [\n    BaseHttpService,\n    XrayService,\n    ConfigurationSettingsApiService,\n    DocumentAttachmentApiService,\n    SalesforceApiService,\n    FlowsApiService,\n    GuidedSellingsAdminApiService,\n    ShoppingCartSettingsApiService,\n    ProductApiService,\n    CatalogAdminApiService,\n    GuidedSellingApiService,\n    CatalogApiService,\n    AccountApiService,\n    PicklistsApiService,\n    EndpointsApiService,\n    OrgInfoApiService,\n    OffersApiService,\n    VeloceObjectsApiService,\n    StatefulConfigurationApiService,\n    RebateProgramApiService,\n    RebateTypeApiService,\n    PromotionsApiService,\n    VeloceAuthService,\n    ContractedPriceApiService,\n    PortalsApiService,\n    FlowStateApiService,\n    SandboxManagerApiService,\n  ],\n})\nexport class ApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i1.ConfigurationSettingsApiService","map","catchError"],"mappings":"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"}
         |