@veloceapps/api 7.0.0-9 → 7.0.1-1
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/{esm2015/lib/api.module.js → esm2020/lib/api.module.mjs} +6 -6
- package/esm2020/lib/services/account-api.service.mjs +80 -0
- package/esm2020/lib/services/catalog-admin-api.service.mjs +165 -0
- package/{esm2015/lib/services/catalog-api.service.js → esm2020/lib/services/catalog-api.service.mjs} +4 -4
- package/esm2020/lib/services/configuration-api.service.mjs +78 -0
- package/esm2020/lib/services/configuration-settings-api.service.mjs +96 -0
- package/{esm2015/lib/services/context-api.service.js → esm2020/lib/services/context-api.service.mjs} +4 -4
- package/{esm2015/lib/services/delta-api.service.js → esm2020/lib/services/delta-api.service.mjs} +4 -4
- package/{esm2015/lib/services/document-attachment-api.service.js → esm2020/lib/services/document-attachment-api.service.mjs} +4 -4
- package/esm2020/lib/services/document-templates-api.service.mjs +298 -0
- package/{esm2015/lib/services/endpoints-api.service.js → esm2020/lib/services/endpoints-api.service.mjs} +4 -4
- package/esm2020/lib/services/flows-api.service.mjs +24 -0
- package/esm2020/lib/services/guided-sellings-admin-api.service.mjs +65 -0
- package/esm2020/lib/services/guided-sellings-api.service.mjs +27 -0
- package/{esm2015/lib/services/offers-api.service.js → esm2020/lib/services/offers-api.service.mjs} +4 -4
- package/esm2020/lib/services/org-info-api.service.mjs +19 -0
- package/{esm2015/lib/services/picklists-api.service.js → esm2020/lib/services/picklists-api.service.mjs} +8 -5
- package/{esm2015/lib/services/price-api.service.js → esm2020/lib/services/price-api.service.mjs} +4 -4
- package/{esm2015/lib/services/procedures-api.service.js → esm2020/lib/services/procedures-api.service.mjs} +4 -4
- package/{esm2015/lib/services/product-api.service.js → esm2020/lib/services/product-api.service.mjs} +4 -4
- package/esm2020/lib/services/product-model-api.service.mjs +232 -0
- package/esm2020/lib/services/quote-api.service.mjs +58 -0
- package/esm2020/lib/services/ramp-api.service.mjs +31 -0
- package/{esm2015/lib/services/rule-groups-api.service.js → esm2020/lib/services/rule-groups-api.service.mjs} +4 -4
- package/{esm2015/lib/services/rules-api.service.js → esm2020/lib/services/rules-api.service.mjs} +4 -4
- package/esm2020/lib/services/salesforce-api.service.mjs +61 -0
- package/{esm2015/lib/services/scripts-api.service.js → esm2020/lib/services/scripts-api.service.mjs} +4 -4
- package/esm2020/lib/services/shopping-cart-settings-api.service.mjs +28 -0
- package/esm2020/lib/services/ui-templates-api.service.mjs +281 -0
- package/esm2020/lib/types/dto/configuration-settings-dto.types.mjs +22 -0
- package/fesm2015/{veloceapps-api.js → veloceapps-api.mjs} +100 -101
- package/fesm2015/veloceapps-api.mjs.map +1 -0
- package/fesm2020/veloceapps-api.mjs +2468 -0
- package/fesm2020/veloceapps-api.mjs.map +1 -0
- package/lib/services/catalog-admin-api.service.d.ts +2 -2
- package/lib/services/guided-sellings-admin-api.service.d.ts +2 -2
- package/lib/services/quote-api.service.d.ts +1 -1
- package/lib/services/ui-templates-api.service.d.ts +3 -3
- package/lib/types/dto/offers-dto.types.d.ts +2 -2
- package/lib/types/search-request.types.d.ts +1 -1
- package/package.json +26 -24
- package/bundles/veloceapps-api.umd.js +0 -2880
- package/bundles/veloceapps-api.umd.js.map +0 -1
- package/esm2015/lib/services/account-api.service.js +0 -50
- package/esm2015/lib/services/catalog-admin-api.service.js +0 -165
- package/esm2015/lib/services/configuration-api.service.js +0 -72
- package/esm2015/lib/services/configuration-settings-api.service.js +0 -61
- package/esm2015/lib/services/document-templates-api.service.js +0 -284
- package/esm2015/lib/services/flows-api.service.js +0 -24
- package/esm2015/lib/services/guided-sellings-admin-api.service.js +0 -65
- package/esm2015/lib/services/guided-sellings-api.service.js +0 -27
- package/esm2015/lib/services/org-info-api.service.js +0 -20
- package/esm2015/lib/services/product-model-api.service.js +0 -232
- package/esm2015/lib/services/quote-api.service.js +0 -48
- package/esm2015/lib/services/ramp-api.service.js +0 -21
- package/esm2015/lib/services/salesforce-api.service.js +0 -43
- package/esm2015/lib/services/shopping-cart-settings-api.service.js +0 -28
- package/esm2015/lib/services/ui-templates-api.service.js +0 -282
- package/esm2015/lib/types/dto/configuration-settings-dto.types.js +0 -22
- package/fesm2015/veloceapps-api.js.map +0 -1
- package/veloceapps-api.d.ts +0 -5
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/lib/types/clone-request.types.js → esm2020/lib/types/clone-request.types.mjs} +0 -0
- /package/{esm2015/lib/types/delta-request.types.js → esm2020/lib/types/delta-request.types.mjs} +0 -0
- /package/{esm2015/lib/types/dto/offers-dto.types.js → esm2020/lib/types/dto/offers-dto.types.mjs} +0 -0
- /package/{esm2015/lib/types/dto/ui-template-dto.types.js → esm2020/lib/types/dto/ui-template-dto.types.mjs} +0 -0
- /package/{esm2015/lib/types/index.js → esm2020/lib/types/index.mjs} +0 -0
- /package/{esm2015/lib/types/org-info.types.js → esm2020/lib/types/org-info.types.mjs} +0 -0
- /package/{esm2015/lib/types/price.types.js → esm2020/lib/types/price.types.mjs} +0 -0
- /package/{esm2015/lib/types/ramp-request.types.js → esm2020/lib/types/ramp-request.types.mjs} +0 -0
- /package/{esm2015/lib/types/search-request.types.js → esm2020/lib/types/search-request.types.mjs} +0 -0
- /package/{esm2015/lib/utils/ui-template.utils.js → esm2020/lib/utils/ui-template.utils.mjs} +0 -0
- /package/{esm2015/veloceapps-api.js → esm2020/veloceapps-api.mjs} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"veloceapps-api.umd.js","sources":["../../../../libs/api/src/lib/services/account-api.service.ts","../../../../libs/api/src/lib/services/catalog-admin-api.service.ts","../../../../libs/api/src/lib/services/catalog-api.service.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/api/src/lib/services/configuration-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/context-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/salesforce-api.service.ts","../../../../libs/api/src/lib/services/document-templates-api.service.ts","../../../../libs/api/src/lib/services/endpoints-api.service.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/services/org-info-api.service.ts","../../../../libs/api/src/lib/services/picklists-api.service.ts","../../../../libs/api/src/lib/services/price-api.service.ts","../../../../libs/api/src/lib/services/procedures-api.service.ts","../../../../libs/api/src/lib/services/product-api.service.ts","../../../../libs/api/src/lib/services/product-model-api.service.ts","../../../../libs/api/src/lib/services/quote-api.service.ts","../../../../libs/api/src/lib/services/ramp-api.service.ts","../../../../libs/api/src/lib/services/rule-groups-api.service.ts","../../../../libs/api/src/lib/services/rules-api.service.ts","../../../../libs/api/src/lib/services/scripts-api.service.ts","../../../../libs/api/src/lib/services/shopping-cart-settings-api.service.ts","../../../../libs/api/src/lib/utils/ui-template.utils.ts","../../../../libs/api/src/lib/services/ui-templates-api.service.ts","../../../../libs/api/src/lib/api.module.ts","../../../../libs/api/src/veloceapps-api.ts"],"sourcesContent":["import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Account, BaseHttpService, HttpRequestConfigurableOptions, LineItem, Order, Quote } 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 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 { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Catalog,\n Category,\n CategoryAttribute,\n CategoryRequestPayloadWithData,\n Expression,\n NewCatalog,\n NewCategory,\n NewCategoryAttribute,\n Product,\n} from '@veloceapps/core';\nimport { Observable } 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<CategoryAttribute[]> => {\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<void> => {\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<CategoryAttribute>): 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<CategoryAttribute>): 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<NewCategoryAttribute>): Observable<CategoryAttribute> => {\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<CategoryAttribute>): Observable<CategoryAttribute> => {\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","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Catalog,\n Category,\n ConfigurationContext,\n Expression,\n Product,\n SearchCriteria,\n} 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?: ConfigurationContext,\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?: ConfigurationContext,\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 searchCriteria?: SearchCriteria,\n context?: ConfigurationContext,\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: { searchCriteria },\n },\n });\n }\n\n public fetchEligibleProducts$(\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\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","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationRequest,\n ConfigurePrice,\n DomainType,\n LineItem,\n ModelTranslatorUtils,\n RuntimeData,\n RuntimeModel,\n} from '@veloceapps/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class ConfigurationApiService {\n private readonly SERVICE_URL = '/configuration';\n\n constructor(private httpService: BaseHttpService) {}\n\n public configureLineItem({\n configurationRequest,\n runtimeModel,\n pricingEnabled,\n }: {\n configurationRequest: ConfigurationRequest;\n runtimeModel?: RuntimeModel;\n pricingEnabled?: boolean;\n }): Observable<ConfigurePrice> {\n return this.httpService\n .api<ConfigurePrice>({\n method: 'post',\n url: `${this.SERVICE_URL}${pricingEnabled ? '/price' : ''}`,\n body: configurationRequest,\n errorHandler: e => throwError(e),\n })\n .pipe(\n map(configurePrice => {\n if (runtimeModel) {\n return {\n ...configurePrice,\n lineItem: this.updatePortDomains(configurePrice.lineItem, runtimeModel),\n };\n } else {\n return configurePrice;\n }\n }),\n );\n }\n\n public getRuntimeDataByProductId(productId: string, offeringId?: string): Observable<RuntimeData> {\n return this.httpService\n .api<RuntimeData>({\n method: 'get',\n url: `${this.SERVICE_URL}/${productId}/model` + ((offeringId && `/${offeringId}`) || ''),\n })\n .pipe(\n map(runtimeData => {\n runtimeData.uiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);\n runtimeData.uiDefinitions.forEach(uiDefinition => {\n ModelTranslatorUtils.toLocalUIDefinition(uiDefinition);\n });\n return runtimeData;\n }),\n );\n }\n\n public getRuntimeDataByModelId(modelId: string): Observable<RuntimeData> {\n return this.httpService\n .api({\n method: 'get',\n url: `${this.SERVICE_URL}/${modelId}/model-test`,\n })\n .pipe(\n map((runtimeData: RuntimeData) => {\n runtimeData.uiDefinitions = [];\n return runtimeData;\n }),\n );\n }\n\n private updatePortDomains(lineItem: LineItem, runtimeModel: RuntimeModel): LineItem {\n const type = runtimeModel.components.get(lineItem.type);\n const portDomains = { ...lineItem.portDomains };\n for (const port of type?.ports ?? []) {\n const portDomain = portDomains[port.name];\n if (portDomain?.properties?.domainComputation === 'false') {\n portDomain.domainTypes = port.domainTypes as DomainType[];\n }\n }\n return {\n ...lineItem,\n lineItems: lineItem.lineItems?.map(i => this.updatePortDomains(i, runtimeModel)),\n portDomains,\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 { Injectable } from '@angular/core';\nimport { BaseHttpService, ConfigurationContext, ConfigurationContextMode } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ContextApiService {\n private readonly SERVICE_URL = '/context';\n\n constructor(private httpService: BaseHttpService) {}\n\n public getContext(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext> {\n return this.httpService.api({\n method: 'post',\n body: {\n headerId: headerId,\n contextMode: ConfigurationContextMode[mode],\n },\n url: `${this.SERVICE_URL}`,\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, TemplateAttachmentSearchRequest } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\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 {\n BaseHttpService,\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 describe(\n objectName: string,\n fieldName?: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<SalesforceField[]> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields` + (fieldName ? `/${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>(path: string, params: HttpParams, options?: HttpRequestConfigurableOptions): Observable<T> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params, ...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","import { CurrencyPipe } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AnyWithProperties,\n Attachment,\n BaseHttpService,\n DocumentTemplate,\n DocxTemplater,\n FileDownloadService,\n isLegacyDocumentTemplate,\n QuoteDraft,\n SearchRequest,\n StringUtils,\n TemplateAttachmentSearchRequest,\n TemplateQuery,\n VlWindow,\n} from '@veloceapps/core';\nimport * as _ from 'lodash';\nimport * as moment_ from 'moment';\nimport { forkJoin, Observable, of, zip } from 'rxjs';\nimport { defaultIfEmpty, map, switchMap, tap } from 'rxjs/operators';\nimport { DocumentAttachmentApiService } from './document-attachment-api.service';\nimport { SalesforceApiService } from './salesforce-api.service';\n\nconst moment = moment_;\ndeclare const window: VlWindow;\n\nexport interface DocumentGenerationParams {\n attachToQuote?: boolean;\n documentFormat?: 'DOCX';\n shouldPreventDownload?: boolean;\n}\n\n@Injectable()\nexport class DocumentTemplatesApiService {\n public readonly DOCGEN_TAG = 'docgen';\n\n private readonly SERVICE_URL = '/templates';\n private readonly DOC_GEN_URL_FALLBACK = 'https://dev-dp1.velocpq.com/docgen';\n private readonly DOC_GEN_URL;\n\n constructor(\n private service: BaseHttpService,\n private salesforceApiService: SalesforceApiService,\n private fileDownloadService: FileDownloadService,\n private documentAttachmentService: DocumentAttachmentApiService,\n private http: HttpClient,\n ) {\n if (window.VELO_DOCGEN_API) {\n this.DOC_GEN_URL = window.VELO_DOCGEN_API;\n } else {\n console.log(`window.VELO_DOCGEN_API not set, will use fallback \"${this.DOC_GEN_URL_FALLBACK}\"`);\n this.DOC_GEN_URL = this.DOC_GEN_URL_FALLBACK;\n }\n }\n\n public getTemplates(tag?: string): Observable<DocumentTemplate[]> {\n return this.service.api({\n url: `${this.SERVICE_URL}`,\n method: 'get',\n params: {\n ...(tag && { tag }),\n },\n });\n }\n\n public getTemplate(id: string): Observable<DocumentTemplate> {\n return this.service.api({\n url: `${this.SERVICE_URL}/${id}`,\n method: 'get',\n });\n }\n\n public upsertTemplate(\n template: DocumentTemplate,\n file?: File,\n reportProgress?: boolean,\n ): Observable<DocumentTemplate> {\n const formData: FormData = new FormData();\n\n if (file) {\n formData.append('file', file, file.name);\n }\n formData.append(\n 'template',\n new Blob([JSON.stringify(template)], {\n type: 'application/json',\n }),\n );\n\n let url = `${this.SERVICE_URL}`;\n if (template.id) {\n url += `/${template.id}`;\n }\n\n return this.service.upload({\n url,\n body: formData,\n method: template.id ? 'put' : 'post',\n reportProgress,\n });\n }\n\n public removeTemplate(id: string): Observable<DocumentTemplate> {\n return this.service.api({\n url: `${this.SERVICE_URL}/${id}`,\n method: 'delete',\n });\n }\n\n public restoreTemplate(id: string): Observable<void> {\n return this.service.api({\n url: `${this.SERVICE_URL}/${id}/restore`,\n method: 'patch',\n });\n }\n\n public cloneTemplate(\n id: string,\n propertiesToOverride: Partial<DocumentTemplate> = {},\n ): Observable<{ clonedRecordId: string }> {\n return this.service.api({\n url: `${this.SERVICE_URL}/clone/${id}`,\n method: 'post',\n body: {\n id,\n propertiesToOverride,\n },\n });\n }\n\n public getTemplateFile(id: string): Observable<ArrayBuffer> {\n return this.service.api({\n method: 'get',\n url: `${this.SERVICE_URL}/${id}/file`,\n responseType: 'arraybuffer',\n });\n }\n\n public downloadTemplateFile(id: string): Observable<Blob> {\n return this.service\n .api({\n url: `${this.SERVICE_URL}/${id}/file`,\n responseType: 'blob',\n observe: 'response',\n })\n .pipe(\n tap(response => {\n this.fileDownloadService.processDownload(response);\n }),\n map(response => response.body || response),\n );\n }\n\n public mergeDocuments(document: Blob, attachments: ArrayBuffer[]): Observable<ArrayBuffer> {\n const body = new FormData();\n\n attachments.forEach(attachment => {\n body.append('attachments', new Blob([attachment]));\n });\n\n body.append('orderform', document);\n\n return this.http.post(`${this.DOC_GEN_URL}/documents/merge`, body, {\n responseType: 'arraybuffer',\n });\n }\n\n public getAttachments(searchRequest: TemplateAttachmentSearchRequest): Observable<Attachment[]> {\n return this.documentAttachmentService.getAttachments(searchRequest);\n }\n\n public getAttachmentFile(id: string): any {\n return this.documentAttachmentService.getAttachmentFile(id);\n }\n\n public createAttachment(attachment: Attachment, file?: File, reportProgress?: boolean): Observable<Attachment> {\n return this.documentAttachmentService.createAttachment(attachment, file, reportProgress);\n }\n\n public removeAttachment(id: string): Observable<unknown> {\n return this.documentAttachmentService.removeAttachment(id);\n }\n\n public generateDocumentData(\n template: DocumentTemplate,\n object: any,\n params: DocumentGenerationParams = {},\n ): Observable<any> {\n if (isLegacyDocumentTemplate(template)) {\n return this.generateDocumentDataLegacy(template, object, params);\n }\n\n const templateProperties = template.properties?.reduce(\n (acc, { name, value }) => ({ ...acc, [name]: this.mapBooleanIfAplicable(value) }),\n {},\n );\n\n /*\n Resolve quote and template properties for now\n When procedures are ready, whey will replace template scripts.\n\n TODO: run procedure to resolve document data\n */\n return of({\n ...(typeof object === 'object' ? object : { object }),\n ...templateProperties,\n });\n }\n\n public generateDocument(\n template: DocumentTemplate,\n object: any,\n params: DocumentGenerationParams = {},\n ): Observable<Blob> {\n const documentData$ = this.generateDocumentData(template, object, { ...params, shouldPreventDownload: true });\n\n return zip(this.getTemplateFile(template.id), documentData$, this.resolveAttachments$(template)).pipe(\n switchMap(([templateFile, data, attachments]) => {\n const document = DocxTemplater.generate(templateFile, data);\n const properties: _.Dictionary<string> = object?.context?.properties ?? object?.properties ?? {};\n const documentName = properties.Name || template.name;\n\n const documentFormat =\n params.documentFormat ?? template.properties?.find(p => p.name === 'documentFormat')?.value;\n if (documentFormat === 'DOCX') {\n this.fileDownloadService.processDownload(document, documentName);\n\n return of(document);\n }\n\n return this.mergeDocuments(document, attachments).pipe(\n switchMap(pdf => {\n if (params.attachToQuote && QuoteDraft.isQuote(object)) {\n const file = new File([pdf], `${documentName}.pdf`);\n return this.documentAttachmentService\n .createAttachment(\n {\n linkedEntityId: object.quoteId,\n fileName: documentName,\n fileExtension: 'pdf',\n tags: this.DOCGEN_TAG,\n },\n file,\n )\n .pipe(map(() => pdf));\n }\n\n return of(pdf);\n }),\n map(pdf => {\n const blob = new Blob([pdf]);\n\n if (!params.shouldPreventDownload) {\n this.fileDownloadService.processDownload(blob, `${documentName}.pdf`);\n }\n\n return blob;\n }),\n );\n }),\n );\n }\n\n private generateDocumentDataLegacy(\n template: DocumentTemplate,\n object: any,\n params: DocumentGenerationParams = {},\n ): Observable<any> {\n const shouldPreventDownload = params.shouldPreventDownload;\n const allQueries: TemplateQuery[] = [...(template?.queries ?? [])];\n const properties: _.Dictionary<string> = object?.context?.properties ?? object?.properties ?? {};\n const accountId = properties?.AccountId;\n const userId = properties?.UserId;\n\n if (accountId) {\n allQueries.push({\n queryName: 'QuoteAccountQuery',\n objectName: 'Account',\n resultObjectName: 'account',\n statement: `Id ='${accountId}'`,\n fields: [],\n });\n }\n if (userId) {\n allQueries.push({\n queryName: 'QuoteUserQuery',\n objectName: 'User',\n resultObjectName: 'agent',\n statement: `Id ='${userId}'`,\n fields: [],\n });\n }\n\n const queries = allQueries.map(query => this.queryObject(query, { properties })) || [];\n\n return forkJoin([...queries]).pipe(\n defaultIfEmpty([] as any[]),\n map(results => {\n const queriesResult = _.chain(results)\n .reduce((acc, r) => {\n if (r) {\n return { ...acc, ...r };\n }\n\n return acc;\n }, {})\n .value();\n\n const templateProperties = (template?.properties || []).reduce((trunk, { name, value }) => {\n return {\n ...trunk,\n [name as string]: this.mapBooleanIfAplicable(value as any),\n };\n }, {});\n\n const data = {\n ...(typeof object === 'object' ? object : { object }),\n ...queriesResult,\n ...templateProperties,\n };\n\n if (template.script && template.script.trim().length) {\n const currencyFormat = template.properties?.find(({ name }) => name === 'currencyFormat')?.value || '1.2-2';\n const dateFormat = template.properties?.find(({ name }) => name === 'dateFormat')?.value || 'D/MMM/YYYY';\n const formatDate = (value: string) => {\n return value ? moment(value).format(dateFormat) : value;\n };\n const transform = new Function(`return ${template.script}`)();\n const transformedData = transform({\n ...data,\n utils: {\n lodash: _,\n currency: (value: any) => new CurrencyPipe('en-US').transform(value, 'USD', 'symbol', currencyFormat),\n date: formatDate,\n },\n ToDay: formatDate(Date.now() as any),\n });\n if (!shouldPreventDownload) {\n const blob = new Blob([JSON.stringify(transformedData)]);\n this.fileDownloadService.processDownload(blob, 'data.json');\n }\n return transformedData;\n }\n return data;\n }),\n );\n }\n\n private resolveAttachments$(template: DocumentTemplate): Observable<ArrayBuffer[]> {\n const attachmentIds = (template.attachments?.map(({ id }) => id).filter(Boolean) as string[]) ?? [];\n\n if (!attachmentIds.length) {\n return of([]);\n }\n\n return forkJoin(attachmentIds.map(id => this.documentAttachmentService.getAttachmentFile(id, true)));\n }\n\n private mapSfQueryResult = <T>(limit: number) =>\n map((records: T[]) => {\n if (!records.length) {\n return { _result: 'No Records Found' };\n }\n\n if (limit === 1) {\n return records[0];\n }\n\n return records;\n });\n\n private mapBooleanIfAplicable = (value: string) => {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n return value;\n };\n\n private queryObject(\n { objectName, resultObjectName, fields, statement }: TemplateQuery,\n { properties }: AnyWithProperties,\n ): Observable<any> {\n const patternLimit = /(\\s*limit\\s\\d*)/i;\n let limit = 1;\n if (statement && patternLimit.test(statement)) {\n const limitStr = statement?.match(patternLimit)?.[1].trim().substring(5).trim();\n if (limitStr) {\n limit = Number.parseInt(limitStr, 10);\n }\n statement = statement.replace(patternLimit, '');\n }\n\n const resolvedStatement = statement\n ? StringUtils.fillPlaceholders(statement, properties, /:\\s*(\\w[\\w\\d_.]+)/i)\n : undefined;\n\n const searchRequest = {\n skip: 0,\n count: limit,\n rawCondition: resolvedStatement,\n ...(fields?.length && !!fields[0] && { fields }),\n } as SearchRequest;\n\n return this.salesforceApiService.query(searchRequest, objectName).pipe(\n this.mapSfQueryResult(limit),\n map(value => ({ [resultObjectName]: value })),\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 { 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 | undefined> {\n return this.fetchFlows().pipe(map(flows => flows.find(flow => flow.id == id)));\n }\n\n public fetchFlows(): Observable<Flow[]> {\n return this.configurationSettingsApiService\n .fetchSetting(this.flowsKey)\n .pipe(map((flow): Flow[] => (flow?.value ? JSON.parse(flow.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","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 { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { VlWindow } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { OrgInfo } from '../types/org-info.types';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class OrgInfoApiService {\n private readonly CANVAS_URL_FALLBACK = 'https://canvas.velocpq.com';\n private readonly hostUrl: string = window.VELO_CANVAS_API ?? this.CANVAS_URL_FALLBACK;\n\n constructor(private http: HttpClient) {}\n\n public getOrgInfo$(organizationId: string): Observable<OrgInfo> {\n return this.http.get<OrgInfo>(`${this.hostUrl}/org-info/${organizationId}`);\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 { 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 BaseHttpService,\n Expression,\n NewProcedure,\n Procedure,\n ProcedureExecuteRequest,\n QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class ProceduresApiService {\n private readonly ADMIN_SERVICE_URL: string = '/admin/procedures';\n private readonly SERVICE_URL: string = '/procedures';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchProcedures$ = (): Observable<Procedure[]> => {\n return this.searchProcedures$(new Expression(), 0, 100);\n };\n\n public searchProcedures$ = (expression: Expression, skip: number, count: number): Observable<Procedure[]> => {\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.ADMIN_SERVICE_URL}/search`,\n params,\n body: expression,\n });\n };\n\n public createProcedure$ = (newProcedure: NewProcedure): Observable<Procedure> => {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}`,\n method: 'post',\n body: newProcedure,\n });\n };\n\n public updateProcedure$ = (procedure: Procedure): Observable<Procedure> => {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/${procedure.id}`,\n method: 'put',\n body: procedure,\n });\n };\n\n public duplicateProcedure$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.ADMIN_SERVICE_URL}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeProcedure$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.ADMIN_SERVICE_URL}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreProcedure$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.ADMIN_SERVICE_URL}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public fetchProcedure$(id: string): Observable<Procedure> {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/${id}`,\n method: 'get',\n });\n }\n\n public execute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/execute`,\n method: 'post',\n body,\n });\n }\n\n /**\n * Run active procedure against QuoteDraft\n * @param body\n * @returns\n */\n public apply$(body: QuoteDraft): Observable<QuoteDraft> {\n return this.baseHttpService.api<QuoteDraft>({\n url: `${this.SERVICE_URL}/apply`,\n method: 'post',\n body,\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 {\n BaseHttpService,\n EntityUtil,\n ModelReleaseRequest,\n ModelTranslatorUtils,\n ModelUtils,\n PmlConfigurationMode,\n ProductModel,\n ProductModelsContainer,\n ProductModelVersion,\n} from '@veloceapps/core';\nimport { forkJoin, Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class ProductModelApiService {\n public static MAX_RESULTS = 200;\n\n private readonly SERVICE_URL = '/models';\n\n constructor(private httpService: BaseHttpService) {}\n\n public addModel(model: ProductModel): Observable<any> {\n return this.httpService\n .api({\n method: 'post',\n url: this.SERVICE_URL,\n body: model,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return result;\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public releaseModel(model: ModelReleaseRequest): Observable<any> {\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${model.id}/release`,\n body: model,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public removeModel(modelId: string, successFn?: any, failureFn?: any): void {\n const observable = this.httpService\n .api({\n method: 'delete',\n url: `${this.SERVICE_URL}/${modelId}`,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n\n observable.subscribe(\n () => {\n successFn && successFn.apply();\n },\n () => {\n failureFn && failureFn.apply();\n },\n );\n }\n\n public getModelVersions(modelId: string, count: number = 100, skip: number = 0): Observable<ProductModelVersion[]> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${modelId}/versions`,\n body: {\n skipCount: skip,\n count: count,\n },\n });\n }\n\n public getModel(id: string, version?: string): Observable<ProductModel> {\n let url = `${this.SERVICE_URL}/${id}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n return this.httpService.api({ url });\n }\n\n public getModels(skipCount: number, searchText: string): Observable<ProductModel[]> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/search`,\n body: {\n nameRegex: searchText,\n skipCount: skipCount.toString(),\n count: ProductModelApiService.MAX_RESULTS,\n },\n });\n }\n\n public getLinkedModels(id: string, version?: string): Observable<ProductModel[]> {\n let url = `${this.SERVICE_URL}/${id}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n url += '/linked';\n\n return this.httpService.api({ url }).pipe(\n map((linkedModels: ProductModel[]) => {\n if (linkedModels) {\n linkedModels.forEach(model => ModelTranslatorUtils.toLocalModel(model));\n }\n return linkedModels;\n }),\n );\n }\n\n public load(id: string, version?: string): Observable<ProductModelsContainer> {\n return forkJoin([this.getModel(id, version), this.getLinkedModels(id, version)]).pipe(\n map(([model, linkedModels]) => {\n const container = new ProductModelsContainer(model, linkedModels ?? []);\n\n ModelUtils.override(container.main, container.linked);\n ModelTranslatorUtils.toLocalModel(container.main, container.linked);\n\n return container;\n }),\n );\n }\n\n public getPML(modelId: string, version?: string): Observable<any> {\n let url = `${this.SERVICE_URL}/${modelId}/pml/${version}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n return this.httpService.api({\n url,\n responseType: 'text',\n });\n }\n\n public savePML(modelId: string, pml: string, comment: string): Observable<any> {\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${modelId}/pml`,\n body: {\n id: modelId,\n pml: pml,\n comment: comment,\n },\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n catchError(this.httpService.handleValidationError),\n );\n }\n\n public generateProducts(modelId: string): Observable<ProductModel> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${modelId}/generate-products`,\n });\n }\n\n public saveModel(productModel: ProductModel, comment: string): Observable<string> {\n const model = EntityUtil.clone(productModel);\n model.comment = comment;\n ModelTranslatorUtils.toServerModel(model);\n\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${model.id}`,\n body: model,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n catchError(this.httpService.handleValidationError),\n );\n }\n\n public validateModel(productModel: ProductModel): Observable<string> {\n return this.httpService\n .api({\n method: 'post',\n url: `${this.SERVICE_URL}/validate`,\n body: productModel,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public renameModel(productModel: ProductModel, name: string): Observable<any> {\n const model = EntityUtil.clone(productModel);\n model.name = name;\n ModelTranslatorUtils.toServerModel(model);\n\n return this.httpService\n .api({\n method: 'patch',\n url: `${this.SERVICE_URL}/${model.id}`,\n body: model,\n })\n .pipe(catchError(this.httpService.handleValidationError));\n }\n\n public uploadPmlFile(file: File, modelId: string): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', file, file.name);\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}/${modelId}/pml/upload`,\n body: formData,\n });\n }\n\n public runPml(\n modelId: string,\n pml: string,\n rootType: string,\n configurationMode: PmlConfigurationMode,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${modelId}/pml/run`,\n body: {\n pml,\n rootType,\n configurationMode,\n },\n responseType: 'text',\n });\n }\n\n public evictAllCache(): Observable<{ result: string }> {\n return this.httpService.api({\n method: 'get',\n url: '/cache/evict/environment-variables',\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, QuoteDraft } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class QuoteApiService {\n private readonly SERVICE_URL = '/quotes';\n\n constructor(private httpService: BaseHttpService) {}\n\n // request quoteId | accountId | opportunityId | orderId\n public getQuoteDraft(\n objectId: string,\n params?: Dictionary<string>,\n errorHandler?: (error: any) => void,\n ): Observable<QuoteDraft> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/${objectId}`,\n params,\n errorHandler,\n });\n }\n\n /**\n * @deprecated\n * Will be removed in next major release\n * Use `getQuoteDraft` instead\n */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n public getQuote = this.getQuoteDraft;\n\n public upsertQuote(request: QuoteDraft, options?: HttpRequestConfigurableOptions): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}`,\n body: request,\n ...options,\n });\n }\n\n public submitQuote(request: QuoteDraft, options?: HttpRequestConfigurableOptions): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/submit`,\n body: request,\n ...options,\n });\n }\n\n public attachDocument(id: string, documentName: string, data: any): Observable<void> {\n const formData: FormData = new FormData();\n const blob = new Blob([data]);\n formData.append('file', blob, documentName);\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}/${id}/attach-document`,\n responseType: 'arraybuffer',\n method: 'post',\n body: formData,\n });\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 { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRuleGroup, RuleGroup } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class RuleGroupsApiService {\n private readonly serviceUrl: string = '/admin/rule-groups';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchRuleGroups$ = (): Observable<RuleGroup[]> => {\n return this.searchRuleGroups$(new Expression(), 0, 100);\n };\n\n public searchRuleGroups$ = (expression: Expression, skip: number, count: number): Observable<RuleGroup[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public createRuleGroup$ = (ruleGroup: NewRuleGroup): Observable<RuleGroup> => {\n return this.baseHttpService.api<RuleGroup>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: ruleGroup,\n });\n };\n\n public updateRuleGroup$ = (ruleGroup: RuleGroup): Observable<RuleGroup> => {\n return this.baseHttpService.api<RuleGroup>({\n url: `${this.serviceUrl}/${ruleGroup.id}`,\n method: 'post',\n body: ruleGroup,\n });\n };\n\n public duplicateRuleGroup$ = (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 public removeRuleGroup$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreRuleGroup$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\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 {\n BaseHttpService,\n Expression,\n HeaderField,\n NewRule,\n Rule,\n RuleExecuteRequest,\n RuleGroupTypes,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class RulesApiService {\n private readonly serviceUrl: string = '/admin/rules';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchRules$ = (): Observable<Rule[]> => {\n return this.searchRules$(new Expression(), 0, 100);\n };\n\n public searchRules$ = (expression: Expression, skip: number, count: number): Observable<Rule[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public createRule$ = (rule: NewRule): Observable<Rule> => {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: rule,\n });\n };\n\n public updateRule$ = (rule: Rule): Observable<Rule> => {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}/${rule.id}`,\n method: 'put',\n body: rule,\n });\n };\n\n public duplicateRule$ = (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 public removeRule$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreRule$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public fetchRule$(id: string) {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}/${id}`,\n method: 'get',\n });\n }\n\n public fetchHeaderFields$() {\n return this.baseHttpService.api<HeaderField[]>({\n url: `${this.serviceUrl}/describe/Header`,\n method: 'get',\n });\n }\n\n public execute$(body: RuleExecuteRequest) {\n const url =\n body.rule.ruleGroupType === RuleGroupTypes.eligibility ? '/rules/eligibility/execute' : '/rules/execute';\n return this.baseHttpService.api<string[]>({\n url,\n method: 'post',\n body,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewScript, Script, ScriptDetails, ScriptExecuteRequest } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class ScriptsApiService {\n private readonly serviceUrl: string = '/admin/scripts';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchScripts$ = (): Observable<Script[]> => {\n return this.baseHttpService.api<Script[]>({ url: `${this.serviceUrl}` });\n };\n\n public searchScripts$ = (expression: Expression, skip: number, count: number): Observable<Script[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public fetchScript$ = (id: string): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createScript$ = (script: NewScript): Observable<Script> => {\n return this.baseHttpService.api<Script>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: script,\n });\n };\n\n public updateScriptMeta$ = (script: Script): Observable<Script> => {\n return this.baseHttpService.api<Script>({\n url: `${this.serviceUrl}/${script.id}`,\n method: 'put',\n body: script,\n });\n };\n\n public updateScriptDetails$ = (script: ScriptDetails): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({\n url: `${this.serviceUrl}/${script.id}`,\n method: 'put',\n body: script,\n });\n };\n\n public cloneScript$ = (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 removeScript$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreScript$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public execute$ = (body: ScriptExecuteRequest): Observable<any> => {\n return this.baseHttpService.api({\n url: `/scripts/execute`,\n method: 'post',\n body,\n errorHandler: () => null,\n });\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 { ComponentStory, ComponentStoryAttachments } from '@veloceapps/core';\nimport { UIComponentStoryDTO } from '../types/dto/ui-template-dto.types';\n\nexport const fromUIComponentStoryDTO = (\n dto: UIComponentStoryDTO,\n attachments: ComponentStoryAttachments,\n): ComponentStory => {\n return {\n id: dto.id,\n name: dto.name,\n uiComponentId: dto.uiComponentId,\n description: dto.description,\n section: attachments.json,\n template: attachments.html,\n script: attachments.js,\n styles: attachments.css,\n };\n};\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ComponentAttachments,\n ComponentStory,\n ComponentStoryAttachments,\n Expression,\n NewComponentStory,\n NewTemplateComponent,\n NewUITemplate,\n TemplateAttachmentType,\n TemplateComponent,\n UITemplate,\n} from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { catchError, forkJoin, map, noop, Observable, of, switchMap } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\nimport { UIComponentStoryDTO } from '../types/dto/ui-template-dto.types';\nimport { fromUIComponentStoryDTO } from '../utils/ui-template.utils';\n\n@Injectable()\nexport class UITemplatesApiService {\n private readonly serviceUrl: string = '/uitemplates';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchTemplates$ = (name?: string): Observable<UITemplate[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService.api<UITemplate[]>({ url: `${this.serviceUrl}`, params });\n };\n\n public createTemplate$ = (template: NewUITemplate): Observable<UITemplate> => {\n return this.baseHttpService.api<UITemplate>({\n method: 'post',\n url: `${this.serviceUrl}`,\n body: template,\n });\n };\n\n public updateTemplate$ = (template: UITemplate): Observable<UITemplate> => {\n return this.baseHttpService.api<UITemplate>({\n method: 'put',\n url: `${this.serviceUrl}/${template.id}`,\n body: template,\n });\n };\n\n public duplicateTemplate$ = (template: UITemplate, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${template.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeTemplate$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public restoreTemplate$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public searchTemplates$ = (data: {\n params?: Dictionary<string>;\n expression?: Expression;\n }): Observable<UITemplate[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params: data.params,\n body: data.expression,\n });\n };\n\n public fetchComponents$ = (templateId: string, name?: string): Observable<TemplateComponent[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService.api<TemplateComponent[]>({\n url: `${this.serviceUrl}/${templateId}/components`,\n params,\n });\n };\n\n public fetchComponent$ = (templateId: string, componentId: string): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public createComponent$ = (component: NewTemplateComponent): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n method: 'post',\n url: `${this.serviceUrl}/${component.uiTemplateId}/components`,\n body: component,\n });\n };\n\n public updateComponent$ = (component: TemplateComponent): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n method: 'put',\n url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}`,\n body: component,\n });\n };\n\n public duplicateComponent$ = (component: TemplateComponent, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeComponent$ = (templateId: string, componentId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public restoreComponent$ = (templateId: string, componentId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public searchComponents$ = (\n templateId: string,\n data: { params?: Dictionary<string>; expression?: Expression },\n ): Observable<TemplateComponent[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/search`,\n params: data.params,\n body: data.expression,\n });\n };\n\n public fetchStoryAttachment = (\n templateId: string,\n componentId: string,\n storyId: string,\n type: TemplateAttachmentType,\n ): Observable<string> => {\n return this.baseHttpService\n .api<string>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments/${type}/file`,\n responseType: 'text',\n errorHandler: noop,\n })\n .pipe(catchError(() => of('')));\n };\n\n private convertToComponentStory$ = (\n templateId: string,\n componentId: string,\n storyDto: UIComponentStoryDTO,\n ): Observable<ComponentStory> => {\n return forkJoin([\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'html'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'js'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'css'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'json'),\n ]).pipe(\n map(([html, js, css, json]) => ({ html, js, css, json })),\n map(attachments => fromUIComponentStoryDTO(storyDto, attachments)),\n );\n };\n\n public fetchStories$ = (templateId: string, componentId: string, name?: string): Observable<ComponentStory[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService\n .api<UIComponentStoryDTO[]>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories`,\n params,\n })\n .pipe(\n switchMap(dtos => {\n if (!dtos.length) {\n return of([]);\n }\n return forkJoin(dtos.map(dto => this.convertToComponentStory$(templateId, componentId, dto)));\n }),\n );\n };\n\n public fetchStory$ = (templateId: string, componentId: string, storyId: string): Observable<ComponentStory> => {\n return this.baseHttpService\n .api<UIComponentStoryDTO>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n })\n .pipe(switchMap(dto => this.convertToComponentStory$(templateId, componentId, dto)));\n };\n\n public createComponentStory$ = (templateId: string, story: NewComponentStory): Observable<ComponentStory> => {\n return this.baseHttpService.api<ComponentStory>({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories`,\n body: story,\n });\n };\n\n public updateComponentStory$ = (templateId: string, story: ComponentStory): Observable<ComponentStory> => {\n const { script, template, styles, section, ...rest } = story;\n\n return this.baseHttpService\n .api<UIComponentStoryDTO>({\n method: 'put',\n url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories/${story.id}`,\n body: rest,\n })\n .pipe(map(dto => fromUIComponentStoryDTO(dto, { html: template, js: script, css: styles, json: section })));\n };\n\n public duplicateComponentStory$ = (story: ComponentStory, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${story.template}/components/${story.uiComponentId}/stories/${story.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public deleteComponentStory$ = (templateId: string, componentId: string, storyId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n });\n };\n\n public restoreComponentStory$ = (templateId: string, componentId: string, storyId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n });\n };\n\n public uploadStoryAttachments$ = (\n templateId: string,\n componentId: string,\n storyId: string,\n attachments: ComponentStoryAttachments,\n ): Observable<void> => {\n const formData = new FormData();\n if (attachments.html != null) {\n formData.append('html', new Blob([attachments.html]), 'story-template.html');\n }\n if (attachments.css != null) {\n formData.append('css', new Blob([attachments.css]), 'story-styles.css');\n }\n if (attachments.js != null) {\n formData.append('js', new Blob([attachments.js]), 'story-script.js');\n }\n if (attachments.json != null) {\n formData.append('json', new Blob([attachments.json]), 'story-section.json');\n }\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments`,\n body: formData,\n });\n };\n\n public getTemplateThumbnailUrl(templateId: string) {\n return `${this.serviceUrl}/${templateId}/thumbnail/file`;\n }\n\n public attachTemplateThumbnail$(templateId: string, file: File) {\n const data = new FormData();\n data.append('thumb', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/thumbnail`,\n body: data,\n });\n }\n\n public removeTemplateThumbnail$(templateId: string) {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/thumbnail`,\n });\n }\n\n public fetchComponentAttachments$ = (\n templateId: string,\n component: TemplateComponent,\n ): Observable<ComponentAttachments> => {\n return forkJoin([\n this.fetchComponentAttachmentFile$(templateId, component.id, 'html'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'js'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'css'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'json'),\n ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })));\n };\n\n private fetchComponentAttachmentFile$ = (\n templateId: string,\n componentId: string,\n attachmentType: TemplateAttachmentType,\n ): Observable<string> => {\n return this.baseHttpService\n .api({\n method: 'get',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments/${attachmentType}/file`,\n responseType: 'text',\n errorHandler: noop,\n })\n .pipe(catchError(() => of('')));\n };\n\n public uploadComponentAttachments$ = (\n templateId: string,\n componentId: string,\n attachments: ComponentAttachments,\n ): Observable<void> => {\n const formData = new FormData();\n if (attachments.html != null) {\n formData.append('html', new Blob([attachments.html]), 'template.html');\n }\n if (attachments.css != null) {\n formData.append('css', new Blob([attachments.css]), 'styles.css');\n }\n if (attachments.js != null) {\n formData.append('js', new Blob([attachments.js]), 'script.js');\n }\n if (attachments.json != null) {\n formData.append('json', new Blob([attachments.json]), 'section.json');\n }\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments`,\n body: formData,\n });\n };\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { BaseHttpService, XrayService } from '@veloceapps/core';\nimport { AccountApiService } from './services/account-api.service';\nimport { CatalogAdminApiService } from './services/catalog-admin-api.service';\nimport { CatalogApiService } from './services/catalog-api.service';\nimport { ConfigurationApiService } from './services/configuration-api.service';\nimport { ConfigurationSettingsApiService } from './services/configuration-settings-api.service';\nimport { ContextApiService } from './services/context-api.service';\nimport { DeltaApiService } from './services/delta-api.service';\nimport { DocumentAttachmentApiService } from './services/document-attachment-api.service';\nimport { DocumentTemplatesApiService } from './services/document-templates-api.service';\nimport { EndpointsApiService } from './services/endpoints-api.service';\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 { PriceApiService } from './services/price-api.service';\nimport { ProceduresApiService } from './services/procedures-api.service';\nimport { ProductApiService } from './services/product-api.service';\nimport { ProductModelApiService } from './services/product-model-api.service';\nimport { QuoteApiService } from './services/quote-api.service';\nimport { RampApiService } from './services/ramp-api.service';\nimport { RuleGroupsApiService } from './services/rule-groups-api.service';\nimport { RulesApiService } from './services/rules-api.service';\nimport { SalesforceApiService } from './services/salesforce-api.service';\nimport { ScriptsApiService } from './services/scripts-api.service';\nimport { ShoppingCartSettingsApiService } from './services/shopping-cart-settings-api.service';\nimport { UITemplatesApiService } from './services/ui-templates-api.service';\n\n@NgModule({\n imports: [HttpClientModule],\n providers: [\n BaseHttpService,\n XrayService,\n ConfigurationApiService,\n ConfigurationSettingsApiService,\n ContextApiService,\n DocumentAttachmentApiService,\n PriceApiService,\n ProductModelApiService,\n ProceduresApiService,\n QuoteApiService,\n DocumentTemplatesApiService,\n RampApiService,\n SalesforceApiService,\n UITemplatesApiService,\n ScriptsApiService,\n RulesApiService,\n RuleGroupsApiService,\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 ],\n})\nexport class ApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["HttpParams","i1","i0","Injectable","throwError","map","ModelTranslatorUtils","catchError","HttpErrorResponse","of","i2","ConfigurationContextMode","tap","moment_","isLegacyDocumentTemplate","zip","switchMap","DocxTemplater","QuoteDraft","forkJoin","defaultIfEmpty","_","CurrencyPipe","StringUtils","i2.SalesforceApiService","i3.DocumentAttachmentApiService","i4","Expression","i1.ConfigurationSettingsApiService","Operator","noop","ProductModelsContainer","ModelUtils","EntityUtil","RuleGroupTypes","parseJsonSafely","HttpClientModule","BaseHttpService","XrayService","NgModule"],"mappings":"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"}
|