{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/_core/core.module.ts","./src/app/_core/http-interceptors/auth-interceptor.ts","./src/app/_core/http-interceptors/error.interceptor.ts","./src/app/_core/http-interceptors/index.ts","./src/app/_core/http-interceptors/logging-interceptor.ts","./src/app/_core/http-interceptors/request-interceptor.ts","./src/app/_core/http-interceptors/response-interceptor.ts","./src/app/_core/services/api/cross-service.module.ts","./src/app/_core/services/api/http-param.service.ts","./src/app/_core/services/api/index.ts","./src/app/_core/services/api/shared-customer.service.ts","./src/app/_core/services/api/shared-global.service.ts","./src/app/_core/services/api/shared-integration.service.ts","./src/app/_core/services/api/shared-product-rate-plan.service.ts","./src/app/_core/services/api/shared-product.service.ts","./src/app/_core/services/app.service.ts","./src/app/_core/services/auth.service.ts","./src/app/_core/services/data.sharing.service.ts","./src/app/_core/services/error.service.ts","./src/app/_core/services/gateway.service.ts","./src/app/_core/services/grid.service.ts","./src/app/_core/services/index.ts","./src/app/_core/services/loader.service.ts","./src/app/_core/services/meta.service.ts","./src/app/_core/services/notification.service.ts","./src/app/_core/services/rest.service.ts","./src/app/_core/services/scheduler.service.ts","./src/app/_core/services/scroll.service.ts","./src/app/_core/services/skeleton-loader.service.ts","./src/app/_core/services/snackbar-message.service.ts","./src/app/_core/services/storage.service.ts","./src/app/_core/services/tax.service.ts","./src/app/_core/services/user.service.ts","./src/app/_core/services/utils.service.ts","./src/app/_guard/auth.guard.ts","./src/app/_guard/loggedin.guard.ts","./src/app/_shared/animations/common.animations.ts","./src/app/_shared/animations/index.ts","./src/app/_shared/animations/slide.animations.ts","./src/app/_shared/app.shared.module.ts","./src/app/_shared/dialog/dialog-shipping-address-form/dialog-shipping-address-form.component.ts","./src/app/_shared/dialog/dialog-shipping-address-form/dialog-shipping-address-form.component.html","./src/app/_shared/dialog/dialog.component.ts","./src/app/_shared/dialog/dialog.component.html","./src/app/_shared/dialog/shipping-protection/shipping-protection.component.ts","./src/app/_shared/dialog/shipping-protection/shipping-protection.component.html","./src/app/_shared/elements/account-shipping-address/account-shipping-address.component.ts","./src/app/_shared/elements/account-shipping-address/account-shipping-address.component.html","./src/app/_shared/elements/app-grid-charges/app-grid-charges.component.ts","./src/app/_shared/elements/app-grid-charges/app-grid-charges.component.html","./src/app/_shared/elements/button/button-secondary/button-secondary.component.ts","./src/app/_shared/elements/button/button-secondary/button-secondary.component.html","./src/app/_shared/elements/card/card.component.ts","./src/app/_shared/elements/card/card.component.html","./src/app/_shared/elements/credit-card/credit-card.component.ts","./src/app/_shared/elements/credit-card/credit-card.component.html","./src/app/_shared/elements/mat-select-search/mat-select-search.component.ts","./src/app/_shared/elements/mat-select-search/mat-select-search.component.html","./src/app/_shared/elements/mat-select-search/mat-select-search.module.ts","./src/app/_shared/elements/payment-card/payment-card.component.ts","./src/app/_shared/elements/payment-card/payment-card.component.html","./src/app/_shared/elements/shipping-address/shipping-address.component.ts","./src/app/_shared/elements/shipping-address/shipping-address.component.html","./src/app/_shared/elements/shipping-method/shipping-method.component.ts","./src/app/_shared/elements/shipping-method/shipping-method.component.html","./src/app/_shared/error-messages/error-messages.component.ts","./src/app/_shared/error-messages/form-control-error-message.component.ts","./src/app/_shared/error-messages/form-control-error.message.component.html","./src/app/_shared/idle-user/dialog-user-idle.component.ts","./src/app/_shared/idle-user/dialog-user-idle.component.html","./src/app/_shared/models/address.model.ts","./src/app/_shared/models/company.model.ts","./src/app/_shared/models/country.model.ts","./src/app/_shared/models/currency.model.ts","./src/app/_shared/models/customer.model.ts","./src/app/_shared/models/exchange-rate.model.ts","./src/app/_shared/models/filter.model.ts","./src/app/_shared/models/gateway.model.ts","./src/app/_shared/models/index.ts","./src/app/_shared/models/industries.model.ts","./src/app/_shared/models/integration.model.ts","./src/app/_shared/models/invoice.model.ts","./src/app/_shared/models/languages.model.ts","./src/app/_shared/models/payment-method.model.ts","./src/app/_shared/models/rebillia-plans.model.ts","./src/app/_shared/models/rest-response.model.ts","./src/app/_shared/models/role.model.ts","./src/app/_shared/models/subscriptions.model.ts","./src/app/_shared/models/system.model.ts","./src/app/_shared/models/tax-region.model.ts","./src/app/_shared/models/tax.model.ts","./src/app/_shared/models/timezone.model.ts","./src/app/_shared/models/user.model.ts","./src/app/_shared/page-loader/page-loader.component.ts","./src/app/_shared/page-loader/page-loader.component.html","./src/app/_shared/pages/forbidden/forbidden.component.ts","./src/app/_shared/pages/forbidden/forbidden.component.html","./src/app/_shared/pages/pagenotfound/pagenotfound.component.ts","./src/app/_shared/pages/pagenotfound/pagenotfound.component.html","./src/app/_shared/pages/unauthorized/unauthorized.component.ts","./src/app/_shared/pages/unauthorized/unauthorized.component.html","./src/app/_shared/payment-form/dialog-payment-form/dialog-payment-form.component.ts","./src/app/_shared/payment-form/dialog-payment-form/dialog-payment-form.component.html","./src/app/_shared/payment-form/payment-form.component.ts","./src/app/_shared/payment-form/payment-form.component.html","./src/app/_shared/pipes/dateTime.pipe.ts","./src/app/_shared/providers/origin.provider.ts","./src/app/_shared/services/permission/permissions.guard.ts","./src/app/_shared/services/permission/permissions.service.ts","./src/app/_shared/services/permission/restriction.directive.ts","./src/app/_shared/services/permission/restriction.model.ts","./src/app/_shared/services/permission/restriction.resolver.ts","./src/app/_shared/skeleton-loader/skeleton-loader-form/skeleton-loader-form.component.ts","./src/app/_shared/skeleton-loader/skeleton-loader-form/skeleton-loader-form.component.html","./src/app/_shared/skeleton-loader/skeleton-loader-gateway/skeleton-loader-gateway.component.ts","./src/app/_shared/skeleton-loader/skeleton-loader-gateway/skeleton-loader-gateway.component.html","./src/app/_shared/skeleton-loader/skeleton-loader-grid/skeleton-loader-grid-body/skeleton-loader-grid-body.component.ts","./src/app/_shared/skeleton-loader/skeleton-loader-grid/skeleton-loader-grid-body/skeleton-loader-grid-body.component.html","./src/app/_shared/skeleton-loader/skeleton-loader-grid/skeleton-loader-grid-header/skeleton-loader-grid-header.component.ts","./src/app/_shared/skeleton-loader/skeleton-loader-grid/skeleton-loader-grid-header/skeleton-loader-grid-header.component.html","./src/app/_shared/skeleton-loader/skeleton-loader.component.ts","./src/app/_shared/skeleton-loader/skeleton-loader.component.html","./src/app/_shared/unsubscriber/unsubscriber.ts","./src/app/_shared/validators/validator.service.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.data.ts","./src/app/app.keynames.ts","./src/app/app.material.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/modules/login/callback/callback.component.ts","./src/app/modules/login/callback/callback.component.html","./src/app/modules/main/_shared/_services/api/main.service.ts","./src/app/modules/main/_shared/components/global-header/global-header.component.ts","./src/app/modules/main/_shared/components/global-header/global-header.component.html","./src/app/modules/main/_shared/components/support/support.component.ts","./src/app/modules/main/_shared/components/support/support.component.html","./src/app/modules/main/_shared/dialog/bulk/bulk.component.ts","./src/app/modules/main/_shared/dialog/bulk/bulk.component.html","./src/app/modules/main/_shared/dialog/confirmation/confirmation.component.ts","./src/app/modules/main/_shared/dialog/confirmation/confirmation.component.html","./src/app/modules/main/_shared/dialog/message-timer/message-timer.component.ts","./src/app/modules/main/_shared/dialog/message-timer/message-timer.component.html","./src/app/modules/main/_shared/export-notifications/export-notification.component.ts","./src/app/modules/main/_shared/export-notifications/export-notification.component.html","./src/app/modules/main/_shared/global-header-impl/global-header-impl.component.ts","./src/app/modules/main/_shared/global-header-impl/global-header-impl.component.html","./src/app/modules/main/_shared/link-rateplan-charge/link-rateplan-charge.component.ts","./src/app/modules/main/_shared/link-rateplan-charge/link-rateplan-charge.component.html","./src/app/modules/main/_shared/navbar/navbar.component.ts","./src/app/modules/main/_shared/navbar/navbar.component.html","./src/app/modules/main/_shared/system-message/system-message.component.ts","./src/app/modules/main/_shared/system-message/system-message.component.html","./src/app/modules/main/layout-new.component.ts","./src/app/modules/main/layout-new.component.html","./src/app/modules/main/products/_services/api/product.service.ts","./src/app/modules/main/subscriptions/_services/api/subscription.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["//angular\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\n//app\nimport { httpInterceptorProviders } from './http-interceptors';\nimport { SERVICES } from './services/';\nimport { AuthService } from './services/auth.service';\nimport { GatewayService } from './services/gateway.service';\nimport { MetaService } from './services/meta.service';\nimport { NotificationService } from './services/notification.service';\nimport { SnackbarMessageService } from './services/snackbar-message.service';\nimport { TaxService } from './services/tax.service';\nimport { RebNgxSnackbarService } from '@rhinosaas/reb-ngx/reb-ngx-mat-snack-bar';\n\nconst PROVIDERS: any[] = [\n httpInterceptorProviders,\n SERVICES,\n AuthService,\n GatewayService,\n MetaService,\n NotificationService,\n TaxService,\n SnackbarMessageService,\n RebNgxSnackbarService\n]\n\n@NgModule({\n exports: [],\n imports: [],\n providers: PROVIDERS\n})\n\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n if (parentModule) {\n throw new Error(\n 'CoreModule is already loaded. Import it in the AppModule only');\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpHeaders, HttpEvent } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { StorageService } from 'src/app/_core/services';\nimport { EXCHANGE_RATE } from 'src/environments/environment';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private storage: StorageService) {}\n\n private setHeaders(headers: HttpHeaders, method: string, context?: any) {\n switch (method) {\n case 'DELETE':\n headers = headers.set('Content-Type', 'application/x-www-form-urlencoded');\n break;\n default:\n if(context != 'ignoreContentOverride') {\n headers = headers.set('Content-Type', 'application/json');\n }\n }\n\n // Get the auth token from local storage.\n const authToken = this.storage.readLocalStorage('access_token');\n\n return headers\n .set('Authorization', `Bearer ${authToken}`)\n .set('Accept', 'application/json');\n };\n\n private setExchangeRateHeaders(headers: HttpHeaders) {\n return headers\n .set('Content-Type', 'application/json')\n .set('Authorization', EXCHANGE_RATE.token)\n .set('Accept', 'application/json');\n }\n\n intercept(httpRequest: HttpRequest, next: HttpHandler): Observable> {\n let headers = new HttpHeaders();\n \n // handles the exchange rate specif auth header\n if (httpRequest.url == EXCHANGE_RATE.url) {\n headers = this.setExchangeRateHeaders(headers);\n } else {\n headers = this.setHeaders(headers, httpRequest.method, httpRequest.context);\n }\n\n // Clone the request and set the new headers.\n const authReq = httpRequest.clone({ headers });\n\n // send cloned request with headers to the next handlers.\n return next.handle(authReq);\n }\n}\n","import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { RestResponse } from '../../_shared/models';\nimport { Injectable } from \"@angular/core\";\nimport { ErrorService } from '../services/error.service';\nimport { KeyName } from 'src/app/app.keynames';\nimport { AuthService } from '../services/auth.service';\n\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n constructor(private errorService: ErrorService, private authService: AuthService){\n }\n intercept(httpRequest: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(httpRequest).pipe(\n map((event: HttpEvent) => {\n return event;\n }),\n catchError((res: HttpErrorResponse) => {\n if (res.error instanceof ErrorEvent) {\n // client-side error\n console.log(`client-side error`);\n this.errorService.push({\n message: res.error.message,\n status: res.status,\n data: []\n })\n } else {\n console.log(res.status);\n console.log(res);\n console.log(`server-side error`);\n this.errorService.push({\n message: res.error.message,\n status: res.status,\n data: res.error\n })\n\n if(res.error.code === KeyName.error_auth0) {\n this.authService.logout();\n }\n\n return throwError(new RestResponse().onFail(res.status, res.error.code, res.error.message, res.error.errors, res.error.help));\n }\n })\n );\n }\n}\n","import { environment } from 'src/environments/environment';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthInterceptor } from './auth-interceptor';\nimport { LoggingInterceptor } from './logging-interceptor';\nimport { ErrorInterceptor } from './error.interceptor';\nimport { RequestInterceptor } from './request-interceptor';\nimport { ResponseInterceptor } from './response-interceptor';\nimport { ErrorService } from '../services/error.service';\n\n\nlet interceptors = [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true ,},\n { provide: HTTP_INTERCEPTORS, useClass: LoggingInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: RequestInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ResponseInterceptor, multi: true },\n];\n\nif (environment.name != 'LOCAL' && environment.name != 'DEV' && environment.name != 'QA') {\n interceptors = interceptors.filter(interceptor => interceptor.useClass.name != 'LoggingInterceptor');\n}\n\nexport const httpInterceptorProviders = interceptors;\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpEvent, HttpErrorResponse } from '@angular/common/http';\nimport { finalize, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class LoggingInterceptor implements HttpInterceptor {\n constructor() {}\n\n intercept(httpRequest: HttpRequest, next: HttpHandler) {\n const started = Date.now();\n let ok: string;\n\n // extend server response observable with logging\n return next.handle(httpRequest).pipe(\n tap(\n // Succeeds when there is a response; ignore other events\n (event: HttpEvent) => ok = event instanceof HttpResponse ? 'SUCCEEDED' : 'CANCELED',\n // Operation failed; error is an HttpErrorResponse\n (error: HttpErrorResponse) => ok = `FAILED -> errors: ${error.message}`\n ),\n // Log when response observable either completes or errors\n finalize(() => {\n let style: string;\n if (ok == 'SUCCEEDED') {\n style = 'color: green; background-color: aquamarine;';\n } else {\n style = 'color: darkred; background-color: darksalmon;';\n }\n const elapsed = Date.now() - started;\n const msg = `%c${httpRequest.method} \"${httpRequest.urlWithParams}\" ${ok} in ${elapsed} ms.`;\n console.log(msg, style);\n })\n );\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { UtilsService } from '../services';\n\n@Injectable()\nexport class RequestInterceptor implements HttpInterceptor {\n constructor(\n private _utils: UtilsService,\n ) {}\n\n intercept(httpRequest: HttpRequest, next: HttpHandler): Observable> {\n let body = new FormData();\n if (httpRequest.method == 'POST' || httpRequest.method == 'PUT') {\n if (httpRequest.body instanceof Object) {\n // used for date format\n body = this._utils.iterateBody(httpRequest.body, this._utils.isDateValid.bind(this._utils), this._utils.formatDateToSend.bind(this._utils));\n // used for decimal format\n this._utils.iterateBody(body, this._utils.isDecimalField.bind(this._utils),this._utils.formatDecimalNumberToSend.bind(this._utils));\n }\n }\n\n const reqCloned = httpRequest.clone({ body: body ? body : httpRequest.body });\n return next.handle(reqCloned);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DataSharingService } from 'src/app/_core/services';\nimport { UtilsService } from '../services';\n\n@Injectable()\nexport class ResponseInterceptor implements HttpInterceptor {\n displayDateFormat: string;\n decimalPlaces: string;\n\n constructor(\n private _shareData: DataSharingService,\n private _utils: UtilsService,\n ) {}\n\n intercept(httpRequest: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(httpRequest).pipe(\n map((event: HttpEvent) => {\n if (httpRequest.method == 'GET' && !this._shareData.isNoFormatResponse(httpRequest.url)) {\n if (event instanceof HttpResponse) {\n const body = event.body;\n // used for date format\n // this._utils.iterateBody(body, this._utils.isDateStringValid.bind(this._utils),this._utils.formatDateToReceive.bind(this._utils));\n // used for decimal format\n this._utils.iterateBody(body, this._utils.isDecimalField.bind(this._utils),this._utils.formatDecimalNumberToReceive.bind(this._utils));\n }\n }\n return event;\n })\n );\n }\n}\n","//angular\nimport { NgModule } from '@angular/core';\n\n//services\nimport { SharedCustomerService } from './shared-customer.service';\nimport { SharedGlobalService } from './shared-global.service';\nimport { SharedProductService } from './shared-product.service';\nimport { SharedProductRatePlanService } from './shared-product-rate-plan.service';\nimport { SharedIntegrationService } from './shared-integration.service';\n\n\nconst PROVIDERS: any[] = [\n SharedCustomerService,\n SharedIntegrationService,\n SharedGlobalService,\n SharedProductService,\n SharedProductRatePlanService,\n]\n\n\n@NgModule({\n declarations: [],\n imports: [],\n providers: PROVIDERS,\n})\nexport class CrossServiceModule {\n constructor() {\n console.log(`cross-service.module.ts was loaded.`)\n }\n }\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpParamService {\n\n constructor() { }\n\n public buildPathParams(params: HttpParamsInterface):HttpParams {\n const { includeList, orderBy, sortBy, filterId, pageNo, itemPerPage, query, status, companyIntegrationId, startDate, endDate, currency_ISO3, productId } = params;\n\n let httpParams = new HttpParams();\n\n if(includeList) {\n httpParams = httpParams.set('include', includeList.join());\n }\n\n if(status) {\n httpParams = httpParams.set('status', status);\n }\n\n if(orderBy) {\n httpParams = httpParams.set('orderBy', orderBy);\n }\n\n if(sortBy) {\n httpParams = httpParams.set('sortBy', sortBy);\n }\n\n if(filterId) {\n httpParams = httpParams.set('filterId', filterId.toString());\n }\n\n if(pageNo) {\n httpParams = httpParams.set('pageNo', pageNo.toString());\n }\n\n if(itemPerPage) {\n httpParams = httpParams.set('itemPerPage', itemPerPage.toString());\n }\n\n if(query) {\n httpParams = httpParams.set('query', query);\n }\n\n if(companyIntegrationId) {\n httpParams = httpParams.set('companyIntegrationId', companyIntegrationId);\n }\n\n if(startDate) {\n httpParams = httpParams.set('startDate', startDate);\n }\n\n if(endDate) {\n httpParams = httpParams.set('endDate', endDate);\n }\n\n if(currency_ISO3) {\n httpParams = httpParams.set('currency_ISO3', currency_ISO3);\n }\n\n if(productId) {\n httpParams = httpParams.set('productId', productId);\n }\n\n return httpParams;\n }\n}\n","import { SharedCustomerService } from \"./shared-customer.service\";\nimport { SharedGlobalService } from \"./shared-global.service\";\nimport { SharedIntegrationService } from \"./shared-integration.service\";\nimport { SharedProductRatePlanService } from \"./shared-product-rate-plan.service\";\nimport { SharedProductService } from \"./shared-product.service\";\n\nexport const CROSS_SERVICES: any[] = [\n SharedCustomerService,\n SharedIntegrationService,\n SharedProductService,\n SharedProductRatePlanService,\n SharedGlobalService,\n];\n\nexport * from \"./shared-customer.service\";\nexport * from \"./shared-global.service\";\nexport * from \"./shared-integration.service\";\nexport * from \"./shared-product-rate-plan.service\";\nexport * from \"./shared-product.service\";\n","import { Injectable } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { POST_ChargesInterface } from 'src/app/_shared/interfaces/charges.interface';\nimport { POST_CustomerPaymentSourceInterface } from 'src/app/_shared/interfaces/customer.interface';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { POST_AddressInterface, Put_AddressInterface, RestResponse } from 'src/app/_shared/models';\nimport { environment } from 'src/environments/environment';\nimport { HttpParamService } from './http-param.service';\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\nconst APIResourceCompanies = '/companies';\nconst APIResourceCostumers = '/customers';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedCustomerService {\n\n subscription: Subscription;\n public serviceUrl_Customers: string;\n\n constructor(\n private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService\n ) {\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n\n }\n // Customers\n // /companies/{{companyId}}/customers\n this.serviceUrl_Customers = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers;\n });\n }\n\n public getLogsByCustomerId(customerId: number, noFormat: boolean): Observable {\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/logs`, noFormat);\n }\n\n //addressByClient\n public createAddressBookByCustomerId(customerId: number,_bodyParams: POST_AddressInterface): Observable {\n return this._rest.post(`${this.serviceUrl_Customers}/${customerId}/addressbooks`, _bodyParams);\n }\n\n public deleteAddressbookByCustomerId(customerId: number, addressIdToDelete): Observable {\n return this._rest.delete(`${this.serviceUrl_Customers}/${customerId}/addressbooks/${addressIdToDelete}`);\n }\n\n public getAddressBookByCustomerId(customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/addressbooks`);\n }\n\n public getAddressByAddressbookId(customerId: number, addressBookId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/addressbooks/${addressBookId}`);\n }\n\n public updateAddressByAddressbookId(customerId: number, addressId: number, _bodyParams: Put_AddressInterface): Observable {\n return this._rest.put(`${this.serviceUrl_Customers}/${customerId}/addressbooks/${addressId}`, _bodyParams);\n }\n\n //invoices\n public getInvoicesByCustomerId(customerId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/invoices`, { params: params } );\n }\n\n //transactions\n public getTransactionsByCustomerId(customerId: number, pathParams: HttpParamsInterface, noFormat: boolean): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/transactions`, { params: params }, noFormat);\n }\n\n //changesCredits\n public createChangesCreditsByCustomerId(customerId: number,_bodyParams: POST_ChargesInterface): Observable {\n return this._rest.post(`${this.serviceUrl_Customers}/${customerId}/charges_credits`, _bodyParams);\n }\n\n public deleteChangesCreditsByCustomerId(customerId: number, chargeCreditId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Customers}/${customerId}/charges_credits/${chargeCreditId}`);\n }\n\n public getCustomerProfile(customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}`);\n }\n\n //searchByCustomer\n public getCustomerByQuery(queryToSearch: string, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Customers}?query=${queryToSearch}`,{params: params});\n }\n\n // get ChangesCreditsByCustomerId\n public getChangesCreditsByCustomerId(customerId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/charges_credits`, { params: params } );\n }\n\n //paymentmethods\n //payments methods by CustomerId\n public getPaymentMethodsByCustomerId(customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/paymentmethods`);\n }\n\n public getPaymentMethodByPaymentId(customerId: number, paymentmethods: number): Observable {\n return this._rest.get(`${this.serviceUrl_Customers}/${customerId}/paymentmethods/${paymentmethods}`);\n }\n\n public createPaymentMethodsByCustomerId(customerId: number,_bodyParams: POST_CustomerPaymentSourceInterface): Observable {\n return this._rest.post(`${this.serviceUrl_Customers}/${customerId}/paymentmethods`, _bodyParams);\n }\n\n public deletePaymentMethodsByCustomerId(customerId: number, paymentIdToDelete): Observable {\n return this._rest.delete(`${this.serviceUrl_Customers}/${customerId}/paymentmethods/${paymentIdToDelete}`);\n }\n\n public updatePaymentMethod(customerId: number, paymentSourceId: number, _bodyParams: any): Observable {\n return this._rest.put(`${this.serviceUrl_Customers}/${customerId}/paymentmethods/${paymentSourceId}`, _bodyParams);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {BehaviorSubject, Observable, Subscription, timer} from 'rxjs';\nimport { CompanySettingsKey } from 'src/app/app.data';\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { Post_ActivateCompany, Post_AdditionalCurrencyInterface, Put_AdditionalCurrencyInterface, PUT_CompanyGatewayStatusInterface, PUT_CompanyProfileInterface, RestResponse, ShippingCalculateModel } from 'src/app/_shared/models';\nimport { environment } from 'src/environments/environment';\nimport { HttpParamService } from './http-param.service';\nimport {concatMap, map, switchMap} from \"rxjs/operators\";\nimport {Post_CompanyPlanScope} from \"../../../_shared/models/rbl-plan.model\";\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\n\nconst APIResourceCompanies = '/companies';\nconst APIResourceCostumers: string = '/customers';\nconst APIResourceCostumersImport: string = '/import';\nconst APIResourceCustomerListDuplicates: string = '/list/duplicates';\nconst APIResourceCustomerList: string = '/list/information/manual-duplicates';\nconst APIResourceCountries: string = '/countries';\nconst APIResourceCurrencies: string = '/currencies';\nconst APIResourceDefault: string = '/default';\nconst APIResourceGateways: string = '/gateways';\nconst APIResourceGlobals: string = '/globals';\nconst APIResourceSettingsByType: string = '/settings/types';\nconst APIResourceRblScopeKeyByType: string = '/rbl-scope-key';\nconst APIResourceExperimentalFeatures: string = '/experimental-features';\nconst APIResourceSaveRblScopeKeyByType: string = '/changetype';\nconst APIResourceTimezones: string = '/timezones';\nconst APIResourceIndustries: string = '/industries';\nconst APIResourceCompanyProfile = '/profile';\nconst APIResourceCompanySelectedPlanScope = '/selected-plan-scope';\nconst APIResourceCompanyUpdateOrCreatePlanScope = '/update-or-create-company-plan-scope';\nconst APIResourceAllPlanScopes = '/all/plan-scopes';\nconst APIResourceCurrencyDefault = '/currencies/default';\nconst OXR_BASE_URL = 'https://openexchangerates.org/api';\nconst APIResourceSystem: string = '/system';\nconst APIResourceGateway = '/gateway';\nconst APIResourceUsers: string = '/users';\nconst APIResourceFilters: string = '/filters';\nconst APIResourceIntegrations: string = '/integrations';\nconst APIExportQueue: string = '/export-queue/';\n\nconst APIResourceGrids: string = '/grids';\nconst APIResourceUsersMe: string = '/users/me';\nconst APIResourceSettings: string = '/settings';\nconst APIResourceDeactivate: string = '/deactivate';\nconst APIResourceOrders: string = '/orders';\nconst APIResourceImport: string = '/import';\nconst APIScope: string = '/scope';\n\nconst APIResourceCheckout = '/checkout';\n\nconst APIResourceInbox: string = '/inbox';\n\nconst APIResourceAnalytics: string = '/analytics';\nconst APIResourceSalesChannel: string = '/sales-channel';\nconst APIResourceTotals: string = '/totals';\nconst APIResourceInvoices: string ='/invoices';\n\nconst APIResourceInvites = '/invites';\n\nconst APIResourceBilling = '/billing';\nconst APIResourcePaymentMethods = '/paymentmethod'; //REVCODEREB: cambiar esta ruta en la api y luego en el front\n\nconst APIResourceShipping: string = '/shipping';\nconst APIResourceShippingCalculate: string = '/shipping/calculate';\nconst APIResourceShippingServices: string = '/shipping/services';\nconst APIResourceShipperHQServices: string = '/shipping/shipperhq-services';\nconst APIResourceTaxNewTransaction: string = '/tax/new-transaction';\nconst APIResourceRoles: string = '/roles';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedGlobalService {\n\n private subscription: Subscription;\n private serviceUrl_CompanyGateways: string;\n private serviceUrl_CompanyCurrencies: string;\n private serviceUrl_CompanyCurrenciesDefault: string;\n private serviceUrl_Countries: string;\n private serviceUrl_CustomersImport: string;\n private serviceUrl_MergeCustomers: string;\n private serviceUrl_CustomersSuggestedMerge: string;\n private serviceUrl_CustomersListForMerge: string;\n private serviceUrl_CompanySettingsByType: string;\n private serviceUrl_RblScopeKeyByType: string;\n private serviceUrl_ExperimentalFeatures: string;\n private serviceUrl_SaveRblScopeKeyByType: string;\n private serviceUrl_Timezones: string;\n private serviceUrl_Industries: string;\n private serviceUrl_EntityProfile: string;\n private serviceUrl_Gateways: string;\n private serviceUrl_EntityCurrencyDefault: string;\n private serviceUrl_Currencies: string;\n private serviceUrl_ExchangeAllRate: string;\n private serviceUrl_SystemGateway: string;\n private serviceUrl_Grids: string;\n\n private serviceUrl_Export: string;\n private serviceUrl_Filters: string;\n private serviceUrl_Integrations: string;\n private serviceUrl_Costumers: string;\n private serviceUrl_OrdersImport: string;\n private serviceUrl_Scope: string;\n\n private serviceUrl_UserMe: string;\n\n private serviceUrl_EntitySettings: string;\n\n private serviceUrl_EntityDeactivate: string;\n\n private serviceUrl_EntityCurrencies: string;\n\n private serviceUrl_Checkout: string;\n\n private serviceUrl_CompanyInbox: string;\n\n private serviceUrl_CompanyRequest: string;\n private serviceUrl_PurchaseHistoryUpsCapital: string;\n\n //only one use\n private serviceUrl_AnalyticsSalesChannel: string;\n\n //only one use\n private serviceUrl_AnalyticsTotals: string;\n\n //only one use\n private serviceUrl_AnalyticsInvoices: string;\n\n //only one use\n private serviceUrl_UserLog: string;\n\n private serviceUrl_EntityUsersInvites: string;\n private serviceUrl_EntityUsers: string;\n private serviceUrl_InternalUsers: string;\n\n //only one use\n private serviceUrl_EntityPaymentMethod: string;\n\n //only one use\n private serviceUrl_Shipping: string;\n private serviceUrl_ShippingCalculate: string;\n private serviceUrl_ShippingServices: string;\n private serviceUrl_ShipperHQServices: string;\n\n private serviceUrl_TaxCreateTransaction: string;\n private serviceUrl_PlanScope: string;\n private serviceUrl_SelectedPlanScope: string;\n private serviceUrl_UpdateOrCreateCompanyPlanScope: string;\n private serviceUrl_UserCompanies: string;\n private serviceUrl_UserRoles: string;\n private serviceUrl_UserPendingActivationCompanies: string;\n private load$ = new BehaviorSubject('');\n private COMPANY_USER_EXPORT_NOTIFICATION_INTERVAL: number = 20000;\n\n constructor(\n private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService\n ) {\n\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n // [GET][PUT][DELETE] CURRENCY\n // COMPANY CURRENCIES\n // /companies/{{companyId}}/currencies\n this.serviceUrl_CompanyCurrencies = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencies;\n\n // Import\n // /companies/{{companyId}}/customers/import\n this.serviceUrl_CustomersImport = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers + APIResourceCostumersImport;\n\n //merge customers\n this.serviceUrl_MergeCustomers = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers;\n\n // Merge\n // /companies/{{companyId}}/customers/list/duplicates\n this.serviceUrl_CustomersSuggestedMerge = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers + APIResourceCustomerListDuplicates;\n\n\n this.serviceUrl_CustomersListForMerge = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers + APIResourceCustomerList;\n\n // COMPANY CURRENCIES DEFAULT\n // [GET]\n // /companies/{{companyId}}/currencies/default\n this.serviceUrl_CompanyCurrenciesDefault = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencies + APIResourceDefault;\n\n\n // COMPANY SETTINGS BY TYPE\n // /companies/{{companyId}}/settings/type\n this.serviceUrl_CompanySettingsByType = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceSettingsByType;\n\n // /companies/{{companyId}}/rbl-scope-key\n this.serviceUrl_RblScopeKeyByType = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceRblScopeKeyByType;\n\n this.serviceUrl_SaveRblScopeKeyByType = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceRblScopeKeyByType + APIResourceSaveRblScopeKeyByType;\n\n // /companies/{{companyId}}/experimental-features\n this.serviceUrl_ExperimentalFeatures = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceExperimentalFeatures;\n\n // Timezones\n // /globals/timezones\n this.serviceUrl_Timezones = APIEndpoint + APIResourceGlobals + APIResourceTimezones;\n\n // Industries\n // /globals/industries\n this.serviceUrl_Industries = APIEndpoint + APIResourceGlobals + APIResourceIndustries;\n\n // COMPANY\n // [GET][PUT] Company Profile\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/profile\n this.serviceUrl_EntityProfile = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCompanyProfile;\n\n // COMPANY\n // Selected PlanScope\n // /internal/companies/{{companyId}}/selected-plan-scope\n this.serviceUrl_SelectedPlanScope = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCompanySelectedPlanScope;\n\n // COMPANY\n // Selected PlanScope\n // /internal/companies/{{companyId}}/update-or-create-company-plan-scope\n this.serviceUrl_UpdateOrCreateCompanyPlanScope = APIEndpoint + APIVersion + APIResourceCompanies + entityId;\n\n // COMPANY\n // Selected PlanScope\n // /internal/companies/all/plan-scopes\n this.serviceUrl_PlanScope = APIEndpoint + APIVersion + APIResourceCompanies + APIResourceAllPlanScopes;\n\n // CURRENCY BASE (Default)\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/currencies/default\n this.serviceUrl_EntityCurrencyDefault = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencyDefault;\n\n // Gateways\n // /globals/gateways\n this.serviceUrl_Gateways = APIEndpoint + APIResourceGlobals + APIResourceGateways;\n\n // Currencies\n // /globals/currencies\n this.serviceUrl_Currencies = APIEndpoint + APIResourceGlobals + APIResourceCurrencies;\n\n // Countries\n // /globals/countries\n this.serviceUrl_Countries = APIEndpoint + APIResourceGlobals + APIResourceCountries;\n\n // Exchange Rates\n // https://openexchangerates.org/api/latest.json\n this.serviceUrl_ExchangeAllRate = OXR_BASE_URL + \"/latest.json\";\n\n // Company Customers\n this.serviceUrl_Costumers = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers\n\n this.serviceUrl_Export = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIExportQueue\n\n // INTEGRATION\n // /companies/{{companyId}}/intergration\n this.serviceUrl_Integrations = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceIntegrations;\n\n // FILTERS\n // /companies/{{companyId}}/filters\n this.serviceUrl_Filters = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceFilters;\n\n // USER GRID COLUMNS PREFERENCES\n // /users/me/settings/grids\n this.serviceUrl_Grids = APIEndpoint + APIVersion + APIResourceUsersMe + APIResourceSettings + APIResourceGrids;\n\n // ORDERS\n // /companies/{{companyId}}/orders/import\n this.serviceUrl_OrdersImport = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceOrders + APIResourceImport;\n\n // SCOPE\n // /companies/{{companyId}}/scope\n this.serviceUrl_Scope = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIScope;\n\n this.serviceUrl_PurchaseHistoryUpsCapital = APIEndpoint + APIVersion + APIResourceCompanies + entityId + '/shipping/ups/shipping-capital';\n // ACCOUNT SETTING\n // [GET][PUT] User profile\n // /users/me\n this.serviceUrl_UserMe = APIEndpoint + APIVersion + APIResourceUsers + '/me';\n\n //User companies\n //{{host}}/{{version}}/users/companies\n this.serviceUrl_UserCompanies = APIEndpoint + APIVersion + APIResourceUsers + APIResourceCompanies;\n\n // COMPANY REQUEST\n //{{host}}/{{version}}/company-request/\n this.serviceUrl_UserPendingActivationCompanies = APIEndpoint + APIVersion + '/company-request';\n\n // USER LOG\n // /companies/{{companyId}}/logs\n this.serviceUrl_UserLog = APIEndpoint + APIVersion + APIResourceCompanies;\n\n // COMPANY SETTINGS\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/settings\n this.serviceUrl_EntitySettings = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceSettings;\n\n // COMPANY SETTINGS\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/deactivate\n this.serviceUrl_EntityDeactivate = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceDeactivate;\n\n\n // [GET][PUT][DELETE] CURRENCY\n // COMPANY CURRENCIES\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/currencies\n this.serviceUrl_EntityCurrencies = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencies;\n\n // [POST] Post checkout\n //ONLY ONE USE\n this.serviceUrl_Checkout = APIEndpoint + APIVersion + APIResourceSystem + APIResourceCheckout;\n\n // [GET] Company Inbox\n // /companies/{{companyId}}/inbox\n this.serviceUrl_CompanyInbox = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceInbox;\n\n\n // ANALYTICS - SUBSCRIPTION BY SALES CHANNEL\n // /companies/{{companyId}}/analytics/subscriptions-by-sales-channel\n this.serviceUrl_AnalyticsSalesChannel = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceAnalytics + APIResourceSalesChannel;\n\n // ANALYTICS - GET TOTALS\n // /companies/{{companyId}}/analytics/totals\n this.serviceUrl_AnalyticsTotals = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceAnalytics + APIResourceTotals;\n\n // ANALYTICS - PAYMENT ACTIVITY\n // /companies/{{companyId}}/analytics/payment-activity\n this.serviceUrl_AnalyticsInvoices = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceAnalytics + APIResourceInvoices;\n\n // [POST][DELETE] USERS/INVITES\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/users/invites\n this.serviceUrl_EntityUsersInvites = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceUsers + APIResourceInvites;\n\n // [GET] USERS\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/users\n this.serviceUrl_EntityUsers = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceUsers;\n\n // https://devapi.rebillia.com/internal/customers\n this.serviceUrl_InternalUsers = APIEndpoint + APIVersion + APIResourceCostumers;\n\n // BILLING\n // Payment Methods\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/billing/paymentmethod\n this.serviceUrl_EntityPaymentMethod = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceBilling + APIResourcePaymentMethods;\n\n // SHIPPING\n // /companies/{{companyId}}/shipping/calculate\n this.serviceUrl_ShippingCalculate = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceShippingCalculate;\n\n // /companies/{{companyId}}/shipping/services\n this.serviceUrl_ShippingServices = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceShippingServices;\n\n // /companies/{{companyId}}/shipping/shipperhq-services\n this.serviceUrl_ShipperHQServices = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceShipperHQServices;\n\n // /companies/{{companyId}}/shipping\n this.serviceUrl_Shipping = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceShipping;\n\n // TAX NEW TRANSACTION\n // /companies/{{companyId}}/tax/new-transaction\n this.serviceUrl_TaxCreateTransaction = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceTaxNewTransaction;\n\n // User Roles\n // /globals/gateways\n this.serviceUrl_UserRoles = APIEndpoint + APIResourceGlobals + APIResourceRoles;\n\n // Payment Gateways\n // /companies/{{companyId}}/gateways\n this.serviceUrl_CompanyGateways = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceGateways;\n\n // [GET][PUT][DELETE] CURRENCY\n // COMPANY CURRENCIES\n // /companies/{{companyId}}/currencies\n this.serviceUrl_CompanyCurrencies = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencies;\n\n // Import\n // /companies/{{companyId}}/customers/import\n this.serviceUrl_CustomersImport = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCostumers + APIResourceCostumersImport;\n\n // COMPANY CURRENCIES DEFAULT\n // [GET]\n // /companies/{{companyId}}/currencies/default\n this.serviceUrl_CompanyCurrenciesDefault = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencies + APIResourceDefault;\n\n\n // COMPANY SETTINGS BY TYPE\n // /companies/{{companyId}}/settings/type\n this.serviceUrl_CompanySettingsByType = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceSettingsByType;\n\n // Timezones\n // /globals/timezones\n this.serviceUrl_Timezones = APIEndpoint + APIResourceGlobals + APIResourceTimezones;\n\n // Industries\n // /globals/industries\n this.serviceUrl_Industries = APIEndpoint + APIResourceGlobals + APIResourceIndustries;\n\n // COMPANY\n // [GET][PUT] Company Profile\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/profile\n this.serviceUrl_EntityProfile = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCompanyProfile;\n\n // CURRENCY BASE (Default)\n // https://devapi.rebillia.com/internal/companies/{{companyId}}/currencies/default\n this.serviceUrl_EntityCurrencyDefault = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceCurrencyDefault;\n\n // Gateways\n // /globals/gateways\n this.serviceUrl_Gateways = APIEndpoint + APIResourceGlobals + APIResourceGateways;\n\n this.serviceUrl_CompanyRequest = APIEndpoint + APIVersion;\n\n // Currencies\n // /globals/currencies\n this.serviceUrl_Currencies = APIEndpoint + APIResourceGlobals + APIResourceCurrencies;\n\n // Countries\n // /globals/countries\n this.serviceUrl_Countries = APIEndpoint + APIResourceGlobals + APIResourceCountries;\n\n // Get Gateway Default\n // /system/gateway\n this.serviceUrl_SystemGateway = APIEndpoint + APIVersion + APIResourceSystem + APIResourceGateway;\n\n // Exchange Rates\n // https://openexchangerates.org/api/latest.json\n this.serviceUrl_ExchangeAllRate = OXR_BASE_URL + \"/latest.json\";\n });\n }\n\n public getServiceUrlCompanyGateways(): string {\n return this.serviceUrl_CompanyGateways;\n }\n\n public getServiceUrlSystemGateways(): string {\n return this.serviceUrl_SystemGateway;\n }\n\n public importFromBigCommerce(companyIntegrationId: number, _bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_CustomersImport}/${companyIntegrationId}`, _bodyParams);\n }\n\n public mergeCustomers(mainCustomerId: number, _bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_MergeCustomers}/action/${mainCustomerId}/merge`, _bodyParams);\n }\n\n public customerSetupStripeIntent(companyGatewayId: any, customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_CompanyGateways}/${companyGatewayId}${APIResourceCostumers}/${customerId}/setup_intent`);\n }\n\n public getCustomerSuggestedDuplicates() {\n return this._rest.get(this.serviceUrl_CustomersSuggestedMerge);\n }\n\n public getCustomerListForMerge() {\n return this._rest.get(this.serviceUrl_CustomersListForMerge);\n }\n\n //companygateway\n public getActiveCompanyGateways(): Observable {\n return this._rest.get(`${this.serviceUrl_CompanyGateways}?status=active`);\n }\n\n //companyCurrencies\n public getCompanyCurrencies(): Observable {\n return this._rest.get(this.serviceUrl_CompanyCurrencies);\n }\n\n //countries\n public getCountries(): Observable {\n return this._rest.get(this.serviceUrl_Countries);\n }\n\n //company currency\n public getCompanyCurrencyDefault(): Observable {\n return this._rest.get(`${this.serviceUrl_EntitySettings}/${CompanySettingsKey.currencyDefault}`);\n }\n\n //company currency\n public deactivateCompany(): Observable {\n return this._rest.put(`${this.serviceUrl_EntityDeactivate}`, {});\n }\n\n //entity currency\n public getEntityCurrencies(): Observable {\n return this._rest.get(`${this.serviceUrl_EntityCurrencies}`);\n }\n\n //get currencydefault\n public getCompanyCurrenciesDefault(): Observable {\n return this._rest.get(`${this.serviceUrl_CompanyCurrenciesDefault}`);\n }\n\n //company gateways by companycurrencyId\n public getCompanyGatewayByCompanyCurrencyId(companyCurrencyId: number): Observable {\n return this._rest.get(`${this.serviceUrl_CompanyCurrencies}/${companyCurrencyId}`);\n }\n\n public getCompanySettingsBySettingType(settingType: string): Observable {\n return this._rest.get(`${this.serviceUrl_CompanySettingsByType}/${settingType}`);\n }\n\n public getSettingsBySettingTypeAndCompanyId(companyId: number, settingType: string) : Observable {\n return this._rest.get(APIEndpoint + APIVersion + APIResourceCompanies + '/' + companyId + APIResourceSettingsByType + '/' + settingType);\n }\n\n public getRblScopeKeyTypes(bodyParams = {}): Observable {\n return this._rest.post(this.serviceUrl_RblScopeKeyByType, bodyParams);\n }\n\n public saveRblScopeKeyTypes(bodyParams = []): Observable {\n return this._rest.put(this.serviceUrl_SaveRblScopeKeyByType, bodyParams);\n }\n\n public getExperimentalFeatures(): Observable {\n return this._rest.get(this.serviceUrl_ExperimentalFeatures);\n }\n\n public saveExperimentalFeatures(bodyParams = []): Observable {\n return this._rest.put(this.serviceUrl_ExperimentalFeatures, bodyParams);\n }\n\n public getTimeZones(): Observable {\n return this._rest.get(this.serviceUrl_Timezones);\n }\n\n public getIndustries(): Observable {\n return this._rest.get(this.serviceUrl_Industries);\n }\n\n public getEntityProfile(): Observable {\n return this._rest.get(this.serviceUrl_EntityProfile);\n }\n\n public updateEntityProfile( bodyParams: PUT_CompanyProfileInterface): Observable {\n return this._rest.put(`${this.serviceUrl_EntityProfile}`, bodyParams);\n }\n\n public testGatewayCredentials(gatewayId: number) {\n return this._rest.get(`${this.serviceUrl_CompanyGateways}/${gatewayId}/test`);\n }\n\n public reconnectCompanyGateway(gatewayId: number, gatewayEnvironment: string) {\n return this._rest.get(`${this.serviceUrl_CompanyGateways}/${gatewayId}/oauth-reconnect/${gatewayEnvironment}`);\n }\n\n //companygateway\n public getCompanyGateways(): Observable {\n return this._rest.get(`${this.serviceUrl_CompanyGateways}`);\n }\n\n //Global gateways\n public getGlobalGateways(): Observable {\n return this._rest.get(`${this.serviceUrl_Gateways}`);\n }\n\n public deleteCompanyGateway(gatewayId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_CompanyGateways}/${gatewayId}`);\n }\n\n public updateCompanyGatewayStatus(gatewayId:number, bodyParams: PUT_CompanyGatewayStatusInterface): Observable {\n return this._rest.put(`${this.serviceUrl_CompanyGateways}/${gatewayId}/update-status`, bodyParams);\n }\n\n public getUserRoles(): Observable {\n return this._rest.get(this.serviceUrl_UserRoles)\n }\n\n public getGlobalGatewaysByGatewayId(gatewayId:number): Observable {\n return this._rest.get(`${this.serviceUrl_Gateways}/${gatewayId}?environment=sandbox`);\n }\n\n public getCompanyCurrencyBase(): Observable {\n return this._rest.get(`${this.serviceUrl_EntityCurrencyDefault}`);\n }\n\n public getGlobalCurrencies(): Observable {\n return this._rest.get(`${this.serviceUrl_Currencies}`);\n }\n\n public createBaseCurrency(bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_EntityCurrencyDefault}`, bodyParams);\n }\n\n public createAdditionalCrrency(bodyParams: Post_AdditionalCurrencyInterface): Observable {\n return this._rest.post(`${this.serviceUrl_CompanyCurrencies}`, bodyParams);\n }\n\n public updateCompanyCurrencyByCompanyCurrencyId(companyCurrencyId: number, bodyParams: Put_AdditionalCurrencyInterface): Observable {\n return this._rest.put(`${this.serviceUrl_EntityCurrencies}/${companyCurrencyId}`, bodyParams);\n }\n\n public getExchangeRate(): Observable {\n return this._rest.getExchangeRate(this.serviceUrl_ExchangeAllRate);\n }\n\n public getSystemGateways(): Observable {\n return this._rest.get(`${this.serviceUrl_SystemGateway}`);\n }\n\n //filters\n public getFilters(sectionId: string): Observable {\n return this._rest.get(`${this.serviceUrl_Filters}?section=${sectionId}`);\n }\n\n //integrations\n public getIntegrations(type: string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}?type=${type}`);\n }\n\n //integrations customers\n public getIntegrationCustomers(companyIntegrationId: string, email: string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/customers?email=${email}`);\n }\n //customers\n public storeExternalCustomer(customerId: any, data: any): Observable {\n return this._rest.put(`${this.serviceUrl_Costumers}/${customerId}`, data);\n }\n\n //customers\n public getExternalCustomer(customerId: any): Observable {\n return this._rest.get(`${this.serviceUrl_Costumers}/${customerId}/externalcustomer`);\n }\n\n public getFilterAttributesBySectionId(sectionId: string): Observable {\n return this._rest.get(`${this.serviceUrl_Filters}/fields?section=${sectionId}`);\n }\n\n public deleteCustomFilter(_filterId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Filters}/${_filterId}`);\n }\n\n public createFilter(bodyParams: any): Observable {\n return this._rest.post(this.serviceUrl_Filters, bodyParams);\n }\n\n //grid columns\n public getGridColumns(): Observable {\n return this._rest.get(`${this.serviceUrl_Grids}/externalOrders`);\n }\n\n public getImportedOrders(pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_OrdersImport}`, { params: params });\n }\n\n public getGridColumnsByColumnsParams(gridColumnsParam: string): Observable {\n return this._rest.get(`${this.serviceUrl_Grids}/${gridColumnsParam}`);\n }\n\n public createColumnsPreferences(bodyParams: any): Observable {\n return this._rest.post(this.serviceUrl_Grids, bodyParams);\n }\n\n public getActiveGridFilters(gridFiltersParam: string): Observable {\n return this._rest.get(`${this.serviceUrl_Filters}?section=${gridFiltersParam}&status=active`);\n }\n\n public getCurrentUserProfile(): Observable {\n return this._rest.get(`${this.serviceUrl_UserMe}`, []);\n }\n\n public updateUserProfile(bodyParams): Observable {\n return this._rest.get(`${this.serviceUrl_UserMe}`, bodyParams);\n }\n\n public doCheckout(bodyParams: any): Observable {\n return this._rest.post(this.serviceUrl_Checkout, bodyParams);\n }\n\n //notifications\n public getNotifications(pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_CompanyInbox}`, { params: params });\n }\n\n public getExportNotifications(pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_CompanyInbox}/export/notification-list`, { params: params });\n }\n\n public getExportNotificationsStream(pathParams?: HttpParamsInterface) {\n return this.load$.pipe(\n switchMap(_ => timer(0, this.COMPANY_USER_EXPORT_NOTIFICATION_INTERVAL).pipe(\n concatMap(_ => this.getExportNotifications(pathParams)),\n map((res: RestResponse) => res),\n ))\n );\n }\n\n public updateNotificationStatus(notificationId: number): Observable {\n return this._rest.put(`${this.serviceUrl_CompanyInbox}/${notificationId}/read`);\n }\n\n //notifications channels\n public getNotificationsChannels(): Observable {\n return this._rest.get(`${this.serviceUrl_AnalyticsSalesChannel}`);\n }\n\n public getAnalyicsTotals(): Observable {\n return this._rest.get(`${this.serviceUrl_AnalyticsTotals}`);\n }\n\n public getPaymentActivity(): Observable {\n return this._rest.get(`${this.serviceUrl_AnalyticsInvoices}`);\n }\n\n public createLogs(userId: number, bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_UserLog}/${userId}/logs`, bodyParams);\n }\n\n public cancelInvite(userEmail: string): Observable {\n return this._rest.delete(`${this.serviceUrl_EntityUsersInvites}/${userEmail}`);\n }\n\n public cancelInternalInvite(customerId: number, userEmail: string): Observable {\n return this._rest.delete(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/${userEmail}`);\n }\n\n public getUsers(): Observable {\n return this._rest.get(`${this.serviceUrl_EntityUsers}`);\n }\n\n public getInternalCompanyUsers(customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/all/company-users`);\n }\n\n public getInternalInvites(customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/all/invites`);\n }\n\n public getInvites(): Observable {\n return this._rest.get(`${this.serviceUrl_EntityUsersInvites}`);\n }\n\n public changeLevelAccess(userId: number, roleId: number): Observable {\n return this._rest.put(`${this.serviceUrl_EntityUsers}/${userId}/${roleId}`);\n }\n\n public changeInternalLevelAccess(customerId: number, userId: number, roleId: number): Observable {\n return this._rest.put(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/update/user-role/${roleId}`, { userId: userId });\n }\n\n public revokeInternalAccess(customerId: number, userId: number): Observable {\n return this._rest.post(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/revoke/user`, { userId: userId });\n }\n\n public revokeAccess(userId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_EntityUsers}/${userId}`);\n }\n\n\n public sendInvite(bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_EntityUsersInvites}`,bodyParams);\n }\n\n public sendInternalInvite(customerId: number, bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/invite`, bodyParams);\n }\n\n public resendInvite(userEmail: string): Observable {\n return this._rest.get(`${this.serviceUrl_EntityUsersInvites}/${userEmail}/resend`);\n }\n\n public resendInternalInvite(customerId: number, userEmail: string): Observable {\n return this._rest.get(`${this.serviceUrl_InternalUsers}/${customerId}/internal/user/setting/${userEmail}/resend`);\n }\n\n public createPaymentSource(bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_EntityPaymentMethod}`, bodyParams);\n }\n\n //\n public getShippingServices(): Observable {\n return this._rest.get(`${this.serviceUrl_ShippingServices}`);\n }\n\n public getShipperHQServices(bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_ShipperHQServices}`, bodyParams);\n }\n\n public createTaxTransaction(bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_TaxCreateTransaction}`, bodyParams);\n }\n\n public createShippingByServiceId(companyIntegrationId:number, serviceId: string, bodyParams: ShippingCalculateModel): Observable {\n return this._rest.post(`${this.serviceUrl_Shipping}/${companyIntegrationId}/services/${serviceId}`, bodyParams);\n }\n\n public calculateShipping(bodyParams: ShippingCalculateModel): Observable {\n return this._rest.post(`${this.serviceUrl_ShippingCalculate}`, bodyParams);\n }\n public exportCSV(bodyParams){\n return this._rest.put(`${this.serviceUrl_Export}`, bodyParams);\n }\n\n public getUserCompanies(): Observable {\n return this._rest.get(`${this.serviceUrl_UserCompanies}`, []);\n }\n\n public createCompanyRequest(bodyParams:any): Observable {\n return this._rest.post(`${this.serviceUrl_CompanyRequest}/company-request`, bodyParams);\n }\n\n public getPendingActivationCompanies(): Observable {\n return this._rest.get(`${this.serviceUrl_UserPendingActivationCompanies}`, []);\n }\n\n public getCompanyPendingActivationInfo(companyId:number): Observable {\n return this._rest.get(`${this.serviceUrl_CompanyRequest}/company-request/${companyId}`,{}, true);\n }\n\n public getCurrentCompanySelectedPlanScope(customerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_SelectedPlanScope}/${customerId}`,{}, true);\n }\n\n public getAllPlanScopes(): Observable {\n return this._rest.get(this.serviceUrl_PlanScope,{}, true);\n }\n\n public createOrUpdateCompanyPlanScope(rblPlanId: number, customerId: number, bodyParams: Post_CompanyPlanScope): Observable {\n return this._rest.post(`${this.serviceUrl_UpdateOrCreateCompanyPlanScope}/customer/${customerId}${APIResourceCompanyUpdateOrCreatePlanScope}/${rblPlanId}`,bodyParams);\n }\n\n public activateCompany(companyId:number, bodyParams: Post_ActivateCompany): Observable {\n return this._rest.post(`${this.serviceUrl_CompanyRequest}/company-request/${companyId}/activate`,bodyParams);\n }\n\n public getCompanyScope(){\n return this._rest.get(`${this.serviceUrl_Scope}`);\n }\n\n public getShippingProtectionPurchaseHistory(pathParams: HttpParamsInterface) : Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_PurchaseHistoryUpsCapital}`, { params: params });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { environment } from 'src/environments/environment';\n\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { HttpParamService } from 'src/app/_core/services/api/http-param.service';\nimport { Observable } from 'rxjs';\nimport { PUT_CompanyIntegrationModel, RestResponse } from 'src/app/_shared/models';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { POST_IntegrationSetting } from 'src/app/_shared/interfaces/integration.interface';\nimport { POST_OrdersImportInterface } from 'src/app/_shared/interfaces/order.interface';\nimport { IntegrationKeyName } from 'src/app/app.data';\n\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\n\nconst APIResourceCompanies: string = '/companies';\nconst APIResourceImport: string = '/import';\nconst APIResourceIntegrations: string = '/integrations';\nconst APIResourceOrders: string = '/orders';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedIntegrationService {\n\n private subscription: Subscription;\n private serviceUrl_Integrations: string;\n private serviceUrl_OrdersImport: string;\n\n constructor(private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService) {\n\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n // INTEGRATIONS\n // /companies/{{companyId}}/integrations\n this.serviceUrl_Integrations = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceIntegrations;\n\n // ORDERS\n // /companies/{{companyId}}/orders/import\n this.serviceUrl_OrdersImport = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceOrders + APIResourceImport;\n\n });\n }\n\n public createBigCommerceOrder(bodyParams: POST_OrdersImportInterface): Observable {\n return this._rest.post(`${this.serviceUrl_OrdersImport}`, bodyParams);\n }\n\n public createIntegrationSettingByIntegrationId(integrationId: number, bodyParams: Array): Observable {\n return this._rest.post(`${this.serviceUrl_Integrations}/${integrationId}/settings`, bodyParams);\n }\n\n public getExternalProductImages(integrationId: number, externalProductId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/products/${externalProductId}/images`);\n }\n\n public createIntegrationByIntegrationId(integrationId: number, bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Integrations}/${integrationId}`, bodyParams);\n }\n\n public deleteCompanyIntegrationByIntegrationId(integrationId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Integrations}/${integrationId}`);\n }\n\n public getBigcommerceOrdersByExternalId(companyIntegrationId: number, externalId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/orders/${externalId}`);\n }\n\n public getCompanyIntegrationsByChannelName(saleChannelName :string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${saleChannelName}`);\n }\n\n public getCompanyIntegraionSettingsByIntegrationId(integrationId :number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/config`);\n }\n\n public getCustomerGroupSettings(companyIntegrationId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/customer-groups`);\n }\n\n public getExternalOrdersByIntegrationId(integrationId: number, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/external-invoices`, { params: params });\n }\n\n public getGlobalIntegrationsByIntegrationName(integrationKeyName: string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationKeyName}/global-settings`);\n }\n\n public getIntegrationByIntegrationType(integrationType: string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}?type=${integrationType}`);\n }\n\n public getIntegrationInfoByIntegrationId(integrationId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/info`);\n }\n\n public getIntegrationByIntegrationName(integrationKeyName: string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationKeyName}`);\n }\n\n public getIntegrationSettingsByIntegrationId(integrationId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/config`);\n }\n\n public getIntegrationStatusesByIntegrationId(integrationId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/orders/statuses`);\n }\n\n public testConfiguration(integrationId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${integrationId}/test-credentials`);\n }\n\n public updateCompanyIntegration(integrationId: number, bodyParams: PUT_CompanyIntegrationModel): Observable {\n return this._rest.put(`${this.serviceUrl_Integrations}/${integrationId}`, bodyParams);\n }\n\n public validateIntegration(companyIntegrationId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/check-delete`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { RestResponse } from 'src/app/_shared/models';\nimport { NewProductRatePlan, NewProductRatePlanCharge } from 'src/app/_shared/models/product.model';\nimport { environment } from 'src/environments/environment';\nimport { HttpParamService } from './http-param.service';\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\nconst APIResourceCompanies = '/companies';\nconst APIResourceProductRatePlans: string = '/product-rateplans';\nconst APISingleResourceProductRatePlans: string = '/products';\nconst APIResourceProductRatePlanCharges: string = '/product-rateplan-charges';\nconst APIResourceProductRatePlanTemplates: string = '/product-rateplan-template';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedProductRatePlanService {\n\n private subscription: Subscription;\n private serviceUrl_ProductsRatePlans: string;\n public serviceUrl_ProductRatePlanCharges: string;\n public serviceUrl_SingleProductsRatePlans: string;\n private serviceUrl_ProductsRatePlanTemplates: string;\n constructor(\n private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService\n ) {\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId) {\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n // PRODUCT RATE PLANS\n //[GET] [POST] [PUT]\n // /companies/{{companyId}}/product-rateplans\n this.serviceUrl_ProductsRatePlans = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProductRatePlans;\n\n this.serviceUrl_ProductsRatePlanTemplates = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProductRatePlanTemplates;\n\n // /products\n this.serviceUrl_SingleProductsRatePlans = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APISingleResourceProductRatePlans;\n // PRODUCT RATE PLAN CHARGES\n // /companies/{{companyId}}/product-rateplan-charges\n this.serviceUrl_ProductRatePlanCharges = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProductRatePlanCharges;\n\n });\n }\n\n public getProductRatePlanByRatePlanId(ratePlanId: number, pathParams: HttpParamsInterface, isTemplate?: any): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n if(isTemplate){\n return this._rest.get(`${this.serviceUrl_ProductsRatePlanTemplates}/${ratePlanId}`, { params: params });\n } else {\n return this._rest.get(`${this.serviceUrl_ProductsRatePlans}/${ratePlanId}`, { params: params });\n }\n }\n\n // /{product}/product-rateplans\n public getProductRatePlans(productId, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_SingleProductsRatePlans}/${productId}/product-rateplans`, { params: params });\n }\n\n public createProductRatePlan(_bodyParams: NewProductRatePlan, isTemplate?: boolean): Observable {\n if(isTemplate){\n delete _bodyParams.productId;\n return this._rest.post(`${this.serviceUrl_ProductsRatePlanTemplates}/`, _bodyParams);\n } else {\n return this._rest.post(`${this.serviceUrl_ProductsRatePlans}`, _bodyParams);\n }\n }\n\n public updateProductRatePlanByRatePlanId(ratePlanId: number, _bodyParams: NewProductRatePlan, isTemplate?: boolean): Observable {\n if(isTemplate){\n delete _bodyParams.productId;\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/${ratePlanId}`, _bodyParams);\n } else {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlans}/${ratePlanId}`, _bodyParams);\n }\n }\n\n public getProductRatePlanChargesByRatePlanId(ratePlanId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_ProductsRatePlans}/${ratePlanId}/product-rateplan-charges`, { params: params });\n }\n\n /**Templates */\n public getProductRatePlanChargesByRatePlanTemplateId(ratePlanId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_ProductsRatePlanTemplates}/product-rateplans/${ratePlanId}/product-rateplan-charges`, { params: params });\n }\n public updateProductRatePlanByRatePlanTemplateId(ratePlanId: number, _bodyParams: NewProductRatePlan): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/product-rateplan-charges/${ratePlanId}`, _bodyParams);\n }\n public createProductRatePlanChargeTemplates(_bodyParams: NewProductRatePlanCharge): Observable {\n return this._rest.post(`${this.serviceUrl_ProductsRatePlanTemplates}/product-rateplan-charges`, _bodyParams);\n }\n\n public updateProductRatePlanChargesByRatePlanChargeTemplateId(ratePlanId: number, _bodyParams: NewProductRatePlanCharge): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/product-rateplan-charges/${ratePlanId}`, _bodyParams);\n }\n public deleteRatePlanChargeTemplate(chargeId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_ProductsRatePlanTemplates}/product-rateplan-charges/${chargeId}`);\n }\n public updateRatePlanTemplateStatus(_rateplanId: number, nextStatus: string): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/${_rateplanId}/status`, { status: nextStatus });\n }\n\n public markAsTemplate(_rateplanId: number): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/${_rateplanId}/mark-as-template`);\n }\n\n public syncWithTemplate(_rateplanId: number): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/${_rateplanId}/sync-with-template`);\n }\n\n public applyTemplate(_productRateplanTemplateId: number): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlanTemplates}/${_productRateplanTemplateId}/apply-template`);\n }\n\n /**End templates */\n\n public updateRatePlanStatus(_rateplanId: number, nextStatus: string): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlans}/${_rateplanId}/status`, { status: nextStatus });\n }\n\n public discontinueRatePlan(_rateplanId: number): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlans}/${_rateplanId}/discontinue`);\n }\n\n public deleteRatePlan(ratePlanId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_ProductsRatePlans}/${ratePlanId}`);\n }\n\n //rate plan charges\n public createProductRatePlanCharges(_bodyParams: NewProductRatePlanCharge): Observable {\n return this._rest.post(`${this.serviceUrl_ProductRatePlanCharges}`, _bodyParams);\n }\n\n public updateProductRatePlanChargesByRatePlanChargeId(ratePlanId: number, _bodyParams: NewProductRatePlanCharge): Observable {\n return this._rest.put(`${this.serviceUrl_ProductRatePlanCharges}/${ratePlanId}`, _bodyParams);\n }\n\n public syncActivePlans(chargeId: number, bodyParams: []): Observable {\n return this._rest.put(`${this.serviceUrl_ProductRatePlanCharges}/${chargeId}/sync-active-plans`, bodyParams);\n }\n\n public deleteRatePlanCharge(chargeId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_ProductRatePlanCharges}/${chargeId}`);\n }\n\n public linkImageToRatePlanCharge(chargeId: number, data: { image: string }): Observable {\n return this._rest.put(`${this.serviceUrl_ProductRatePlanCharges}/${chargeId}/image`, data);\n }\n\n public linkImageToRatePlan(productRatePlan: number, data: { image: string }): Observable {\n return this._rest.put(`${this.serviceUrl_ProductsRatePlans}/${productRatePlan}/image`, data);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { environment } from 'src/environments/environment';\n\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { HttpParamService } from 'src/app/_core/services/api/http-param.service';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { Observable } from 'rxjs';\nimport { RestResponse } from 'src/app/_shared/models';\n\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\n\nconst APIResourceCompanies: string = '/companies';\nconst APIResourceProducts: string = '/products';\nconst APIResourceProductRatePlans: string = '/product-rateplans';\nconst APIResourceExternalProducts: string = '/external-products';\nconst APIResourceIntegrations: string = '/integrations';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedProductService {\n\n subscription: Subscription;\n public serviceUrl_ExternalProducts: string;\n public serviceUrl_ExternalProductsByName: string;\n public serviceUrl_Products: string;\n public serviceUrl_ProductRatePlans: string;\n\n constructor(private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService) {\n\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n // PRODUCTS\n // [GET]\n // /companies/{{companyId}}/products\n this.serviceUrl_Products = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProducts;\n\n // EXTERNAL PRODUCTS BY NAME\n // /companies/{{companyId}}/integrations/{{companyIntegrationId}}/products?name=\n this.serviceUrl_ExternalProductsByName = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceIntegrations;\n\n // EXTERNAL PRODUCTS BY PRODUCT RATE PLAN\n // /companies/{{companyId}}/product-rateplans/external-products\n this.serviceUrl_ExternalProducts = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProductRatePlans + APIResourceExternalProducts;\n\n // PRODUCT RATE PLAN\n this.serviceUrl_ProductRatePlans = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProductRatePlans;\n\n });\n }\n\n public getProductsRatePlansbyProductId(productId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Products}/${productId}/product-rateplans`, { params: params });\n }\n\n public getSubscriptionCounterByProductRatePlanId(productRatePlanId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_ProductRatePlans}/${productRatePlanId}/count-subscriptions`, { params: params });\n }\n\n public searchProduct(value: string): Observable {\n return this._rest.get(`${this.serviceUrl_Products}?include=salesChannels&query=${value}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppService {\n\n private userLoggedIn = new Subject();\n\n constructor() {\n this.userLoggedIn.next(false);\n }\n\n setUserLoggedIn(userLoggedIn: boolean) {\n this.userLoggedIn.next(userLoggedIn);\n }\n\n getUserLoggedIn(): Observable {\n const accessToken = localStorage.getItem('access_token'),\n islogged = accessToken ? true : false;\n this.setUserLoggedIn(islogged);\n return this.userLoggedIn.asObservable();\n }\n}","//angular\nimport { Injectable, Inject } from '@angular/core';\nimport { Router } from '@angular/router';\n//others\nimport { Auth0Client } from '@auth0/auth0-spa-js';\nimport * as auth0 from 'auth0-js';\n//app\nimport { AUTH_CONFIG_DESKTOP } from '../../../environments/environment';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { ORIGIN } from '../../_shared/providers/origin.provider';\nimport { StorageService } from './storage.service';\nimport { User } from '../../_shared/models/user.model';\nimport { RestResponse } from 'src/app/_shared/models';\nimport { AppService } from './app.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SharedGlobalService } from './api/shared-global.service';\nimport { MetaService } from './meta.service';\n\n@Injectable()\nexport class AuthService {\n auth0UserPass: any;\n auth0: any;\n userProfile: any;\n user: User;\n\n minutesToAdd = 30;\n\n constructor(\n @Inject(ORIGIN) private _origin: Window,\n private _appService: AppService,\n private _dialogRef: MatDialog,\n public meta: MetaService,\n private _router: Router,\n private _storage: StorageService,\n private sharedGlobalService: SharedGlobalService,\n ) {\n console.log(`@auth.service.ts was loaded on ${this._origin.location.hostname}`);\n\n this.auth0 = new Auth0Client({\n audience: AUTH_CONFIG_DESKTOP.audience,\n domain: AUTH_CONFIG_DESKTOP.domain,\n client_id: AUTH_CONFIG_DESKTOP.clientID,\n redirect_uri:AUTH_CONFIG_DESKTOP.callbackURL,\n response_type: AUTH_CONFIG_DESKTOP.responseType,\n scope: AUTH_CONFIG_DESKTOP.scope,\n useRefreshTokens: true\n });\n\n //To be used with auth0-js library\n this.auth0UserPass = new auth0.WebAuth({\n audience: AUTH_CONFIG_DESKTOP.audience,\n domain: AUTH_CONFIG_DESKTOP.domain,\n clientID: AUTH_CONFIG_DESKTOP.clientID,\n redirectUri: AUTH_CONFIG_DESKTOP.callbackURL,\n responseType: AUTH_CONFIG_DESKTOP.responseType,\n scope: AUTH_CONFIG_DESKTOP.scope\n });\n }\n\n authorize(){\n var webAuth = new auth0.WebAuth({\n audience: AUTH_CONFIG_DESKTOP.audience,\n domain: AUTH_CONFIG_DESKTOP.domain,\n clientID: AUTH_CONFIG_DESKTOP.clientID,\n responseType: 'token id_token code',\n scope: 'openid profile email offline_access'\n });\n\n webAuth.authorize({\n connection: 'google-oauth2'\n });\n }\n\n clearCompanyStorage() {\n localStorage.removeItem('entityId');\n localStorage.removeItem('entityName');\n localStorage.removeItem('supportPin');\n localStorage.removeItem('cancelledAt');\n localStorage.removeItem('status');\n localStorage.removeItem('noHasCompanies');\n localStorage.removeItem('userRole');\n this._router.navigate(['/login/switch']);\n }\n\n async handleAfterAuthentication(): Promise {\n const user = await this.auth0.getUser();\n var email_verified: boolean = user.email_verified;\n if (email_verified){\n this.sharedGlobalService.getCurrentUserProfile().subscribe(\n (res: RestResponse) => {\n console.log(`@@auth.service.ts - handleAfterAuthentication - [SUCCESS]`);\n this.user = new User().deserialize(res.data);\n localStorage.setItem('userFirstName', this.user.firstName);\n localStorage.setItem('userLastName', this.user.lastName);\n localStorage.setItem('userAvatar', this.user.picture);\n localStorage.setItem('userEmail', this.user.username);\n localStorage.setItem('auth0', this.user.auth0);\n\n this._appService.setUserLoggedIn(true);\n if (this.user.company){\n this._router.navigate(['/login/switch']);\n } else {\n this._router.navigate(['/setup/']);\n }\n },\n (err: RestResponse) => {\n console.log(err);\n console.log('auth.service.ts - handleAfterAuthentication - [ERROR]');\n this.logout();\n }\n )\n } else {\n this._router.navigate(['/login/verify']);\n }\n }\n\n setSession(_tokenData): void {\n const helper = new JwtHelperService(),\n decodedToken = helper.decodeToken(_tokenData),\n expirationDate = helper.getTokenExpirationDate(_tokenData);\n\n let date: Date = new Date();\n let loggedDate = new Date(date.setDate(date.getDate() + (0 * 24 * 60 * 60 * 1000)));\n let loggedDay = loggedDate.getDate();\n let loggedMonth = loggedDate.getMonth() + 1;\n let loggedYear = loggedDate.getFullYear();\n let loggedHour = loggedDate.getHours();\n let loggedMin = loggedDate.getMinutes();\n let expDate = expirationDate;\n let expDay = expDate.getDate();\n let expMonth = expDate.getMonth() + 1;\n let expYear = expDate.getFullYear();\n let expHour = expDate.getHours();\n let expMin = expDate.getMinutes();\n\n // Set the time that the access token will expire at\n const expiresAt = JSON.stringify((decodedToken.exp * 1000));\n const loggedDateTime = loggedMonth + '/' + loggedDay + '/' + loggedYear + ' - ' + loggedHour + ':' + loggedMin;\n const expDateTime = expMonth + '/' + expDay + '/' + expYear + ' - ' + expHour + ':' + expMin;\n\n localStorage.setItem('access_token', _tokenData);\n //localStorage.setItem('id_token', _authResult.idToken);\n localStorage.setItem('logged_date', loggedDateTime);\n localStorage.setItem('expires_date', expDateTime);\n localStorage.setItem('expires_at', expiresAt);\n // this.handleAfterAuthentication();\n\n }\n\n setSessionUserPass(_authResult): void {\n let date: Date = new Date();\n let loggedDate = new Date(date.setDate(date.getDate() + (0 * 24 * 60 * 60 * 1000)));\n let loggedDay = loggedDate.getDate();\n let loggedMonth = loggedDate.getMonth() + 1;\n let loggedYear = loggedDate.getFullYear();\n let loggedHour = loggedDate.getHours();\n let loggedMin = loggedDate.getMinutes();\n let expDate = new Date((_authResult.expiresIn * 1000) + loggedDate.getTime());\n let expDay = expDate.getDate();\n let expMonth = expDate.getMonth() + 1;\n let expYear = expDate.getFullYear();\n let expHour = expDate.getHours();\n let expMin = expDate.getMinutes();\n\n // Set the time that the access token will expire at\n const expiresAt = JSON.stringify((_authResult.expiresIn * 1000) + loggedDate.getTime());\n const loggedDateTime = loggedMonth + '/' + loggedDay + '/' + loggedYear + ' - ' + loggedHour + ':' + loggedMin;\n const expDateTime = expMonth + '/' + expDay + '/' + expYear + ' - ' + expHour + ':' + expMin;\n\n // Set localstorage\n localStorage.setItem('access_token', _authResult.accessToken);\n localStorage.setItem('id_token', _authResult.idToken);\n localStorage.setItem('logged_date', loggedDateTime);\n localStorage.setItem('expires_date', expDateTime);\n localStorage.setItem('expires_at', expiresAt);\n\n this.auth0UserPass.client.userInfo(_authResult.accessToken, (err, profile) => {\n var sub = profile.sub.toString();\n var toArray = sub.split(\"|\");\n var userProvider = toArray[0];\n var userId = toArray[1];\n localStorage.setItem('userId', userId);\n localStorage.setItem('userProvider', userProvider);\n })\n }\n\n public getProfile(cb): void {\n const accessToken = localStorage.getItem('access_token');\n if (!accessToken) {\n throw new Error('Access Token must exist to fetch profile');\n }\n const self = this;\n this.auth0UserPass.client.userInfo(accessToken, (err, profile) => {\n if (profile) {\n self.userProfile = profile;\n }\n cb(err, profile);\n })\n }\n\n public getRole():void {\n this.refreshToken();\n return this._storage.readLocalStorage('userRole');\n }\n\n public async handleAuthentication(): Promise {\n try {\n const token = await this.auth0.getTokenSilently({ignoreCache:true});\n if(token) {\n this.setSession(token);\n this.handleAfterAuthentication();\n }\n else {\n console.log(`@@auth.service.ts - handleAuthentication() - ${\"handle\"}.`);\n this._router.navigate(['/login']);\n }\n } catch (error) {\n console.log(`@@auth.service.ts - handleAuthentication() - ${\"handle\"}.`);\n this._router.navigate(['/login']);\n }\n }\n\n public isAuthenticated(): boolean {\n // Check whether the current time is past the\n // access token's expiry time\n const expiresAt = JSON.parse(localStorage.getItem('expires_at'));\n return new Date().getTime() < expiresAt;\n }\n\n public login(username: string, password: string): void {\n this.auth0UserPass.login({\n realm: AUTH_CONFIG_DESKTOP.connection,\n username,\n password\n }, (err, authResult) => {\n if (err) {\n alert(err);\n return;\n } else if (authResult && authResult.accessToken && authResult.idToken) {\n console.log(authResult);\n this.setSessionUserPass(authResult);\n }\n });\n }\n\n public logout(): void {\n // Remove tokens and expiry time from localStorage\n localStorage.removeItem('auth0');\n localStorage.removeItem('access_token');\n localStorage.removeItem('entityId');\n localStorage.removeItem('entityName');\n localStorage.removeItem('supportPin');\n localStorage.removeItem('status');\n localStorage.removeItem('cancelledAt');\n localStorage.removeItem('expires_at');\n localStorage.removeItem('expires_date');\n localStorage.removeItem('noHasCompanies');\n localStorage.removeItem('id_token');\n localStorage.removeItem('logged_date');\n localStorage.removeItem('userAvatar');\n localStorage.removeItem('userEmail');\n localStorage.removeItem('userFirstName');\n localStorage.removeItem('userId');\n localStorage.removeItem('userLastName');\n localStorage.removeItem('userProvider');\n localStorage.removeItem('userRole');\n\n // Go back to the / route\n // this._router.navigate(['/login/signin']);\n\n this._appService.setUserLoggedIn(false);\n\n this.meta.removeGatewayScripts();\n\n this.auth0UserPass.logout()\n //If the logout is executed, it closes all opened dialogs\n if(this._dialogRef) {\n this._dialogRef.closeAll();\n }\n }\n\n public loginWithGoogle(): void {\n\n this.auth0.loginWithRedirect({\n connection: 'google-oauth2',\n appState: {\n //targetUrl: '/dashboard'\n }\n }).then(token => {\n //logged, user profile data:\n // this.auth0.getUser().then(user => {\n // console.log(\"user-->\",user);\n // });\n });\n }\n\n refreshToken() {\n const token = localStorage.getItem('access_token'),\n helper = new JwtHelperService(),\n expirationDate = helper.getTokenExpirationDate(token),\n currentDate = new Date(),\n futureDate = new Date(currentDate.getTime() + this.minutesToAdd * 60000);\n\n if(expirationDate == undefined ) {\n this._router.navigate(['/login']);\n }\n else {\n if(expirationDate.getTime() <= futureDate.getTime() ){\n this.getToken();\n }\n }\n }\n\n getToken() {\n this.auth0.getTokenSilently({ignoreCache:true})\n .then(\n (token) => {\n this.setSession(token);\n }).catch(\n (errorToken) => {\n console.log(`@@auth.service.ts - refreshToken() - ${errorToken.error}.`);\n this._router.navigate(['/login']);\n }\n );\n }\n}\n","// angular\nimport { Injectable, EventEmitter } from '@angular/core';\n// rxjs\nimport { BehaviorSubject, Observable, zip } from 'rxjs';\n\n@Injectable()\nexport class DataSharingService {\n\n private dataSource = new BehaviorSubject({});\n currentData = this.dataSource.asObservable();\n\n private collectionOfServiceUrl: string[] = [];\n\n private companySource = new BehaviorSubject({companyId: null, companyName: null, type: null, status: null, cancelledAt: null });\n currentCompany = this.companySource.asObservable();\n\n private companySettingsEnvironment = new BehaviorSubject({environment:null});\n currentCompanySettingsEnvironment = this.companySettingsEnvironment.asObservable();\n\n private companySettingsCurrencyBaseSource = new BehaviorSubject({currencyBase:null});\n currentCompanySettingsCurrencyBaseSource = this.companySettingsCurrencyBaseSource.asObservable();\n\n private companySettingsShippingSource = new BehaviorSubject({shipping:null});\n currentCompanySettingsShippingSource = this.companySettingsShippingSource.asObservable();\n\n private companySettingsTaxSource = new BehaviorSubject({tax:null});\n currentCompanySettingsTaxSource = this.companySettingsTaxSource.asObservable();\n\n private companySettingsTimezone = new BehaviorSubject({});\n currentCompanySettingsTimezone = this.companySettingsTimezone.asObservable();\n\n private companyPaginator = new BehaviorSubject({});\n currentCompanyPaginator = this.companyPaginator.asObservable();\n\n private customerSource = new BehaviorSubject({ customerId: null, customerName: null, customerEmail: null, customerPhone: null });\n currentCustomer = this.customerSource.asObservable();\n\n private activeLeadSource = new BehaviorSubject({});\n currentLead = this.activeLeadSource.asObservable();\n\n private formSource = new BehaviorSubject({});\n currentForm = this.formSource.asObservable();\n\n private productSource = new BehaviorSubject({ productId: null, productName: null });\n currentProduct = this.productSource.asObservable();\n\n private previousUrlSource = new BehaviorSubject({});\n previousUrl = this.previousUrlSource.asObservable();\n\n private displayDateFormat = new BehaviorSubject({});\n currentDisplayDateFormat = this.displayDateFormat.asObservable();\n\n private decimalPlaces = new BehaviorSubject({});\n currentDecimalPlaces = this.decimalPlaces.asObservable();\n\n private decimalToken = new BehaviorSubject({});\n currentDecimalToken = this.decimalToken.asObservable();\n\n private thousandsToken = new BehaviorSubject({});\n currentThousandsToken = this.thousandsToken.asObservable();\n\n private factoringDimension = new BehaviorSubject({});\n currentFactoringDimension = this.factoringDimension.asObservable();\n\n private lengthMeasurement = new BehaviorSubject({});\n currentLengthMeasurement = this.lengthMeasurement.asObservable();\n\n private weightMeasurement = new BehaviorSubject({});\n currentWeightMeasurement = this.weightMeasurement.asObservable();\n\n private settingsVariables = new BehaviorSubject({});\n currentSettingsVariables: any = this.settingsVariables.asObservable();\n\n public actionClicked = new EventEmitter()\n\n //-------\n //GETTERS\n //-------\n getCompany(): Observable {\n return this.currentCompany;\n }\n\n getCompanyPaginator(): Observable {\n return this.currentCompanyPaginator;\n }\n\n getCompanySettingsEnvironment(): Observable {\n return this.currentCompanySettingsEnvironment;\n }\n\n getCompanySettingsCurrencyBaseSource(): Observable {\n return this.currentCompanySettingsCurrencyBaseSource;\n }\n\n getCompanySettingsShippingSource(): Observable {\n return this.currentCompanySettingsShippingSource;\n }\n\n getCompanySettingsTaxSource(): Observable {\n return this.currentCompanySettingsTaxSource;\n }\n\n getCompanySettingsTimezone(): Observable {\n return this.currentCompanySettingsTimezone;\n }\n\n getCustomer(): Observable {\n return this.currentCustomer;\n }\n\n getActiveLead(): Observable {\n return this.currentLead;\n }\n\n getForm(): Observable {\n return this.currentForm;\n }\n\n getProduct(): Observable {\n return this.currentProduct;\n }\n\n getObservable(): Observable {\n return this.currentData;\n }\n\n getPreviousUrl(): Observable {\n return this.previousUrl;\n }\n\n isNoFormatResponse(serviceUrl: string): boolean {\n return this.collectionOfServiceUrl.some(url => url == serviceUrl);\n }\n\n getDisplayDateFormat(): Observable {\n return this.currentDisplayDateFormat;\n }\n\n getDecimalPlaces(): Observable {\n return this.currentDecimalPlaces;\n }\n\n getThousandsToken(): Observable {\n return this.currentThousandsToken;\n }\n\n getDecimalToken(): Observable {\n return this.currentDecimalToken;\n }\n\n\n getFactoringDimension(): Observable {\n return this.currentFactoringDimension;\n }\n\n getLengthMeasurement(): Observable {\n return this.currentLengthMeasurement;\n }\n\n getWeightMeasurement(): Observable {\n return this.currentWeightMeasurement;\n }\n\n getSettingsVariables(): Observable {\n this.currentSettingsVariables = zip(this.getDecimalPlaces(), this.getDecimalToken(), this.getThousandsToken(), this.getFactoringDimension(), this.getLengthMeasurement(), this.getWeightMeasurement());\n\n return this.currentSettingsVariables;\n }\n\n //-------\n //SETTERS\n //-------\n setCompany(_value:any){\n this.companySource.next(_value);\n }\n\n setCompanySettingsEnvironment(_value:any){\n this.companySettingsEnvironment.next(_value);\n }\n\n setCompanySettingsCurrencyBaseSource(_value:any){\n this.companySettingsCurrencyBaseSource.next(_value);\n }\n\n setCompanySettingsShippingSource(_value:any){\n this.companySettingsShippingSource.next(_value);\n }\n\n setCompanySettingsTaxSource(_value:any){\n this.companySettingsTaxSource.next(_value);\n }\n\n setCompanySettingsTimezone(_value:any){\n this.companySettingsTimezone.next(_value);\n }\n\n setCompanyTableRecordsPerPage(_value:any) {\n this.companyPaginator.next(_value);\n }\n\n setCustomer(_value: any) {\n this.customerSource.next(_value);\n }\n\n setActiveLead(_value: any) {\n this.activeLeadSource.next(_value);\n }\n\n setForm(_value: any) {\n this.formSource.next(_value);\n }\n\n setObservable(_data:any) {\n this.dataSource.next(_data);\n }\n\n setProduct(_value: any) {\n this.productSource.next(_value);\n }\n\n setPreviousUrl(_value: string) {\n this.previousUrlSource.next(_value);\n }\n\n setNoFormatResponse(serviceUrl: string) {\n this.collectionOfServiceUrl.push(serviceUrl);\n }\n\n setDisplayDateFormat(_value: string) {\n this.displayDateFormat.next(_value);\n }\n\n setDecimalPlaces(_value: string) {\n this.decimalPlaces.next(_value);\n }\n\n setDecimalToken(_value: string) {\n this.decimalToken.next(_value);\n }\n\n setThousandsToken(_value: string) {\n this.thousandsToken.next(_value);\n }\n\n setSettingsVariables(_value: any) {\n this.settingsVariables.next(_value);\n }\n\n setFactoringDimension(_value: string) {\n this.factoringDimension.next(_value);\n }\n\n setLengthMeasurement(_value: string) {\n this.lengthMeasurement.next(_value);\n }\n\n setWeightMeasurement(_value: string) {\n this.weightMeasurement.next(_value);\n }\n\n //TODO: Remove an replace\n private data: any;\n\n getData(): any {\n return this.data;\n }\n\n setData(data: any) {\n this.data = data;\n }\n\n getDateConfig(): any{\n return {companySettingsTimezone:this.companySettingsTimezone.value, displayDateFormat: this.displayDateFormat.value};\n }\n}\n","import { Injectable } from \"@angular/core\";\n\ninterface QueueError {\n message: string;\n status: number;\n data: any;\n}\nexport interface ConsoleError extends QueueError {\n}\nexport interface NetworkError extends QueueError {\n}\n\n\n\n@Injectable()\nexport class ErrorService {\n queueConsole: ConsoleError[] = [];\n queueNetwork: NetworkError[] = [];\n\n constructor() {}\n\n push(error: ConsoleError){\n if(this.queueConsole.length> 50) {\n this.queueConsole.shift()\n }\n this.queueConsole.push(error);\n }\n\n pushNetwork(error: NetworkError){\n if(this.queueNetwork.length> 50) {\n this.queueNetwork.shift()\n }\n this.queueNetwork.push(error);\n }\n\n getQueue(){\n return {queueConsole: this.queueConsole, queueNetwork: this.queueNetwork};\n }\n\n getReadableLogs(){\n let logs = \"Console Logs\\n\";\n\n if(this.queueConsole.length == 0){\n logs+= 'No logs were found \\n';\n } else {\n this.queueConsole.forEach(log=>{\n logs+=log.message + '\\n';\n })\n }\n\n \n logs += \"Network Logs\\n\";\n if(this.queueNetwork.length == 0){\n logs+= 'No logs were found \\n';\n } else {\n this.queueNetwork.forEach(log=>{\n logs+=log.message + '\\n';\n })\n }\n\n return logs;\n }\n}\n","//angular\nimport { Injectable, EventEmitter, ElementRef, Inject } from \"@angular/core\";\nimport { DOCUMENT } from '@angular/common';\nimport { Observable } from \"rxjs\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { map } from 'rxjs/operators';\n//others\ndeclare var Accept: any;\ndeclare var Stripe: any;\ndeclare var SqPaymentForm: any;\ndeclare var Square: any;\n//app\nimport { StorageService } from './storage.service';\nimport { RestResponse, GatewayBraintreePaymentResponse, GatewaySquarePaymentResponse, GatewayNonceResponse, POST_AddressInterface } from \"src/app/_shared/models\";\nimport { PaymentAccountKind } from \"src/app/app.data\";\nimport { KeyName } from \"src/app/app.keynames\";\nimport { SharedGlobalService } from \"./api\";\ndeclare const usaepay: any;\ndeclare const Flex: any;\nexport const enum PaymentFormInputSelectorsForAuthorize {\n cardCVV = 'authorize_CardCVV',\n cardExp = 'authorize_CardExp',\n cardNumber = 'authorize_CardNumber',\n cardZip = 'authorize_CardZip'\n}\n\nexport const enum PaymentFormInputSelectorsForBraintree {\n cardCVV = 'braintree_CardCVV',\n cardExp = 'braintree_CardExp',\n cardNumber = 'braintree_CardNumber',\n cardZip = 'braintree_CardZip'\n}\n\nexport const enum PaymentFormInputSelectorsForSquare {\n cardItem = 'square_Card'\n}\n\nexport const enum PaymentFormInputSelectorsForStripe {\n cardNumber = 'stripe_CardNumber',\n cardExp = 'stripe_CardExp',\n cardCVV = 'stripe_CardCVV',\n}\n\nexport interface AuthorizeNetData {\n clientKey: string;\n apiLoginID: string;\n}\n\nexport interface AuthorizeNetModel {\n clientKey: string\n apiLoginID: string\n}\n\nexport interface AuthorizeNetCardData {\n cardNumber: string;\n month: string;\n year: string;\n fullName: string;\n cardCode: string;\n}\n\nexport interface AuthorizeNetSecureData {\n authData: AuthorizeNetData\n cardData: AuthorizeNetCardData\n}\n\nexport const SQUARE_SUCCESS = 'OK';\n@Injectable()\nexport class GatewayService {\n // used in campany-gateway.component\n isGatewayReady: boolean = false;\n _elemCardHolderName: ElementRef;\n _elemCardNumber: ElementRef;\n _elemCardExp: ElementRef;\n _elemCardCVV: ElementRef;\n _elemCardZip: ElementRef;\n paymentFormElements: any;\n paymentFormInstance: any;\n SqEmiter: EventEmitter = new EventEmitter();\n squareCard: any;\n private window: any;\n\n constructor(\n private _http: HttpClient,\n private _storage: StorageService,\n private sharedGlobalService: SharedGlobalService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.window = this.document.defaultView;\n }\n\n public getNonce(_gateway, _fields): Observable{\n return new Observable((observer) => {\n switch (_gateway.gatewayId) {\n case 1: // Braintree\n case 'braintree':\n this.getNonceWithBraintree(_fields).subscribe(\n (res: GatewayBraintreePaymentResponse) => {\n let data: GatewayNonceResponse = new GatewayNonceResponse;\n data.accountKind = res.type;\n data.accountType = res.details.cardType;\n data.accountName = _fields;\n data.nonce = res.nonce;\n observer.next(data);\n },\n (err: any) => {\n observer.error(err);\n }\n )\n break;\n case 2: // AuthorizeNET\n case 'authorizenet':\n // this._gateway.getClientToken(`${this._apiCustomer.serviceUrl_CompanyGateways}/${this.selectedCompanyGateway.id}/client_token`).subscribe(\n // (res: RestResponse) => {\n // let merchantId = res.data['merchantId'];\n // let publicKey = res.data['publicKey'];\n // this._gateway.getNonceWithAuthorize(publicKey, merchantId).subscribe(\n // (res: RestResponse) => {\n // //Load form values\n // this.form.controls.accountName.setValue(this._elemCardHolderName.nativeElement.value);\n // this.form.controls.paymentMethod.get('nonce').setValue(res['opaqueData'].dataValue);\n // this.form.controls.accountKind.setValue(PaymentAccountKind.credit);\n // //Add Customer Payment Method\n // this.addPaymentSource();\n // },\n // (err: RestResponse) => {\n // console.log(err);\n // this._message.showMessage({ 'errCode': err.code })\n // }\n // )\n // },\n // (err: RestResponse) => {\n // this._loader.stopLoader();\n // this._message.showMessage({ 'errCode': err.code })\n // }\n // );\n break;\n case 3: // Stripe\n case 'stripe':\n // this._gateway.getNonceWithStripe(this._elemCardHolderName.nativeElement.value, this.selectedBillingAddress).subscribe(\n // (res: any) => {\n // //Load form values\n // this.form.controls.accountName.setValue(this._elemCardHolderName.nativeElement.value);\n // this.form.controls.paymentMethod.get('nonce').setValue(res.token.id);\n // this.form.controls.accountKind.setValue(res.type);\n // //Add Customer Payment Method\n // this.addPaymentSource();\n // },\n // (err: any) => {\n // console.log(err);\n // }\n // )\n break;\n case 4: // Square\n case 'square':\n this.getNonceWithSquare().subscribe(\n (res: GatewaySquarePaymentResponse) => {\n let data: GatewayNonceResponse = new GatewayNonceResponse;\n data.accountName = _fields;\n data.accountKind = PaymentAccountKind.credit;\n data.accountType = res.cardData.card_brand;\n data.nonce = res.nonce;\n observer.next(data);\n },\n (err: any) => {\n console.log(`err. ${err}`);\n observer.next(err);\n }\n )\n break;\n }\n return { unsubscribe() { } };\n })\n }\n\n public getNonceWithUsaepay(){\n return new Observable((observer) => {\n this.paymentFormInstance.getPaymentKey(this.paymentFormElements).then(res => {\n if (res.error) {\n observer.error(res.error);\n } else {\n observer.next(res);\n }\n }).catch( err => {\n observer.error(err);\n });\n })\n return;\n }\n\n public getNonceWithCybersource(cardData = {}){\n return new Observable((observer) => {\n this.paymentFormElements.createToken(cardData, function (err, token) {\n if (err) {\n // handle error\n observer.error(err.message);\n } else {\n observer.next(token);\n }\n });\n })\n return;\n }\n\n public getNonceWithAuthorize(_clientKey, _apiLoginID, _cardData): Observable {\n let authData = {} as AuthorizeNetModel;\n let cardData = {} as AuthorizeNetCardData;\n\n authData.clientKey = _clientKey;\n authData.apiLoginID = _apiLoginID;\n\n let expData = _cardData.cardExp.split('/');\n\n cardData.cardCode = _cardData.cardCode;\n cardData.cardNumber = _cardData.cardNumber.replace(/ /g,'');\n cardData.fullName = _cardData.fullName;\n cardData.month = expData[0];\n cardData.year = expData[1];\n\n let secureData = {\n authData: authData,\n cardData: cardData\n };\n\n return new Observable((observer) => {\n Accept.dispatchData(secureData, (res) => {\n if (res.messages.resultCode == 'Error') {\n let errorMessage = this.handleErrorsMessagesAuthorize(res);\n observer.error(errorMessage);\n }else {\n observer.next(res);\n }\n });\n\n return { unsubscribe() { } };\n });\n }\n\n public getNonceWithBraintree(_cardHolderName:string): Observable {\n return new Observable((observer) => {\n this.paymentFormInstance.tokenize({ cardholderName: _cardHolderName })\n .then(\n (res) => {\n observer.next(res);\n }\n ).catch(\n (err) => {\n observer.error(err);\n }\n );\n });\n }\n\n public getNonceWithSquare(): Observable {\n return new Observable((observer) => {\n this.squareCard.tokenize().then((tokenResult) => {\n if (tokenResult.status === SQUARE_SUCCESS) {\n observer.next({ nonce: tokenResult.token, cardData: tokenResult.details });\n } else {\n const errorMessage = this.handleErrorsMessagesSquare(tokenResult)\n observer.error(errorMessage);\n }\n });\n })\n }\n\n public getNonceWithStripe(_cardHolderName: string, _address: POST_AddressInterface, customerId: any, companyGatewayId: any): Observable {\n let extraDetails = {\n name: _cardHolderName,\n address_line1: (_address.street1 ? _address.street1 : ''),\n address_line2: (_address.street2 ? _address.street2 : ''),\n address_city: (_address.city ? _address.city : ''),\n address_state: (_address.state ? _address.state : ''),\n address_zip: (_address.zip ? _address.zip : ''),\n address_country: (_address.countryCode ? _address.countryCode : '')\n };\n\n return new Observable((observer) => {\n this.sharedGlobalService.customerSetupStripeIntent(companyGatewayId, customerId).subscribe(({data}: any)=>{\n this.paymentFormInstance.confirmCardSetup(\n data.clientSecret,\n {\n payment_method: {\n card: this.paymentFormInstance.gatewayPaymentInstanceCardFieldNo,\n billing_details: {name: extraDetails.name}\n }\n }\n ).then(function(result) {\n if (result.error) {\n let errorMessage = this.handleErrorsMessagesStripe(result);\n observer.error(errorMessage);\n } else {\n // The SetupIntent was successful!\n observer.next(result.setupIntent);\n }\n });\n }, ((err) => {\n observer.error(err);\n }))\n })\n }\n\n public getClientToken(_serviceUrl, _existCompanyId): Observable {\n if (!_existCompanyId) {\n _serviceUrl = this.sharedGlobalService.getServiceUrlSystemGateways();\n }\n const headers = new HttpHeaders()\n .set(\"Content-Type\", \"application/json\")\n .set(\"Authorization\", `Bearer ${this._storage.readLocalStorage('access_token')}`)\n .set(\"Accept\", \"application/json\")\n return this._http\n .get(_serviceUrl, { headers, responseType: 'json', observe: 'response' })\n .pipe(\n map((data: any) => this.handleSuccess(data))\n )\n }\n\n handleErrorsMessagesAuthorize(err) {\n\n let firstErrorToShow = err?.messages?.message ? err.messages.message[0].text : KeyName.request_error;\n\n let errorMessage = {\n code: KeyName.request_error,\n message: firstErrorToShow\n };\n\n return errorMessage;\n }\n\n handleErrorsMessagesBraintree(err) {\n let errorMessage = {\n code: KeyName.request_error,\n message: err.message\n };\n\n return errorMessage;\n }\n\n handleErrorsMessagesSquare(tokenResult) {\n let errorMessageText = `Tokenization failed with status: ${tokenResult.status}`;\n // if (tokenResult.errors) {\n // errorMessageText += ` and errors: ${JSON.stringify(\n // tokenResult.errors\n // )}`;\n // }\n let errorMessage = {\n code: KeyName.request_error,\n message: errorMessageText\n };\n\n return errorMessage;\n }\n\n handleErrorsMessagesStripe(err) {\n let errorMessageFromGateway = err ? err[\"error\"].message : KeyName.request_error;\n\n let errorMessage = {\n code: KeyName.request_error ,\n message: errorMessageFromGateway\n };\n\n return errorMessage;\n }\n\n public doTokenizeAchFormWithBraintree(): Observable {\n return new Observable((observer) => {\n let bankDetails = {\n // accountNumber: this.form.value.accountNumber,\n // routingNumber: this.form.value.routingNumber,\n // accountType: this.form.value.accountType,\n // ownershipType: this.form.value.ownershipType,\n // billingAddress: {\n // streetAddress: this.form.value.billingAddress.streetAddress,\n // extendedAddress: this.form.value.billingAddress.extendedAddress,\n // locality: this.form.value.billingAddress.extendedAddress,\n // region: 'CA',\n // postalCode: this.form.value.billingAddress.postalCode\n // }\n };\n // if (this.ownershipType === 'business') {\n // bankDetails['businessName'] = this.form.value.businessName;\n // } else {\n // bankDetails['firstName'] = this.form.value.firstName;\n // bankDetails['lastName'] = this.form.value.lastName;\n // }\n\n // this.usBankAccountInstance.tokenize({\n // bankDetails: bankDetails,\n // mandateText: 'By clicking [\"Checkout\"], I authorize Braintree, a service of PayPal, on behalf of Rebillia LLC (i) to verify my bank account information using bank information and consumer reports and (ii) to debit my bank account.'\n // }, (tokenizeErr, tokenizedPayload) => {\n // if (tokenizedPayload) {\n // console.log(tokenizedPayload);\n // observer.next(tokenizedPayload);\n // }\n // if (tokenizeErr) {\n // console.log(tokenizeErr);\n // observer.next(tokenizeErr);\n // }\n // });\n });\n }\n\n public doTokenizeCardFormWithBraintree(_clientId: string): Observable {\n return new Observable((observer) => {\n this.window.braintree.client.create({\n authorization: _clientId\n }).then((clientInstance) => {\n this.window.braintree.hostedFields.create({\n client: clientInstance,\n fields: {\n number: { selector: `#${PaymentFormInputSelectorsForBraintree.cardNumber}`, placeholder: '4111 1111 1111 1111' },\n cvv: { selector: `#${PaymentFormInputSelectorsForBraintree.cardCVV}`, placeholder: '•••' },\n expirationDate: { selector: `#${PaymentFormInputSelectorsForBraintree.cardExp}`, placeholder: 'MM/YYYY' },\n postalCode: { selector: `#${PaymentFormInputSelectorsForBraintree.cardZip}`, placeholder: '12345' }\n },\n styles: {\n 'input': {\n 'font-size': '1em',\n 'font-family': '\"Roboto Condensed\", sans-serif',\n 'font-weight': '400',\n 'color': 'black'\n },\n '::placeholder': {\n 'color': '#AFB3B7',\n 'font-family': '\"Roboto Condensed\", sans-serif',\n },\n ':focus': {\n 'color': 'black'\n },\n '.valid': {\n 'color': 'black'\n },\n '.invalid': {\n 'color': '#ff1744'\n }\n }\n }).then((hostedFieldsInstance) => {\n this.paymentFormInstance = hostedFieldsInstance;\n observer.next(hostedFieldsInstance );\n }).catch((error) => {\n let errorMessage = this.handleErrorsMessagesBraintree(error);\n observer.error(errorMessage);\n });\n }).catch((error) => {\n observer.error(error);\n });\n });\n }\n\n public doTokenizeCardFormWithSquare(_clientToken: string, _zipCode: string = ''): Observable {\n return new Observable((observer) => {\n this.paymentFormInstance = Square.payments(_clientToken);\n if (this.squareCard) {\n this.squareCard.destroy().then(() => {\n this._attachSquareCardToHtml(observer, _zipCode)\n })\n } else {\n this._attachSquareCardToHtml(observer, _zipCode)\n }\n })\n }\n\n private _attachSquareCardToHtml(observer, _zipCode) {\n this.paymentFormInstance.card({\n postalCode: _zipCode\n }).then((card: any) => {\n observer.next(this.paymentFormInstance);\n card.attach(\"#\" + PaymentFormInputSelectorsForSquare.cardItem);\n this.squareCard = card;\n })\n }\n\n public doTokenizeCardFormWithUsaepay(_clientToken: string): Observable {\n return new Observable((observer) => {\n // Instantiate Client with Public API Key\n this.paymentFormInstance = new usaepay.Client(_clientToken);\n\n // Instantiate Payment Card Entry\n this.paymentFormElements = this.paymentFormInstance.createPaymentCardEntry();\n const styles = {\n 'container': {\n \"width\": \"100%\",\n \"height\": \"40px\",\n \"border-radius\": \"4px\",\n \"border\": \"1px solid #ddd\"\n }\n }\n\n this.paymentFormElements.generateHTML({styles});\n\n this.paymentFormElements.addHTML('paymentCardContainer');\n this.paymentFormElements.addEventListener('error', err => {\n err = JSON.parse(err);\n console.log(err);\n })\n\n observer.next(this.paymentFormInstance);\n })\n }\n\n public doTokenizeCardFormWithCybersource(_clientToken: string): Observable {\n return new Observable((observer) => {\n try {\n this.paymentFormInstance = new Flex(_clientToken);\n const style = {\n base: {\n color: '#212121',\n fontFamily: '\"Roboto Condensed\",sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '1.0875em',\n '::placeholder': { color: '#616161' }\n },\n invalid: {\n color: '#ff1744',\n iconColor: '#ff1744'\n }\n };\n this.paymentFormElements = this.paymentFormInstance.microform({styles: style});\n const number = this.paymentFormElements.createField('number', {placeholder: 'Enter card number'});\n const securityCode = this.paymentFormElements.createField('securityCode', {placeholder: '•••'});\n number.load('#number-container');\n securityCode.load('#securityCode-container');\n observer.next(this.paymentFormInstance);\n } catch (e) {\n console.log('e', e)\n }\n\n })\n }\n\n public doTokenizeCardFormWithStripe(_clientToken: string): Observable {\n return new Observable((observer) => {\n this.paymentFormInstance = Stripe(_clientToken);\n this.paymentFormElements = this.paymentFormInstance.elements();\n const style = {\n base: {\n color: '#212121',\n fontFamily: '\"Roboto Condensed\",sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '1.0875em',\n '::placeholder': { color: '#616161' }\n },\n invalid: {\n color: '#ff1744',\n iconColor: '#ff1744'\n }\n };\n\n this.paymentFormInstance.gatewayPaymentInstanceCardFieldNo = this.paymentFormElements.create('cardNumber', { style: style });\n this.paymentFormInstance.gatewayPaymentInstanceCardFieldNo.mount(`#${PaymentFormInputSelectorsForStripe.cardNumber}`);\n this.paymentFormInstance.gatewayPaymentInstanceCardFieldExp = this.paymentFormElements.create('cardExpiry', { style: style });\n this.paymentFormInstance.gatewayPaymentInstanceCardFieldExp.mount(`#${PaymentFormInputSelectorsForStripe.cardExp}`);\n this.paymentFormInstance.gatewayPaymentInstanceCardFieldCVV = this.paymentFormElements.create('cardCvc', { style: style });\n this.paymentFormInstance.gatewayPaymentInstanceCardFieldCVV.mount(`#${PaymentFormInputSelectorsForStripe.cardCVV}`);\n\n observer.next(this.paymentFormInstance);\n })\n }\n\n public setCardPaymentForm(_gateway: any): Observable {\n return new Observable((observer) => {\n switch (_gateway.gatewayId) {\n case 1:\n case 'braintree':\n //Braintree\n this.doTokenizeCardFormWithBraintree(_gateway.setting.publicKey).subscribe(\n (res: any) => {\n observer.next(res);\n },\n (err: any) => {\n observer.error(err)\n }\n );\n break;\n case 2:\n case 'authorizenet':\n //AuthorizeNET\n observer.next();\n break;\n case 3:\n case 'stripe':\n //Stripe\n // this.doTokenizeCardFormWithStripe(data.publicKey).subscribe(\n // (res: any) => {\n // },\n // (err: any) => {\n // }\n // );\n break;\n case 4:\n case 'square':\n //Square\n this.doTokenizeCardFormWithSquare(_gateway.setting.publicKey).subscribe(\n (res: any) => {\n observer.next(res);\n },\n (err: any) => {\n observer.error(err)\n }\n );\n break;\n }\n })\n }\n\n private handleSuccess(_data: any) {\n return new RestResponse().onSuccess(_data.status, _data.body);\n }\n\n\n}\n","//angular\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSnackBarRef } from '@angular/material/snack-bar';\r\nimport { Sort } from '@angular/material/sort';\r\n//app\r\nimport { DialogBulkComponent } from '../../modules/main/_shared/dialog/bulk/bulk.component';\r\nimport { DataSharingService } from './data.sharing.service';\r\nimport { CheckboxState, VisibleState, OpacityState } from '../../app.data';\r\nimport { Filter } from '../../_shared/models';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class GridService {\r\n gridItemsActions: boolean;\r\n\r\n collectionOfFilter: Array = [];\r\n selectedFilterId: number = 0;\r\n selectedFilterLabel: string = 'Manage Filters';\r\n checkedCount: number = 0;\r\n statusBulkCheckbox: string = CheckboxState.uncheck;\r\n inputSearchIsVisible: boolean = true;\r\n inputSearchIsValid: boolean = false;\r\n searchQuery: string = '';\r\n // TODO visibleStatusForInputSearch\r\n statusSnackBar: string = VisibleState.isHidden;\r\n collectionOfGridItems: Array = [];\r\n\r\n bulkIsChecked: boolean = false;\r\n bulkIsIndeterminate: boolean = false;\r\n dialogBulkRef: MatSnackBarRef;\r\n bulkSectionName: string = '';\r\n bulkCollectionOfActions: Array = [];\r\n\r\n statusGrid: string = OpacityState.isHidden;\r\n statusGridMessage: string = OpacityState.isHidden;\r\n currentPageNumber: number = 1;\r\n itemsPerPage: number = 25;\r\n orderBy: string = '';\r\n sortBy: string = 'DESC';\r\n totalItems: number = 0;\r\n totalPages: number = 0;\r\n pageIndex: number = 0;\r\n\r\n sortedData: Array = [];\r\n\r\n constructor(\r\n private _dialogBulk: MatSnackBar,\r\n private _shareData: DataSharingService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n private getGridData: any;\r\n\r\n clearData() {\r\n this.bulkIsChecked = false;\r\n this.bulkIsIndeterminate = false;\r\n this.bulkSectionName = '';\r\n this.bulkCollectionOfActions = [];\r\n this.checkedCount = 0;\r\n this.collectionOfFilter = [];\r\n this.collectionOfGridItems = [];\r\n this.selectedFilterId = 0;\r\n this.selectedFilterLabel = '';\r\n this.statusBulkCheckbox = CheckboxState.uncheck;\r\n this.inputSearchIsVisible = true;\r\n this.inputSearchIsValid = false;\r\n this.searchQuery = '';\r\n this.statusSnackBar = VisibleState.isHidden;\r\n this.statusGrid = OpacityState.isHidden;\r\n this.statusGridMessage = OpacityState.isHidden;\r\n this.currentPageNumber = 1;\r\n this.itemsPerPage = 25;\r\n this.orderBy = '';\r\n this.sortBy = 'ASC';\r\n this.totalItems = 0;\r\n this.totalPages = 0;\r\n this.sortedData = [];\r\n this.pageIndex = 0;\r\n }\r\n\r\n closeBulkDialog() {\r\n this.dialogBulkRef.dismiss();\r\n this.statusSnackBar = VisibleState.isHidden;\r\n }\r\n\r\n onBulkCheckboxChange() {\r\n console.log('@@@@onBulkCheckboxChange');\r\n this.checkedCount = 0;\r\n\r\n for (const record of Object.values(this.collectionOfGridItems)) {\r\n if (record['checked']) {\r\n this.checkedCount++;\r\n }\r\n }\r\n\r\n if (this.checkedCount > 0 && this.checkedCount < this.collectionOfGridItems.length) {\r\n // If some checkboxes are checked but not all; then set Indeterminate state of the master to true.\r\n this.bulkIsChecked = false;\r\n this.bulkIsIndeterminate = true;\r\n this.inputSearchIsVisible = false;\r\n if (this.statusSnackBar == VisibleState.isHidden ){\r\n this.openBulkDialog();\r\n };\r\n } else if (this.checkedCount === this.collectionOfGridItems.length) {\r\n /*If checked count is equal to total items; then check the master checkbox and also set Indeterminate state to false.*/\r\n this.bulkIsChecked = true;\r\n this.bulkIsIndeterminate = false;\r\n this.inputSearchIsVisible = false;\r\n if (this.statusSnackBar == VisibleState.isHidden) {\r\n this.openBulkDialog();\r\n };\r\n } else {\r\n /*If none of the checkboxes in the list is checked then uncheck master also set Indeterminate to false.*/\r\n this.bulkIsChecked = false;\r\n this.bulkIsIndeterminate = false;\r\n this.inputSearchIsVisible = true;\r\n this.closeBulkDialog();\r\n }\r\n\r\n this.statusBulkCheckbox = (this.checkedCount > 0 ? CheckboxState.checked : CheckboxState.uncheck);\r\n this._shareData.setObservable(this.checkedCount);\r\n }\r\n\r\n onBulkHeaderCheckboxChange() {\r\n console.log('@@@@onBulkHeaderCheckboxChange');\r\n this.bulkIsChecked = !this.bulkIsChecked;\r\n this.statusBulkCheckbox = (this.bulkIsChecked ? CheckboxState.checked : CheckboxState.uncheck);\r\n\r\n for (const value of Object.values(this.collectionOfGridItems)) {\r\n value['checked'] = this.bulkIsChecked;\r\n }\r\n\r\n if (this.bulkIsChecked) {\r\n this.checkedCount = this.collectionOfGridItems.length;\r\n this.inputSearchIsVisible = false;\r\n if (this.statusSnackBar == VisibleState.isHidden) {\r\n this.openBulkDialog();\r\n };\r\n } else {\r\n this.checkedCount = 0;\r\n this.inputSearchIsVisible = true;\r\n this.closeBulkDialog();\r\n }\r\n\r\n this._shareData.setObservable(this.checkedCount);\r\n }\r\n\r\n onGetGridData(fn: any) {\r\n this.getGridData = fn;\r\n }\r\n\r\n async onPageChange(e: any) {\r\n let pageNo: number = e.pageIndex + 1;\r\n this.itemsPerPage = e.pageSize;\r\n this.currentPageNumber = pageNo;\r\n await this.updateQueryParams(this.itemsPerPage, this.currentPageNumber);\r\n this.getGridData();\r\n }\r\n\r\n async updateQueryParams(itemsPerPage?: number, page?: number, query?: string, filterId?: number): Promise {\r\n const queryParams: any = {};\r\n\r\n if (itemsPerPage !== undefined) {\r\n queryParams.itemsPerPage = itemsPerPage;\r\n }\r\n\r\n if (page !== undefined) {\r\n queryParams.page = page;\r\n }\r\n\r\n if (query !== undefined) {\r\n queryParams.query = query;\r\n }\r\n\r\n if (filterId !== undefined) {\r\n queryParams.filterId = filterId;\r\n }\r\n\r\n await this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams,\r\n queryParamsHandling: 'merge'\r\n });\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n onSortData(sort: Sort){\r\n //ToDo: Implement sort method on Grids.\r\n const data = this.collectionOfGridItems.slice();\r\n console.log(data);\r\n if (!sort.active || sort.direction === '') {\r\n this.sortedData = data;\r\n return;\r\n }\r\n\r\n this.sortedData = data.sort((a, b) => {\r\n const isAsc = sort.direction === 'asc';\r\n switch (sort.active) {\r\n // case 'customerName': return compare(a.customerName, b.customerName, isAsc);\r\n // case 'createdOn': return compare(a.createdOn, b.createdOn, isAsc);\r\n // case 'customerId': return compare(a.customerId, b.customerId, isAsc);\r\n // case 'billingAddress': return compare(a.billingAddress, b.billingAddress, isAsc);\r\n // case 'paymentMethod': return compare(a.paymentMethod, b.paymentMethod, isAsc);\r\n // case 'currency': return compare(a.currency, b.currency, isAsc);\r\n // case 'locale': return compare(a.locale, b.locale, isAsc);\r\n default: return 0;\r\n }\r\n });\r\n }\r\n\r\n openBulkDialog() {\r\n this.statusSnackBar = VisibleState.isVisible;\r\n this.dialogBulkRef = this._dialogBulk.openFromComponent(DialogBulkComponent, {\r\n panelClass: ['custom-mat-dialog', 'mat-dialog-bulk-actions'],\r\n data: {\r\n sectionName: this.bulkSectionName,\r\n collectionOfActions: this.bulkCollectionOfActions,\r\n }\r\n });\r\n\r\n this.dialogBulkRef.afterDismissed().subscribe(res => {\r\n this.statusSnackBar = VisibleState.isHidden;\r\n\r\n if (res.dismissedByAction === true) {\r\n console.log('dismissedByAction');\r\n } else {\r\n console.log('cancel');\r\n }\r\n })\r\n }\r\n\r\n removeBulkCheckedItems() {\r\n console.log('@@@@onBulkHeaderCheckboxChange');\r\n this.collectionOfGridItems.forEach(item => {\r\n if(item.checked === true) delete item.checked;\r\n })\r\n }\r\n\r\n\r\n}\r\n","import { DataSharingService } from './data.sharing.service';\nimport { GridService } from './grid.service';\nimport { LoaderService } from './loader.service';\nimport { RestService } from './rest.service';\nimport { SchedulerService } from './scheduler.service';\nimport { SkeletonLoaderService } from './skeleton-loader.service';\nimport { StorageService } from './storage.service';\nimport { UserService } from './user.service';\nimport { UtilsService } from './utils.service';\nimport { AppService } from './app.service';\nimport { ScrollService } from './scroll.service';\nimport { ErrorService } from './error.service';\n\nexport const SERVICES: any[] = [\n DataSharingService,\n GridService,\n LoaderService,\n RestService,\n SchedulerService,\n SkeletonLoaderService,\n StorageService,\n UserService,\n UtilsService,\n AppService,\n ScrollService,\n ErrorService\n];\n\nexport * from './data.sharing.service';\nexport * from './grid.service';\nexport * from './loader.service';\nexport * from './rest.service';\nexport * from './skeleton-loader.service';\nexport * from './storage.service';\nexport * from './user.service';\nexport * from './utils.service';\nexport * from './app.service';\nexport * from './scroll.service';\n","//angular\nimport { Injectable } from '@angular/core';\nimport { Subject } from \"rxjs\";\n//app\nimport { LoadingState } from 'src/app/app.data';\n\n@Injectable()\nexport class LoaderService {\n\n private _loader: LoadingState;\n private _loaderStatus = new Subject();\n public changeLoaderStatus = this._loaderStatus.asObservable();\n\n private _loading: number = 0;\n private _loadingStatus = new Subject();\n public changeLoadingStatus = this._loadingStatus.asObservable();\n\n private _page_loading: number = 0;\n private _page_loadingStatus = new Subject();\n public changePageLoaderStatus = this._page_loadingStatus.asObservable();\n\n get loader(): LoadingState {\n return this._loader;\n }\n\n set loader(value) {\n this._loader = value;\n this._loaderStatus.next(value);\n }\n\n get loading(): number {\n return this._loading;\n }\n\n set loading(value) {\n this._loading = value;\n this._loadingStatus.next(value);\n }\n\n get pageLoading(): number {\n return this._page_loading;\n }\n\n set pageLoading(value) {\n this._page_loading = value;\n this._page_loadingStatus.next(value);\n }\n\n startLoader() {\n this.loader = LoadingState.isLoading;\n }\n\n startLoading() {\n this.loading = 1;\n }\n\n stopLoader() {\n this.loader = LoadingState.isLoaded;\n }\n\n stopLoading() {\n this.loading = 0;\n }\n\n startPageLoader(){\n this.pageLoading = 1;\n }\n\n stopPageLoader() {\n this.pageLoading = 0;\n }\n\n}\n","//angular\nimport { Injectable, Renderer2, RendererFactory2 } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { OverlayContainer } from \"@angular/cdk/overlay\";\n//app\n\nimport { Deserializable } from \"../../_shared/interfaces/deserialize.interface\";\nimport { FormGroup, FormControl, FormArray } from \"@angular/forms\";\nimport { GridColumn } from \"../../_shared/models/grid.model\";\nimport {\n CompanyGateway,\n CompanyIntegrationModel,\n CompanyProfile,\n PaginatorResult,\n RestResponse\n} from \"src/app/_shared/models\";\nimport { CompanySettingsKey, GatewayCode, IntegrationStatus, responseCode, SettingsType, VisibleState } from \"src/app/app.data\";\nimport { KeyName } from 'src/app/app.keynames';\nimport { DataSharingService } from \"./data.sharing.service\";\nimport { CompanyCurrency } from \"src/app/_shared/models/company.model\";\nimport { DialogMessageTimerComponent } from \"src/app/modules/main/_shared/dialog/message-timer/message-timer.component\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { GatewayDefault, SettingsDateFormat, SettingsMetrics, SystemGateway } from 'src/app/_shared/models/system.model';\nimport { SharedGlobalService } from \"./api/shared-global.service\";\nimport { SharedIntegrationService } from \"./api/shared-integration.service\";\nimport { environment } from \"src/environments/environment\";\n\nexport class ColumnAttr implements Deserializable {\n constructor(\n gridColumnId?: number,\n priority?: number,\n checked?: boolean,\n visible?: string,\n ) { }\n\n deserialize(input: any): ColumnAttr {\n Object.assign(this, input);\n return this;\n }\n}\n\n@Injectable()\nexport class MetaService {\n collectionOfMetaFields: Array = [];\n private currentEnvironment: string = null;\n\n private renderer: Renderer2;\n\n private urlAuthorizeAccept: string = null;\n private urlBraintreeClient: string = null;\n private urlBraintreeHostedFields: string = null;\n private urlCybersourceHostedFields: string = null;\n private urlBraintreeDataCollector: string = null;\n private urlStripe: string = null;\n private urlSquare: string = null;\n private urlUsaepay: string = null;\n\n constructor(\n private _overlayContainer: OverlayContainer,\n private _notification: MatSnackBar,\n private _shareData: DataSharingService,\n private sharedGlobalService: SharedGlobalService,\n private sharedIntegrationService: SharedIntegrationService,\n rendererFactory: RendererFactory2\n ) {\n console.log(`meta.service was loaded`);\n this.renderer = rendererFactory.createRenderer(null, null);\n\n }\n\n public onChangeGridColumnsPreferences(_event: any, _column: GridColumn) {\n this.collectionOfMetaFields[_column.keyName].visible = (_event.checked ? VisibleState.isVisible : VisibleState.isHidden);\n }\n\n public onCloseGridColumnsPreferences(_collectionOfColumn: any) {\n let form: FormArray = new FormArray([]);\n\n Object.entries(_collectionOfColumn).forEach(([key, value]) => {\n let formGroup: FormGroup = new FormGroup({\n gridColumnId: new FormControl(''),\n checked: new FormControl(false),\n priority: new FormControl(0)\n })\n formGroup.controls.gridColumnId.setValue(value['gridColumnId']);\n formGroup.controls.checked.setValue((value['visible'] == VisibleState.isHidden ? false : true));\n formGroup.controls.priority.setValue(value['priority']);\n form.push(formGroup);\n })\n\n this.sharedGlobalService.createColumnsPreferences(form.value).subscribe(\n (res: RestResponse) => {},\n (err: RestResponse) => {\n console.log(`err. ${err}`);\n }\n )\n }\n\n public onMenuFilterClosed() {\n this._overlayContainer.getContainerElement().classList.remove('disable-backdrop-click');\n }\n\n public onMenuFilterOpened() {\n this._overlayContainer.getContainerElement().classList.add('disable-backdrop-click');\n }\n\n checkGatewaysScriptImported() {\n const isEnvironmentSandbox = (this.currentEnvironment === 'sandbox' ? true : false);\n\n this.urlAuthorizeAccept = isEnvironmentSandbox ? environment.urlAuthorizeAcceptSandbox : environment.urlAuthorizeAccept;\n this.urlBraintreeClient = isEnvironmentSandbox ? environment.urlBraintreeClientSandbox : environment.urlBraintreeClient;\n this.urlBraintreeHostedFields = isEnvironmentSandbox ? environment.urlBraintreeHostedFieldsSandbox : environment.urlBraintreeHostedFields;\n this.urlCybersourceHostedFields = isEnvironmentSandbox ? environment.urlCybersourceHostedFieldsSandbox : environment.urlCybersourceHostedFields;\n this.urlBraintreeDataCollector = isEnvironmentSandbox ? environment.urlBraintreeDataCollectorSandbox : environment.urlBraintreeDataCollector;\n this.urlStripe = isEnvironmentSandbox ? environment.urlStripeSandbox : environment.urlStripe;\n this.urlSquare = isEnvironmentSandbox ? environment.urlSquareSandbox : environment.urlSquare;\n this.urlUsaepay = isEnvironmentSandbox ? environment.urlUsaepaySandbox : environment.urlUsaepay;\n\n const collectionOfScripts = document.head.getElementsByTagName('script');\n let isAnyGateway = false;\n\n for (var i = (collectionOfScripts.length-1); i >= 0; i--) {\n if(collectionOfScripts[i].getAttribute('id') != 'a' &&\n (collectionOfScripts[i].src == this.urlAuthorizeAccept ||\n collectionOfScripts[i].src == this.urlBraintreeClient ||\n collectionOfScripts[i].src == this.urlBraintreeHostedFields ||\n collectionOfScripts[i].src == this.urlBraintreeDataCollector ||\n collectionOfScripts[i].src == this.urlStripe ||\n collectionOfScripts[i].src == this.urlSquare ||\n collectionOfScripts[i].src == this.urlCybersourceHostedFields ||\n collectionOfScripts[i].src == this.urlUsaepay)\n ) {\n isAnyGateway = true;\n }\n }\n\n if(!isAnyGateway) {\n this.setCompanyGateways();\n }\n }\n\n private createScript(urlGateWay: string, type?: string, charset?:string) {\n const script = this.renderer.createElement('script');\n script.src = urlGateWay;\n if(type) {\n script.type = type;\n }\n\n if(charset) {\n script.charset = charset;\n }\n\n return script;\n\n }\n\n isScriptAdded(environmentUrl:string) {\n const collectionOfScripts = document.head.getElementsByTagName('script');\n let returnValue = false;\n\n for (var i = (collectionOfScripts.length-1); i >= 0; i--) {\n\n if(collectionOfScripts[i].getAttribute('id') != 'a' &&\n (collectionOfScripts[i].src == environmentUrl)\n ){\n returnValue = true;\n }\n }\n return returnValue;\n }\n\n loadGatewayScript(gateWayName:string) {\n switch (gateWayName) {\n case GatewayCode.braintree:\n if(!this.isScriptAdded(this.urlBraintreeClient)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlBraintreeClient));\n }\n if(!this.isScriptAdded(this.urlBraintreeHostedFields)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlBraintreeHostedFields));\n }\n\n if(!this.isScriptAdded(this.urlBraintreeDataCollector)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlBraintreeDataCollector));\n }\n break;\n case GatewayCode.authorize:\n if(!this.isScriptAdded(this.urlAuthorizeAccept)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlAuthorizeAccept, 'text/javascript', 'utf-8'));\n }\n break;\n case GatewayCode.cybersource:\n if(!this.isScriptAdded(this.urlCybersourceHostedFields)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlCybersourceHostedFields));\n }\n break;\n case GatewayCode.stripe:\n if(!this.isScriptAdded(this.urlStripe)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlStripe));\n }\n break;\n case GatewayCode.square:\n if(!this.isScriptAdded(this.urlSquare)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlSquare));\n }\n break;\n case GatewayCode.usaepay:\n if(!this.isScriptAdded(this.urlUsaepay)) {\n this.renderer.appendChild(document.head, this.createScript(this.urlUsaepay));\n }\n break;\n\n }\n }\n\n loadGatewayScriptCreateCompany(gateWayName:string) {\n switch (gateWayName) {\n case GatewayCode.braintree:\n if(!this.isScriptAdded(environment.urlBraintreeClient)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlBraintreeClient));\n this.urlBraintreeClient = environment.urlBraintreeClient;\n }\n if(!this.isScriptAdded(environment.urlBraintreeHostedFields)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlBraintreeHostedFields));\n this.urlBraintreeHostedFields = environment.urlBraintreeHostedFields;\n }\n\n if(!this.isScriptAdded(environment.urlBraintreeDataCollector)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlBraintreeDataCollector));\n this.urlBraintreeDataCollector = environment.urlBraintreeDataCollector;\n }\n break;\n case GatewayCode.cybersource:\n if(!this.isScriptAdded(environment.urlCybersourceHostedFields)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlCybersourceHostedFields));\n this.urlCybersourceHostedFields = environment.urlCybersourceHostedFields;\n }\n break;\n case GatewayCode.authorize:\n if(!this.isScriptAdded(environment.urlAuthorizeAccept)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlAuthorizeAccept, 'text/javascript', 'utf-8'));\n this.urlAuthorizeAccept = environment.urlAuthorizeAccept;\n }\n break;\n case GatewayCode.stripe:\n if(!this.isScriptAdded(environment.urlStripe)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlStripe));\n this.urlStripe = environment.urlStripe;\n }\n break;\n case GatewayCode.square:\n if(!this.isScriptAdded(environment.urlSquare)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlSquare));\n this.urlSquare = environment.urlSquare;\n }\n break;\n case GatewayCode.usaepay:\n if(!this.isScriptAdded(environment.urlUsaepay)) {\n this.renderer.appendChild(document.head, this.createScript(environment.urlUsaepay));\n this.urlUsaepay = environment.urlUsaepay;\n }\n break;\n }\n }\n\n public setCompanyCurrencyBase(){\n this.sharedGlobalService.getCompanyCurrenciesDefault().subscribe(\n (res:RestResponse)=>{\n let companyCurrencyBase: CompanyCurrency = new CompanyCurrency().deserialize(res.data);\n this._shareData.setCompanySettingsCurrencyBaseSource({currencyBase: companyCurrencyBase})\n },\n (err:RestResponse)=>{\n console.log(err);\n }\n )\n }\n\n public setCompanyGateways()\n {\n this.sharedGlobalService.getActiveCompanyGateways()\n .subscribe(\n (res: RestResponse) => {\n const collectionOfCompanyGateways = >res.data;\n let collectionOfNames:Array =[];\n\n collectionOfCompanyGateways.forEach(\n _gateway => {\n const elementValue = collectionOfNames.some(nameElement => nameElement == _gateway.keyName);\n\n if(!elementValue) {\n collectionOfNames.push(_gateway.keyName);\n }\n });\n\n collectionOfNames.forEach(\n gateway => {\n this.loadGatewayScript(gateway);\n });\n // TODO REMOVE\n if(collectionOfNames.indexOf(GatewayCode.authorize) == -1){\n this.loadGatewayScript(GatewayCode.authorize);\n }\n },\n (err: RestResponse) => {\n this.showNotification(err);\n }\n )\n\n }\n\n public setCompanySettings() {\n this._shareData.setCompanySettingsEnvironment({ environment: 'production' });\n this._shareData.setCompanySettingsShippingSource({ shipping: '0' });\n this._shareData.setCompanySettingsTaxSource({ tax: '0' });\n this._shareData.setCompanySettingsTimezone({ timezone: '15' });\n\n this.sharedGlobalService.getCompanySettingsBySettingType(SettingsType.settings).subscribe(\n (res: RestResponse) => {\n this._shareData.setCompanySettingsShippingSource({shipping: Number(res.data[CompanySettingsKey.shipping])});\n this._shareData.setCompanySettingsEnvironment({environment: res.data[CompanySettingsKey.environment]});\n this.currentEnvironment = res.data[CompanySettingsKey.environment];\n if (Number(res.data[CompanySettingsKey.tax]) === 1) {\n this.sharedIntegrationService.getIntegrationByIntegrationType(CompanySettingsKey.tax).subscribe(\n (res: RestResponse) => {\n let collectionOfCompanyIntegration = >res.data\n collectionOfCompanyIntegration.forEach(_companyIntegration => {\n if (_companyIntegration.status == IntegrationStatus.active){\n this._shareData.setCompanySettingsTaxSource({tax: _companyIntegration.id});\n }\n });\n },\n (err: RestResponse) => {\n console.log(err)\n }\n )\n } else {\n this._shareData.setCompanySettingsTaxSource({tax: Number(res.data[CompanySettingsKey.tax])});\n }\n\n this.checkGatewaysScriptImported();\n\n },\n (err: RestResponse) => {\n console.log(err);\n }\n )\n\n this.sharedGlobalService.getCompanySettingsBySettingType(SettingsType.paginator).subscribe(\n (res: RestResponse) => {\n if (res.data) {\n let companyPaginator = new PaginatorResult().deserialize(res.data);\n this._shareData.setCompanyTableRecordsPerPage({ recordsPerPage: companyPaginator.recordsPerPage ? Number(companyPaginator.recordsPerPage) : 25 });\n }\n },\n (err: RestResponse) => {\n console.log(err);\n }\n )\n\n this.sharedGlobalService.getEntityProfile().subscribe(\n (res: RestResponse) => {\n let company = new CompanyProfile().deserialize(res.data);\n this._shareData.setCompany({ companyId: company.id, companyName: company.name, type: company.type, status: company.status, cancelledAt: company.cancelledAt });\n },\n (err: RestResponse)=> {\n console.log(err);\n }\n );\n\n this.sharedGlobalService.getCompanySettingsBySettingType(SettingsType.dateFormat).subscribe(\n (resSettingDateformat: RestResponse) => {\n let companyDateFormat = new SettingsDateFormat().deserialize(resSettingDateformat.data);\n this._shareData.setDisplayDateFormat(companyDateFormat.displayDateFormat);\n this.sharedGlobalService.getTimeZones().subscribe(\n (res: RestResponse) => {\n let collectionOfTimezone = >res.data;\n let timezone = collectionOfTimezone.find(item=> item.id == resSettingDateformat.data[CompanySettingsKey.timezone])\n this._shareData.setCompanySettingsTimezone(timezone);\n },\n (err: RestResponse) => {\n console.log(err);\n }\n )\n\n },\n (err: RestResponse) => {\n console.log(err);\n }\n )\n\n this.sharedGlobalService.getCompanySettingsBySettingType(SettingsType.metrics).subscribe(\n (res: RestResponse) => {\n let companyMetrics = new SettingsMetrics().deserialize(res.data);\n let decimalPlaces = companyMetrics.decimalPlaces;\n let decimalToken = companyMetrics.decimalToken;\n let factoringDimension = companyMetrics.factoringDimension;\n let lengthMeasurement = companyMetrics.lengthMeasurement\n let thousandsToken = companyMetrics.thousandsToken;\n let weightMeasurement = companyMetrics.weightMeasurement\n this._shareData.setDecimalPlaces(decimalPlaces);\n this._shareData.setDecimalToken(decimalToken);\n this._shareData.setThousandsToken(thousandsToken);\n\n this._shareData.setFactoringDimension(factoringDimension);\n this._shareData.setLengthMeasurement(lengthMeasurement);\n this._shareData.setWeightMeasurement(weightMeasurement);\n\n this._shareData.setSettingsVariables({ decimalPlaces, decimalToken, factoringDimension, lengthMeasurement, thousandsToken, weightMeasurement});\n\n },\n (err: RestResponse) => {\n console.log(err);\n }\n )\n }\n\n public setDateFormat(date: Date, displayFormat: Object): string{\n if (displayFormat === 'YYYY-MM-DD') {\n let day: string = date.getDate().toString();\n day = +day < 10 ? '0' + day : day;\n let month: string = (date.getMonth() + 1).toString();\n month = +month < 10 ? '0' + month : month;\n let year = date.getFullYear();\n return `${year}-${month}-${day}`;\n }\n return date.toDateString();\n }\n\n public setGridColumns(_collectionOfColumn: Array): Observable {\n return new Observable((observer) => {\n this.collectionOfMetaFields = [] ;\n let position = 1;\n _collectionOfColumn.forEach(element => {\n this.collectionOfMetaFields[element.keyName] = new ColumnAttr().deserialize({});\n this.collectionOfMetaFields[element.keyName].gridColumnId = element.id;\n this.collectionOfMetaFields[element.keyName].checked = element.checked;\n this.collectionOfMetaFields[element.keyName].priority = position;\n this.collectionOfMetaFields[element.keyName].visible = (element.checked ? VisibleState.isVisible : VisibleState.isHidden);\n position++;\n });\n return observer.next(this.collectionOfMetaFields);\n })\n }\n\n public setSystemGateway() {\n this.sharedGlobalService.getSystemGateways().subscribe(\n (res: RestResponse) => {\n let resGateways = new SystemGateway().deserialize(res.data);\n const gatewayDefaultCC: GatewayDefault = new GatewayDefault().deserialize(resGateways.card);\n this.loadGatewayScriptCreateCompany(gatewayDefaultCC.gatewayData.keyName);\n },\n (err:RestResponse) => {\n this.showNotification(err);\n }\n );\n }\n\n // Use only for custom Front-end messages:\n //_customMessage: any message that We need to show instead of messages alloweded in app.keynames.ts\n //_templateLiterals contains the object to be shown in the notification message\n public showNotificationCustomMessage(_statusCode: any, _keyName: any, _customMessage?: string, _templateLiterals?: string[]) {\n const statusCode = _statusCode == responseCode.successCode ? ['custom-mat-dialog', 'success'] :\n (_statusCode == responseCode.successCodeWithError ? ['custom-mat-dialog', 'success_with_error'] :\n ['custom-mat-dialog', 'bad-request']);\n this._notification.openFromComponent(DialogMessageTimerComponent, {\n duration: 5000,\n panelClass: statusCode,\n data: {\n statusCode: _statusCode,\n keyName: _keyName,\n extraData: _templateLiterals ? _templateLiterals : null,\n customMessage: _customMessage ? _customMessage: null\n }\n });\n }\n\n public showNotification(response: RestResponse) {\n\n this._notification.openFromComponent(DialogMessageTimerComponent, {\n duration: 5000,\n panelClass: ((response?.code && response.code == responseCode.successCode ) ? ['custom-mat-dialog', 'success'] : ['custom-mat-dialog', 'bad-request']),\n data: {\n statusCode: (response?.code ? response.code : responseCode.errorBadRequestCode),\n keyName: response?.code == responseCode.successCode ? KeyName.request_success : response?.error?.code,\n customMessage: response?.error?.message\n }\n });\n }\n\n public sortGridColumns(_collectionOfColumn: Array) {\n let position = 1;\n _collectionOfColumn.forEach(element => {\n this.collectionOfMetaFields[element.keyName].priority = position;\n position++;\n });\n }\n\n public removeGatewayScripts() {\n const collectionOfScripts = document.head.getElementsByTagName('script');\n\n for (var i = (collectionOfScripts.length-1); i >= 0; i--) {\n\n if(collectionOfScripts[i].getAttribute('id') != 'a' &&\n (collectionOfScripts[i].src == this.urlAuthorizeAccept ||\n collectionOfScripts[i].src == this.urlBraintreeClient ||\n collectionOfScripts[i].src == this.urlBraintreeHostedFields ||\n collectionOfScripts[i].src == this.urlCybersourceHostedFields ||\n collectionOfScripts[i].src == this.urlBraintreeDataCollector ||\n collectionOfScripts[i].src == this.urlSquare ||\n collectionOfScripts[i].src == this.urlStripe)\n ) {\n collectionOfScripts[i].parentNode.removeChild(collectionOfScripts[i]);\n }\n }\n }\n\n}\n","//angular\nimport { Injectable } from '@angular/core';\n//others\nimport { RestResponse } from 'src/app/_shared/models';\n//rxJs\nimport { Subject, BehaviorSubject, timer } from 'rxjs';\nimport { concatMap, map, switchMap } from 'rxjs/operators';\nimport { SharedGlobalService } from './api/shared-global.service';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\n\n@Injectable()\nexport class NotificationService {\n private _status: number = 0;\n private _messageStatus = new Subject();\n public changeMessageStatus = this._messageStatus.asObservable();\n private load$ = new BehaviorSubject('');\n private NOTIFICATIONS_INTERVAL: number = 30000;\n private NOTIFICATIONS_COUNT_INTERVAL: number = 120000;\n\n constructor(\n private sharedGlobalService: SharedGlobalService,\n ) {}\n\n set status(value) {\n this._status = value;\n this._messageStatus.next(value);\n }\n\n getNotificationsStream() {\n const httpParams: HttpParamsInterface = {\n status: 'unread',\n orderBy: 'createdAt',\n sortBy: 'ASC',\n }\n\n return this.load$.pipe(\n switchMap(_ => timer(0, this.NOTIFICATIONS_INTERVAL).pipe(\n concatMap(_ => this.sharedGlobalService.getNotifications(httpParams)),\n map((res: RestResponse) => res.data),\n ))\n );\n }\n\n getNotificationsCountStream() {\n const httpParams: HttpParamsInterface = {\n status: 'unread',\n orderBy: 'createdAt',\n sortBy: 'ASC',\n }\n\n return this.load$.pipe(\n switchMap(_ => timer(0, this.NOTIFICATIONS_COUNT_INTERVAL).pipe(\n concatMap(_ => this.sharedGlobalService.getNotifications(httpParams)),\n map((res: any) => res.data.length),\n ))\n );\n }\n\n refreshNotificationsCountStreamData() {\n this.load$.next('');\n }\n\n showMessage() {\n this.status = 1;\n }\n\n hideMessage() {\n this.status = 0;\n }\n\n\n}\n","//angular\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { map, take } from 'rxjs/operators';\n//app\nimport { RestResponse } from '../../_shared/models/rest-response.model';\nimport { ExchangeRate } from 'src/app/_shared/models';\nimport { DataSharingService } from 'src/app/_core/services/data.sharing.service';\n\n@Injectable()\nexport class RestService {\n\n constructor(\n private _http: HttpClient,\n private _shareData: DataSharingService,\n ) {}\n\n public get(serviceUrl: string, params?:any, noFormat?: boolean): Observable {\n if (noFormat) {\n this._shareData.setNoFormatResponse(serviceUrl);\n }\n return this._http.get(serviceUrl, { responseType: 'json', observe: 'response', params: params?.params }).pipe(\n take(1),\n map((data: any) => this.handleSuccess(data)),\n );\n }\n\n public getDownload(serviceUrl: string, params?:any): Observable {\n this._shareData.setNoFormatResponse(serviceUrl);\n return this._http.get(serviceUrl, { responseType: 'blob', observe: 'response', params: params?.params }).pipe(\n take(1),\n map((data: any) => this.handleSuccess(data)),\n );\n }\n\n public getExchangeRate(serviceUrl: string): Observable {\n return this._http.get(serviceUrl, { responseType: 'json' }).pipe(\n map((data: ExchangeRate) => data)\n );\n }\n\n public post(serviceUrl: string, body: any): Observable {\n return this._http.post(serviceUrl, body).pipe(\n map((data: any) => this.handlePostResponse(data)),\n );\n }\n\n public postUpload(serviceUrl: string, body: any, options?: any): Observable {\n return this._http.post(serviceUrl, body, options).pipe(\n map((data: any) => this.handlePostResponse(data)),\n );\n }\n\n public put(serviceUrl: string, body: any = []): Observable {\n return this._http.put(serviceUrl, body, { responseType: 'json', observe: 'response' }).pipe(\n map((data: any) => this.handleSuccess(data)),\n );\n }\n\n public delete(serviceUrl: string) {\n return this._http.delete(serviceUrl).pipe(\n map(() => this.handleDelResponse()),\n );\n }\n\n private handleSuccess(data: any){\n return new RestResponse().onSuccess(data.status, data.body);\n }\n\n private handleDelResponse(){\n return new RestResponse().onSuccessNoData(200);\n }\n\n private handlePostResponse(data: any) {\n return new RestResponse().onSuccess(200, data);\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class SchedulerService {\n\n constructor() {}\n}\n","import { EventManager } from \"@angular/platform-browser\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, Subject, interval } from \"rxjs\";\nimport { map, pairwise, filter, throttle } from \"rxjs/operators\";\n\ninterface Position {\n scrollHeight: number,\n scrollTop: number,\n clientHeight: number,\n}\n\n@Injectable()\nexport class ScrollService {\n private _scrollPercent: number = 80;\n private scrollSubject: Subject = new Subject();\n\n constructor(private eventManager: EventManager) {\n this.eventManager.addGlobalEventListener(\n \"window\",\n \"scroll\",\n this.onScroll.bind(this)\n );\n }\n\n private onScroll = (event: UIEvent) =>\n this.scrollSubject.next(event.target);\n\n private isUserScrollingDown = (positions: Array) =>\n positions[0].scrollTop < positions[1].scrollTop;\n\n private isScrollExpectedPercent = (position: Position, percent: number) =>\n (position.scrollTop + position.clientHeight) / position.scrollHeight > percent / 100;\n\n get scrollPercent(): number {\n return this._scrollPercent;\n }\n\n set scrollPercent(scrollPercent: number) {\n this._scrollPercent = scrollPercent;\n }\n\n get onScroll$(): Observable {\n return this.scrollSubject.asObservable();\n }\n\n get onScrolledDown$(): Observable<[Position, Position]> {\n return this.onScroll$\n .pipe(throttle(() => interval(500)))\n .pipe(\n map(doc => {\n return {\n scrollHeight: doc.documentElement.scrollHeight,\n scrollTop: doc.documentElement.scrollTop || doc.body.scrollTop,\n clientHeight: doc.documentElement.clientHeight\n };\n })\n )\n .pipe(pairwise())\n .pipe(\n filter(\n positions =>\n this.isUserScrollingDown(positions) &&\n this.isScrollExpectedPercent(positions[1], this._scrollPercent)\n )\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class SkeletonLoaderService {\r\n constructor() {}\r\n\r\n public skeletonGridLoader: boolean = false;\r\n public skeletonGridDataLoader: boolean = false;\r\n\r\n public generateFake(count: number): Array {\r\n const indexes = [];\r\n for (let i = 0; i < count; i++) {\r\n indexes.push(i);\r\n }\r\n return indexes;\r\n }\r\n}\r\n","//Angular\nimport { Injectable } from '@angular/core';\n//components\nimport { responseCode } from 'src/app/app.data';\nimport { collectionOfKeyNamesMessages, KeyName, messageIterface } from 'src/app/app.keynames';\nimport { RestResponse } from 'src/app/_shared/models';\nimport { MetaService } from './meta.service';\n//Rebillia's library\nimport { MatSnackbarModel, RebNgxSnackbarService } from '@rhinosaas/reb-ngx';\n\n@Injectable()\nexport class SnackbarMessageService {\n\n collectionOfKeyNames: Array = collectionOfKeyNamesMessages;\n message:any;\n\n constructor(\n private rebilliaSnackbar: RebNgxSnackbarService,\n private meta: MetaService,\n ) { }\n\n private getErrorMessage(response: RestResponse) {\n\n const data = {\n statusCode: (response?.code ? response.code : responseCode.errorBadRequestCode),\n keyName: response?.code == responseCode.successCode ? KeyName.request_success : response?.error?.code\n }\n\n let message: any;\n\n let messageItem = this.collectionOfKeyNames.find(key=> key.value == data.keyName);\n \n if(messageItem == undefined) {\n messageItem = data.statusCode > 200 ? this.collectionOfKeyNames.find(key=> key.value == KeyName.request_error) : this.collectionOfKeyNames.find(key=> key.value == KeyName.request_success);\n }\n\n message = messageItem.message;\n\n return message;\n\n }\n\n public showNotificationRebilliaComponent(response: RestResponse, showCloseButton?: boolean, duration?:number) {\n\n let body: MatSnackbarModel = {\n mood: '',\n message: ''\n };\n\n body.duration = duration ? duration : 5000;\n body.message = this.getErrorMessage(response);\n body.closeButton = showCloseButton;\n \n if (response.code == 200) {\n body.mood = 'success';\n } else if (response.code == 204) {\n body.mood = 'info';\n } else {\n body.mood = 'error';\n }\n this.rebilliaSnackbar.openSnackBar(body);\n }\n\n // Use only for custom Front-end messages:\n //_customMessage: any message that We need to show instead of messages alloweded in app.keynames.ts\n //_templateLiterals contains the object to be shown in the notification message\n public showNotificationCustomMessage(statusCode: any, _keyName: any, customMessage?: string, _templateLiterals?: string[], showCloseButton?: boolean, duration?:number ) {\n\n let body: MatSnackbarModel = {\n mood: '',\n message: ''\n };\n\n body.duration = duration ? duration : 5000;\n body.message = customMessage;\n body.closeButton = showCloseButton;\n \n if (statusCode == responseCode.successCode) {\n body.mood = 'success';\n } else if (statusCode == responseCode.successCodeWithError) {\n body.mood = 'info';\n } else {\n body.mood = 'error';\n }\n this.rebilliaSnackbar.openSnackBar(body);\n\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n\n constructor() {}\n\n public readLocalStorage(key: string): any {\n const data = localStorage.getItem(key);\n if (data != null) {\n return data;\n }\n return;\n }\n\n public writeLocalStorage(key: string, value: any): void {\n localStorage.setItem(key, value);\n } \n\n}","//angular\nimport { Injectable } from \"@angular/core\";\n//others\nimport { Observable } from \"rxjs\";\nimport { TaxClassValues } from \"src/app/app.data\";\n//app\nimport { Address, CompanyIntegrationModel, IntegrationSettings, RestResponse, TaxItem } from \"src/app/_shared/models\";\nimport { TaxDefaultClasses } from \"src/app/_shared/models/tax.model\";\nimport { SharedGlobalService } from \"./api/shared-global.service\";\nimport { SharedIntegrationService } from \"./api/shared-integration.service\";\n\n\n//const\nexport const enum AvalaraDocumentType {\n salesInvoice = 'SalesInvoice',\n salesOrder = 'SalesOrder',\n}\n//Interfaces\nexport interface TaxNewTransactionModel {\n address: TaxTransactionAddressModel,\n customerCode: string,\n entityUseCode?: string,\n items: Array\n}\nexport interface TaxTransactionAddressModel {\n street1: string,\n street2: string,\n street3: string,\n city: string,\n state: string,\n zip: number,\n country: string\n}\n\n@Injectable()\nexport class TaxService {\n\n constructor(\n private sharedIntegrationService: SharedIntegrationService,\n private sharedGlobalService: SharedGlobalService,\n ) {}\n\n public calculateTaxTransaction(_customer: string, _address: Address, _items: Array, _entityUseCode = null, _shippingItem = null): Observable {\n const address: TaxTransactionAddressModel = {\n street1: (_address.street1 == null ? '' : _address.street1),\n street2: (_address.street2 == null ? '' : _address.street2),\n street3: '',\n city: (_address.city == null ? '' : _address.city),\n state: (_address.state == null ? '' : _address.state),\n zip: Number(_address.zip),\n country: _address?.country?.alpha2Code\n }\n\n const items: Array = [];\n _items.forEach((element: any) => {\n let taxItem: TaxItem = new TaxItem();\n taxItem.amount = String(element.amount);\n taxItem.quantity = String(element.qty);\n taxItem.itemCode = null;\n taxItem.taxCode = (element.taxClass ? element.taxClass : (element.taxCode ? element.taxCode : null));\n items.push(taxItem);\n });\n\n if (_shippingItem){\n items.push(_shippingItem);\n }\n\n const body: TaxNewTransactionModel = {\n address: address,\n customerCode: _customer,\n items: items\n }\n\n if(_entityUseCode){\n body.entityUseCode = _entityUseCode\n }\n\n return new Observable(\n (observer) => {\n this.sharedGlobalService.createTaxTransaction(body).subscribe(\n (res: any) => {\n observer.next(res);\n },\n (err: any) => {\n observer.error(err);\n }\n )}\n )\n }\n\n public getTaxSettings(_taxIntegrationId: number): Observable {\n return new Observable(\n (observer) => {\n this.sharedIntegrationService.getIntegrationSettingsByIntegrationId(_taxIntegrationId)\n .subscribe(\n (res: RestResponse) => {\n let companyIntegration: CompanyIntegrationModel = new CompanyIntegrationModel().deserialize(res.data);\n let data: TaxDefaultClasses = new TaxDefaultClasses;\n companyIntegration.integrationSetting.forEach((_integrationSetting:IntegrationSettings) => {\n switch (_integrationSetting.keyName) {\n case TaxClassValues.codeDefaultTaxable:\n data.taxCodeDefaultTaxable = _integrationSetting.value\n break;\n case TaxClassValues.codeShipping:\n data.taxCodeShipping = _integrationSetting.value;\n break;\n }\n })\n observer.next(data);\n },\n (err: RestResponse) => {\n observer.error(err);\n }\n )\n })\n\n }\n\n}\n","//angular\nimport { Injectable } from '@angular/core';\nimport { Subject } from \"rxjs\";\n\n@Injectable()\nexport class UserService {\n\n private strFirstName: string;\n private strLastName: string;\n\n private _firstName = new Subject();\n private _lastName = new Subject();\n\n public changeFirstName = this._firstName.asObservable();\n public changeLastName = this._lastName.asObservable();\n\n get FirstName(): string {\n return this.strFirstName;\n }\n\n set FirstName(value) {\n console.log(value);\n this.strFirstName = value;\n this._firstName.next(value);\n }\n\n get LastName(): string {\n return this.strLastName;\n }\n\n set LastName(value) {\n this.strLastName = value;\n this._lastName.next(value);\n }\n\n getFirstName(): string{\n return this.strFirstName;\n }\n\n setFirstName(firstName:string) {\n this.FirstName = firstName;\n }\n\n}\n","import { Injectable, Optional } from '@angular/core';\nimport * as dayjs from 'dayjs';\nimport { DateFormatValues, collectionOfDecimalFields } from 'src/app/app.data';\nimport { DataSharingService } from './data.sharing.service';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\n\n@Injectable()\nexport class UtilsService {\n private collectionOfDecimalFields: String[] = collectionOfDecimalFields;\n private displayDateFormat: string;\n private decimalPlaces: string;\n private thousandsToken: string;\n private timezoneSettings: any;\n \n constructor(\n private _shareData: DataSharingService\n ) {\n this._shareData.getDisplayDateFormat().subscribe((res) => {\n this.displayDateFormat = res;\n });\n\n this._shareData.getCompanySettingsTimezone().subscribe((res) => {\n this.timezoneSettings = res;\n });\n\n this._shareData.getDecimalPlaces().subscribe((res) => {\n this.decimalPlaces = res;\n });\n\n this._shareData.getThousandsToken().subscribe((res) => {\n this.thousandsToken = res;\n });\n }\n\n // used with cleave mask\n public convertToNumber(value: any): number {\n if (typeof value === 'string') {\n return Number((value).split(this.thousandsToken).join(''));\n }\n return value;\n }\n\n public isEmpty(object: any): boolean {\n return object && Object.keys(object).length === 0 && object.constructor === Object;\n }\n\n // used with GET\n public isDateStringValid(body: any, key: string): boolean {\n const matchRegex = (value: string) => {\n // const dateTimeRegex = /^(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n const dateTimeRegex = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\+(\\d{2}):(\\d{2})$/,\n match = value.match(dateTimeRegex);\n return !!match;\n };\n\n const value: string = body[key];\n if (value === null || value === undefined) {\n return false;\n }\n\n if (typeof value === 'string') {\n return matchRegex(value);\n }\n return false;\n };\n\n // used with POST, PUT\n public isDateValid(body: any, key: string): boolean {\n const value = body[key];\n if (value === null || value === undefined) {\n return false;\n }\n\n if (value instanceof Date) {\n return true;\n } else if (typeof value === 'string') {\n return dayjs(value, DateFormatValues.YYYY_MM_DD).format(DateFormatValues.YYYY_MM_DD) === value;\n }\n return false;\n };\n\n public formatDateToSend(value: string) {\n return dayjs(value).format(DateFormatValues.YYYY_MM_DD);\n }\n\n public formatDateToReceive(value: string) {\n // timezoneSettings\nreturn value;\n // return !this.isEmpty(this.displayDateFormat) ? dayjs.tz(value, \"America/Toronto\").format(this.displayDateFormat + \" HH:mm:ssZ\") : value;\n }\n\n public isDecimalField(body: any, key: string): boolean {\n return this.collectionOfDecimalFields.some(item => {\n if (item == key) {\n const value = body[key];\n if (value === null || value === undefined || typeof value === 'object') {\n return false;\n }\n return true;\n }\n });\n };\n\n private exponencyBy(value: number): number {\n return value >= 0 ? 10**value : null;\n }\n\n public formatDecimalNumberToSend(value: number): number {\n return Number((value * this.exponencyBy(Number(this.decimalPlaces))).toFixed());\n }\n\n public formatDecimalNumberToReceive(value: number): string {\n return (Number(value)).toFixed(Number(this.decimalPlaces));\n }\n\n public formatDecimalNumberToReceiveInline(value: number): number {\n return Number((value / this.exponencyBy(Number(this.decimalPlaces))));\n }\n\n public iterateBody(body: any, validation: any, action: any) {\n if (body === null || body === undefined || typeof body !== 'object') {\n return body;\n }\n\n for (const key of Object.keys(body)) {\n const value = body[key];\n if (validation(body, key)) {\n body[key] = action(value);\n } else if (typeof value === 'object') {\n this.iterateBody(value, validation, action);\n }\n }\n return body;\n }\n\n isOverdueDate(dateOrigin) {\n const invoiceDateDue = dayjs(dateOrigin);\n const today = dayjs();\n return invoiceDateDue.isBefore(today);\n }\n\n findVariant(options, collectionOfVariants): any {\n let filteredCollection = [];\n filteredCollection = collectionOfVariants.filter(({option_values}) => {\n return option_values.every(ov => {\n return options.some(o => o.value_id === ov.id)\n });\n });\n console.log('@@@ findVariant array', filteredCollection)\n console.log('@@@ findVariant', filteredCollection.length > 0 ? filteredCollection[0] : 'no hay variante')\n return filteredCollection.length > 0 ? filteredCollection[0] : null;\n }\n\n findOptionVariant(options, collectionOfOptions): Array {\n let concatedCollection = [];\n collectionOfOptions.forEach((variant)=> {\n const value = variant.values;\n if(value.length > 0) {\n value.forEach((item) => {\n concatedCollection.push(item);\n })\n }\n });\n\n let filteredCollection = [];\n filteredCollection = concatedCollection.filter((variantValue)=>{return options.some((optionValue)=>{ return optionValue.value_id === variantValue.id }) });\n return filteredCollection.length > 0 ? filteredCollection : null;\n }\n\n convertToUtcNoOffset(date, time?: any, timezoneOffset?: any) {\n let dateDayJs = dayjs(date).utcOffset(timezoneOffset).set('hour', time)\n dateDayJs = dateDayJs.utcOffset(0)\n return dayjs(dateDayJs).format()\n }\n\n dhm(ms) {\n const oneSecMs = 1000;\n const oneMinutesMs = 60 * 1000;\n const oneHourMs = 60 * 60 * 1000;\n const oneDayMs = 24 * 60 * 60 * 1000;\n\n const days = Math.floor(ms / oneDayMs);\n const daysms = ms % oneDayMs;\n const hours = Math.floor(daysms / oneHourMs);\n const hoursms = ms % oneHourMs;\n const minutes = Math.floor(hoursms / oneMinutesMs);\n const minutesms = ms % oneMinutesMs;\n\n const sec = Math.floor(minutesms / oneSecMs);\n\n if (!days && !hours && !minutes && !sec) {\n return { completed: true };\n }\n\n if (sec < 0) {\n return null;\n }\n\n return { days, hours, minutes, sec };\n }\n\n dayValidator(monthControl: AbstractControl): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const monthValue = monthControl.value;\n const dayValue = control.value;\n const currentYear = new Date().getFullYear();\n const isLeapYear = (currentYear % 4 === 0 && currentYear % 100 !== 0) || currentYear % 400 === 0;\n\n if (monthValue === '2') {\n if (isLeapYear && (dayValue < 1 || dayValue > 29)) {\n return { invalidDayForFebruary: true };\n } else if (!isLeapYear && (dayValue < 1 || dayValue > 28)) {\n return { invalidDayForFebruary: true };\n }\n } else if (\n (monthValue === '4' || monthValue === '6' || monthValue === '9' || monthValue === '11') &&\n (dayValue < 1 || dayValue > 30)\n ) {\n return { invalidDayFor30DaysMonth: true };\n } else if (dayValue < 1 || dayValue > 31) {\n return { invalidDay: true };\n }\n\n return null; // Return null if the day is valid\n };\n }\n}\n","//angular\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { AuthService } from '../_core/services/auth.service';\n//app\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n\n constructor(\n public _auth: AuthService,\n public _router: Router\n ) {\n console.log(`auth.guard.ts was loaded.`)\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (!this._auth.isAuthenticated()) {\n this._router.navigate(['/login']);\n return false;\n\n } else {\n \n const userRole = this._auth.getRole();\n\n // check if route is restricted by role\n if (route.data.roles && route.data.roles.indexOf(userRole) === -1) {\n // role not authorised so redirect to switch page\n this._router.navigate(['/login/switch']);\n return false;\n }\n\n // authorised so return true\n return true;\n }\n }\n\n}\n","//angular\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { AuthService } from '../_core/services/auth.service';\n//app\n\n@Injectable()\nexport class LoggedInGuard implements CanActivate {\n\n constructor(\n public _auth: AuthService,\n public _router: Router\n ) {\n console.log(`login.guard.ts was loaded.`)\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n debugger\n if (this._auth.isAuthenticated()) {\n this._router.navigate(['/main/dashboard']);\n return false;\n\n } else {\n // authorised so return true\n return true;\n }\n }\n\n}\n","import { animateChild, trigger, state, animate, transition, style, keyframes, query, stagger } from '@angular/animations';\nimport { HoverState, ToggleState, VisibleState } from 'src/app/app.data';\n\nconst ShakeAnimation = [\n\tstyle({ transform: 'rotate(0)' }),\n\tanimate('0.1s', style({ transform: 'rotate(2deg)' })),\n\tanimate('0.1s', style({ transform: 'rotate(-2deg)' })),\n\tanimate('0.1s', style({ transform: 'rotate(2deg)' })),\n\tanimate('0.1s', style({ transform: 'rotate(0)' })),\n];\n\nconst fadeIn = [\n\tstyle({ opacity: '0' }),\n\tanimate('0.33s', style({ opacity: '1' })),\n];\n\nconst fadeOut = [\n\tstyle({ opacity: '1' }),\n\tanimate('0.33s', style({ opacity: '0' })),\n];\n\n\nexport const loadingAnimation = trigger('loadingAnimation',\n[\n state('isLoaded', style({\n 'max-height': '0',\n 'overflow': 'hidden'\n })),\n state('isLoading', style({\n 'max-height': '2048px',\n 'overflow': 'auto'\n })),\n transition('isLoaded <=> isLoading', animate('.3s ease-in-out')),\n]);\nexport const toggleLoader = trigger('toggleLoader',\n[\n state('isLoaded', style({\n 'opacity': '1',\n 'transform': 'translateY(0)'\n })),\n state('isLoading', style({\n 'opacity': '0',\n 'transform': 'translateY(20px)'\n })),\n transition('isLoaded <=> isLoading', animate('.3s ease-in-out')),\n]);\nexport const logoAnimation = trigger('logoAnimation',\n[\n transition(`${ToggleState.on} => ${ToggleState.off}`, [\n query('#logo-sidenav .rect-1',\n style({ opacity: 0 }), { optional: true }\n ),\n query('#logo-sidenav .rect-1',\n stagger('.3s', [\n animate('.3s ease-in-out',\n keyframes([\n style({ opacity: 0, offset: 0 }),\n style({ opacity: .75, offset: 0.75 }),\n style({ opacity: 1, offset: 1.0 })\n ]))\n ]), { optional: true }\n ),\n ]),\n]);\nexport const toggleButton = trigger('toggleButton',\n[\n state(ToggleState.on, style({\n 'border-radius': '24px',\n 'width': '48px'\n })),\n state(ToggleState.off, style({\n 'border-radius': '24px',\n 'width': '120px'\n })),\n transition(`${ToggleState.on} <=> ${ToggleState.off}`, animate('.3s ease-in-out')),\n]);\nexport const toggleLabel = trigger('toggleLabel',\n[\n state(ToggleState.on, style({\n 'opacity': '0'\n })),\n state(ToggleState.off, style({\n 'opacity': '1'\n })),\n transition(`${ToggleState.on} <=> ${ToggleState.off}`, animate('.3s ease-in-out')),\n]);\nexport const toggleLink = trigger('toggleLink',\n[\n state(ToggleState.on, style({\n 'width': '48px'\n })),\n state(ToggleState.off, style({\n 'width': '100%'\n })),\n transition(`${ToggleState.on} <=> ${ToggleState.off}`, animate('.3s ease-in-out')),\n]);\nexport const toggleGridColumn = trigger('onToggleGridColumnStatusChange',\n[\n state(VisibleState.isHidden, style({\n 'max-width': '0',\n 'opacity': '0',\n 'overflow': 'hidden',\n 'pointer-events': 'none',\n })),\n state(VisibleState.isVisible, style({\n 'max-width': '2048px',\n 'opacity': '1',\n 'overflow': 'auto',\n 'pointer-events': 'auto'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\n\nexport const messageAnimation = trigger('messageAnimation',\n[\n state('hidden', style({\n 'max-height': '0',\n 'overflow': 'hidden'\n })),\n state('visible', style({\n 'max-height': '2048px',\n 'overflow': 'auto'\n })),\n transition('hidden <=> visible', animate('1s ease-in-out')),\n]);\nexport const panelAnimation = trigger('panelAnimation',\n[\n state(VisibleState.isVisible, style({\n 'max-height': '2048px',\n 'opacity': '1',\n 'overflow': 'auto',\n })),\n state(VisibleState.isHidden, style({\n 'max-height': '0',\n 'opacity': '0',\n 'overflow': 'hidden',\n 'pointer-events': 'none'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.3s ease-in-out')),\n]);\nexport const pageAnimation = trigger('pageAnimation',\n[\n state('isLoaded', style({\n 'opacity': '1',\n 'transform': 'translateY(0)'\n })),\n state('isLoading', style({\n 'opacity': '0',\n 'transform': 'translateY(20px)'\n })),\n transition('isLoaded <=> isLoading', animate('.3s ease-in-out')),\n]);\nexport const sandwichAnimation = trigger('sandwichAnimation',\n[\n state('opened', style({\n 'opacity': '0',\n 'pointer-events': 'none'\n })),\n state('closed', style({\n 'opacity': '1',\n 'pointer-events': 'auto'\n })),\n transition('opened <=> closed', animate('.3s ease-in-out')),\n]);\nexport const spanelAccountAnimation = trigger('spanelAccountAnimation',\n[\n state('closed', style({\n 'transform': 'translateX(100%)',\n 'pointer-events': 'none'\n })),\n state('opened', style({\n 'transform': 'translateX(0%)',\n 'pointer-events': 'auto'\n })),\n transition('closed <=> opened', animate('.3s ease-in-out')),\n]);\nexport const sidePanelAnimation = trigger('onSidePanelStatusChange',\n[\n state(VisibleState.isVisible, style({\n 'opacity': '1',\n 'pointer-events': 'auto',\n 'transform': 'translateX(0)',\n 'visibility': 'visible'\n })),\n state(VisibleState.isHidden, style({\n 'opacity': '0',\n 'pointer-events': 'none',\n 'transform': 'translateX(1em)',\n 'visibility': 'hidden'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\nexport const panelPreferences = trigger('onPanelStatusChange',\n[\n state(VisibleState.isVisible, style({\n 'opacity': '1',\n 'visibility': 'visible',\n 'pointer-events': 'auto',\n 'transform': 'translateY(0%)'\n })),\n state(VisibleState.isHidden, style({\n 'opacity': '0',\n 'visibility': 'hidden',\n 'pointer-events': 'none',\n 'transform': 'translateY(5%)'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\nexport const panelFadeInOut = trigger('onPanelStatusChange',\n[\n state(VisibleState.isVisible, style({\n 'opacity': '1',\n 'visibility': 'visible',\n 'pointer-events': 'auto',\n 'transform': 'translateX(0%)'\n })),\n state(VisibleState.isHidden, style({\n 'opacity': '0',\n 'visibility': 'hidden',\n 'pointer-events': 'none',\n 'transform': 'translateX(-5%)'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\nexport const panelSearchLoader = trigger('onSearching',\n[\n state('isLoaded', style({\n 'opacity': '0',\n })),\n state('isLoading', style({\n 'opacity': '1'\n })),\n transition('0 <=> 1', animate('.45s ease-in-out')),\n]);\nexport const SpinnerAnimation = trigger('onLoaderStatusChange',\n[\n state('isLoaded', style({\n 'opacity': '0',\n 'pointer-events': 'none'\n })),\n state('isLoading', style({\n 'opacity': '1',\n 'pointer-events': 'auto'\n })),\n transition('isLoaded <=> isLoading', animate('.3s ease-in-out')),\n]);\nexport const PageAnimation = trigger('onPageStatusChange',\n[\n state('isLoaded', style({\n 'opacity': '1',\n 'pointer-events': 'auto',\n 'transform': 'translateY(0)'\n })),\n state('isLoading', style({\n 'opacity': '0',\n 'pointer-events': 'none',\n 'transform': 'translateY(20px)'\n })),\n transition('isLoaded <=> isLoading', animate('.3s ease-in-out')),\n]);\nexport const navMobileAnimation = trigger('navMobileAnimation',\n[\n state('0', style({\n 'opacity': '0',\n 'overflow-x': 'hidden',\n 'overflow-y': 'hidden',\n 'pointer-events': 'none',\n 'transform': 'scale(1.1)',\n 'z-index': '-1',\n })),\n state('1', style({\n 'opacity': '1',\n 'overflow-x': 'hidden',\n 'overflow-y': 'auto',\n 'pointer-events': 'auto',\n 'transform': 'scale(1)',\n 'z-index': '99',\n })),\n transition('0 <=> 1', animate('.3s ease-in-out')),\n]);\nexport const bodyLoader = trigger('bodyLoader',\n[\n state('0', style({\n opacity: 0\n })),\n state('1', style({\n opacity: 1\n })),\n transition('0 <=> 1', animate('.45s ease-in-out')),\n]);\nexport const bodyIsLoading = trigger('bodyIsLoading',\n[\n state('0', style({\n 'opacity': '1'\n })),\n state('1', style({\n 'opacity': '0'\n })),\n transition('0 <=> 1', animate('.75s ease-in-out')),\n]);\nexport const messageDisplay = trigger('messageDisplay',\n[\n state('0', style({\n 'height': '*',\n 'max-height': '0',\n 'opacity': '0',\n 'transform': 'translateY(25px)'\n })),\n state('1', style({\n 'height': 'auto',\n 'max-height': '999px',\n 'opacity': '1',\n 'transform': 'translateY(0)'\n })),\n transition('0 <=> 1', animate('.45s ease-in-out')),\n]);\nexport const accountInfoIsLoading = trigger('accountInfoIsLoading',\n[\n state('0', style({\n 'height': '128px',\n })),\n state('1', style({\n 'height': '64px',\n })),\n transition('0 <=> 1', animate('.33s ease-in-out')),\n]);\nexport const pageLoader = trigger('pageLoader',\n[\n state('0', style({\n 'opacity': '0'\n })),\n state('1', style({\n 'opacity': '1'\n })),\n transition('0 <=> 1', animate('.45s ease-in-out')),\n]);\nexport const listAnimate = trigger('list',\n[\n transition('* => *', [\n query(':enter', style({ opacity: 0 }), { optional: true }),\n query(':enter', stagger('.3s', [\n animate('.3s ease-in-out', keyframes([\n style({ opacity: 0, transform: 'translateY(-10%)', offset: 0 }),\n style({ opacity: .75, transform: 'translateY(0)', offset: 0.75 }),\n style({ opacity: 1, transform: 'translateY(0)', offset: 1.0 })]))]), { optional: true }),\n query(':leave', stagger('.3s', [\n animate('.3s ease-in', keyframes([\n style({ opacity: 1, transform: 'translateY(0)', offset: 0 }),\n style({ opacity: .75, transform: 'translateY(-10%)', offset: 0.75 }),\n style({ opacity: 0, transform: 'translateY(-10%)', offset: 1.0 })]))]), { optional: true })\n ])\n]);\nexport const listItemAnimate = trigger('items',\n[\n transition('* => void', [\n style({ transform: 'translateY(5%)', opacity: 1 }),\n animate('.3s ease-in-out', style({ transform: 'translateY(0)', opacity: 0 }))\n ]),\n transition('void => *', [\n style({ transform: 'translateY(5%)', opacity: 0 }),\n animate('.33s ease-in-out', style({ transform: 'translateY(0px)', opacity: 1 }))\n ]),\n]);\nexport const smoothAppearance = trigger('smoothAppearance',\n[\n transition(':enter', [\n query('.smooth--enter', style({ opacity: 0}), { optional: true }),\n query('.smooth--enter', stagger(100, [\n animate('.33s ease-in', keyframes([\n style({ opacity: 0, offset: 0 }),\n style({ opacity: 1, offset: 1 }),\n ]))\n ]), { optional: true })\n ])\n])\nexport const systemMessages = trigger('systemMessages',\n[\n state(VisibleState.isHidden, style({\n 'max-height': '0'\n })),\n state(VisibleState.isVisible, style({\n 'max-height': '2048px'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('1s ease-in-out')),\n]);\nexport const showWhenLoaded = trigger('showWhenLoaded',\n[\n state(VisibleState.isHidden, style({ opacity: 0 })),\n state(VisibleState.isVisible, style({ opacity: 1 })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\nexport const loaderAnimation = trigger('onLoadingStatusChange',\n[\n state('isLoading', style({\n 'opacity': '1',\n 'max-height': '2048px',\n 'overflow': 'auto',\n 'pointer-events': 'auto'\n })),\n state('isLoaded', style({\n 'opacity': '0',\n 'max-height': '0px',\n 'overflow': 'hidden',\n 'pointer-events': 'none'\n })),\n transition('isLoading <=> isLoaded', animate('.45s ease-in-out')),\n]);\nexport const rowAnimation = trigger('onRowStatusChange',\n[\n state(VisibleState.isHidden, style({\n 'opacity': '0',\n 'max-height': '0',\n 'min-height': '0',\n 'overflow': 'hidden',\n 'pointer-events': 'none',\n 'transform': 'translateY(1em)'\n })),\n state(VisibleState.isVisible, style({\n 'opacity': '1',\n 'max-height': '4096px',\n 'min-height': '64.5px',\n 'pointer-events': 'auto',\n 'transform': 'translateY(0)'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\nexport const sectionAnimation = trigger('onSectionStatusChange',\n [\n state(VisibleState.isHidden, style({\n 'max-height': '0',\n 'opacity': '0',\n 'overflow': 'hidden',\n 'pointer-events': 'none',\n 'transform': 'translateY(1em)'\n })),\n state(VisibleState.isVisible, style({\n 'max-height': '4096px',\n 'opacity': '1',\n 'overflow': 'auto',\n 'pointer-events': 'auto',\n 'transform': 'translateY(0)'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n ]);\nexport const colAnimation = trigger('onColumnStatusChange',\n[\n state(VisibleState.isHidden, style({\n 'max-width': '0',\n 'min-width': '0',\n 'opacity': '0',\n 'overflow': 'hidden',\n 'pointer-events': 'none',\n })),\n state(VisibleState.isVisible, style({\n 'opacity': '1',\n 'pointer-events': 'auto'\n })),\n transition(`${VisibleState.isHidden} <=> ${VisibleState.isVisible}`, animate('.33s ease-in-out')),\n]);\nexport const skeletonAnimation = trigger('skeletonAnimation', [\n transition(':enter', [\n style({ height: 0, opacity: 0 }),\n animate('.33s ease-out', style({ opacity: 1 }))\n ]),\n transition(':leave', [\n style({ height: 'inherit', opacity: 1 }),\n animate('.33s ease-in', style({ opacity: 0 }))\n ])\n])\nexport const skeletonListAnimation = trigger('skeletonListAnimation', [\n transition(':enter', [\n style({\n 'opacity': '0',\n 'max-height': '0',\n 'min-height': '0',\n 'overflow': 'hidden',\n 'pointer-events': 'none',\n 'transform': 'translateX(16px)'\n }),\n animate('.33s ease-out', style({ 'transform': 'translateX(0)' }))\n ]),\n transition(':leave', [\n style({\n 'opacity': '1',\n 'max-height': '4096px',\n 'min-height': '64.5px',\n 'overflow': 'auto',\n 'pointer-events': 'auto',\n 'transform': 'translateX(0)'\n }),\n animate('.33s ease-in', style({ 'transform': 'translateX(0px)' }))\n ])\n]);\nexport const fadeInAnimation = trigger('fadeInAnimation', [\n transition('* => *', [\n query(\n ':enter',\n [style({ opacity: 0 }), animate('1s', style({ opacity: 1 }))],\n { optional: true }\n )\n ])\n]);\n","import { slideInRightAnimation } from './slide.animations';\nimport {\n accountInfoIsLoading,\n bodyIsLoading,\n bodyLoader,\n colAnimation,\n listAnimate,\n listItemAnimate,\n loadingAnimation,\n logoAnimation,\n messageAnimation,\n messageDisplay,\n navMobileAnimation,\n panelAnimation,\n panelFadeInOut,\n pageAnimation,\n panelPreferences,\n panelSearchLoader,\n pageLoader,\n toggleLoader,\n loaderAnimation,\n rowAnimation,\n sandwichAnimation,\n sectionAnimation,\n showWhenLoaded,\n sidePanelAnimation,\n skeletonAnimation,\n skeletonListAnimation,\n smoothAppearance,\n spanelAccountAnimation,\n SpinnerAnimation,\n systemMessages,\n toggleButton,\n toggleGridColumn,\n toggleLink,\n toggleLabel\n } from './common.animations';\n\nexport const AppAnimations = [\n accountInfoIsLoading,\n bodyIsLoading,\n bodyLoader,\n colAnimation,\n listAnimate,\n listItemAnimate,\n loadingAnimation,\n loaderAnimation,\n logoAnimation,\n messageAnimation,\n messageDisplay,\n navMobileAnimation,\n pageLoader,\n panelAnimation,\n panelFadeInOut,\n panelPreferences,\n panelSearchLoader,\n pageAnimation,\n rowAnimation,\n sandwichAnimation,\n sectionAnimation,\n showWhenLoaded,\n sidePanelAnimation,\n slideInRightAnimation,\n smoothAppearance,\n spanelAccountAnimation,\n SpinnerAnimation,\n systemMessages,\n toggleButton,\n toggleGridColumn,\n toggleLabel,\n toggleLink,\n toggleLoader,\n skeletonAnimation,\n skeletonListAnimation\n]\n\nexport * from './common.animations';\nexport * from './slide.animations';\n","import { trigger, state, animate, transition, style, keyframes, query, stagger } from '@angular/animations';\n\nexport const slideInRightAnimation = trigger('slideInRightAnimation',\n[\n transition(':enter', [\n query('.slide--right', style({ opacity: 0, transform: 'translateX(8px)' }), { optional: true }),\n query('.slide--right', stagger(100, [\n animate('.33s ease-in', keyframes([\n style({ opacity: 0, transform: 'translateX(8px)', offset: 0 }),\n style({ opacity: 1, transform: 'translateX(0)', offset: 1 }),\n ]))\n ]), { optional: true })\n ])\n]);\n","//angular\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\n//app component\nimport { ButtonSecondaryComponent } from './elements/button/button-secondary/button-secondary.component';\nimport { CardComponent } from './elements/card/card.component';\nimport { DialogComponent } from './dialog/dialog.component';\nimport { DialogPaymentFormComponent } from './payment-form/dialog-payment-form/dialog-payment-form.component';\nimport { DialogShippingAddressFormComponent } from './dialog/dialog-shipping-address-form/dialog-shipping-address-form.component';\nimport { DialogUserIdleComponent } from './idle-user/dialog-user-idle.component';\nimport { ErrorMessagesComponent } from './error-messages/error-messages.component';\nimport { FormatTimePipe, FormatDatePipe, FormatDateTimePipe, FormatFullTime, SetTimezonePipe } from './pipes/dateTime.pipe';\nimport { PageLoaderComponent } from './page-loader/page-loader.component';\nimport { CreditCardComponent } from './elements/credit-card/credit-card.component';\nimport { PaymentCardComponent } from './elements/payment-card/payment-card.component';\nimport { PaymentFormComponent } from './payment-form/payment-form.component';\nimport { GridChargesComponent } from './elements/app-grid-charges/app-grid-charges.component';\nimport { AccountShippingAddressComponent } from './elements/account-shipping-address/account-shipping-address.component';\nimport { ShippingAddressComponent } from './elements/shipping-address/shipping-address.component';\nimport { ShippingMethodComponent } from './elements/shipping-method/shipping-method.component';\nimport { SkeletonLoaderComponent } from './skeleton-loader/skeleton-loader.component';\nimport { SkeletonLoaderFormComponent } from './skeleton-loader/skeleton-loader-form/skeleton-loader-form.component';\nimport { SkeletonLoaderGatewayComponent } from './skeleton-loader/skeleton-loader-gateway/skeleton-loader-gateway.component';\nimport { SkeletonLoaderGridHeaderComponent } from './skeleton-loader/skeleton-loader-grid/skeleton-loader-grid-header/skeleton-loader-grid-header.component';\nimport { SkeletonLoaderGridBodyComponent } from './skeleton-loader/skeleton-loader-grid/skeleton-loader-grid-body/skeleton-loader-grid-body.component';\n\nimport { FormControlErrorMessageComponent } from './error-messages/form-control-error-message.component';\n\n//app module\nimport { AppMaterialModule } from '../app.material';\n\nimport {ValidatorService} from './validators/validator.service';\n\nimport { NgxCleaveDirectiveModule} from 'ngx-cleave-directive';\nimport { ShippingProtectionComponent } from './dialog/shipping-protection/shipping-protection.component';\nimport { MatSelectSearchModule } from './elements/mat-select-search/mat-select-search.module';\n\nconst COMPONENTS: any[] = [\n AccountShippingAddressComponent,\n ButtonSecondaryComponent,\n CardComponent,\n CreditCardComponent,\n DialogPaymentFormComponent,\n DialogComponent,\n DialogShippingAddressFormComponent,\n PageLoaderComponent,\n DialogUserIdleComponent,\n ErrorMessagesComponent,\n FormatDatePipe,\n FormatFullTime,\n FormatDateTimePipe,\n SetTimezonePipe,\n FormatTimePipe,\n PaymentCardComponent,\n PaymentFormComponent,\n GridChargesComponent,\n ShippingAddressComponent,\n ShippingMethodComponent,\n SkeletonLoaderComponent,\n SkeletonLoaderFormComponent,\n SkeletonLoaderGatewayComponent,\n SkeletonLoaderGridHeaderComponent,\n SkeletonLoaderGridBodyComponent,\n\n FormControlErrorMessageComponent\n]\n\nconst MODULES: any[] = [\n AppMaterialModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgxCleaveDirectiveModule,\n MatSelectSearchModule\n]\n\nconst PROVIDERS: any[] = [\n ValidatorService\n]\n\n@NgModule({\n exports: [ ...COMPONENTS, MatSelectSearchModule ],\n declarations: [ COMPONENTS, ShippingProtectionComponent ],\n imports: [ MODULES ],\n providers: [ PROVIDERS ]\n})\n\nexport class AppSharedModule { }\n","//angular\nimport { Component, Inject, ViewChild, OnDestroy } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\n//app\nimport { AppAnimations } from 'src/app/_shared/animations';\nimport { LoaderService } from 'src/app/_core/services';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\nimport { AccountShippingAddressComponent } from '../../elements/account-shipping-address/account-shipping-address.component';\nimport { responseCode } from 'src/app/app.data';\nimport { KeyName } from 'src/app/app.keynames';\n\n@Component({\n animations: [AppAnimations],\n selector: 'dialog-shipping-address-form',\n templateUrl: './dialog-shipping-address-form.component.html'\n})\nexport class DialogShippingAddressFormComponent implements OnDestroy {\n\n bodyParams: any = {};\n /** It's the default country option when the new address is selected */\n defaultCountryAlpha3Code: string = null;\n formSubmitted: boolean = false;\n\n @ViewChild(AccountShippingAddressComponent) _accountShippingAddress: AccountShippingAddressComponent;\n \n private subs = new Unsubscriber();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public _data: any,\n private _dialogRef: MatDialogRef,\n private _iconRegistry: MatIconRegistry,\n private _loader: LoaderService,\n private _sanitizer: DomSanitizer\n ) { \n this._iconRegistry.addSvgIcon('ico-close', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-01.svg'));\n this.defaultCountryAlpha3Code = 'USA';\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n onClose() {\n this._dialogRef.close();\n }\n\n onSubmit(): void {\n\n this.formSubmitted = !this.formSubmitted;\n this._loader.startPageLoader();\n this._accountShippingAddress.onSubmit();\n }\n\n onGetDetailsBodyParams(_bodyParams: any) {\n this.formSubmitted = !this.formSubmitted;\n this._loader.stopPageLoader();\n if(_bodyParams.code == responseCode.successCode || _bodyParams.code == responseCode.successCodeWithError) {\n this._dialogRef.close({code: KeyName.create_customer_address, checkStatus:_bodyParams.code, bodyParams: _bodyParams.body, isStored: _bodyParams.isStored});\n }\n }\n\n}\n","\n \n \n\n\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n\n\n\n
\n \n
\n
\n\n\n","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { AppAnimations } from 'src/app/_shared/animations';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n animations: [AppAnimations],\r\n host: { '[@smoothAppearance]': '', '[@slideInRightAnimation]': '' }\r\n})\r\nexport class DialogComponent {\r\n @Input() dialogHead: TemplateRef;\r\n @Input() dialogBody: TemplateRef;\r\n @Input() dialogNav: TemplateRef;\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\nDialog Head...\r\nDialog Body...\r\nDialog Nav...\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { LoaderService } from 'src/app/_core/services';\n\n@Component({\n selector: 'app-shipping-protection',\n templateUrl: './shipping-protection.component.html',\n styleUrls: ['./shipping-protection.component.scss']\n})\nexport class ShippingProtectionComponent {\n\n constructor(\n private _dialogRef: MatDialogRef,\n private _loader: LoaderService\n\n ) { }\n\n onSubmit():void {\n // Since we have only one shipping protection i am closing with boolean instead of value\n this._dialogRef.close(true);\n this._loader.startPageLoader();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n \n
\n Safer Shipping - Powered by\n
\n \n
\n \"...\"\n
Package Protection Against
\n
\n
\n Loss\n
\n
\n Damage\n
\n
\n Porch Piracy\n
\n
\n
\n This option protects your order against loss, damage, and perch pirated theft. Leave worry aside with our quick and easy claim submitting process\n
\n
\n \n Shipping protection is recommended/provided by UPS Capital Insurance Agency, Inc.\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AddressTypeValues, responseCode } from 'src/app/app.data';\nimport { KeyName } from 'src/app/app.keynames';\nimport { SharedCustomerService, SharedGlobalService } from 'src/app/_core/services/api';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { Country, POST_AddressInterface, RestResponse } from '../../models';\nimport { CustomerAddressBook } from '../../models/customer.model';\nimport { Unsubscriber } from '../../unsubscriber/unsubscriber';\nimport { ValidatorService } from '../../validators/validator.service';\n\n@Component({\n selector: 'app-account-shipping-address',\n templateUrl: './account-shipping-address.component.html'\n})\nexport class AccountShippingAddressComponent implements OnInit, OnDestroy {\n\n form: FormGroup;\n collectionOfCountry: Array = [];\n /** indicates If We want to save the address */\n @Input() saveNewShippingAddress: boolean = false;\n/** accountId to asociate with the address */\n @Input() customerId: number = null;\n /** It's the default country option when the new address is selected */\n @Input() defaultCountryAlpha3Code: string = null;\n /** It is used to indicate if the 'save button' is disabled */\n @Input() saveAddressDisabled?: boolean = true;\n\n @Output() _emitBodyParams: EventEmitter = new EventEmitter();\n private subs = new Unsubscriber();\n\n constructor(\n private _fb: FormBuilder,\n public _meta: MetaService,\n private sharedCustomerService: SharedCustomerService,\n private sharedGlobalService: SharedGlobalService,\n private _validatorService: ValidatorService,\n ) { }\n\n ngOnInit(): void {\n this.setUpForm();\n //Get list of countries.\n this.subs.addSub = this.sharedGlobalService.getCountries()\n .subscribe(\n (res: RestResponse) => {\n this.collectionOfCountry = >res.data;\n\n if(this.defaultCountryAlpha3Code){\n const defaultValue = this.collectionOfCountry.find(country => country.alpha3Code == this.defaultCountryAlpha3Code);\n this.form.get('countryId').setValue(defaultValue.id);\n }\n },\n (err: RestResponse) => {\n this._meta.showNotification(err);\n }\n );\n\n this.form.get('saveNewShippingAddress').setValue(this.saveNewShippingAddress);\n }\n\n setUpForm() {\n this.form = this._fb.group({\n saveNewShippingAddress: false,\n city: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\n contactName: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\n countryId: ['', [Validators.required]],\n id: [''],\n street1: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\n street2: ['', [this._validatorService.emptySpace, Validators.minLength(1), Validators.maxLength(255)]],\n state: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(2), Validators.maxLength(255)]],\n zip: [null, [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n onSubmit() {\n //Check if form is valid.\n if (this.form.invalid) {\n\n this.form.markAllAsTouched();\n this.form.markAsDirty();\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, KeyName.form_invalid);\n\n let bodyParamsEmit = { code: KeyName.request_error, body: 'form invalid'};\n this._emitBodyParams.emit(bodyParamsEmit);\n return;\n }\n\n const attrCustomerAddress = this.form.value;\n\n const saveAddress = this.form.get('saveNewShippingAddress').value;\n\n if(saveAddress) {\n\n let address: POST_AddressInterface ={\n contactName: attrCustomerAddress.contactName,\n countryId: attrCustomerAddress.countryId,\n city: attrCustomerAddress.city,\n state: attrCustomerAddress.state,\n street1: attrCustomerAddress.street1,\n street2: attrCustomerAddress.street2,\n type: AddressTypeValues.residential,\n zip: attrCustomerAddress.zip\n }\n\n this.subs.addSub = this.sharedCustomerService.createAddressBookByCustomerId(this.customerId, address).subscribe(\n (res: any) => {\n\n let bodyParams = {\n code: responseCode.successCodeWithError,\n body: res.data,\n isStored: true};\n\n this._emitBodyParams.emit(bodyParams);\n\n this._meta.showNotification(res);\n },\n (err: RestResponse) => {\n this._meta.showNotification(err);\n let bodyParams = {\n code: KeyName.request_error ,\n body: err};\n this._emitBodyParams.emit(bodyParams);\n }\n );\n\n\n } else {\n\n const countryId = this.form.get('countryId').value,\n countrySelected = this.collectionOfCountry.find(country => country.id === countryId);\n\n let addressNoStored = new CustomerAddressBook();\n\n addressNoStored.contactName = attrCustomerAddress.contactName;\n addressNoStored.street1 = attrCustomerAddress.street1;\n addressNoStored.street2 = attrCustomerAddress.street2;\n addressNoStored.city = attrCustomerAddress.city;\n addressNoStored.state = attrCustomerAddress.state;\n addressNoStored.zip = attrCustomerAddress.zip;\n addressNoStored.country = countrySelected;\n\n let bodyParams = {\n code: responseCode.successCode,\n body: addressNoStored,\n isStored: false};\n\n this._emitBodyParams.emit(bodyParams);\n\n }\n\n }\n\n}\n","
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n {{ country.name }}\n \n \n \n
\n
\n Save this address in my address book.\n
\n
\n
\n","//angular\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AppAnimations } from '../../animations';\n\n//app\nimport { BillCycleTypeValues, BillingPeriodsValues, ChargeModelValues, ChargeType, FrequencyUnitValues, GridColumnsSubscriptionRatePlans, RatePlanStatus, SubscriptionRatePlanChargeStatus, SubscriptionRatePlanChargeStatusActions, VisibleState } from 'src/app/app.data';\nimport { CompanyCurrency, ExternalRatePlanCharge, New_SubscriptionRatePlanChargeModel, RestResponse } from '../../models';\nimport { LoaderService, GridService, SkeletonLoaderService, UtilsService } from 'src/app/_core/services';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { DialogConfirmationComponent } from 'src/app/modules/main/_shared/dialog/confirmation/confirmation.component';\nimport { KeyName } from 'src/app/app.keynames';\nimport { DialogLinkRateplanChargeComponent } from 'src/app/modules/main/_shared/link-rateplan-charge/link-rateplan-charge.component';\nimport { SubscriptionService } from 'src/app/modules/main/subscriptions/_services/api/subscription.service';\n\n@Component({\n animations: [AppAnimations],\n selector: 'app-grid-charges',\n templateUrl: './app-grid-charges.component.html'\n})\nexport class GridChargesComponent {\n\n @Input() _billCycleTypeValues = BillCycleTypeValues;\n @Input() _billingPeriod = BillingPeriodsValues;\n @Input() _chargeModelValues = ChargeModelValues;\n @Input() _chargeType = ChargeType;\n @Input() _frequencyUnitValues = FrequencyUnitValues;\n @Input() gridCols = GridColumnsSubscriptionRatePlans;\n @Input() _ratePlanStatus = RatePlanStatus;\n @Input() _ratePlanChargeStatus = SubscriptionRatePlanChargeStatus;\n @Input() _visibleState = VisibleState;\n @Input() _subscriptionRatePlanChargeStatusActions = SubscriptionRatePlanChargeStatusActions;\n @Input() _formatDecimalNumberToReceive = this.utils.formatDecimalNumberToReceive.bind(this.utils);\n\n subscriptionCompanyCurrency: CompanyCurrency = new CompanyCurrency;\n dialogConfirmation: MatDialogRef;\n\n ratePlanCharge: any;\n\n @Input() collectionOfProductRatePlanCharges: Array = [];\n /** Indicate if Its called from new subscription */\n @Input() isNewSubscription: boolean = false;\n /** Indicate the currency base */\n @Input() currencyBaseSymbol: string = '';\n /** Indicate the currency Iso3 */\n @Input() currencyBaseIso3: string = '';\n /** Indicate if the sales channel section is editable */\n @Input() isSalesChannelsEditable : boolean = false;\n /** Indicate if shows edit action on actions section */\n @Input() showEditAction: boolean = false;\n /** Emmiter used to take edit action (should be implemented on Parent component) */\n @Output() _emitEditAction: EventEmitter = new EventEmitter();\n /** Indicate if shows Delete action on actions section */\n @Input() showDeleteAction: boolean = false;\n /** Emmiter used to take delete action (should be implemented on Parent component) */\n @Output() _emitDeleteAction: EventEmitter = new EventEmitter();\n useSaleChannelData: boolean = false;\n @Input() subscriptionId: number;\n @Input() ratePlanIndex: number;\n\n constructor(\n private iconRegistry: MatIconRegistry,\n private loader: LoaderService,\n public meta: MetaService,\n private sanitizer: DomSanitizer,\n private dialog: MatDialog,\n public grid: GridService,\n public skeleton: SkeletonLoaderService,\n private _dialog: MatDialog,\n private subscriptionService: SubscriptionService,\n private utils: UtilsService,) {\n\n this.iconRegistry.addSvgIcon('ico-arrow-down',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-arrow-down-01.svg'));\n this.iconRegistry.addSvgIcon('ico-channel', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-channels-02.svg'));\n this.iconRegistry.addSvgIcon('ico-charge', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-charge-02.svg'));\n this.iconRegistry.addSvgIcon('ico-checklist', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-checklist-03.svg'));\n this.iconRegistry.addSvgIcon('ico-close',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-03.svg'));\n this.iconRegistry.addSvgIcon('ico-delete', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-delete-02.svg'));\n this.iconRegistry.addSvgIcon('ico-edit', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-edit-02.svg'));\n this.iconRegistry.addSvgIcon('ico-error',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-error-01.svg'));\n this.iconRegistry.addSvgIcon('ico-filter', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-filter-07.svg'));\n this.iconRegistry.addSvgIcon('ico-help',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-question-04.svg'));\n this.iconRegistry.addSvgIcon('ico-invoice',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-invoices-01.svg'));\n this.iconRegistry.addSvgIcon('ico-location',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-location-01.svg'));\n this.iconRegistry.addSvgIcon('ico-plus',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-add-02.svg'));\n this.iconRegistry.addSvgIcon('ico-settings', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-settings-02.svg'));\n this.iconRegistry.addSvgIcon('ico-switch', this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-switch-02.svg'));\n this.iconRegistry.addSvgIcon('ico-unlink',this.sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-unlink-01.svg'));\n }\n\n getCollectionData() {\n return this.collectionOfProductRatePlanCharges;\n }\n\n showDialogEditRatePlanCharge(ratePlanCharge: any, _ratePlanIndex: number) {\n this.ratePlanCharge = ratePlanCharge;\n const bodyParams = {ratePlanCharge, _ratePlanIndex};\n this._emitEditAction.emit(bodyParams);\n }\n\n refreshGridItemData(ratePlanCharge: any) {\n // details\n this.ratePlanCharge.name = ratePlanCharge?.name;\n this.ratePlanCharge.category = ratePlanCharge?.category;\n this.ratePlanCharge.isFreeShipping = ratePlanCharge?.isFreeShipping;\n this.ratePlanCharge.depth = this.utils.formatDecimalNumberToReceive(ratePlanCharge?.depth);\n this.ratePlanCharge.height = this.utils.formatDecimalNumberToReceive(ratePlanCharge?.height);\n this.ratePlanCharge.weight = this.utils.formatDecimalNumberToReceive(ratePlanCharge?.weight);\n this.ratePlanCharge.width = this.utils.formatDecimalNumberToReceive(ratePlanCharge?.width);\n\n // price\n this.ratePlanCharge.chargeTier = ratePlanCharge?.chargeTier;\n this.ratePlanCharge.chargeModel = ratePlanCharge?.chargeModel;\n this.ratePlanCharge.amount = ratePlanCharge?.chargeTier[0]?.price;\n this.ratePlanCharge.taxClass = ratePlanCharge?.taxClass;\n this.ratePlanCharge.taxCode = ratePlanCharge?.taxCode;\n this.ratePlanCharge.taxable = ratePlanCharge?.taxable;\n this.ratePlanCharge.usePriceFromSaleChannel = ratePlanCharge?.usePriceFromSaleChannel;\n\n // schedule\n this.ratePlanCharge.billCycleDay = ratePlanCharge?.billCycleDay;\n this.ratePlanCharge.billCycleType = ratePlanCharge?.billCycleType;\n this.ratePlanCharge.billingPeriod = ratePlanCharge?.billingPeriod;\n this.ratePlanCharge.billingPeriodAlignment = ratePlanCharge?.billingPeriodAlignment;\n this.ratePlanCharge.billingTiming = ratePlanCharge?.billingTiming;\n this.ratePlanCharge.chargeType = ratePlanCharge?.chargeType;\n this.ratePlanCharge.endDateCondition = ratePlanCharge?.endDateCondition;\n this.ratePlanCharge.specificBillingPeriod = ratePlanCharge?.specificBillingPeriod;\n this.ratePlanCharge.upToPeriods = ratePlanCharge?.upToPeriods;\n this.ratePlanCharge.upToPeriodsType = ratePlanCharge?.upToPeriodsType;\n this.ratePlanCharge.weeklyBillCycleDay = ratePlanCharge?.weeklyBillCycleDay;\n this.ratePlanCharge.delayType = ratePlanCharge?.delayType;\n this.ratePlanCharge.delay = ratePlanCharge?.delay;\n this.ratePlanCharge.startingDate = ratePlanCharge?.startingDate;\n\n }\n\n showDialogConfirmationForDeleteCharge(_rateCharge, _index) {\n this.dialogConfirmation = this.dialog.open(DialogConfirmationComponent, {\n panelClass: 'custom-mat-dialog',\n data: {\n keyName: KeyName.remove_charge_inLine,\n charge: _rateCharge,\n word_confirmation: 'DELETE CHARGE'\n }\n });\n this.dialogConfirmation.afterClosed().subscribe((res) => {\n if (res === KeyName.remove_charge_inLine) {\n this._emitDeleteAction.emit(_rateCharge);\n }\n this.loader.stopPageLoader();\n }\n );\n }\n\n showDialogUpdateLinkCharge(ratePlanCharge: New_SubscriptionRatePlanChargeModel, externalRatePlanCharge: ExternalRatePlanCharge, ratePlanIndex: number) {\n const dialogLinkRateplanCharge = this._dialog.open(DialogLinkRateplanChargeComponent, {\n panelClass: ['custom-mat-dialog', 'mat-dialog-link-rateplan-charge'],\n data: {\n fromSubscription: true,\n isEdit: true,\n charge: ratePlanCharge,\n externalRatePlanCharge: externalRatePlanCharge,\n integrationId: externalRatePlanCharge.companyIntegration.id,\n integrationKeyName: externalRatePlanCharge.companyIntegration.integrationKeyName,\n subscriptionCompanyCurrency: this.subscriptionCompanyCurrency,\n usageBased: ratePlanCharge.usageType,\n isGift: ratePlanCharge.isGift,\n },\n });\n\n dialogLinkRateplanCharge.afterClosed().subscribe((res) => {\n if (res?.code == KeyName.form_submitted) {\n this.useSaleChannelData = res.useSaleChannelData;\n\n this.updateExternalRatePlanCharge(ratePlanCharge.id, externalRatePlanCharge.id, res, ratePlanIndex);\n }\n });\n }\n\n showDialogUnlinkCharge(ratePlanCharge: New_SubscriptionRatePlanChargeModel, externalRatePlanCharge: ExternalRatePlanCharge, index: number) {\n this.dialogConfirmation = this._dialog.open(DialogConfirmationComponent, {\n panelClass: ['custom-mat-dialog'],\n data: {\n keyName: KeyName.delete_external_rate_plan_charge,\n externalRatePlanCharge: externalRatePlanCharge,\n word_confirmation: 'UNLINK CHARGE',\n },\n });\n this.dialogConfirmation.afterClosed().subscribe((resCode) => {\n if (resCode === KeyName.delete_external_rate_plan_charge) {\n console.log('unlink charge');\n this.deleteExternalRatePlanCharge(ratePlanCharge.id, externalRatePlanCharge.id, index);\n }\n });\n }\n\n deleteExternalRatePlanCharge(ratePlanChargeId: number, externalRatePlanChargeId: number, ratePlanIndex: number) {\n this.subscriptionService.deleteExternalRatePlanCharge(this.subscriptionId, ratePlanChargeId, externalRatePlanChargeId)\n .subscribe(\n (res: RestResponse) => {\n this.loader.stopPageLoader();\n this.meta.showNotification(res);\n\n const ratePlanChargeIndex = this.grid.collectionOfGridItems.findIndex(ratePlanCharge => ratePlanCharge.id === ratePlanChargeId);\n this.grid.collectionOfGridItems[ratePlanChargeIndex].externalRatePlanCharges = this.grid.collectionOfGridItems[ratePlanChargeIndex].externalRatePlanCharges.filter(item => externalRatePlanChargeId !== item.id);\n\n this.subscriptionService.getSubscriptionRatePlanChargeById(this.subscriptionId, ratePlanChargeId)\n .subscribe(\n (res: RestResponse) => {\n let ratePlanCharge = res.data;\n this.grid.collectionOfGridItems[ratePlanChargeIndex].price = ratePlanCharge.price;\n this.grid.collectionOfGridItems[ratePlanChargeIndex].taxAmount = ratePlanCharge.taxAmount;\n },\n (err: RestResponse) => {\n this.loader.stopPageLoader();\n this.meta.showNotification(err);\n }\n )\n },\n (err: RestResponse) => {\n this.loader.stopPageLoader();\n this.meta.showNotification(err);\n }\n );\n }\n updateExternalRatePlanCharge(ratePlanChargeId: number, externalRatePlanChargeId: number, responseData, ratePlanIndex: number) {\n let bodyParams = { externalDetail: responseData.externalDetail };\n\n this.subscriptionService.updateExternalRatePlanCharge(this.subscriptionId, ratePlanChargeId, externalRatePlanChargeId, bodyParams)\n .subscribe(\n (res: RestResponse) => {\n const ratePlanChargeIndex = this.grid.collectionOfGridItems.findIndex(ratePlanCharge => ratePlanCharge.id === ratePlanChargeId);\n this.grid.collectionOfGridItems[ratePlanChargeIndex].externalRatePlanCharges = [res.data];\n\n let bodyParams: any = {};\n if (this.useSaleChannelData) {\n bodyParams = {\n price: responseData.price,\n quantity: responseData.quantity\n }\n } else {\n bodyParams = {\n useSaleChannelData: this.useSaleChannelData\n }\n }\n this.updateRateplanChargeSaleChannelData(ratePlanChargeId, bodyParams, ratePlanIndex);\n },\n (err: RestResponse) => {\n // TODO: check if necessary to call updateRateplanChargeSaleChannelData\n this.loader.stopPageLoader();\n this.meta.showNotification(err);\n }\n );\n }\n\n updateRateplanChargeSaleChannelData(_ratePlanChargeId, _bodyParams, _index: number) {\n this.subscriptionService.updateRateplanChargeSaleChannelData(this.subscriptionId, _ratePlanChargeId, _bodyParams)\n .subscribe(\n (res: any) => {\n const ratePlanChargeIndex = this.grid.collectionOfGridItems[_index].ratePlanCharge.findIndex(ratePlanCharge => res.data.id === ratePlanCharge.id);\n this.grid.collectionOfGridItems[_index].ratePlanCharge[ratePlanChargeIndex] = res.data;\n this.loader.stopPageLoader();\n this.meta.showNotification(res);\n },\n (err: RestResponse) => {\n this.loader.stopPageLoader();\n this.meta.showNotification(err);\n }\n );\n }\n}\n\n","\n
\n \n
\n \n \n
\n
Charge Info
\n
Cycle
\n
Next Bill Date
\n
Tax
\n
Price
\n
Sale Channel
\n
\n
\n
\n \n
\n \n
\n \n \n
\n \n \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n\n
\n \n \n
\n
\n \n
\n
\n \n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n \n
\n \n
\n \n \n \n
\n
0\" class=\"cell-inner\">\n \n \n
\n
\n \n \n
0\" class=\"product-variants\">\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","//angular\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'element-button-secondary',\n styleUrls: ['./button-secondary.component.scss'],\n templateUrl: './button-secondary.component.html'\n})\nexport class ButtonSecondaryComponent implements OnInit {\n\n @Input() text: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'element-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss']\n})\nexport class CardComponent implements OnInit {\n\n @Input() _bodyDescription: string;\n @Input() _bodyImage: string;\n @Input() _bodyTitle: string;\n @Input() _linkPath: string;\n @Input() _linkText: string;\n\n @Output() _goToPath: EventEmitter = new EventEmitter();\n\n constructor() {}\n\n goToPath(_linkPath){\n this._goToPath.emit(_linkPath);\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n

{{_bodyTitle}}

\n
\n
\n

{{_bodyDescription}}

\n
\n
\n
\n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { CustomerAddressBook, CustomerPaymentSource } from '../../models/customer.model';\n\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { PaymentAccountType } from 'src/app/app.data';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { DialogPaymentFormComponent } from '../../payment-form/dialog-payment-form/dialog-payment-form.component';\nimport { SharedGlobalService } from 'src/app/_core/services/api';\nimport { CompanyGateway, Country, RestResponse } from '../../models';\nimport { MetaService } from 'src/app/_core/services/meta.service';\n\n@Component({\n selector: 'app-credit-card-dropdown',\n templateUrl: './credit-card.component.html'\n})\nexport class CreditCardComponent implements OnInit {\n\n /** Mandatory If _allowToCreateACard == true */\n collectionOfCountry: Array = [];\n form: FormGroup;\n dialogPaymentForm: MatDialogRef;\n /** It's used to 'save' the previous selected value */\n selectedCreditCatdBkup: any;\n\n @Input() _paymentAccountType = PaymentAccountType;\n /** Shows the option 'add new Credit card' */\n @Input() _allowToCreateCard?: boolean = true;\n /** All cards customer*/\n @Input() _collectionOfCustomerPayments?: Array = [];\n /** the current payment method */\n @Input() _selectedCustomerPaymentMethod: any;\n /** Shows the Billing Address */\n @Input() _showsBillingAddress?: boolean = true;\n /** Shows the credit card's Owner */\n @Input() _showsContactHolder?: boolean = true;\n /** Shows the card's Gateway */\n @Input() _showsGateway?: boolean = true;\n /** Mandatory If _allowToCreateACard == true, All company's gateways enabled */\n @Input() _companyGateway?: Array= [];\n /** Mandatory If _allowToCreateACard == true, selected customer */\n @Input() _customerId ?:number = 0 ;\n /** Mandatory If _allowToCreateACard == true and It's required to show a default billing, current address to be related with the new card */\n @Input() _selectedBillToAddress: any;\n /** Mandatory If _allowToCreateACard == true, address collection */\n @Input() _collectionOfCustomerAddressBook: Array = [];\n /** emmitter to implement response data on the parent component */\n @Output() _emitCreditCardForm: EventEmitter = new EventEmitter();\n\n constructor(\n private _dialog: MatDialog,\n private _fb: FormBuilder,\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer,\n private sharedGlobalService: SharedGlobalService,\n private _meta: MetaService,\n ) {\n this._iconRegistry.addSvgIcon('card-alipay', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-alipay.svg'));\n this._iconRegistry.addSvgIcon('card-amex', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-amex.svg'));\n this._iconRegistry.addSvgIcon('card-diners', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-diners.svg'));\n this._iconRegistry.addSvgIcon('card-discover', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-discover.svg'));\n this._iconRegistry.addSvgIcon('card-elo', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-elo.svg'));\n this._iconRegistry.addSvgIcon('card-hypercard', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-hypercard.svg'));\n this._iconRegistry.addSvgIcon('card-jcb', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-jcb.svg'));\n this._iconRegistry.addSvgIcon('card-maestro', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-maestro.svg'));\n this._iconRegistry.addSvgIcon('card-master', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-master.svg'));\n this._iconRegistry.addSvgIcon('card-paypal', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-paypal.svg'));\n this._iconRegistry.addSvgIcon('card-unionpay', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-unionpay.svg'));\n this._iconRegistry.addSvgIcon('card-verve', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-verve.svg'));\n this._iconRegistry.addSvgIcon('card-visa', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-visa.svg'));\n }\n\n ngOnInit(): void {\n this.setUpForm();\n this.form.get('customerPaymentMethod').setValue(this._selectedCustomerPaymentMethod);\n this.selectedCreditCatdBkup = this._selectedCustomerPaymentMethod;\n\n //Get list of countries.\n this.getCountries()\n .then((res: RestResponse) => {\n this.collectionOfCountry = >res.data;\n })\n .catch((err: RestResponse) => {\n this._meta.showNotification(err);\n });\n }\n\n getCountries() {\n return this.sharedGlobalService.getCountries().toPromise();\n }\n\n onChangeCustomerPaymentMethod(_selectedValue: CustomerPaymentSource) {\n this._selectedCustomerPaymentMethod = _selectedValue;\n if(this._selectedCustomerPaymentMethod) {\n if (this._selectedCustomerPaymentMethod !== '0') {\n this.form.get('customerPaymentMethod').setValue(_selectedValue);\n this.form.get('companyGatewayId').setValue(_selectedValue.companyGateway.id);\n } else {\n this.form.get('customerPaymentMethod').setValue('');\n this.form.get('companyGatewayId').setValue('');\n this.showDialogPaymentForm();\n }\n this._emitCreditCardForm.emit(this._selectedCustomerPaymentMethod);\n } else {\n this._selectedCustomerPaymentMethod ='0';\n this.form.get('customerPaymentMethod').setValue('');\n this.form.get('companyGatewayId').setValue('');\n }\n }\n\n setUpForm() {\n this.form = this._fb.group({\n customerPaymentMethod: [''],\n companyGatewayId: [''],\n });\n this._selectedCustomerPaymentMethod = this._selectedCustomerPaymentMethod;\n }\n\n clearForm() {\n this.form.reset();\n this._selectedCustomerPaymentMethod = null;\n }\n\n showDialogPaymentForm() {\n this.dialogPaymentForm = this._dialog.open(DialogPaymentFormComponent, {\n panelClass: ['custom-mat-dialog', 'mat-dialog-new-payment-method'],\n data: {\n collectionOfCountry: this.collectionOfCountry,\n collectionOfCustomerAddressBook: this._collectionOfCustomerAddressBook,\n billingAddress: this._selectedBillToAddress,\n companyGateways: this._companyGateway,\n customerId: this._customerId,\n },\n });\n\n this.dialogPaymentForm.afterClosed().subscribe((res) => {\n if (res?.newCreatedCard) {\n let newCreatedCard = res.newCreatedCard;\n this._collectionOfCustomerPayments.push(newCreatedCard);\n this._selectedCustomerPaymentMethod = newCreatedCard;\n this.onChangeCustomerPaymentMethod(this._selectedCustomerPaymentMethod);\n } else {\n this.onChangeCustomerPaymentMethod(this.selectedCreditCatdBkup);\n }\n });\n }\n\n}\n","
\n \n Payment Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Ending in {{_selectedCustomerPaymentMethod?.accountNumber}}\n {{_selectedCustomerPaymentMethod?.accountName}}\n \n \n Exp. {{_selectedCustomerPaymentMethod?.expDate}}\n \n \n\n \n \n \n \n \n Enter a new credit card\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

Ending in {{customerPaymentMethod?.accountNumber}}

\n

{{customerPaymentMethod?.accountName}}

\n
\n \n Exp. {{customerPaymentMethod?.expDate}}\n \n
\n
\n
\n Payment Gateway: {{_selectedCustomerPaymentMethod?.companyGateway.displayName}}\n Billing Address: {{_selectedCustomerPaymentMethod?.customerAddressBook.contactName}},{{_selectedCustomerPaymentMethod?.customerAddressBook.street1}}{{_selectedCustomerPaymentMethod?.customerAddressBook?.street2 ? ','+ _selectedCustomerPaymentMethod?.customerAddressBook?.street2:''}}, {{_selectedCustomerPaymentMethod?.customerAddressBook.city}}, {{_selectedCustomerPaymentMethod?.customerAddressBook.state}}, {{_selectedCustomerPaymentMethod?.customerAddressBook.zip}}, {{_selectedCustomerPaymentMethod?.customerAddressBook?.country.alpha3Code}}\n \n Billing Address: {{_selectedCustomerPaymentMethod?.billingAddress.street1}}{{_selectedCustomerPaymentMethod?.billingAddress?.street2 ? ','+ _selectedCustomerPaymentMethod?.billingAddress?.street2:''}}, {{_selectedCustomerPaymentMethod?.billingAddress.city}}, {{_selectedCustomerPaymentMethod?.billingAddress.state}}, {{_selectedCustomerPaymentMethod?.billingAddress.zip}}, {{_selectedCustomerPaymentMethod?.billingAddress?.country.alpha3Code}}\n \n
\n\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, ContentChild, ElementRef, EventEmitter, Inject, Input, OnDestroy, OnInit, Optional, Output, Self, ViewChild } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, FormGroup, NgControl, Validators } from '@angular/forms';\nimport { MAT_FORM_FIELD, MatFormField, MatFormFieldControl } from '@angular/material/form-field';\nimport { map, Observable, startWith, Subject } from 'rxjs';\n/** Data structure for holding telephone number. */\nexport class SearchAutocomplete {\n constructor(public searchSel: any) {}\n}\n\nimport { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[appMatSelectSearchOption]',\n})\nexport class MatSelectSearchOptionDirective {\n constructor(public templateRef: TemplateRef) {}\n}\n@Directive({\n selector: '[appMatSelectSearchTrigger]',\n})\nexport class MatSelectSearchTriggerDirective {\n constructor(public templateRef: TemplateRef) {}\n}\n\n@Component({\n selector: 'app-mat-select-search',\n templateUrl: './mat-select-search.component.html',\n styleUrls: ['./mat-select-search.component.scss'],\n providers: [{provide: MatFormFieldControl, useExisting: MatSelectSearchComponent}],\n host: {\n '[class.example-floating]': 'shouldLabelFloat',\n '[id]': 'id',\n },\n})\n\n export class MatSelectSearchComponent implements OnInit,ControlValueAccessor, MatFormFieldControl, OnDestroy {\n static nextId = 0;\n @ViewChild('searchSel') searchSelInput: HTMLInputElement;\n\n parts = this._formBuilder.group({\n searchSel: ['', [Validators.required]]\n });\n stateChanges = new Subject();\n focused = false;\n touched = false;\n controlType = 'example-tel-input';\n id = `example-tel-input-${MatSelectSearchComponent.nextId++}`;\n onChange = (_: any) => {};\n onTouched = () => {};\n\n get empty() {\n const {\n value: {searchSel},\n } = this.parts;\n\n return !searchSel;\n }\n\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n @Input('aria-describedby') userAriaDescribedBy: string;\n\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder: string;\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this.parts.disable() : this.parts.enable();\n this.stateChanges.next();\n }\n private _disabled = false;\n\n @Input()\n get value(): SearchAutocomplete | null {\n if (this.parts.valid) {\n const {\n value: {searchSel},\n } = this.parts;\n return new SearchAutocomplete(searchSel!);\n }\n return null;\n }\n set value(tel: SearchAutocomplete | null) {\n// let { searchSel } = tel || new SearchAutocomplete('');\n// if(!this.valueSel) {\n// searchSel = tel;\n// }\n// if(!searchSel) searchSel = null;\n let searchSel = tel;\n this.parts.setValue({searchSel});\n this.stateChanges.next();\n }\n\n get errorState(): boolean {\n return this.parts.invalid && this.touched;\n }\n\n constructor(\n private _formBuilder: FormBuilder,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef,\n @Optional() @Inject(MAT_FORM_FIELD) public _formField: MatFormField,\n @Optional() @Self() public ngControl: NgControl,\n ) {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n onFocusIn(event: FocusEvent) {\n if (!this.focused) {\n this.focused = true;\n this.stateChanges.next();\n }\n }\n\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched = true;\n this.focused = false;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n autoFocusNext(control: AbstractControl, nextElement?: HTMLInputElement): void {\n if (!control.errors && nextElement) {\n this._focusMonitor.focusVia(nextElement, 'program');\n }\n }\n\n autoFocusPrev(control: AbstractControl, prevElement: HTMLInputElement): void {\n if (control.value.length < 1) {\n this._focusMonitor.focusVia(prevElement, 'program');\n }\n }\n\n setDescribedByIds(ids: string[]) {\n const controlElement = this._elementRef.nativeElement.querySelector(\n '.example-tel-input-container',\n )!;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n onContainerClick() {\n this._focusMonitor.focusVia(this.searchSelInput, 'program');\n }\n\n writeValue(tel: SearchAutocomplete | null): void {\n this.value = tel;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n _handleInput(control: AbstractControl): void {\n this.onChange(this.value.searchSel);\n }\n\n // Autoselect implementation\n filteredOptions: Observable;\n // @Input() items = [];\n @Input() valueSel: string;\n @Input() labelSel: string = 'name';\n @Input() multiple: boolean = false;\n @ContentChild(MatSelectSearchOptionDirective) content!: MatSelectSearchOptionDirective;\n @ContentChild(MatSelectSearchTriggerDirective) triggerContent!: MatSelectSearchTriggerDirective;\n\n _items = []\n @Input()\n get items(): any[] {\n return this._items;\n }\n\n set items(items: any[]) {\n this._items = items;\n const firstElement = items[0]\n if(firstElement && \"priority\" in firstElement && !firstElement.sorted) {\n // sort array\n this.items.forEach(element => {\n element.sorted = true;\n if(!element.priority) element.priority = 999;\n });\n\n this.items = this.items.sort((p1,p2)=>(p1.priority > p2.priority) ? 1 : (p1.priority < p2.priority) ? -1 : 0)\n }\n this.value = this.parts.value.searchSel;\n }\n\n ngOnInit() {\n this.filteredOptions = this.parts.valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value || '')),\n );\n }\n\n private _filter(value: any): string[] {\n if(value.searchSel && !this.valueSel){\n return this.items.filter(option => this.getValueByKey(this.labelSel, option).toLowerCase().includes(value.searchSel));\n }\n\n if(value.searchSel && Number.isInteger(value.searchSel )) {\n return this.items.filter(item=>this.getValueByKey(this.valueSel, item) == value.searchSel)\n }\n const filterValue = value.searchSel ? value.searchSel.toLowerCase(): '';\n return this.items.filter(option => this.getValueByKey(this.labelSel, option).toLowerCase().includes(filterValue));\n }\n\n displayFn = (id: any): string=> {\n if(!this.valueSel) {\n return this.getValueByKey(this.labelSel, id)\n }\n const selectedElement = this.items.find(item=>this.getValueByKey(this.valueSel, item) == id);\n return selectedElement? this.getValueByKey(this.labelSel, selectedElement): null\n }\n\n getValueByKey(nestedKeys, object){\n if(!nestedKeys) {\n return object;\n }\n if(!object) return undefined;\n\n const arrayKeys = nestedKeys.split('.');\n const key = arrayKeys[0];\n\n if(arrayKeys.length == 1){\n return object[key];\n }\n\n arrayKeys.shift();\n return this.getValueByKey(arrayKeys.join('.'), object[key])\n\n }\n }\n","
\n\n \n\n \n \n \n \n \n {{getValueByKey(labelSel,option)}}\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n {{getValueByKey(labelSel,option)}}\n \n \n \n \n \n \n \n \n \n \n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSelectSearchComponent, MatSelectSearchOptionDirective, MatSelectSearchTriggerDirective } from './mat-select-search.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatDividerModule } from '@angular/material/divider';\n\n\n\n@NgModule({\n declarations: [\n MatSelectSearchComponent,\n MatSelectSearchOptionDirective,\n MatSelectSearchTriggerDirective\n ],\n imports: [\n CommonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n FormsModule,\n MatAutocompleteModule,\n MatInputModule,\n MatDividerModule\n ],\n exports: [\n MatSelectSearchComponent,\n MatSelectSearchOptionDirective,\n MatSelectSearchTriggerDirective\n ]\n})\nexport class MatSelectSearchModule { }\n","//angular\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n//app data\nimport { PaymentAccountType, PaymentSource } from 'src/app/app.data';\n//app models\nimport { CustomerPaymentSource } from '../../models/customer.model';\n\n@Component({\n selector: 'payment-card',\n templateUrl: './payment-card.component.html',\n styleUrls: ['./payment-card.component.scss']\n})\nexport class PaymentCardComponent implements OnInit {\n\n @Input() _paymentAccountType = PaymentAccountType;\n @Input() _paymentMethod: CustomerPaymentSource;\n @Input() _paymentSource = PaymentSource;\n\n @Input() _showExpDate: boolean = true;\n\n constructor(\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer,\n ) {\n this._iconRegistry.addSvgIcon('card-alipay', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-alipay.svg'));\n this._iconRegistry.addSvgIcon('card-amex', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-amex.svg'));\n this._iconRegistry.addSvgIcon('card-diners', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-diners.svg'));\n this._iconRegistry.addSvgIcon('card-discover', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-discover.svg'));\n this._iconRegistry.addSvgIcon('card-elo', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-elo.svg'));\n this._iconRegistry.addSvgIcon('card-hypercard', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-hypercard.svg'));\n this._iconRegistry.addSvgIcon('card-jcb', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-jcb.svg'));\n this._iconRegistry.addSvgIcon('card-maestro', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-maestro.svg'));\n this._iconRegistry.addSvgIcon('card-master', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-master.svg'));\n this._iconRegistry.addSvgIcon('card-paypal', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-paypal.svg'));\n this._iconRegistry.addSvgIcon('card-unionpay', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-unionpay.svg'));\n this._iconRegistry.addSvgIcon('card-verve', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-verve.svg'));\n this._iconRegistry.addSvgIcon('card-visa', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-visa.svg'));\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { SharedCustomerService } from 'src/app/_core/services/api';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { DialogShippingAddressFormComponent } from '../../dialog/dialog-shipping-address-form/dialog-shipping-address-form.component';\nimport { RestResponse } from '../../models';\nimport { CustomerAddressBook } from '../../models/customer.model';\nimport { Unsubscriber } from '../../unsubscriber/unsubscriber';\n\n\n\n@Component({\n selector: 'app-shipping-address-dropdown',\n templateUrl: './shipping-address.component.html',\n})\nexport class ShippingAddressComponent implements OnInit, OnDestroy {\n\n dialogShippingForm: MatDialogRef;\n /** It's used to 'save' the previous selected value */\n selectedAddressBkup: any;\n \n private subs = new Unsubscriber();\n\n /** Shows the option 'add new address' */\n @Input() allowToCreateShipping?: boolean = false;\n /** All account addresses */\n @Input() collectionOfAddressBook: Array = [];\n /** the current Address */\n @Input() selectedAddress: any;\n /** Mandatory If createNewAddress == true */\n @Input() customerId: number = null;\n /** It is used to indicate if the new address will stored */\n @Input() saveNewShippingAddress?: boolean = true;\n /** It is used to indicate if the 'save button' is disabled */\n @Input() saveAddressDisabled?: boolean = true;\n /** emmitter to implement response data on the parent component */\n @Output() emitAddressSelection: EventEmitter = new EventEmitter();\n \n constructor(\n private _dialog: MatDialog,\n private sharedCustomerService: SharedCustomerService,\n public _meta: MetaService,\n ) { }\n\n onChangeShipToAddress(_selectedValue: any) {\n this.selectedAddress = _selectedValue;\n\n if (this.selectedAddress === '0') {\n this.showDialogAccountShipping();\n } else {\n this.emitAddressSelection.emit(this.selectedAddress);\n }\n }\n\n showDialogAccountShipping() {\n this.dialogShippingForm = this._dialog.open(DialogShippingAddressFormComponent, {\n panelClass: ['custom-mat-dialog', 'mat-dialog-new-payment-method'],\n data: {\n isEdit: false,\n customerId: this.customerId,\n saveAddress: this.saveNewShippingAddress,\n saveAddressDisabled: this.saveAddressDisabled,\n },\n });\n\n this.dialogShippingForm.afterClosed().subscribe((res) => {\n if(!res) {\n this.onChangeShipToAddress(this.selectedAddressBkup);\n } else {\n const addressReturned: CustomerAddressBook = new CustomerAddressBook().deserialize(res?.bodyParams);\n if(res?.isStored) {\n this.getCustomerAddressbook(addressReturned);\n } else {\n this.collectionOfAddressBook.push(addressReturned);\n this.onChangeShipToAddress(addressReturned);\n }\n }\n });\n }\n\n getAddressFormData() {\n return this.selectedAddress;\n }\n\n getCustomerAddressbook(_selectedValue) {\n this.subs.addSub = this.sharedCustomerService.getAddressBookByCustomerId(this.customerId)\n .subscribe(\n (res: RestResponse) => {\n this.collectionOfAddressBook =[];\n this.collectionOfAddressBook = >res.data;\n const addressSelected = this.collectionOfAddressBook.find(add => add.id == _selectedValue.id);\n this.onChangeShipToAddress(addressSelected);\n },\n (err: RestResponse) => {\n this._meta.showNotification(err);\n }\n );\n }\n\n ngOnInit() {\n this.selectedAddressBkup = this.selectedAddress;\n }\n \n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n \n Shipping Address\n \n \n \n \n \n \n \n \n \n \n \n Enter a new address\n \n \n \n

\n \n

\n

\n \n

\n
\n
\n
\n
\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\n\n//models\nimport {\n CompanyIntegrationModel,\n ShipperHqServicesModel,\n ShippingRatesModel,\n ShippingServiciesModel\n} from '../../models';\nimport { DataSharingService, UtilsService } from 'src/app/_core/services';\nimport { Unsubscriber } from '../../unsubscriber/unsubscriber';\nimport { ShippingCustomFreeShippingStaticValues, VisibleState } from 'src/app/app.data';\nimport { AppAnimations } from '../../animations';\nimport {ValidatorService} from \"../../validators/validator.service\";\n\n\n@Component({\n animations: [AppAnimations],\n selector: 'app-shipping-method-dropdown',\n templateUrl: './shipping-method.component.html',\n styleUrls: ['./shipping-method.component.scss']\n\n})\nexport class ShippingMethodComponent implements OnInit, OnDestroy {\n\n cleaveNumDecimalOptions;\n cleaveNumIntegerOptions;\n form: FormGroup;\n isCustomOptionSelected: boolean = false;\n isFixedShippingRateSelected: boolean = false;\n isFreeShippingOptionSelected: boolean = false;\n\n private subs = new Unsubscriber();\n\n /** collection of all shippings */\n @Input() collectionOfShippingMethod = [];\n /** collection of shipper hq services */\n @Input() collectionOfShipperHqServices = [];\n /** if the get returns an error */\n @Input() shippingError: boolean = false;\n /**If it has Shipping Integration Enabled (it's used in html) */\n @Input() isShippingIntegrationEnabled: boolean = false;\n /** to be shown on custom shipping method*/\n @Input() currencySymbol: string;\n /** to be shown on custom shipping method */\n @Input() currencyIso3: string;\n /** to select the shipping method */\n @Input() shippingServiceId?: string = '';\n /** If customer is selected */\n @Input() shippingAmount?: number = 0;\n\n @Input() fixedShippingRate?: number = 0;\n\n /** Shows the amount of each Service */\n @Input() showsShippingAmount?: boolean = false;\n /** optional */\n @Input() shippingCompanyIntegration?: CompanyIntegrationModel;\n\n @Input() _visibleState = VisibleState;\n @Input() shippingStaticValues = ShippingCustomFreeShippingStaticValues;\n\n /** emmitter to implement response data on the parent component */\n @Output() emitShippingMethod: EventEmitter = new EventEmitter();\n\n constructor(\n private _shareData: DataSharingService,\n private _fb: FormBuilder,\n private utils: UtilsService,\n private _validatorService: ValidatorService,\n ) {\n this.subs.addSub = this._shareData.getSettingsVariables().subscribe(([decimalPlaces, decimalToken, thousandsToken, _factoringDimension, lengthMeasurement, weightMeasurement]) => {\n this.cleaveNumDecimalOptions = {\n numeral: true,\n numeralPositiveOnly: true,\n stripLeadingZeroes: false,\n numeralDecimalScale: decimalPlaces,\n delimiter: thousandsToken,\n numeralDecimalMark: decimalToken\n };\n\n this.cleaveNumIntegerOptions = {\n numeral: true,\n numeralPositiveOnly: true,\n stripLeadingZeroes: false,\n numeralDecimalScale: 0,\n delimiter: thousandsToken,\n numeralDecimalMark: decimalToken\n };\n });\n }\n\n ngOnInit(): void {\n this.setUpForm();\n this.generateCollection();\n }\n\n\n generateCollection() {\n if (this.collectionOfShippingMethod.length > 0) {\n const hasCustom = this.collectionOfShippingMethod.find( x => x.integrationName == this.shippingStaticValues.shippingCustomKey);\n if(hasCustom) {\n const hasFree = this.collectionOfShippingMethod.find( x => x.integrationName == this.shippingStaticValues.shippingFreeKey);\n if(hasFree == undefined) {\n this.collectionOfShippingMethod.unshift(\n {\n amount: null,\n companyIntegrationId: hasCustom.companyIntegrationId,\n currency: hasCustom.currency,\n integrationName: this.shippingStaticValues.shippingFreeKey,\n serviceId: hasCustom.serviceId,\n serviceName: 'Free Shipping',\n\n });\n }\n }\n\n const hasShppingSelected = this.shippingServiceId !== undefined && this.shippingServiceId !== null;\n\n if (!hasShppingSelected && Number(this.shippingAmount) === 0) {\n const shippingSelected = this.collectionOfShippingMethod.find(item => item.carrierName === 'Free Shipping');\n this.form.get('shippingService').setValue(shippingSelected);\n this.form.get('shippingAmount').setValue(0);\n this.form.get('shippingAmount').disable();\n this.isCustomOptionSelected = false;\n this.isFixedShippingRateSelected = false;\n this.isFreeShippingOptionSelected = true;\n } else {\n const shippingSelected = this.shippingServiceId ? this.collectionOfShippingMethod.find(item => String(item.serviceId) === this.shippingServiceId) :\n this.collectionOfShippingMethod.find(item => item.carrierName === 'Custom Rate');\n\n this.onChangeShippingMethod(shippingSelected);\n }\n }\n\n if (this.collectionOfShipperHqServices && this.collectionOfShipperHqServices.length > 0) {\n const shipperHqSelected = this.collectionOfShipperHqServices.find((ele) => ele['serviceId'] === this.shippingServiceId)\n if (shipperHqSelected) {\n this.onChangeShipperHqService(shipperHqSelected);\n }\n }\n }\n\n setUpForm() {\n this.form = this._fb.group({\n shippingService: '',\n shippingAmount: '',\n shipperHqService: [''],\n });\n }\n\n onChangeShipperHqService(_shipperHqService: ShipperHqServicesModel) {\n this.form.controls.shippingService.setValue(null)\n this.form.controls.shipperHqService.setValue(_shipperHqService)\n this.isFixedShippingRateSelected = false;\n this.emitShippingMethod.emit(_shipperHqService);\n }\n\n resetShipperHq() {\n this.form.controls.shipperHqService.setValue(null)\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n onChangeShippingMethod(_shippingMethod: ShippingServiciesModel) {\n this.resetShipperHq()\n if(_shippingMethod?.carrierName === 'Custom Rate' || _shippingMethod?.carrierName === 'Fixed Shipping Rate') {\n this.form.get('shippingService').setValue(_shippingMethod);\n if(this.shippingAmount) {\n this.form.get('shippingAmount').setValue(this.shippingAmount);\n } else {\n this.form.get('shippingAmount').setValue(null);\n }\n this.form.get('shippingAmount').enable();\n if (_shippingMethod?.carrierName === 'Fixed Shipping Rate') {\n this.isFixedShippingRateSelected = true;\n this.form.get('shippingAmount').setValidators([Validators.required, this._validatorService.positiveDecimalNumberIncludeZero]);\n this.form.get('shippingAmount').setValue(this.fixedShippingRate)\n } else {\n this.isCustomOptionSelected = this.showsShippingAmount;\n }\n this.isFreeShippingOptionSelected = false;\n this.emitShippingMethod.emit(_shippingMethod);\n } else if(_shippingMethod?.carrierName === 'Free Shipping') {\n this.form.get('shippingService').setValue(_shippingMethod);\n this.form.get('shippingAmount').setValue(0);\n this.form.get('shippingAmount').disable();\n this.isCustomOptionSelected = false;\n this.isFixedShippingRateSelected = false;\n this.isFreeShippingOptionSelected = true;\n this.emitShippingMethod.emit(_shippingMethod);\n } else {\n this.form.get('shippingAmount').setValue(null);\n this.form.get('shippingService').setValue(_shippingMethod);\n this.isCustomOptionSelected = false;\n this.isFixedShippingRateSelected = false;\n this.isFreeShippingOptionSelected = false;\n this.emitShippingMethod.emit(_shippingMethod);\n }\n }\n\n getShippingFormData() {\n return this.form.value;\n }\n\n\n onFocusOutShippingAmount(event: any) {\n this.shippingAmount = this.utils.convertToNumber(event.target.value);\n const shippingSelected:ShippingRatesModel = this.collectionOfShippingMethod.find(item => item.carrierName === 'Custom Rate');\n shippingSelected.amount = String(this.shippingAmount);\n this.onChangeShippingMethod(shippingSelected);\n }\n\n}\n","
\n
\n
\n
\n

There was an error when trying to retrieve the shipping rates.

\n
\n
\n
\n
\n
\n
\n 0\" class=\"custom-mat-form-field size size1of1\">\n Shipper HQ options\n \n \n \n \n \n \n
\n\n \n \n

{{ shippingAmount === 0 ? 'Free Shipping' : shippingCompanyIntegration?.displayName }}

\n
\n
\n
\n
\n
\n \n Amount\n {{currencySymbol}}\n \n {{currencyIso3}}\n \n
\n
\n
\n
\n
\n \n \n

Shipping integrations are disabled at the moment.

\n
\n
\n \n \n \n

\n \n \n

\n

\n \n

\n

\n \n

\n
\n
\n
\n
\n
\n \n Amount\n {{currencySymbol}}\n \n {{currencyIso3}}\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n Amount\n {{currencySymbol}}\n \n {{currencyIso3}}\n \n
\n
\n
\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ValidatorService } from '../validators/validator.service';\n\n@Component({\n selector: 'error-messages',\n template: `\n {{ errorMessage }}\n `\n})\nexport class ErrorMessagesComponent {\n @Input() control: any;\n\n constructor(\n private _validatorService: ValidatorService\n ) {}\n\n get errorMessage() {\n for (let propertyName in this.control?.errors) {\n if (this.control.errors.hasOwnProperty(propertyName) && this.control.touched) {\n return this._validatorService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);\n }\n }\n return null;\n }\n}\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { ValidatorService } from '../validators/validator.service';\n\n@Component({\n selector: 'app-error-message',\n templateUrl: './form-control-error.message.component.html'\n})\nexport class FormControlErrorMessageComponent implements OnChanges, OnInit {\n @Input() errors: any;\n\n error: string = '';\n\n constructor(private validatorService: ValidatorService) {}\n\n ngOnInit(): void {\n this.error = this.validatorService.getFormControlErrorMessage(this.errors);\n }\n\n ngOnChanges(): void {\n this.error = this.validatorService.getFormControlErrorMessage(this.errors);\n }\n}\n","

{{ error }}

\n","//angular\nimport { Component, Inject, OnDestroy } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\n\n@Component({\n selector: 'dialog-user-idle',\n templateUrl: './dialog-user-idle.component.html'\n})\nexport class DialogUserIdleComponent implements OnDestroy {\n idleCounter: number;\n private subs = new Unsubscriber();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private _dialogRef: MatDialogRef,\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer,\n ) {\n\n this._iconRegistry.addSvgIcon('ico-close', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-01.svg'));\n this._iconRegistry.addSvgIcon('ico-warning', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-error-10.svg'));\n\n this.subs.addSub = data.component.idle.onTimeoutWarning.subscribe((countdown) => {\n this.idleCounter = countdown;\n if(this.idleCounter == 1) {\n this._dialogRef.close();\n }\n });\n }\n\n stay() {\n this._dialogRef.close('stay');\n }\n\n logout() {\n this._dialogRef.close('logout');\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n
\n\n
\n","import { Country } from './country.model';\nimport { Deserializable } from '../interfaces/deserialize.interface';\n\nexport class Address implements Deserializable
{\n constructor(\n public city?: string,\n public company?: string,\n public contactName?: string,\n public contactEmail?: string,\n public contactPhone?: string,\n public country: Country = new Country(),\n public id?: number,\n public name?: string,\n public state?: string,\n public street1?: string,\n public street2?: string,\n public type?: string,\n public zip?: string,\n public firstName?: string,\n public lastName?: string,\n ){}\n\n deserialize(input: any): Address {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class BillingAddress implements Deserializable {\n constructor(\n public id?: number,\n public street1?: string,\n public street2?: string,\n public city?: string,\n public state?: string,\n public zip?: string,\n public country: Country = new Country(),\n ) { }\n\n deserialize(input: any): BillingAddress {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport interface POST_AddressInterface {\n city?: string,\n company?: string,\n contactName?: string,\n contactEmail?: string,\n contactPhone?: string,\n countryCode?: string,\n countryId: number, //[ required ]\n name?: string,\n id?: number,\n state?: string,\n street1?: string,\n street2?: string,\n type?: string,\n zip?: string,\n firstName?: string,\n lastName?: string,\n}\n\nexport interface Put_AddressInterface {\n city?: string,\n company?: string,\n contactName?: string,\n contactEmail?: string,\n contactPhone?: string,\n countryId: number,\n state?: string,\n street1?: string,\n street2?: string,\n type?: string,\n zip?: string,\n firstName?: string,\n lastName?: string,\n}\n","import { Address, POST_AddressInterface } from './address.model';\nimport { Currency } from './currency.model';\nimport { Deserializable } from '../interfaces/deserialize.interface';\nimport { Industry } from './industries.model';\nimport { PaymentMethod } from './payment-method.model';\nimport { Timezone } from './timezone.model';\nimport { GatewayStatus, GatewayType } from 'src/app/app.data';\nimport { CustomerPaymentSource } from './customer.model';\nimport { Country } from './country.model';\n\nexport class Company {\n constructor(\n public id?: number,\n public name?: string,\n public website?: string,\n public email?: string,\n public isologo?: string,\n public address1?: string,\n public address2?: string,\n public city?: string,\n public state?: string,\n public zip?: string,\n public countryId?: number,\n public industryId?: number,\n public workerSize?: number,\n public taxId?: string,\n public vatNum?: string,\n public phoneNum?: string,\n public phoneExt?: string,\n public status?: string,\n public supportPin?: string,\n public timezone?: number,\n public planId?: number,\n public estimatedAnnualRevenue?: number\n ){}\n}\n\nexport class CompanyBilling implements Deserializable{\n constructor(\n public planId?: number,\n public lastInvoice?: CompanyLastInvoice,\n public metric?: CompanyMetrics,\n public paymentMethod?: Array,\n public paymentMethodDefault?: number\n ) {}\n\n deserialize(input: any): CompanyBilling {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyCurrency implements Deserializable{\n constructor(\n public companyGateway?: Array,\n public conversionRate?: string,\n public createdAt?: string,\n public currency?: Currency,\n public fixedRate?: boolean,\n public id?: number,\n public iso3?: string,\n public symbol?: string,\n public updatedAt?: string\n ){}\n\n deserialize(input: any): CompanyCurrency {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SuggestedCustomerMerge implements Deserializable{\n constructor(\n public id: number,\n public first_name?: string,\n public last_name?: string,\n public email?: string,\n public num_subscriptions?: number,\n public num_invoices?: number,\n public num_transactions?: number,\n public num_payment_methods?: number,\n public checked?: boolean,\n ){}\n\n deserialize(input: any): SuggestedCustomerMerge {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyCurrencyGateway implements Deserializable{\n constructor(\n public id?: number,\n public keyName?: string,\n public name?: string,\n public status?: string,\n public isDefault?: boolean,\n public credentialsLastUpdate?: string,\n public dateAdded?: string\n​ ){}\n\n deserialize(input: any): CompanyCurrencyGateway {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyGateway implements Deserializable{\n constructor(\n public accountId?: string,\n public createdAt?: string,\n public customerCards: Array = [],\n public displayName?: string,\n public id?: number,\n public internalGatewayId?: number,\n public internalGatewayCode?: string,\n public isDefault?: boolean,\n public keyName?: string,\n public name?: string,\n public status?: string,\n public type?: GatewayType,\n public updatedAt?: string\n ) { }\n\n deserialize(input: any): CompanyGateway {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyInvite implements Deserializable{\n constructor(\n public email?: string,\n public role?: string,\n public status?: string,\n public token?: string,\n public createdAt?: number\n ) { }\n\n deserialize(input: any): CompanyInvite {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyLastInvoice implements Deserializable {\n constructor(\n public id?: number,\n public amount?: string,\n public status?: string,\n public invoiceNumber?: string,\n public invoiceDate?: string,\n public balance?: number,\n public dueDate?: string\n ){}\n\n deserialize(input: any): CompanyLastInvoice {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyMetrics implements Deserializable {\n constructor(\n public balance?: number,\n public totalInvoiceBalance?: number,\n public creditBalance?: number,\n public hasPastDueInvoice?: number,\n public redemption?: string\n ){}\n\n deserialize(input: any): CompanyMetrics {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyProfile implements Deserializable{\n constructor(\n public id?: number,\n public name?: string,\n public phoneNum?: string,\n public phoneExt?: string,\n public email?: string,\n public website?: string,\n public address?: Address,\n public timezone?: Timezone,\n public taxId?: string,\n public industry?: Industry,\n public estimatedAnnualRevenue?: string,\n public workerSize?: string,\n public type?: string,\n public status?: string,\n public cancelledAt?: Date,\n ) {}\n\n deserialize(dataJSON: any): CompanyProfile {\n Object.assign(this, dataJSON);\n return this;\n }\n}\n\nexport class CompanySettings implements Deserializable{\n constructor(\n public code?: string,\n public defaultValue?: string,\n public label?: string,\n public type?: string,\n public value?: string\n ) { }\n\n deserialize(input: any): CompanySettings {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanySMTPSettings implements Deserializable {\n smtpServerAddress: string\n smtpUserName: string\n smtpPassword: string\n smtpPortNumber: string\n smtpEncryptionType: string\n\n deserialize(input: any): CompanySMTPSettings {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyTimezone implements Deserializable{\n constructor(\n public id?: number,\n public isdst?: boolean,\n public offSet?: number,\n public text?: string,\n public value?: string\n ){}\n\n deserialize(input: any): CompanyTimezone {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyUser implements Deserializable{\n constructor(\n public id?: number,\n public picture?: string,\n public email?: string,\n public fullName?: string,\n public role?: string\n ){}\n\n deserialize(input: any): CompanyUser {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CustomerGroup implements Deserializable{\n constructor(\n public id?: number,\n public name?: string,\n ) { }\n\n deserialize(input: any): CustomerGroup {\n Object.assign(this, input);\n return this;\n }\n}\nexport interface CustomerGroupInfo {\n productId?: number,\n productName?: string,\n productRatePlanId?: number,\n productRatePlanName?: string,\n initial?: number,\n initialGroupName?: string,\n terminate?: number,\n terminateGroupName?: string\n}\n\nexport class CompanyInfo implements Deserializable{\n constructor(\n public city?: string,\n public country?: Country,\n public createdAt?: string,\n public email?: string,\n public estimatedAnnualRevenue?: number,\n public id?: number,\n public industry?: Industry,\n public isologo?: string,\n public name?: string,\n public phoneNum?: string,\n public phoneExt?: string,\n public plan?:Plan,\n public state?: string,\n public status?: string,\n public street1?: string,\n public street2?: string,\n public supportPin?: string,\n public taxId?: string,\n public updatedAt?:string,\n public website?: string,\n public workerSize?: number,\n public zip?: string,\n ){}\n deserialize(input: any): CompanyInfo {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport interface PUT_CompanyGatewayStatusInterface {\n status: GatewayStatus,\n}\n\nexport class PUT_CompanyProfileInterface {\n constructor(\n public city?: string,\n public countryId?: number,\n public email?: string,\n public estimatedAnnualRevenue?: string,\n public id?: number,\n public industryId?: number,\n public name?: string,\n public phoneExt?: string,\n public phoneNum?: string,\n public street1?: string,\n public street2?: string,\n public state?: string,\n public taxId?: string,\n public website?: string,\n public workerSize?: string,\n public zip?: string\n ) {}\n}\n\nexport class Post_AdditionalCurrencyInterface {\n constructor(\n public currencyId?: number,\n public conversionRate?: string,\n public fixedRate?: boolean\n\n ){}\n}\nexport interface POST_Company {\n city?: string,\n countryId?: number,\n currencyId?: number,\n email?: string,\n estimatedAnnualRevenue?: number,\n industryId?: number,\n name?: string,\n phoneNum?: string,\n phoneExt?: string,\n state?: string,\n street1?: string,\n street2?: string,\n timezoneId?: number,\n website?: string,\n workerSize?: number,\n zip?: string\n}\nexport interface Post_CustomerGroupInfo {\n productRatePlanId?: number,\n initial?: number,\n terminate?: number\n}\n\nexport class Put_AdditionalCurrencyInterface {\n constructor(\n public conversionRate?: string,\n public fixedRate?: boolean\n ){}\n}\n\n\nexport interface SalesChannelDataDashboard {\n integrationName: string,\n displayName: string,\n customerCount?: string,\n subscriptionCount?: string,\n invoiceCount?: string,\n invoiceAmount?: string\n}\n\nexport class Plan implements Deserializable {\n constructor(\n public description?: string,\n public name?: string,\n public pricingConcepts: Array = []\n ){}\n\n deserialize(input: any): Plan {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class PricingConcept implements Deserializable {\n constructor(\n public description?: string,\n public frequency?: string,\n public keyName?: string,\n public name?: string,\n public overrideQuantity?: string,\n public price?:string,\n public quantity?: number,\n public status?:string\n ){}\n\n deserialize(input: any): PricingConcept {\n Object.assign(this, input);\n return this;\n }\n}\n\n\nexport interface Post_ActivateCompany {\n\n type: string,\n accountType: string,\n accountKind: string,\n accountName: string,\n paymentMethod: Post_PaymentMethod,\n billingAddress: POST_AddressInterface,\n}\n\nexport interface Post_PaymentMethod {\n nonce: string\n}\n","import { Deserializable } from \"../interfaces/deserialize.interface\";\n\nexport interface CountryInterface {\n alpha2Code?: string,\n alpha3Code?: string,\n flag?: string,\n id?: number,\n name?: string,\n numericCode?: number,\n priority?: number;\n}\n\nexport class Country implements Deserializable {\n constructor(\n public id?: number,\n public name?: string,\n public alpha2Code?: string,\n public alpha3Code?: string,\n public numericCode?: number,\n public flag?: string,\n public priority?: number,\n ){}\n\n deserialize(input: any): Country {\n Object.assign(this, input);\n return this;\n }\n}\n","import { Country } from './country.model';\n\nexport class CurrencyGateway {\n constructor(\n public id?: number,\n public name?: string,\n public isDefault?: boolean,\n public status?: string,\n public internalGatewayCode?: string,\n public internalGatewayId?: number\n ){}\n}\n\nexport class Currency {\n constructor(\n public flag?: string,\n public id?: number,\n public iso3?: string,\n public name?: string,\n public numericCode?: number,\n public symbol?: string,\n ){}\n}\n","import { Address, BillingAddress } from './address.model';\nimport { CompanyCurrency, CompanyGateway } from './company.model';\nimport { CompanyIntegrationModel } from './integration.model';\nimport { Country } from './country.model';\nimport { Deserializable } from '../interfaces/deserialize.interface';\nimport { PaymentAccountType, PaymentSource, VisibleState } from 'src/app/app.data';\nimport { PaymentMethod } from '.';\nimport { RatePlan } from './../interfaces/subscription.interface';\nimport { SubscriptionNextBill } from './subscriptions.model';\nimport { UserProfile } from './user.model';\n\nexport interface CustomerCollection {\n addressBook: BillingAddress\n businessName: string\n createdAt: Date\n firstName: string\n email: string\n externalCustomer: any\n id: number\n lastInvoice: CustomerLastInvoice\n lastName: string;\n locale: string;\n paymentMethods: CustomerPaymentSource\n phoneNum: string\n phoneExt: string\n preferredCurrency: string\n status: string\n subscriptions: Array\n taxExempt: string\n unpaidInvoice: Array\n updatedAt: Date,\n relatedCompanyId?: number,\n relatedCompanyStatus?: string,\n supportPin?: string\n}\n\nexport interface CompanyCurrencyGateway {\n accountId: number;\n companyCurrency: any;\n companyGateway: any;\n card: Array [];\n connectionType: string;\n credentialsLastUpdate: Date;\n dateAdded: Date;\n keyName: string;\n name: string;\n setting: Array [];\n status: string;\n type: string;\n}\n\nexport interface CustomerLastInvoice {\n createdAt: string\n date: string\n total: string\n}\n\nexport interface CustomerLogsCollection {\n id: number;\n name: string;\n message: string;\n source: string;\n jsonContent: string;\n level: number;\n isRead: boolean;\n user: UserProfile;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport interface CustomerSubscription {\n createdAt: DateInterface\n id: number\n name: string\n shippingAmount: string\n status: string\n updatedAt: DateInterface\n}\n\nexport interface DateInterface {\n date: string,\n timezone_type: number,\n timezone: string\n}\n\nexport class Customer implements Deserializable {\n constructor(\n public allow_direct_debit?: boolean,\n public auto_collection?: boolean,\n public card?: {\n billing_zip?: string,\n card_type?: string,\n created_at?: Date,\n customer_id?: string,\n expiry_month?: number,\n expiry_year?: number,\n funding_type?: string,\n gateway?: string,\n gateway_account_id?: string,\n iin: string,\n last4?: string,\n masked_number?: string,\n object?: string,\n payment_source_id?: string\n resource_version?: number,\n status?: string,\n updated_at?: Date,\n },\n public card_status?: string,\n public company?: string,\n public created_at?: Date,\n public deleted?: boolean,\n public email?: string,\n public excess_payments?: number,\n public firstName?: string,\n public id?: number,\n public lastName?: string,\n public net_term_days?: number,\n public resource_version?: number,\n public primary_payment_source_id?: string,\n public promotional_credits?: number,\n public payment_method?: {\n gateway?: string,\n gateway_account_id?: string,\n object?: string,\n reference_id?: string,\n status?: string,\n type?: string,\n },\n public phone?: string,\n public preferred_currency_code?: string,\n public refundable_credits?: number,\n public subscriptions?: Array,\n public taxability?: string,\n public unbilled_charges?: number,\n public updated_at?: Date,\n ){}\n\n deserialize(input: any): Customer {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CustomerAddressBook implements Deserializable {\n constructor(\n public city?: string,\n public company?: string,\n public contactName?: string,\n public contactEmail?: string,\n public contactPhone?: string,\n public country?: Country,\n public id?: number,\n public name?: string,\n public street1?: string,\n public street2?: string,\n public state?: string,\n public zip?: string,\n public firstName?: string,\n public lastName?: string,\n ) {}\n\n deserialize(input: any): CustomerAddressBook {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CustomerProfile implements Deserializable {\n constructor(\n public agent?: string,\n public businessName?: string,\n public createdAt?: Date,\n public dob?: string,\n public email?: string,\n public firstName?: string,\n public id?: number,\n public lastName?: string,\n public locale?: string,\n public phoneExt?: string,\n public phoneNum?: string,\n public preferredCurrency?: string,\n public status?: string,\n public taxCode?: string,\n public taxExempt?: string,\n public updatedAt?: Date,\n public companyIntegrationId?: any,\n public externalCustomerId?: any,\n public externalCustomer?: any,\n public relatedCompanyId?: number,\n public relatedCompanyStatus?: string,\n public storeCreditAutoUse?: boolean,\n public storeCredit?: number,\n public relatedCompanyName?: string,\n ) { }\n\n deserialize(input: any): CustomerProfile {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CustomerPaymentOffline implements Deserializable {\n constructor(\n public label?: string,\n public value?: string\n ) { }\n\n deserialize(input: any): CustomerPaymentOffline {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CustomerPaymentSource implements Deserializable {\n constructor(\n // public accountKind?: PaymentAccountKind,\n public accountName?: string,\n public accountType?: PaymentAccountType,\n public accountNumber?: string,\n public bankName?: string,\n public billingAddress: BillingAddress = new BillingAddress(),\n public companyGateway: CompanyGateway = new CompanyGateway(),\n public expDate?: string,\n public id?: number,\n public routingNumber?: string,\n public type?: PaymentSource,\n public verified?: string,\n public priorityOrder?: number\n ) { }\n\n deserialize(input: any): CustomerPaymentSource {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CustomerSubscriptionGridModel implements Deserializable {\n constructor(\n public billingAddress?: Address,\n public companyCurrency?: CompanyCurrency,\n public companyGateway?: CompanyGateway,\n public createdAt?: string,\n public customer?: Customer,\n public customerPaymentMethod?: PaymentMethod,\n public detail?: string,\n public id?: number,\n public isSubPanelExpanded?: boolean,\n public isNextBillReady?: boolean,\n public lastCharge?: string,\n public name?: string,\n public nextCharge?: string,\n public offlinePaymentId?: string,\n public oneTimeChargeAmount?: number,\n public oneTimeChargeQty?: number,\n public ratePlan?: Array,\n public recurringChargeAmount?: number,\n public recurringChargeQty?: number,\n public shippingAddress?: Address,\n public shippingIntegration?: CompanyIntegrationModel,\n public shippingServiceId?: string,\n public status?: string,\n public statusForSubPanel?: VisibleState,\n public subscriptionNextBill?: SubscriptionNextBill,\n public updatedAt?: string,\n public usageChargeAmount?: number,\n public usageChargeQty?: number\n ) {}\n\n deserialize(input: any): CustomerSubscriptionGridModel {\n Object.assign(this, input);\n return this;\n }\n\n}\n","export class ExchangeRate {\n base: string;\n disclaimer: string;\n license: string;\n rates: Object;\n timestamp: number;\n}","import { Deserializable } from '../interfaces/deserialize.interface';\n\nexport class Filter implements Deserializable {\n id: number\n label: string\n sectionId: string\n status: string\n type: string\n isDefault: boolean\n isEditable: boolean\n detail:string\n\n deserialize(input: any): Filter {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class FilterOption {\n id: number\n displayName:string\n name: string\n dataType: string\n originSource: string\n allowedOperators: Array\n allowedValues: Array\n}\n\nexport interface FilterRule {\n attributeId: number\n attributeDisplayName: string\n operatorId: number\n operatorDisplayName: string\n settingValues: Array\n}\n","import { Deserializable } from '../interfaces/deserialize.interface';\n\nexport class Gateway implements Deserializable {\n constructor(\n public apiVersion?: string,\n public card?: Array,\n public code?: string,\n public credentialsLastUpdate?: string,\n public dateAdded?: string,\n public id?: number,\n public isActive?: boolean,\n public isDefault?: boolean,\n public isEnabled?: boolean,\n public logo?: string,\n public method?: string,\n public name?: string,\n public status?: string,\n public type?: string,\n public urlSandbox?: string,\n public urlProduction?: string,\n ){}\n\n deserialize(input: any): Gateway {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewayCarddModel implements Deserializable {\n constructor(\n public id?: string,\n public isActive?: string,\n public name?: string\n ) {}\n\n deserialize(input: any): GatewayCarddModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewayClientToken implements Deserializable{\n constructor(\n public publicKey?: string,\n public merchantId?: string,\n ){}\n\n deserialize(input: any): GatewayClientToken {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewayConfig implements Deserializable {\n constructor(\n public card?: Array,\n public connectionType?: string,\n public createdAt?: Date,\n public credentialsLastUpdate?: string,\n public dateAdded?: string,\n public enabled?: boolean,\n public id?: number,\n public keyName?: string,\n public logo?: string,\n public name?: string,\n public setting?: Array,\n public status?: string,\n public type?: string,\n public updatedAt?: Date\n ) {}\n\n deserialize(input: any): GatewayConfig {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewaySettingsField implements Deserializable{\n constructor(\n public displayName?: string,\n public keyName?: string,\n public value?: string,\n ) {}\n\n deserialize(input: any): GatewaySettingsField {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewayNonceResponse implements Deserializable{\n constructor(\n public accountType?: string,\n public accountKind?: string,\n public accountName?: string,\n public nonce?: string,\n ) { }\n\n deserialize(input: any): GatewayNonceResponse {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewayBraintreePaymentResponse implements Deserializable{\n constructor(\n public description?: string, //ending in 11\n public details?: {\n cardType: string, //Visa\n expirationMonth: string, //12\n expirationYear: string, //2020\n lastFour: string, //1111\n lastTwo: string, //11\n },\n public nonce?: string, //tokencc_bd_59gjw4_kypsvk_q28pbb_2hk9bc_87y\n public type?: string, //CreditCard\n ) { }\n\n deserialize(input: any): GatewayBraintreePaymentResponse {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewaySquarePaymentResponse implements Deserializable{\n constructor(\n public cardData?: {\n billing_postal_code: string, //12345\n card_brand: string, //VISA\n digital_wallet_type: string, //NONE\n exp_month: string, //12\n exp_year: string, //2023\n last_4: string, //1111\n },\n public nonce?: string, //cnon:CBASEDcig-9KTUk50bgV69zldJE\n ){}\n\n deserialize(input: any): GatewaySquarePaymentResponse {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class POST_GatewayModel implements Deserializable{\n constructor(\n public card?: Array,\n public displayName?: string,\n public gblGatewayId?: number,\n public setting: Object = {},\n ){}\n\n deserialize(input: any): POST_GatewayModel {\n Object.assign(this, input);\n return this;\n }\n}\n\n","import { Address } from './address.model';\nimport { Currency } from './currency.model';\nimport { ExchangeRate } from './exchange-rate.model';\nimport { Filter } from './filter.model';\nimport { Gateway, GatewayConfig } from './gateway.model';\nimport { InvoiceObject } from './invoice.model';\nimport { Integration, IntegrationKey, CompanyIntegrationModel, IntegrationSettings, BigcommerceProductModel, ShopifyProductModel } from \"./integration.model\";\nimport { Language } from './languages.model';\nimport { PaymentMethod } from './payment-method.model';\nimport { RebilliaPlan, PlanFeatures, PlanFeaturesGroup } from './rebillia-plans.model';\nimport { Subscriptions } from './subscriptions.model';\nimport { RestResponse } from './rest-response.model';\nimport { TaxLocale, TaxRegion } from './tax-region.model';\nimport { Timezone } from './timezone.model';\nimport { User, UserAuth0 } from './user.model';\nimport { UserRole } from './role.model';\nimport { CompanyTimezone } from './company.model';\nimport { PaymentRunOperation } from './system.model';\n\nexport const MODELS: any[] = [\n Address,\n BigcommerceProductModel,\n CompanyTimezone,\n Currency,\n ExchangeRate,\n Filter,\n Gateway,\n GatewayConfig,\n InvoiceObject,\n Integration,\n IntegrationKey,\n IntegrationSettings,\n CompanyIntegrationModel,\n Language,\n PaymentMethod,\n PaymentRunOperation,\n PlanFeatures,\n PlanFeaturesGroup,\n RebilliaPlan,\n RestResponse,\n ShopifyProductModel,\n TaxLocale,\n TaxRegion,\n Timezone,\n Subscriptions,\n User,\n UserAuth0,\n UserRole,\n];\n\nexport * from './address.model';\nexport * from './country.model';\nexport * from './company.model';\nexport * from './currency.model';\nexport * from './filter.model';\nexport * from './exchange-rate.model';\nexport * from './gateway.model';\nexport * from './industries.model';\nexport * from './invoice.model';\nexport * from './integration.model';\nexport * from './languages.model';\nexport * from './payment-method.model';\nexport * from './system.model';\nexport * from './rebillia-plans.model';\nexport * from './role.model';\nexport * from './subscriptions.model';\nexport * from './rest-response.model';\nexport * from './tax-region.model';\nexport * from './timezone.model';\nexport * from './user.model';\n","export class Industry {\n constructor(\n public id?: number,\n public name?: string,\n public groupName?: string\n ){}\n}","import { Deserializable } from '../interfaces/deserialize.interface';\n\nexport interface AvalaraAddressInterface {\n boundaryLevel: string,\n city: string,\n country: string,\n id: number\n latitude: string,\n line1: string,\n line2: string,\n line3: string,\n longitude: string,\n postalCode: string,\n region: string,\n taxRegionId: number\n transactionId: number\n}\n\nexport interface AvalaraLinesInterface {\n costInsuranceFreight: number,\n details: Array,\n discountAmount: number,\n exemptAmount: number,\n exemptCertId: number,\n hsCode: string,\n id: number,\n isItemTaxable: boolean,\n lineAmount: number,\n lineNumber: string,\n nonPassthroughDetails: Array,\n quantity: number,\n reportingDate: string,\n tax: number,\n taxCalculated: number,\n taxCode: string,\n taxCodeId: number,\n taxDate: string,\n taxIncluded: boolean\n taxableAmount: number,\n transactionId: number,\n vatCode: string,\n vatNumberTypeId: number,\n}\n\nexport interface AvalaraSummaryInterface {\n country: string,\n exemption: number,\n jurisCode: string,\n jurisName: string,\n jurisType: string,\n nonTaxable: number,\n rate: number,\n rateType: string,\n region: string,\n stateAssignedNo: string,\n tax: number,\n taxAuthorityType: number,\n taxCalculated: number,\n taxName: string,\n taxSubType: string,\n taxType: string,\n taxable: number\n}\n\nexport interface taxItemInterface {\n amount: string,\n quantity: string,\n itemCode: string,\n avalaraCode: string\n}\n\nexport class AvalaraIntegrationInfo implements Deserializable{\n constructor(\n public IsFein?: boolean,\n public accountId?: number,\n public companyCode?: string,\n public createdDate?: string,\n public createdUserId?: number,\n public defaultCountry?: string,\n public hasProfile?: boolean,\n public id?: number,\n public inProgress?: boolean,\n public isActive?: boolean,\n public isDefault?: boolean,\n public isReportingEntity?: boolean,\n public isTest?: boolean,\n public modifiedDate?: string,\n public modifiedUserId?: number,\n public name?: string,\n public roundingLevelId?: string,\n public taxpayerIdNumber?: string,\n public warningsEnabled?: boolean\n ){}\n\n deserialize(input: any): AvalaraIntegrationInfo {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class AvalaraTaxRates implements Deserializable{\n constructor(\n public name?: string,\n public rate?: number,\n public type?: string\n ){}\n\n deserialize(input: any): AvalaraTaxRates {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class AvalaraTaxRegion implements Deserializable {\n constructor(\n public id?:\tnumber,\n public name?:\tstring,\n public region?:\tstring,\n public effectiveDate?: string,\n public endDate?: string\n ){}\n\n deserialize(input: any): AvalaraTaxRegion {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class AvalaraTaxRegionsByCompany implements Deserializable {\n constructor(\n public name?: string,\n public regionIso?: string,\n public regions?: Array,\n ){}\n\n deserialize(input: any): AvalaraTaxRegionsByCompany {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class AvalaraTaxRegionsByCountry implements Deserializable {\n\n constructor(\n public code?: string,\n public countryCode?: string,\n public localizedNames?: Array,\n public name?: string,\n public streamlinedSalesTax?: boolean\n ) { }\n\n deserialize(input: any): AvalaraTaxRegionsByCountry {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class AvalaraTaxResponse implements Deserializable {\n constructor(\n public amount?: number,\n public tax?: number,\n public taxRates?: Array,\n public totalRate?: number\n ) { }\n\n deserialize(input: any): AvalaraTaxResponse {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class BigcommerceProductModel implements Deserializable {\n constructor(\n public companyIntegration?: CompanyIntegrationModel,\n public directURL?: string,\n public id?: number,\n public image?: string,\n public modifierDisplayName?: string,\n public name?: string,\n public options?: Array,\n public price?: string,\n public sku?: string,\n public url?: string,\n public variants?: Array,\n ) {}\n\n deserialize(input: any): BigcommerceProductModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyIntegrationModel implements Deserializable {\n constructor(\n public connected?: boolean,\n public createdAt?: Date,\n public description?: string,\n public displayName?: string,\n public id?: number,\n public integrationKeyName?: string,\n public integrationKey?: Array,\n public integrationSetting?: Array,\n public gblIntegration?: CompanyIntegrationModel,\n public logo?: string,\n public name?: string,\n public publicKey?: string,\n public status?: string,\n public updatedAt?: Date,\n public urlRedirect?: string,\n ) {}\n\n deserialize(input: any): CompanyIntegrationModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class CompanyIntegrationSettings implements Deserializable {\n constructor(\n public integrationSettingId?: number,\n public value?: string,\n ) {}\n\n deserialize(input: any): CompanyIntegrationSettings {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class IntegrationExternalStatuses implements Deserializable {\n constructor(\n public custom_label?: string,\n public id?: string,\n public name?: string,\n public order?: number,\n public system_label?: string,\n public system_description?: string\n ) {}\n\n deserialize(input: any): IntegrationExternalStatuses {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class Integration implements Deserializable {\n createdAt: string\n code: string\n displayName: string\n description: string\n id: number\n logo: string\n name: string\n status: string\n updatedAt: string\n\n deserialize(input: any): Integration {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class IntegrationSettings implements Deserializable {\n constructor(\n public id?: number,\n public jsonValue?: string,\n public keyName?: string,\n public label?: string,\n public required?: boolean,\n public type?: string,\n public value?: any,\n ) {}\n\n deserialize(input: any): IntegrationSettings {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class IntegrationKey implements Deserializable {\n constructor(\n public id?: number,\n public keyName?: string,\n public label?: string,\n public required?: boolean,\n public type?: string,\n public visible?: boolean,\n public value?: string,\n ){}\n\n deserialize(input: any): IntegrationKey {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class IntegrationRelationsModel implements Deserializable {\n constructor(\n public code?: string,\n public companyIntegration ?: string,\n public integration ?: string,\n public message ?: string\n ) {}\n\n deserialize(input: any): IntegrationRelationsModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class POST_CompanyIntegrationModel implements Deserializable {\n constructor(\n public integrationKeys?: Object,\n public displayName?: string,\n public status?: string,\n ) {}\n\n deserialize(input: any): POST_CompanyIntegrationModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class PUT_CompanyIntegrationModel implements Deserializable {\n constructor(\n public displayName?: string,\n public status?: string,\n ) {}\n\n deserialize(input: any): PUT_CompanyIntegrationModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ShipperHqServicesModel implements Deserializable{\n constructor(\n public companyIntegrationId?: number,\n public integrationName?: string,\n public carrierName?: string,\n public serviceId?: string,\n public serviceName?: string,\n public carrierCode?: string,\n public carrierTitle?: string,\n public amount?: string,\n ){}\n\n deserialize(input: any): ShippingServiciesModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ShippingServiciesModel implements Deserializable{\n constructor(\n public companyIntegrationId?: number,\n public carrierName?: string,\n public serviceId?: string,\n public serviceName?: string\n ){}\n\n deserialize(input: any): ShippingServiciesModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ShippingRatesModel implements Deserializable{\n constructor(\n public amount?: string,\n public companyIntegrationId?: number,\n public currency?: string,\n public integrationName?: string,\n public serviceId?: string,\n public serviceName?: string,\n public carrierName?: string\n ){}\n\n deserialize(input: any): ShippingRatesModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ShippingCalculateModel implements Deserializable{\n constructor(\n public street1?: string,\n public street2?: string,\n public street3?: string,\n public city?: string,\n public state?: string,\n public zip?: string,\n public country?: string,\n public residential?: boolean,\n public weight?: number,\n public itemCount?: number,\n public orderAmount?: number,\n public companyCurrencyId?: number,\n\n ){}\n\n deserialize(input: any): ShippingCalculateModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ShopifyProductModel implements Deserializable {\n constructor(\n public id?: number,\n public image?: string,\n public modifierDisplayName?: string,\n public name?: string,\n public options?: Array,\n public price?: string,\n public sku?: string,\n public variants?: Array,\n ) {}\n\n deserialize(input: any): ShopifyProductModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class TaxItem implements Deserializable {\n constructor(\n public amount?: string,\n public quantity?: string,\n public itemCode?: string,\n public taxCode?: string\n ){}\n\n deserialize(input: any): TaxItem {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class TaxTransactionResponse implements Deserializable {\n constructor(\n public address?: any,\n public customerCode?: string,\n public documentType?: string,\n public items?: Array,\n public totalAmount?: number,\n public totalExempt?: number,\n public totalTaxCalculated?: number,\n public totalTaxable?: number,\n ){}\n\n deserialize(input: any): TaxTransactionResponse {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport interface BigcommerceProductImage {\n id: number;\n is_thumbnail: boolean;\n description: string;\n url_zoom: string;\n url_standard: string;\n url_thumbnail: string;\n url_tiny: string;\n date_modified: string;\n}\n","import { ChargeCreditType, ProductRatePlanChargesCategory } from 'src/app/app.data';\nimport { User } from '.';\nimport { Deserializable } from '../interfaces/deserialize.interface';\nimport { RatePlanCharge } from '../interfaces/subscription.interface';\nimport { Address } from './address.model';\nimport { CompanyCurrency, CompanyGateway } from './company.model';\nimport { CustomerPaymentSource, CustomerProfile } from './customer.model';\nimport { CompanyIntegrationModel } from './integration.model';\nimport { ProductCatalogModel, ProductRatePlanCharge } from './product.model';\nimport { Subscription } from './subscriptions.model';\nimport {CustomerStoreChargeCredit, InvoiceTransaction} from './transaction.model';\n\nexport class InvoiceObject implements Deserializable{\n constructor(\n public autoCollection?: boolean,\n public balanceDue?: string,\n public billingAddress?: Address,\n public comments?: string,\n public createdAt?: string,\n public currency?: CompanyCurrency,\n public customer?: CustomerProfile,\n public customerEmail?: string,\n public customerName?: string,\n public customerPhone?: string,\n public dateDue?: string,\n public dateFrom?: string,\n public datePaid?: string,\n public dateRefund?: string,\n public dateTo?: string,\n public dateVoid?: string,\n public detail?: Array,\n public id?: number,\n public invoiceNo?: string,\n public shippingAddress?: Address,\n public shippingAmount?: string,\n public status?: string,\n public type?: string,\n public subtotalTaxExc?: number,\n public subtotalTaxInc?: number,\n public taxAmount?: number,\n public taxRate?: number,\n public terms?: string,\n public total?: string,\n public transaction?: Array,\n public updatedAt?: string,\n ){}\n\n deserialize(input: any): InvoiceObject {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class InvoiceByIdObject implements Deserializable {\n constructor(\n public showSetExternalOrderAction?: boolean,\n public autoCollection?: boolean,\n public balanceDue?: number,\n public billingAddress?: Address,\n public comments?: string,\n public companyGateway?: CompanyGateway,\n public createdAt?: string,\n public currency?: CompanyCurrency,\n public customer?: CustomerProfile,\n public customerEmail?: string,\n public customerName?: string,\n public customerPaymentMethod?: CustomerPaymentSource,\n public customerPhone?: string,\n public dateDue?: string,\n public dateFrom?: string,\n public datePaid?: string,\n public dateRefund?: string,\n public dateTo?: string,\n public dateVoid?: string,\n public detail?: Array,\n public id?: number,\n public invoiceNo?: string,\n public logs?: Array,\n public offlinePaymentId?: string,\n public paymentType?: string,\n public refundAmount?: number,\n public shippingAddress?: Address,\n public shippingAmount?: number,\n public shippingCompanyIntegration?: CompanyIntegrationModel,\n public shippingServiceId?: number,\n public shippingServiceName?: string,\n public status?: string,\n public type?: string,\n public subtotalTaxExc?: number,\n public subtotalTaxInc?: number,\n public taxAmount?: number,\n public taxCompanyIntegration?: CompanyIntegrationModel,\n public taxShippingAmount?: number,\n public taxTotal?: number,\n public taxRate?: number,\n public terms?: string,\n public total?: string,\n public transaction?: Array,\n public updatedAt?: string,\n public customerStoreChargeCredits?: CustomerStoreChargeCredit,\n public hasAnExternalOrder?: string,\n ){}\n\n deserialize(input: any): InvoiceByIdObject {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class InvoiceDetailObject implements Deserializable{\n constructor(\n public amount?: string,\n public category?: ProductRatePlanChargesCategory,\n public chargeCredit?: ChargeCreditModel,\n public description?: string,\n public id?: number,\n public product?: ProductCatalogModel,\n public productRatePlanCharge?: ProductRatePlanCharge,\n public qty?: number,\n public ratePlanCharge?: RatePlanCharge,\n public subscription?: Subscription,\n public taxRate?: string,\n public totalTaxExc?: string,\n public totalTaxInc?: string,\n ){}\n\n deserialize(input: any): InvoiceDetailObject {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ChargeCreditModel implements Deserializable {\n constructor(\n public amount?: number,\n public category?: ProductRatePlanChargesCategory,\n public companyCurrency?: CompanyCurrency,\n public createdAt?: Date,\n public depth?: string,\n public dimensionalRule?: string,\n public description?: string,\n public height?: string,\n public id?: number,\n public isFreeShipping?: boolean,\n public originLocation?: string,\n public qty?: number,\n public shippingGroup?: number,\n public taxable?: boolean,\n public taxClass?: string,\n public total?: number,\n public type?: ChargeCreditType,\n public weight?: number,\n public width?: string\n ) { }\n\n deserialize(input: any): ChargeCreditModel {\n Object.assign(this, input);\n return this;\n }\n}\n\n\nexport class InvoiceLogs implements Deserializable {\n constructor(\n public createdAt?: string,\n public id?: number,\n public jsonContent?: Array,\n public level?: string,\n public message?: string,\n public name?: string,\n public source?: string,\n public updatedAt?: string,\n public user?: User,\n\n ){}\n deserialize(input: any): InvoiceLogs {\n Object.assign(this, input);\n return this;\n }\n }\n","export class Language {\n iso639_1: string\n iso639_2: string\n name: string\n nativeName: string\n}\n","import { Address } from './address.model';\nimport { Deserializable } from '../interfaces/deserialize.interface';\n\nexport class PaymentMethod implements Deserializable {\n constructor(\n public accountType?: string,\n public accountNumber?: string,\n public accountName?: string,\n public billingAddress: Address = new Address(),\n public expDate?: string,\n public id?: number,\n public nonce?: string,\n public type?: string,\n ) { }\n\n deserialize(input: any): PaymentMethod {\n Object.assign(this, input);\n return this;\n }\n}\n","export class RebilliaPlan {\n id: number;\n name: string;\n price: number;\n description_1: string;\n description_2: string;\n}\n\nexport class PlanFeatures {\n id: number;\n name: string;\n value_1: string;\n value_2: string;\n value_3: string;\n}\n\nexport class PlanFeaturesGroup {\n id: number;\n name: string;\n features: PlanFeatures[]\n}\n","\nexport interface Errors {\n code: number,\n message: string\n}\n\nexport interface ErrorInterface {\n code: number, //HTTP response code\n message: string, //A descriptive information about the error. This is for developer(/merchant) consumption and should not be used for showing errors to your customers.\n errors: Array\n help: string\n}\n\nexport class RestResponse {\n code: number;\n currentPageNumber: number;\n itemsPerPage: number;\n isSuccess: boolean;\n data: T;\n error: ErrorInterface;\n totalItems: number;\n totalPages: number;\n\n constructor() {}\n\n onFail(_status:number, _code: number, _message: string, _errors: any, _help: any) {\n this.code = _status;\n this.isSuccess = false;\n this.error = {\n code: _code,\n message: _message,\n errors: _errors,\n help: _help\n };\n return this;\n }\n\n onSuccess(_code: number, _data: any = null) {\n this.currentPageNumber = (_data.currentPageNumber ? _data.currentPageNumber : 1);\n this.itemsPerPage = (_data.itemsPerPage ? _data.itemsPerPage : 0);\n this.totalItems = (_data.totalItems ? _data.totalItems : 0);\n this.totalPages = (_data.totalPages ? _data.totalPages : 0);\n this.code = _code;\n this.data = (_data.data ? _data.data : _data);\n this.isSuccess = true;\n return this;\n }\n\n onSuccessNoData(_code: number) {\n this.code = _code;\n this.data = null;\n this.isSuccess = true;\n return this;\n }\n}\n","import { Deserializable } from '../interfaces/deserialize.interface';\n\nexport enum Role {\n admin = 'admin',\n analyst = 'analyst',\n executive = 'executive',\n owner = 'owner',\n sales = 'sales',\n support = 'support',\n user = 'user'\n}\n\nexport class UserRole implements Deserializable {\n id: number;\n description: string;\n displayName: string;\n name: string;\n\n deserialize(input: any): UserRole {\n Object.assign(this, input);\n return this;\n }\n}","import { Currency } from './currency.model';\nimport { Deserializable } from '../interfaces/deserialize.interface';\nimport { Address } from './address.model';\nimport { CustomerProfile, CustomerPaymentSource, Customer } from './customer.model';\nimport { RatePlan } from '../interfaces/subscription.interface';\nimport { BillCycleTypeValues, BillingPeriodAlignmentValues, BillingPeriodValues, BillingTimingValues, ChargeModelValues, ChargeType, EndDateConditionValues, FrequencyUnitValues, UpToPeriodsTypeValues, WeekDay, VisibleState, ProductCategory, ProductRatePlanChargesCategory, RatePlanType } from 'src/app/app.data';\nimport { ProductRatePlanChargeTier } from './product.model';\nimport { CompanyCurrency, CompanyCurrencyGateway, CompanyGateway } from './company.model';\nimport { PaymentMethod } from './payment-method.model';\nimport { PricingModels } from './pricingModel.model';\nimport { CompanyIntegrationModel, ShippingServiciesModel } from './integration.model';\n\nexport class CustomerSubscription implements Deserializable{\n constructor(\n public id?: number,\n public first_name?: string,\n public last_name?: string,\n public email?: string,\n public phone?: string,\n public company?: string,\n public auto_collection?: string,\n public net_term_days?: number,\n public allow_direct_debit?: boolean,\n public created_at?: number,\n public taxability?: string,\n public updated_at?: number,\n public pii_cleared?: string,\n public deleted?: boolean,\n public card_status?: string,\n public promotional_credits?: number,\n public refundable_credits?: number,\n public excess_payments?: number,\n public unbilled_charges?: number,\n public preferred_currency_code?: string\n ){}\n\n deserialize(input: any): CustomerSubscription {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class POST_SubscriptionRatePlanModel implements Deserializable {\n constructor(\n public name?: string,\n public productRatePlanId?: number,\n public ratePlanCharge: Array = []\n ){}\n\n deserialize(input: any): POST_SubscriptionRatePlanModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class POST_SubscriptionRatePlanChargeTierModel implements Deserializable {\n constructor(\n public endingUnit?: string,\n public currency?: string,\n public price?: number,\n public priceFormat?: string,\n public startingUnit?: string,\n public tier?: number\n ){}\n\n deserialize(input: any): POST_SubscriptionRatePlanChargeTierModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class POST_SubscriptionRatePlanChargeModel implements Deserializable {\n constructor(\n public allowChangeQuantity?:any,\n public billCycleDay?: number,\n public billCycleType?: BillCycleTypeValues,\n public billingPeriod?: FrequencyUnitValues,\n public billingPeriodAlignment?: BillingPeriodAlignmentValues,\n public billingTiming?: BillingTimingValues,\n public category?: ProductRatePlanChargesCategory,\n public chargeModel?: ChargeModelValues,\n public chargeType?: ChargeType,\n public description?: string,\n public effectiveEndDate?: string,\n public effectiveStartDate?: string,\n public endDateCondition?: string,\n public chargeTier: Array = [],\n public name?: string,\n public numberOfPeriods?: number,\n public processedThroughDate?: string,\n public productRatePlanChargeId?: number,\n public quantity?: number,\n public specificBillingPeriod?: number,\n public specificEndDate?: string,\n public taxCode?: string,\n public taxMode?: string,\n public taxable?: boolean,\n public upToPeriods?: number,\n public upToPeriodsType?: UpToPeriodsTypeValues,\n public weeklyBillCycleDay?: WeekDay,\n public isFreeShipping?: boolean,\n public weight?: number,\n public width?: number,\n public height?: number,\n public depth?: number,\n public rules?: Array,\n public delay?: number,\n public delayType?: string,\n public usageType?: string\n ){}\n\n deserialize(input: any): POST_SubscriptionRatePlanChargeModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class POST_SubscriptionModel implements Deserializable {\n constructor(\n public billingAddressId?: number,\n public companyCurrencyId?: number,\n public companyGatewayId?: number,\n public customerId?: number,\n public customerPaymentMethodId?: number,\n public detail?: string,\n public effectiveStartDate?: string,\n public name?: string,\n public offlinePaymentId?: string,\n public ratePlan: Array = [],\n public shippingAddressId?: number,\n public shippingCompanyIntegrationId?: number,\n public shippingServiceId?: string,\n public shippingAmount?: number,\n ){}\n\n deserialize(input: any): POST_SubscriptionModel {\n console.log('@@@@input', input);\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class Subscription implements Deserializable {\n constructor(\n public id?: string,\n public customer_id?: string,\n public plan_id?: string,\n public plan_name?: string,\n public plan_quantity?: string,\n public plan_unit_price?: number,\n public setup_fee?: number,\n public plan_amount?: number,\n public billing_period?: number,\n public billing_period_unit?: string,\n public plan_free_quantity?: number,\n public status?: string,\n public trial_start?: Date,\n public trial_end?: Date,\n public current_term_start?: Date,\n public current_term_end?: Date,\n public next_billing_at?: Date,\n public po_number?: string,\n public created_at?: Date,\n public started_at?: Date,\n public activated_at?: Date,\n public updated_at?: Date,\n public has_scheduled_changes?: boolean,\n public resource_version?: Date,\n public deleted?: boolean,\n public object?: Object,\n public currency_code?: number,\n public due_invoices_count?: number,\n public mrr?: number,\n public exchange_rate?: number,\n public base_currency_code?: string,\n public name?: string\n ){}\n\n deserialize(input: any): Subscription {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class Subscriptions implements Deserializable{\n constructor(\n public subscription?: Subscription,\n public customer?: CustomerSubscription\n ){}\n\n deserialize(input: any): Subscriptions {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SubscriptionGridModel implements Deserializable {\n constructor(\n public billingAddress?: Address,\n public createdAt?: string,\n public customer?: CustomerProfile,\n public customerPaymentMethod?: CustomerPaymentSource,\n public detail?: string,\n public id?: number,\n public lastCharge?: string,\n public name?: string,\n public nextCharge?: string,\n public oneTimeChargeQty?: number,\n public oneTimeChargeAmount?: number,\n public ratePlan?: Array,\n public recurringChargeQty?: number,\n public recurringChargeAmount?: number,\n public shippingAddress?: Address,\n public source?: string,\n public sourceCompanyIntegration?: CompanyIntegrationModel,\n public status?: string,\n public updatedAt?: string,\n public usageChargeQty?: number,\n public usageChargeAmount?: number\n ){}\n\n deserialize(input: any): SubscriptionGridModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SubscriptionNextBill implements Deserializable{\n constructor(\n public billingAddress?: Address,\n public companyCurrency?: CompanyCurrency,\n public companyGateway?: CompanyGateway,\n public customer?: Customer,\n public customerPaymentMethod?: CustomerPaymentSource,\n public grandTotal?: number,\n public items: Array = [],\n public name?: string,\n public nextBillDate ?:string,\n public shippingAddress?: Address,\n public shippingAmount?: number,\n public shippingMethod?: ShippingServiciesModel,\n public shippingRate?: string,\n public subtotal?: number,\n public taxAmount?: number\n ){}\n\n deserialize(input: any): SubscriptionNextBill {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class New_SubscriptionRatePlanChargeTierModel implements Deserializable {\n constructor(\n public endingUnit?: string,\n public currency?: string,\n public price?: number,\n public priceFormat?: string,\n public startingUnit?: string,\n public tier?: number\n ){}\n\n deserialize(input: any): New_SubscriptionRatePlanChargeTierModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class New_SubscriptionRatePlanChargeModel implements Deserializable {\n constructor(\n public billCycleDay?: number,\n public billCycleType?: BillCycleTypeValues,\n public billingPeriod?: FrequencyUnitValues,\n public billingPeriodAlignment?: BillingPeriodAlignmentValues,\n public billingTiming?: BillingTimingValues,\n public category?: ProductRatePlanChargesCategory,\n public chargeModel?: ChargeModelValues,\n public chargeTier: Array = [],\n public chargeType?: ChargeType,\n public chargedThroughDate?: string,\n public description?: string,\n public dimensionalRule?: string,\n public effectiveEndDate?: string,\n public effectiveStartDate?: string,\n public endDateCondition?: string,\n public externalRatePlanCharges: Array = [],\n public fixedShippingPrice?: string,\n public isFreeShipping?: string,\n public id?: number,\n public shippingAmount?: number,\n public lastBillRun?: any,\n public listPriceBase?: string,\n public mrr?: string,\n public name?: string,\n public numberOfPeriods?: number,\n public originLocation?: string,\n public price?: string,\n public priceIncreasePercentage?: string,\n public processedThroughDate?: string,\n public productRateplanChargeId?: number,\n public shippingGroup?: string,\n public quantity?: number,\n public specificBillingPeriod?: number,\n public specificEndDate?: string,\n public status?: string,\n public taxAmount?:number,\n public taxClass?: string,\n public taxCode?: string,\n public taxMode?: string,\n public taxable?: boolean,\n public upToPeriods?: number,\n public usageType?: any,\n public isGift?: any,\n public upToPeriodsType?: UpToPeriodsTypeValues,\n public weeklyBillCycleDay?: WeekDay,\n public rules?: any[],\n ){}\n\n deserialize(input: any): New_SubscriptionRatePlanChargeModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ExternalDetail implements Deserializable {\n constructor(\n public option_id?: number,\n public option_name?: string,\n public rebillia_option?: boolean,\n public value_id?: string,\n public value_name?: string,\n ) {}\n\n deserialize(input: any): ExternalDetail {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ExternalRatePlanCharge implements Deserializable {\n constructor(\n public companyIntegration?: CompanyIntegrationModel,\n public externalDetail: Array = [],\n public externalId?: string,\n public externalName?: string,\n public externalSku?: string,\n public externalUrl?: string,\n public id?: number,\n ) {}\n\n deserialize(input: any): ExternalRatePlanCharge {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class New_SubscriptionRateplanModel implements Deserializable {\n constructor(\n public createdAt?: string,\n public id?: number,\n public lastCharge?: string,\n public name?: string,\n public nextCharge?: string,\n public oneTimeChargeAmount?: number,\n public oneTimeChargeQty?: number,\n public productId?: number,\n public productName?: string,\n public productRatePlanId?: number,\n public ratePlanCharge?: Array,\n public recurringChargeAmount?: number,\n public recurringChargeQty?: number,\n public status?: string,\n public statusSubPanel?: VisibleState,\n public subscriptionRatePlanCharges?: any,\n public updatedAt?: string,\n public usageChargeAmount?: number,\n public usageChargeQty?: number,\n public type?: RatePlanType,\n public rules?: Array\n ){}\n\n deserialize(input: any): New_SubscriptionRateplanModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class New_SubscriptionModel implements Deserializable {\n constructor(\n public createdAt?: string,\n public billingAddress?: Address,\n public companyCurrency?: CompanyCurrency,\n public companyGateway?: CompanyGateway,\n public customer?: Customer,\n public customerPaymentMethod?: PaymentMethod,\n public detail?: string,\n public id?: number,\n public name?: string,\n public nextBill?: string,\n public offlinePaymentId?: string,\n public oneTimeChargeAmount?: number,\n public oneTimeChargeQty?: number,\n public ratePlan: Array = [],\n public recurringChargeAmount?: number,\n public recurringChargeQty?: number,\n public shippingAddress?: Address,\n public shippingAmount?: number,\n public shippingCompanyIntegration?: CompanyIntegrationModel,\n public shippingServiceId?: string,\n public status?: string,\n public updatedAt?: string,\n public usageChargeAmount?: number,\n public usageChargeQty?: number,\n\n ){}\n\n deserialize(input: any): New_SubscriptionModel {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport interface POST_SubscriptionInterface {\n billingAddressId?: number, //[ required ]\n companyCurrencyId?: number, //[ required ]\n companyGatewayId?: number, //[ required ]\n customerId?: number, //[ required ]\n customerPaymentMethodId?: number,\n detail?: string,\n effectiveStartDate?: string, //[ required ]\n name?: string,\n offlinePaymentId?: string,\n ratePlan?: Array, //[ required ]\n shippingAddressId?: number,\n shippingCompanyIntegrationId?: number,\n shippingServiceId?: string,\n shippingAmount?: number,\n sourceCompanyIntegrationId?: any;\n shippingCarrierId?: string,\n shippingMethodName?: string,\n paymentMethodId?: string,\n fixedShippingRate?: number,\n shippingProtectionId?: number\n}\n\nexport interface SubscriptionNextBillCharge {\n billCycleDay: number,\n billCycleType: BillCycleTypeValues,\n billingPeriod: BillingPeriodValues,\n billingPeriodAlignment: BillingPeriodAlignmentValues,\n billingTiming: BillingTimingValues,\n chargeModel: PricingModels,\n chargeTier: string,\n chargeType: ChargeType,\n chargedThroughDate: string,\n createdAt: string,\n description: string,\n effectiveEndDate: string,\n effectiveStartDate: string,\n endDateCondition: EndDateConditionValues,\n id: number,\n mrr: number,\n name: string,\n numberOfPeriod: number,\n price: number,\n processedThroughDate: string,\n quantity: number,\n specificBillingPeriod: number,\n specificEndDate: number,\n taxCode: string,\n taxMode: string,\n taxable: boolean,\n updatedAt: string\n upToPeriods: number,\n upToPeriodsType: UpToPeriodsTypeValues,\n weeklyBillCycleDay: string,\n rules: any[]\n}\n\nexport interface POST_createExternalRatePlanCharge {\n companyIntegrationId: number,\n externalDetail: Array,\n externalId: string,\n externalName: string,\n externalSku?: string,\n externalUrl?: string,\n}\n\nexport class SubscriptionCounter implements Deserializable{\n constructor(\n public subscriptionCount?: string\n ){}\n\n deserialize(input: any): SubscriptionCounter {\n Object.assign(this, input);\n return this;\n }\n}\n\n export interface ChargePlanRule {\n action: ChargePlanRuleAction;\n amount: string;\n amountType: ChargePlanRuleAmountType;\n count: number;\n countType: string;\n currentValue: number;\n createdAt: string;\n event: string;\n id: number;\n ruleType: string;\n status: string;\n updatedAt: string;\n}\nexport type ChargePlanRuleAction = 'add'| 'remove'| 'fixed'\nexport type ChargePlanRuleAmountType = 'percent'| 'price'\n// export class Plan implements Deserializable {\n// id: number // A unique ID for your system to identify the plan.\n// name: string // The display name used in web interface for identifying the plan. [ required, max chars = 50]\n// invoiceName: string // Display name used in invoice.If it is not configured then name is used in invoice. [ optional, max chars = 100 ]\n// description: string // Description about the plan to show in the hosted pages & customer portal. [ optional, max chars = 500 ]\n// price: number // The price of the plan. [ optional, in cents, min = 0 ]\n// currencyCode: Currency // The currency code(ISO 4217 format) of the plan. [ max chars = 3 ]\n// period: number // Defines billing frequency.Example: to bill customer every 3 months, provide \"3\" here. [ integer, default=1, min = 1 ]\n// periodUnit: string // Defines billing frequency in association with billing period. [ enumerated string, default=month ] - Possible values are: 1. day: Charge based on day(s) / 2. week: Charge based on week(s) / 3. month: Charge based on month(s) / 4. year: Charge based on year(s).\n// trialPeriod: number // The free time window for your customer to try your product. [ optional, integer, min = 1 ]\n// trialPeriodUnit: number // Time unit for the trial period. [ optional, enumerated string ] - Possible values are: 1. day: In days / 2. month: In months.\n// pricingModel: string // Defines how the recurring charges for the subscription is calculated. [ enumerated string, default=flat_fee ] - Possible values are: 1. flat_fee: Charge a single price on recurring basis / 2. per_unit: Charge the price for each unit of the plan for the subscription on recurring basis / 3. tiered: Charges a different per unit price for the quantity purchased from every tier / 4. volume: Charges the per unit price for the total quantity purchased based on the tier under which it falls / 5. stairstep: Charges a price for a range / 6. freeQuantity: Free quantity the subscriptions of this plan will have.Only the quantity more than this will be charged for the subscription. [ integer, default=0, min = 0 ]\n// setupCost: number //One - time setup fee charged as part of the first invoice. [ optional, in cents, min = 1 ]\n// status: string // The plan state. [ enumerated string, default=active ] - Possible values are: 1. active: New subscriptions can be created with the plan / 2. archived: No new subscriptions allowed for the plan.Existing subscriptions on this plan will remain as- is and can be migrated to another active plan if required.\n// archivedAt: Date // Time at which the plan was moved to archived status. [optional, timestamp(UTC) in seconds]\n// billingCycles: number // The number of billing cycles the subscription is active.The subscription is moved to non renewing state and then to cancelled state automatically. [optional, integer, min = 1]\n// redirectUrl: string // The url to redirect on successful checkout.Eg: https://yoursite.com/success.html?plan=basic. [optional, string, max chars = 500]\n// enabledInHostedPages: boolean // If true, allow checkout through plan specific hosted page URL for this plan. [boolean, default=true]\n// enabledInPortal: boolean // If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal. [boolean, default=true]\n// addonApplicability: string // Indicates if all or only some addons are applicable with the plan. [enumerated string, default=all] - Possible values are: 1. all: All addons are applicable with this plan. / 2. restricted: Only addons marked as 'applicable_addons' are applicable with the plan.\n// taxCode: string // The Avalara tax codes to which items are mapped to should be provided here.Applicable only if you use Chargebee's AvaTax for Sales integration. [optional, string, max chars = 50]\n// avalaraSaleType: string // Indicates the type of sale carried out.This is applicable only if you use Chargebee’s AvaTax for Communications integration. [optional, enumerated string] - Possible values are: 1. wholesale: Transaction is a sale to another company that will resell your product or service to another consumer. / 2. retail: Transaction is a sale to an end user. / 3. consumed: Transaction is for an item that is consumed directly. / 4. vendor_use: Transaction is for an item that is subject to vendor use tax.\n// avalaraTransactionType: number // Indicates the type of product to be taxed.Values for this field can be taken from Avalara.This is applicable only if you use Chargebee’s AvaTax for Communications integration. [optional, integer]\n// avalaraServiceType: number // Indicates the type of service for the product to be taxed.Values for this field can be taken from Avalara.This is applicable only if you use Chargebee’s AvaTax for Communications integration. [optional, integer]\n// sku: string // The field is used as Product name / code in your third party accounting application.Chargebee will use it as an alternate name in your accounting application. [optional, string, max chars = 100]\n// accountingCode: string // This field is to capture the Account code setup in your Accounting system for integration purposes only. [optional, string, max chars = 100]\n// accountingCategory1: string // The name of the category of your product in Xero.If you've integrated with QuickBooks, this will be the \"Class\". Use the format \":\". E.g. \"Region: North\". [optional, string, max chars = 100]\n// accountingCategory2: string // The name of the category of your product in Xero.Use the format: \". E.g. \"Region: North\". [optional, string, max chars = 100]\n// isShippable: boolean // If enabled, charges for this plan / addon will be added to orders. [optional, boolean, default=false]\n// shippingFrequencyPeriod: number // Defines the shipping frequency.Example: to bill customer every 2 weeks, provide \"2\" here. [optional, integer, min = 1]\n// shippingFrequencyPeriodUnit: string // Defines the shipping frequency in association with shipping period. [optional, enumerated string] - Possible values are: 1. year: Ship based on year(s). / 2. month: Ship based on month(s). / 3. week: Ship based on week(s). / 4. day: Ship based on day(s).\n// updatedAt: Date //Timestamp indicating when this plan was last updated.This attribute will be present only if the resource has been updated after 2016 - 11 - 09. [optional, timestamp(UTC) in seconds]\n// giftable: boolean // Specifies if the plan should be gifted or not. [boolean, default=false]\n// claimUrl: string // The url to redirect on successful claim.Eg: https://yoursite.com/claim_success.html?plan=basic. [optional, string, max chars = 500]\n// invoiceNotes: string // Invoice Notes for this resource.Read More. [optional, string, max chars = 1000]\n// taxable: boolean // Specifies if the plan should be taxed or not. [optional, boolean, default=true]\n// taxProfileId: string //Tax profile of the plan. [optional, string, max chars = 50]\n// metaData: Object // Additional data about this resource can be stored here in the JSON Format.Learn more. [optional, jsonobject]\n// tiers: Array // List of tiers for this plan(applicable only if it is tiered / volume / stairtstep pricing. [optional, list of tier]- Tier attributes: 1. startingUnit: The lower limit of a range of units for the tier. [integer, min = 1] / 2. endingUnit: The upper limit of a range of units for the tier. [optional, integer] / 3. price: The price of the tier if the charge model is a stairtstep pricing, or the price of each unit in the tier if the charge model is tiered / volume pricing. [in cents, default=0, min = 0]\n// applicableAddons: Array //List of addons applicable with this plan. [optional, list of applicable_addon] - Applicable addon attributes: 1. id: Identifier of the addon appplicable to the plan. [string, max chars = 100]\n// attachedAddons: Array // Indicates if the addon is attached with the plan as mandatory or recommended. [optional, list of attached_addon] - Attached addon attributes: 1. id: Identifier of the addon attached with the plan.Only recurring addons can be attached with the plan. [string, max chars = 100] / 2. quantity: Quantity of the addon.Applicable only for the quantity based addons. [integer, min = 1] / 3. billingCycles: The number of billing cycles this addon will be attached to the plan. [optional, integer, min = 1] / 4. type: Specifies attachment type of the addon to the plan. [enumerated string] - Possible values are: 1. recommended: Addon will be charged with this plan unless specifically removed. / 2. mandatory Addon will be always charged with this plan.\n\n// deserialize(input: any): Plan {\n// Object.assign(this, input);\n// return this;\n// }\n// }\n\n","import { BillingRunStatus, FactoringDimension, PaymentRunStatus } from 'src/app/app.data';\nimport { Currency } from './currency.model';\nimport { Deserializable } from '../interfaces/deserialize.interface';\n\nexport interface AnalyticsTotals {\n customers?: number;\n products?: number;\n ratePlans?: number;\n subscriptions?: number;\n subscribers?: number,\n}\n\nexport class Checkout implements Deserializable {\n constructor(\n public name?: string,\n public website?: string,\n public phoneNum?: string,\n public phoneExt?: string,\n public countryId?: number,\n public planId?: number,\n public workerSize?: number,\n public paymentMethod?: [any]\n ){}\n\n deserialize(input: any): Checkout {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewayDefault implements Deserializable{\n constructor(\n public gatewayData?: any,\n public gatewayId?: any,\n public gatewaySettings?: any,\n public name?: string,\n public setting?: Object\n ){}\n\n deserialize(input: any): GatewayDefault {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class Settings implements Deserializable{\n constructor(\n public id?: number,\n public name?: string,\n public value?: string,\n public type?: string\n ){}\n deserialize(input: any): Settings {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class InternalNotificationSettingsResult implements Deserializable{\n constructor(\n public isBillRunReportEnabled?: boolean,\n public isIntegrationRunReportEnabled?: boolean,\n public isPayRunReportEnabled?: boolean,\n public isRetryRunReportEnabled?: boolean,\n ){}\n deserialize(input: any): InternalNotificationSettingsResult {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class PaginatorResult implements Deserializable{\n constructor(\n public recordsPerPage?: number,\n ){}\n deserialize(input: any): PaginatorResult {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class RblScopeKeyResult implements Deserializable{\n constructor(\n public id: number,\n public keyName: string,\n public type: string,\n public createdAt?: Date,\n public updatedAt?: Date,\n ){}\n deserialize(input: any): RblScopeKeyResult {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class ExperimentalFeaturesResult implements Deserializable{\n constructor(\n public id: number,\n public keyName: string,\n public type: string,\n public overrideId?: number,\n public enabled?: number,\n public customEnabled?: number,\n ){}\n deserialize(input: any): ExperimentalFeaturesResult {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SettingsDateFormat implements Deserializable{\n constructor(\n public displayDateFormat?: string,\n public dstCorrection?: string,\n public extendedDisplayDateFormat?: string,\n public timezone?: number,\n ){}\n deserialize(input: any): SettingsDateFormat {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SettingsMetrics implements Deserializable{\n constructor(\n public decimalPlaces?: string,\n public decimalToken?: string,\n public factoringDimension?: FactoringDimension,\n public lengthMeasurement?: string,\n public thousandsToken?: string,\n public weightMeasurement?: string,\n ){}\n deserialize(input: any): SettingsMetrics {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class GatewaysFields implements Deserializable{\n constructor(\n public key: string,\n public label: string\n ){}\n deserialize(input: any): GatewaysFields {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SystemGateway implements Deserializable{\n\n constructor(\n public ach?: GatewayDefault,\n public card?: GatewayDefault\n ){}\n\n deserialize(input: any): SystemGateway{\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class SystemMessage implements Deserializable{\n\n constructor(\n public id?: number,\n public message?: string,\n public status?: string,\n public type?: string,\n public level?: number,\n public createdAt?: Date,\n public updatedAt?: Date,\n public hideDismiss?: any\n ) { }\n\n deserialize(input: any): SystemGateway {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class BillingRunOperation implements Deserializable {\n constructor(\n public amount?: number,\n public completedOn?: Date,\n public createdAt?: Date,\n public executedOn?: Date,\n public id?: number,\n public invoiceCount?: number,\n public limit?: number,\n public repeatType?: string,\n public status?: BillingRunStatus,\n public subscriptionCount?: number,\n public targetDate?: Date,\n public type?: string,\n public updatedAt?: Date\n ) { }\n\n deserialize(input: any): BillingRunOperation {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class PaymentRunOperation implements Deserializable {\n constructor(\n public completedOn?: Date,\n public createdAt?: Date,\n public declinedAmount?: number,\n public errorAmount?: number,\n public executedOn?: Date,\n public id?: number,\n public invoiceCount?: number,\n public paidAmount?: number,\n public repeatType?: string,\n public retryAction?: string,\n public retryCount?: string,\n public retryTargetDate?: Date,\n public retryTimeOfDate?: Date,\n public status?: PaymentRunStatus,\n public targetDate?: Date,\n public type?: string,\n public subscriptionCount?: number,\n public updatedAt?: Date\n ) { }\n\n deserialize(input: any): PaymentRunOperation {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class BillingRunInfo implements Deserializable {\n constructor(\n public invoiceId ?: number,\n public description ?: string,\n public status?: BillingRunStatus,\n public subscriptionId?: number,\n ) { }\n\n deserialize(input: any): BillingRunInfo {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class PaymentRunInfo implements Deserializable {\n constructor(\n public amount?: string,\n public createdAt?: string,\n public currency?: Currency,\n public customerPaymentSourceId?: number,\n public id?: number,\n public invoiceId?: number,\n public kind?: string,\n public parentId?: number,\n public paymentAccountName?: string,\n public paymentAccountNumber?: string,\n public paymentExpDate?: string,\n public paymentType?: string,\n public transactionId?: string,\n public paymentMethod?: string,\n public status?: string,\n public type?: string,\n public updatedAt?: string\n ) { }\n\n deserialize(input: any): PaymentRunInfo {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class Put_StoreSettingsInterface {\n constructor(\n public decimalPlaces?: string,\n public decimalToken?: string,\n public displayDateFormat?: string,\n public dstCorrection?: boolean,\n public extendedDisplayDateFormat?: string,\n public factoringDimension?: string,\n public lengthMeasurement?: number,\n public thousandsToken?: string,\n public timezone?: string,\n public weightMeasurement?: number,\n public recordsPerPage?: number,\n ){}\n}\n","export class TaxRegion {\n id: string;\n isEnabled?: boolean\n regionName: string;\n}\n\nexport class TaxLocale {\n id: string;\n regionName: string;\n isEnabled?: boolean\n}","import { Deserializable } from '../interfaces/deserialize.interface';\n\nexport class TaxDefaultClasses implements Deserializable {\n constructor(\n public taxCodeDefaultTaxable?: string,\n public taxCodeShipping?: string,\n ) { }\n\n deserialize(input: any): TaxDefaultClasses {\n Object.assign(this, input);\n return this;\n }\n}\n","import { Deserializable } from \"../interfaces/deserialize.interface\";\n\nexport class Timezone implements Deserializable {\n constructor(\n public id?: number,\n public value?: string,\n public offset?: number,\n public isdst?: boolean,\n public text?: string,\n ){}\n\n deserialize(dataJSON: any): Timezone {\n Object.assign(this, dataJSON);\n return this;\n }\n}","import { Deserializable } from '../interfaces/deserialize.interface';\nimport { Address } from './address.model';\nimport { Company } from './company.model';\n\nexport class User implements Deserializable {\n id: number\n picture: string\n avatar: string\n firstName: string\n middleName: string\n lastName: string\n username: string\n password: string\n gender: string\n dob: string\n address: Address\n language: string\n privacy: number\n emailWork: string\n emailPersonal: string\n phoneWork: string\n phoneNum: string\n status: string\n dateCreatedAt: string\n dateUpdatedAt: string\n company: Array\n auth0: string\n\n deserialize(input: any): User {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class UserAuth0 implements Deserializable {\n family_name: string;\n gender: string;\n given_name: string;\n locale: string;\n name: string;\n nickname: string;\n picture: string;\n sub: string;\n updated_at: string;\n\n deserialize(input: any): UserAuth0 {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class UserProfile implements Deserializable{\n id: number;\n picture: string;\n firstName: string;\n lastName: string;\n username: string;\n phoneNum: string;\n company: Array\n\n deserialize(input: any): UserProfile {\n Object.assign(this, input);\n return this;\n }\n}\n\nexport class UserCompany implements Deserializable{\n id: number;\n ​​​name: string;\n ​​​plan: Object;\n ​​​role: string;\n supportPin: string;\n status: string;\n cancelledAt: string;\n\n deserialize(input: any): UserCompany {\n Object.assign(this, input);\n return this;\n }\n}\n","//angular\nimport { Component, OnDestroy, Renderer2 } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatIconRegistry } from '@angular/material/icon';\n//app\nimport { AppAnimations } from '../animations';\nimport { LoaderService } from '../../_core/services';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\n\n@Component({\n selector: 'page-loader',\n templateUrl: './page-loader.component.html',\n animations: [AppAnimations],\n host: {'class':'app-page-loader'}\n})\n\nexport class PageLoaderComponent implements OnDestroy {\n statusLoader: number = 0;\n private subs = new Unsubscriber();\n\n constructor(\n private _iconRegistry: MatIconRegistry,\n private _loader: LoaderService,\n private _renderer: Renderer2,\n private _sanitizer: DomSanitizer\n ) {\n this._iconRegistry.addSvgIcon('ico-loading-puff', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-loading-puff.svg'));\n\n this.subs.addSub = this._loader.changePageLoaderStatus.subscribe((value) => {\n this.statusLoader = value;\n if (value) {\n this._renderer.addClass(document.body, 'processing-request');\n } else {\n this._renderer.removeClass(document.body, 'processing-request');\n }\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-forbidden',\n templateUrl: './forbidden.component.html'\n})\nexport class ForbiddenComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

\n forbidden works!\n

\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-pagenotfound',\n templateUrl: './pagenotfound.component.html'\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

\n Ouch! Page Not Found.\n

\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html'\n})\nexport class UnauthorizedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

\n unauthorized works!\n

\n","//angular\r\nimport { Component, Inject, ViewChild, OnDestroy } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\n//app\r\nimport { AppAnimations } from 'src/app/_shared/animations';\r\nimport { PaymentFormComponent } from '../payment-form.component';\r\nimport { RestResponse } from 'src/app/_shared/models';\r\nimport { POST_CustomerPaymentSourceInterface } from '../../interfaces/customer.interface';\r\n\r\nimport { SharedCustomerService } from 'src/app/_core/services/api/shared-customer.service';\r\nimport { LoaderService } from 'src/app/_core/services';\r\nimport { MetaService } from 'src/app/_core/services/meta.service';\r\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\r\n\r\n@Component({\r\n animations: [AppAnimations],\r\n selector: 'app-dialog-payment-form',\r\n templateUrl: './dialog-payment-form.component.html',\r\n})\r\n\r\nexport class DialogPaymentFormComponent implements OnDestroy {\r\n private subs = new Unsubscriber();\r\n\r\n formSubmitted: boolean = false;\r\n @ViewChild(PaymentFormComponent) _paymentFormComponent: PaymentFormComponent;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public _data: any,\r\n private _dialogRef: MatDialogRef,\r\n private _iconRegistry: MatIconRegistry,\r\n private _loader: LoaderService,\r\n private _meta: MetaService,\r\n private _sanitizer: DomSanitizer,\r\n private sharedCustomerService: SharedCustomerService\r\n ) {\r\n this._iconRegistry.addSvgIcon('ico-close', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-01.svg'));\r\n }\r\n\r\n createPaymentSource(payment: any) {\r\n let bodyParams: POST_CustomerPaymentSourceInterface = {\r\n accountKind: null,\r\n accountName: null,\r\n accountType: null,\r\n billingAddress: null,\r\n companyGatewayId: null,\r\n paymentMethod: null,\r\n type: null\r\n }\r\n\r\n let billingAddress = payment?.billingAddress;\r\n\r\n bodyParams.accountKind = payment?.accountKind\r\n bodyParams.accountName = payment?.accountName,\r\n bodyParams.accountType = payment?.accountType,\r\n bodyParams.billingAddress = {\r\n street1: billingAddress?.street1,\r\n street2: billingAddress?.street2 || '',\r\n city: billingAddress?.city,\r\n state: billingAddress?.state,\r\n zip: billingAddress?.zip,\r\n countryId: billingAddress?.country?.id\r\n }\r\n bodyParams.companyGatewayId = payment?.companyGatewayId,\r\n bodyParams.paymentMethod = {\r\n nonce: payment.paymentNonce\r\n }\r\n bodyParams.type = payment?.type;\r\n\r\n if (billingAddress.id) {\r\n bodyParams.customerAddressBookId = billingAddress?.id;\r\n }\r\n\r\n this._loader.startPageLoader();\r\n this.subs.addSub = this.sharedCustomerService.createPaymentMethodsByCustomerId(this._data.customerId, bodyParams).subscribe(\r\n (res: RestResponse) => {\r\n this._loader.stopPageLoader();\r\n this._meta.showNotification(res);\r\n this._dialogRef.close({ newCreatedCard: res.data });\r\n },\r\n (err: RestResponse) => {\r\n this._loader.stopPageLoader();\r\n this._meta.showNotification(err);\r\n }\r\n )\r\n }\r\n\r\n onClose(): void {\r\n this._loader.stopPageLoader();\r\n this._dialogRef.close();\r\n }\r\n\r\n onGetData(_data: any) {\r\n if(_data) {\r\n this.createPaymentSource(_data);\r\n } else {\r\n this.formSubmitted = !this.formSubmitted;\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.formSubmitted = !this.formSubmitted;\r\n this._paymentFormComponent.processCardPaymentForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","//angular\r\nimport { Component, Input, Output, ViewChild, ElementRef, AfterContentInit, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n//app\r\nimport { AppAnimations } from '../animations';\r\nimport { CompanyGateway } from 'src/app/_shared/models/company.model';\r\nimport { Country, RestResponse, GatewayClientToken, Gateway, GatewayConfig, Address, POST_AddressInterface } from 'src/app/_shared/models';\r\nimport { CustomerAddressBook } from 'src/app/_shared/models/customer.model';\r\nimport { VisibleState, PaymentAccountKind, PaymentAccountType, PaymentSource, GatewayType, GatewayCode, responseCode, GatewayStatus } from 'src/app/app.data';\r\nimport { KeyName } from 'src/app/app.keynames';\r\nimport { ValidatorService } from 'src/app/_shared/validators/validator.service';\r\nimport { SharedGlobalService } from 'src/app/_core/services/api';\r\nimport { GatewayService } from 'src/app/_core/services/gateway.service';\r\nimport { MetaService } from 'src/app/_core/services/meta.service';\r\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\r\nimport { DataSharingService } from 'src/app/_core/services';\r\n\r\n@Component({\r\n animations: [ AppAnimations ],\r\n selector: 'app-payment-form',\r\n templateUrl: './payment-form.component.html'\r\n})\r\n\r\nexport class PaymentFormComponent implements OnInit, AfterContentInit, OnDestroy {\r\n collectionOfCompanyGateway: Array = [];\r\n collectionOfCountry: Array = [];\r\n form: FormGroup;\r\n hostedFieldsInstance: any;\r\n isGatewayHasError: boolean = false;\r\n isGatewaySelected: boolean = false;\r\n isPaymentSourceReady: boolean = false;\r\n selectedBillToAddress: any;\r\n selectedCompanyGateway: GatewayConfig;\r\n selectedPaymentSourceType: PaymentSource;\r\n statusForNewBillingAddress: Boolean = false;\r\n private subs = new Unsubscriber();\r\n\r\n @Input() _billingAddress?: Address;\r\n @Input() _collectionOfCustomerAddressBook?: Array = [];\r\n @Input() _companyGateways?: Array;\r\n @Input() _existCompanyId: boolean = true;\r\n @Input() _gatewayCode = GatewayCode;\r\n @Input() _gatewaySettings?: any = null;\r\n @Input() _isNewAddressMandatory?: boolean = false;\r\n @Input() _isPaymentGatewayVisible?: boolean = true;\r\n @Input() _visibleState = VisibleState;\r\n\r\n @Output() _emitPaymentForm: EventEmitter = new EventEmitter();\r\n\r\n //IDs General\r\n @ViewChild('cardHolderName', { static: true }) public _elemCardHolderName: ElementRef;\r\n cleaveCardNumOptions = { creditCard: true, delimiter: ' ', delimiterLazyShow: true};\r\n cleaveEXPMonthOptions = { date: true,datePattern: ['m','y']};\r\n cleaveCardCVVOptions = { numeral: true, numeralPositiveOnly: true, stripLeadingZeroes: false, numeralThousandsGroupStyle: 'none'};\r\n\r\n //IDs for Braintree\r\n @ViewChild('braintree_CardCVV', { static: true }) public _elemBraintreeCardCVV: ElementRef;\r\n @ViewChild('braintree_CardExp', { static: true }) public _elemBraintreeCardExp: ElementRef;\r\n @ViewChild('braintree_CardNumber', { static: true }) public _elemBraintreeCardNumber: ElementRef;\r\n @ViewChild('braintree_CardZip', { static: true }) public _elemBraintreeCardZip: ElementRef;\r\n //IDs for Square\r\n @ViewChild('square_CardCVV', { static: true }) public _elemSquareCardCVV: ElementRef;\r\n @ViewChild('square_CardExp', { static: true }) public _elemSquareCardExp: ElementRef;\r\n @ViewChild('square_CardNumber', { static: true }) public _elemSquareCardNumber: ElementRef;\r\n @ViewChild('square_CardZip', { static: true }) public _elemSquareCardZip: ElementRef;\r\n //IDs for Stripe\r\n @ViewChild('stripe_CardExp', { static: true }) public _elemStripeCardExp: ElementRef;\r\n @ViewChild('stripe_CardNumber', { static: true }) public _elemStripeCardNumber: ElementRef;\r\n @ViewChild('stripe_CardCVV', { static: true }) public _elemStripeCardCVV: ElementRef;\r\n client: any;\r\n paymentCard: any;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n public _gateway: GatewayService,\r\n public _meta: MetaService,\r\n private sharedGlobalService: SharedGlobalService,\r\n private _validatorService: ValidatorService,\r\n private _dataService: DataSharingService\r\n ) {\r\n }\r\n\r\n setUpForm() {\r\n this.form = this._fb.group({\r\n accountName: [''],\r\n accountType: [''],\r\n accountKind: [''],\r\n billingAddress: this._fb.group({\r\n city: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\r\n contactName: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\r\n country: ['', [Validators.required]],\r\n id: [''],\r\n street1: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\r\n street2: ['', [this._validatorService.emptySpace, Validators.minLength(1), Validators.maxLength(255)]],\r\n state: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(2), Validators.maxLength(255)]],\r\n zip: ['', [Validators.required, this._validatorService.emptySpace, Validators.minLength(3), Validators.maxLength(255)]],\r\n }),\r\n companyGatewayId: [''],\r\n paymentNonce: [''],\r\n type: [PaymentSource.creditCard],\r\n authorizeForm: this._fb.group({\r\n authorize_CardNumber: '',\r\n authorize_cardExp: '',\r\n authorize_CardCVV: '',\r\n authorize_CardZip: '',\r\n }),\r\n paypalForm: this._fb.group({\r\n paypal_CardNumber: '',\r\n paypal_cardExp: '',\r\n paypal_CardCVV: '',\r\n // paypal_CardZip: '',\r\n }),\r\n cybersourceForm: this._fb.group({\r\n cybersource_cardExp: ''\r\n })\r\n });\r\n }\r\n\r\n addAuthorizeValidators() {\r\n this.form.get('authorizeForm').get('authorize_CardNumber').setValidators([Validators.required, this._validatorService.emptySpace]);\r\n this.form.get('authorizeForm').get('authorize_CardNumber').updateValueAndValidity();\r\n this.form.get('authorizeForm').get('authorize_CardCVV').setValidators([Validators.required, this._validatorService.emptySpace]);\r\n this.form.get('authorizeForm').get('authorize_CardCVV').updateValueAndValidity();\r\n this.form.get('authorizeForm').get('authorize_cardExp').setValidators([Validators.required, this._validatorService.emptySpace]);\r\n this.form.get('authorizeForm').get('authorize_cardExp').updateValueAndValidity();\r\n this.form.get('authorizeForm').get('authorize_CardZip').setValidators([Validators.required, this._validatorService.emptySpace]);\r\n this.form.get('authorizeForm').get('authorize_CardZip').updateValueAndValidity();\r\n this.form.get('cybersourceForm').get('cybersource_cardExp').setValidators([]);\r\n this.form.get('cybersourceForm').get('cybersource_cardExp').updateValueAndValidity();\r\n }\r\n\r\n refreshPaypalValidators(optional = false) {\r\n ['paypal_CardNumber', 'paypal_CardCVV', 'paypal_cardExp'].forEach(key => {\r\n this.form.get('paypalForm').get(key).setValidators(!optional ? [Validators.required, this._validatorService.emptySpace] : []);\r\n this.form.get('paypalForm').get(key).updateValueAndValidity();\r\n })\r\n }\r\n\r\n addCybersourceValidators() {\r\n this.form.get('cybersourceForm').get('cybersource_cardExp').setValidators([Validators.required, this._validatorService.emptySpace]);\r\n this.form.get('cybersourceForm').get('cybersource_cardExp').updateValueAndValidity();\r\n }\r\n\r\n removeAuthorizeValidators() {\r\n this.form.get('authorizeForm').get('authorize_CardNumber').setValidators([]);\r\n this.form.get('authorizeForm').get('authorize_CardNumber').updateValueAndValidity();\r\n this.form.get('authorizeForm').get('authorize_CardCVV').setValidators([]);\r\n this.form.get('authorizeForm').get('authorize_CardCVV').updateValueAndValidity();\r\n this.form.get('authorizeForm').get('authorize_cardExp').setValidators([]);\r\n this.form.get('authorizeForm').get('authorize_cardExp').updateValueAndValidity();\r\n this.form.get('authorizeForm').get('authorize_CardZip').setValidators([]);\r\n this.form.get('authorizeForm').get('authorize_CardZip').updateValueAndValidity();\r\n if (this.selectedCompanyGateway?.keyName !== GatewayCode.cybersource ) {\r\n if (this.form.get('cybersourceForm')) {\r\n this.form.get('cybersourceForm').get('cybersource_cardExp').setValidators([]);\r\n this.form.get('cybersourceForm').get('cybersource_cardExp').updateValueAndValidity();\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setUpForm();\r\n }\r\n\r\n async ngAfterContentInit() {\r\n const resCountries = await this.sharedGlobalService.getCountries().toPromise();\r\n if (resCountries.code === 200) {\r\n this.collectionOfCountry = >resCountries.data;\r\n if (this._companyGateways && this._companyGateways.length >= 1) {\r\n this._companyGateways.forEach((_companyGateway: CompanyGateway) => {\r\n if (_companyGateway.type == GatewayType.thirdPartyPaymentProvider &&\r\n _companyGateway.status == GatewayStatus.active) {\r\n this.collectionOfCompanyGateway.push(_companyGateway);\r\n }\r\n })\r\n\r\n this.selectedCompanyGateway = this.collectionOfCompanyGateway[0];\r\n this.selectedPaymentSourceType = PaymentSource.creditCard;\r\n this.form.get('companyGatewayId').setValue(this.selectedCompanyGateway.id);\r\n this.form.get('type').setValue(this.selectedPaymentSourceType);\r\n\r\n if (this._collectionOfCustomerAddressBook.length > 0 && !this._isNewAddressMandatory){\r\n this.selectedBillToAddress = this._collectionOfCustomerAddressBook[0];\r\n } else {\r\n this.selectedBillToAddress = '0';\r\n // this.statusForNewBillingAddress = VisibleState.isVisible\r\n this.statusForNewBillingAddress = true;\r\n }\r\n\r\n this.setBillingAddress(this.selectedBillToAddress);\r\n\r\n if (!!this.selectedCompanyGateway) {\r\n this.isGatewaySelected = true;\r\n this.setCardPaymentForm();\r\n }\r\n\r\n } else {\r\n this.isGatewaySelected = false;\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, KeyName.error_not_gateway_associated);\r\n }\r\n } else {\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, KeyName.error_not_countries_found);\r\n }\r\n }\r\n\r\n onChangeBillToAddress(_event: any){\r\n this.selectedBillToAddress = _event.value;\r\n this.setBillingAddress(this.selectedBillToAddress);\r\n if (this.selectedCompanyGateway?.keyName === GatewayCode.square) {\r\n this.setCardPaymentForm();\r\n }\r\n }\r\n\r\n onGatewayChange(_gateway: Gateway) {\r\n this.selectedCompanyGateway = _gateway;\r\n debugger\r\n this.form.get('companyGatewayId').setValue(this.selectedCompanyGateway.id);\r\n this.isPaymentSourceReady = false;\r\n this.setCardPaymentForm();\r\n }\r\n\r\n // @Deprecated after changing this to autocomplete\r\n onSelectionChange(_country){\r\n this.form.get('billingAddress').get('country').setValue(_country.value);\r\n }\r\n\r\n processCardPaymentForm() {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n this.form.markAsDirty();\r\n this._emitPaymentForm.emit();\r\n return;\r\n }\r\n\r\n switch (this.selectedCompanyGateway.keyName) {\r\n case GatewayCode.authorize:\r\n this.subs.addSub = this._gateway.getClientToken(`${this.sharedGlobalService.getServiceUrlCompanyGateways()}/${this.selectedCompanyGateway.id}/client_token`, this._existCompanyId).subscribe(\r\n (res: RestResponse) => {\r\n let data: any = res.data;\r\n let apiLoginId = '';\r\n let publicKey = '';\r\n\r\n if (this._existCompanyId){\r\n apiLoginId = data.apiLoginId;\r\n publicKey = data.publicKey;\r\n } else {\r\n let card: any = data.card;\r\n let gatewaySettings: any = card.gatewaySettings;\r\n apiLoginId = gatewaySettings.apiLoginId;\r\n publicKey = gatewaySettings.publicKey;\r\n }\r\n\r\n let cardData = {\r\n cardNumber: this.form.get('authorizeForm').get('authorize_CardNumber').value,\r\n cardCode: this.form.get('authorizeForm').get('authorize_CardCVV').value,\r\n cardExp: this.form.get('authorizeForm').get('authorize_cardExp').value,\r\n cardZip: this.form.get('authorizeForm').get('authorize_CardZip').value,\r\n fullName: this._gateway._elemCardHolderName?.nativeElement?.value\r\n }\r\n this.subs.addSub = this._gateway.getNonceWithAuthorize(publicKey, apiLoginId, cardData).subscribe(\r\n (res: RestResponse) => {\r\n this.isGatewayHasError = false;\r\n this.form.get('paymentNonce').setValue(res['opaqueData'].dataValue);\r\n this.form.get('accountName').setValue(this._gateway._elemCardHolderName.nativeElement.value);\r\n this.form.get('accountType').setValue(PaymentAccountType.checking);\r\n this.form.get('accountKind').setValue(PaymentAccountKind.credit);\r\n this._emitPaymentForm.emit(this.form.value);\r\n },\r\n (err: any) => {\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n this._emitPaymentForm.emit();\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, '', err.message, null);\r\n }\r\n )\r\n },\r\n (err: RestResponse) => {\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n if(err?.code) {\r\n this._meta.showNotification(err);\r\n } else {\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, KeyName.form_invalid );\r\n }\r\n }\r\n );\r\n break;\r\n case GatewayCode.paypal:\r\n if (this.form.valid) {\r\n let paypalFormValue = this.form.get('paypalForm').value;\r\n const [month, year] = paypalFormValue.paypal_cardExp.split('/')\r\n \r\n let data = {\r\n type: 'card',\r\n accountType: 'checking',\r\n accountKind: 'credit',\r\n accountName: 'test',\r\n companyGatewayId: this.form.get('companyGatewayId').value,\r\n billingAddress: this.form.get('billingAddress').value,\r\n paymentNonce: {\r\n number: paypalFormValue.paypal_CardNumber.replace(/ /g,''),\r\n expirationDate: {\r\n expYear: '20' + year,\r\n expMonth: month\r\n },\r\n cvv: paypalFormValue.paypal_CardCVV,\r\n }\r\n };\r\n this._emitPaymentForm.emit(data);\r\n }\r\n break;\r\n case GatewayCode.braintree:\r\n this.subs.addSub = this._gateway.getNonceWithBraintree(this._gateway._elemCardHolderName.nativeElement.value).subscribe(\r\n (res:any) => {\r\n\r\n this.form.get('paymentNonce').setValue(res.nonce);\r\n this.form.get('accountName').setValue(this._gateway._elemCardHolderName.nativeElement.value);\r\n this.form.get('accountType').setValue(PaymentAccountType.checking);\r\n this.form.get('accountKind').setValue(res.type);\r\n\r\n if (this.form.valid) {\r\n let data;\r\n data = this.form.value;\r\n data.details = res.details;\r\n this._emitPaymentForm.emit(data);\r\n }\r\n },\r\n (err:any) => {\r\n this._emitPaymentForm.emit();\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, '', err.message, null);\r\n }\r\n )\r\n break;\r\n case GatewayCode.square:\r\n this.subs.addSub = this._gateway.getNonceWithSquare().subscribe(\r\n (res: any) => {\r\n this.form.get('paymentNonce').setValue(res.nonce);\r\n this.form.get('accountName').setValue(this._gateway._elemCardHolderName.nativeElement.value);\r\n this.form.get('accountType').setValue(PaymentAccountType.checking);\r\n this.form.get('accountKind').setValue(PaymentAccountKind.credit);\r\n\r\n if (this.form.valid) {\r\n let data;\r\n data = this.form.value;\r\n data.details = {\r\n cardType: res.cardData?.card.brand,\r\n expirationMonth: res.cardData?.card.expMonth,\r\n expirationYear: res.cardData?.card.expYear,\r\n lastFour: res.cardData?.card.last4,\r\n };\r\n this._emitPaymentForm.emit(data);\r\n }\r\n },\r\n (err: any) => {\r\n this._emitPaymentForm.emit();\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, '', err['errors'].message, null);\r\n }\r\n )\r\n break;\r\n case GatewayCode.stripe:\r\n let address: POST_AddressInterface = {\r\n countryId: null\r\n };\r\n\r\n if (this.selectedBillToAddress == '0') {\r\n let country: Country = new Country().deserialize(this.form.get('billingAddress').get('country').value);\r\n address.city = this.form.get('billingAddress').get('city').value;\r\n address.contactName = this.form.get('billingAddress').get('contactName').value;\r\n address.countryCode = country.alpha2Code;\r\n address.countryId = country.id;\r\n address.state = this.form.get('billingAddress').get('state').value;\r\n address.street1 = this.form.get('billingAddress').get('street1').value;\r\n address.street2 = this.form.get('billingAddress').get('street2').value;\r\n address.zip = this.form.get('billingAddress').get('zip').value;\r\n } else {\r\n address.city = this.selectedBillToAddress.city\r\n address.contactName = this.selectedBillToAddress.contactName;\r\n address.countryCode = this.selectedBillToAddress.countryCode;\r\n address.countryId = this.selectedBillToAddress.countryId;\r\n address.state = this.selectedBillToAddress.state;\r\n address.street1 = this.selectedBillToAddress.street1;\r\n address.street2 = this.selectedBillToAddress.street2;\r\n address.zip = this.selectedBillToAddress.zip;\r\n }\r\n this._dataService.currentCustomer.subscribe((({customerId})=>{\r\n\r\n\r\n this.subs.addSub = this._gateway.getNonceWithStripe(this._gateway._elemCardHolderName.nativeElement.value, address, customerId, this.selectedCompanyGateway.id).subscribe(\r\n (res:any) => {\r\n\r\n this.form.get('accountName').setValue(this._gateway._elemCardHolderName.nativeElement.value);\r\n // this.form.get('accountKind').setValue(res.token.card.funding);\r\n this.form.get('accountType').setValue(PaymentAccountType.checking);\r\n this.form.get('paymentNonce').setValue(res.id);\r\n if (this.form.valid) {\r\n let data;\r\n data = this.form.value;\r\n data.billingAddress = this.form.get('billingAddress').value;\r\n // data.details = {\r\n // cardType: res.token.card.brand,\r\n // expirationMonth: res.token.card.exp_month,\r\n // expirationYear: res.token.card.exp_year,\r\n // lastFour: res.token.card.last4,\r\n // };\r\n this._emitPaymentForm.emit(data);\r\n }\r\n },\r\n (err:any) => {\r\n this._emitPaymentForm.emit();\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, '', err.message, null);\r\n }\r\n )\r\n }))\r\n break;\r\n case GatewayCode.usaepay:\r\n this.subs.addSub = this._gateway.getNonceWithUsaepay().subscribe(\r\n (result: any) => {\r\n this.form.get('accountName').setValue(this._gateway._elemCardHolderName.nativeElement.value);\r\n // this.form.get('accountKind').setValue(res.token.card.funding);\r\n this.form.get('accountType').setValue(PaymentAccountType.checking);\r\n this.form.get('paymentNonce').setValue(result.key);\r\n if (this.form.valid) {\r\n let data;\r\n data = this.form.value;\r\n data.billingAddress = this.form.get('billingAddress').value;\r\n // data.details = {\r\n // cardType: res.token.card.brand,\r\n // expirationMonth: res.token.card.exp_month,\r\n // expirationYear: res.token.card.exp_year,\r\n // lastFour: res.token.card.last4,\r\n // };\r\n this._emitPaymentForm.emit(data);\r\n } else {\r\n this._emitPaymentForm.emit();\r\n }\r\n\r\n })\r\n break;\r\n case GatewayCode.cybersource:\r\n if (!this.form.get('cybersourceForm').get('cybersource_cardExp').value) {\r\n return;\r\n }\r\n\r\n const dateResult = this.form.get('cybersourceForm').get('cybersource_cardExp').value.split('/')\r\n if (!dateResult[0] || !(dateResult[1] && Number(dateResult[1]) >= Number(new Date().getFullYear().toString().substr(-2)))) {\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, '', 'Sorry boss! There is an error with your expiration date. Please try again!', null);\r\n return;\r\n }\r\n let cardData = {\r\n expirationMonth: dateResult[0],\r\n expirationYear: `20${dateResult[1]}`,\r\n }\r\n this.subs.addSub = this._gateway.getNonceWithCybersource(cardData).subscribe(\r\n (result: any) => {\r\n this.form.get('accountName').setValue(this._gateway._elemCardHolderName.nativeElement.value);\r\n //this.form.get('accountType').setValue(PaymentAccountType.checking);\r\n this.form.get('paymentNonce').setValue(result);\r\n if (this.form.valid) {\r\n let data;\r\n data = this.form.value;\r\n data.billingAddress = this.form.get('billingAddress').value;\r\n this._emitPaymentForm.emit(data);\r\n } else {\r\n this._emitPaymentForm.emit();\r\n }\r\n\r\n })\r\n break;\r\n\r\n default:\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, KeyName.error_gateway_doesnt_belong_rebillia_gateway, null, [this.selectedCompanyGateway.keyName]);\r\n break;\r\n }\r\n }\r\n\r\n setBillingAddress(_value: any){\r\n let billingAddress = this.form.get('billingAddress');\r\n if (_value !== '0') {\r\n let address = new CustomerAddressBook().deserialize(_value);\r\n billingAddress.get('city').setValue(address.city);\r\n billingAddress.get('contactName').setValue(address.contactName);\r\n billingAddress.get('country').setValue(address.country);\r\n billingAddress.get('id').setValue(address.id);\r\n billingAddress.get('state').setValue(address.state);\r\n billingAddress.get('street1').setValue(address.street1);\r\n billingAddress.get('street2').setValue(address.street2);\r\n billingAddress.get('zip').setValue(address.zip);\r\n billingAddress.get('id').setValue(address.id);\r\n // this.statusForNewBillingAddress = VisibleState.isHidden;\r\n this.statusForNewBillingAddress = false;\r\n } else {\r\n // USA\r\n let defaultCountry = this.collectionOfCountry.filter(country => country.id == 240)[0];\r\n\r\n billingAddress.get('city').setValue('');\r\n billingAddress.get('contactName').setValue('');\r\n billingAddress.get('country').setValue(defaultCountry);\r\n billingAddress.get('id').setValue('');\r\n billingAddress.get('state').setValue('');\r\n billingAddress.get('street1').setValue('');\r\n billingAddress.get('street2').setValue('');\r\n billingAddress.get('zip').setValue('');\r\n // this.statusForNewBillingAddress = VisibleState.isVisible;\r\n this.statusForNewBillingAddress = true;\r\n }\r\n }\r\n\r\n setCardPaymentForm() {\r\n this._elemCardHolderName.nativeElement.value = '';\r\n this._gateway._elemCardHolderName = this._elemCardHolderName;\r\n switch (this.selectedCompanyGateway.keyName) {\r\n case GatewayCode.authorize:\r\n this.addAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n break;\r\n case GatewayCode.paypal:\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators();\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n break;\r\n case GatewayCode.braintree:\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n this._gateway._elemCardNumber = this._elemBraintreeCardNumber;\r\n this._gateway._elemCardExp = this._elemBraintreeCardExp;\r\n this._gateway._elemCardCVV = this._elemBraintreeCardCVV;\r\n this._gateway._elemCardZip = this._elemBraintreeCardZip;\r\n if (!this._gatewaySettings) {\r\n this.subs.addSub = this._gateway.getClientToken(`${this.sharedGlobalService.getServiceUrlCompanyGateways()}/${this.selectedCompanyGateway.id}/client_token`,this._existCompanyId).subscribe(\r\n (res: RestResponse) => {\r\n let publicKey = res.data['publicKey'];\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithBraintree(publicKey).subscribe(\r\n (res:any) => {\r\n this.hostedFieldsInstance = res;\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err:any) => {\r\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, '', err.message, null);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n },\r\n (err:RestResponse) => {\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n this._meta.showNotification(err);\r\n }\r\n );\r\n } else {\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithBraintree(this._gatewaySettings.publicKey).subscribe(\r\n (res:any) => {\r\n this.hostedFieldsInstance = res;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err:any) => {\r\n this._meta.showNotification(err);\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n }\r\n break;\r\n case GatewayCode.square:\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n this._gateway._elemCardNumber = this._elemSquareCardNumber;\r\n this._gateway._elemCardExp = this._elemSquareCardExp;\r\n this._gateway._elemCardCVV = this._elemSquareCardCVV;\r\n this._gateway._elemCardZip = this._elemSquareCardZip;\r\n if (!this._gatewaySettings) {\r\n this.subs.addSub = this._gateway.getClientToken(`${this.sharedGlobalService.getServiceUrlCompanyGateways()}/${this.selectedCompanyGateway.id}/client_token`,this._existCompanyId).subscribe(\r\n (res: RestResponse) => {\r\n let publicKey = res.data['publicKey'];\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithSquare(publicKey, this.selectedBillToAddress.zip).subscribe(\r\n (res: any) => {\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this._meta.showNotification(err);\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n },\r\n (err: RestResponse) => {\r\n this.isPaymentSourceReady = true;\r\n this._meta.showNotification(err);\r\n }\r\n );\r\n } else {\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithSquare(this._gatewaySettings.publicKey, this.selectedBillToAddress.zip).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n }\r\n break;\r\n case GatewayCode.stripe:\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n this._gateway._elemCardNumber = this._elemStripeCardNumber;\r\n this._gateway._elemCardExp = this._elemStripeCardExp;\r\n this._gateway._elemCardCVV = this._elemStripeCardCVV;\r\n if (!this._gatewaySettings) {\r\n this.subs.addSub = this._gateway.getClientToken(`${this.sharedGlobalService.getServiceUrlCompanyGateways()}/${this.selectedCompanyGateway.id}/client_token`, this._existCompanyId).subscribe(\r\n (res: RestResponse) => {\r\n let data = new GatewayClientToken().deserialize(res.data);\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithStripe(data.publicKey).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n },\r\n (err: RestResponse) => {\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n } else {\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithStripe(this._gatewaySettings.publicKey).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n this._meta.showNotification(err);\r\n }\r\n );\r\n }\r\n break;\r\n case GatewayCode.usaepay:\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n if (!this._gatewaySettings) {\r\n this.subs.addSub = this._gateway.getClientToken(`${this.sharedGlobalService.getServiceUrlCompanyGateways()}/${this.selectedCompanyGateway.id}/client_token`, this._existCompanyId).subscribe(\r\n (res: RestResponse) => {\r\n let data = new GatewayClientToken().deserialize(res.data);\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithUsaepay(data.publicKey).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n },\r\n (err: RestResponse) => {\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n } else {\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithUsaepay(this._gatewaySettings.publicKey).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n this._meta.showNotification(err);\r\n }\r\n );\r\n }\r\n break;\r\n case GatewayCode.cybersource:\r\n this.addCybersourceValidators();\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n if (!this._gatewaySettings) {\r\n this.subs.addSub = this._gateway.getClientToken(`${this.sharedGlobalService.getServiceUrlCompanyGateways()}/${this.selectedCompanyGateway.id}/client_token`, this._existCompanyId).subscribe(\r\n (res: RestResponse) => {\r\n let data = new GatewayClientToken().deserialize(res.data);\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithCybersource(data.publicKey).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n console.log('erro re',err)\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n },\r\n (err: RestResponse) => {\r\n this._meta.showNotification(err);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n }\r\n );\r\n } else {\r\n this.subs.addSub = this._gateway.doTokenizeCardFormWithCybersource(this._gatewaySettings.publicKey).subscribe(\r\n (res: any) => {\r\n this.isGatewayHasError = false;\r\n this.isPaymentSourceReady = true;\r\n },\r\n (err: any) => {\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n this._meta.showNotification(err);\r\n }\r\n );\r\n }\r\n break;\r\n default:\r\n this.removeAuthorizeValidators();\r\n this.refreshPaypalValidators(true);\r\n this.isGatewayHasError = true;\r\n this.isPaymentSourceReady = true;\r\n break;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n Billing Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Enter a new address\r\n \r\n \r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Country\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Payment Gateway\r\n \r\n {{gateway.name}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n Name on card\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n Card Number\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Exp. Month\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Security Code\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Zip\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n Card Number\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Exp. Month\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Security Code\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Exp. Date\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","//angular\nimport { Pipe, PipeTransform } from '@angular/core';\n//others\nimport * as advancedFormat from 'dayjs/plugin/advancedFormat';\nimport * as dayjs from 'dayjs';\nimport * as timezone from 'dayjs/plugin/timezone';\nimport * as utc from 'dayjs/plugin/utc';\ndayjs.extend(advancedFormat)\ndayjs.extend(timezone);\ndayjs.extend(utc);\n//app data\nimport { DateFormatValues } from 'src/app/app.data';\n//app models\nimport { Company, CompanyTimezone } from '../models/company.model';\nimport { DatePipe } from '@angular/common';\nimport { DataSharingService } from 'src/app/_core/services';\nimport { Subscription } from 'rxjs';\n\n@Pipe({\n name: 'formatTime'\n})\nexport class FormatTimePipe implements PipeTransform {\n transform(value: number): string {\n const minutes: number = Math.floor(value / 60);\n return (\n ('00' + minutes).slice(-2) +\n ':' +\n (('00' + Math.floor(value - minutes * 60)).slice(-2)) +\n (' ' + (minutes >= 1 ? 'min': 'sec'))\n );\n }\n}\n\n/**\n * 25 OCT 2023 Deprecated use dateTz for converion in timezone.\n */\n@Pipe({\n name: 'formatDate'\n})\nexport class FormatDatePipe implements PipeTransform {\n transform(_date: Date | string, _format: string = DateFormatValues.MMM_DD_YYYY, _timezone: CompanyTimezone = null): string {\n let dateFormated = _timezone ? dayjs(_date,_timezone.value).utcOffset(_timezone.offSet).format(_format) : dayjs(_date).format(_format);\n return dateFormated.toString();\n }\n}\n\n@Pipe({\n name: 'formatDateLong'\n})\nexport class FormatDateLongPipe implements PipeTransform {\n transform(_date: Date | string, format: string = DateFormatValues.MMM_DD_YYYY): string {\n let date = new Date(_date);\n let dateFormated = new Date(date.getTime() + date.getTimezoneOffset());\n return dateFormated.toLocaleString('en-US', {\n day: '2-digit', // numeric, 2-digit\n year: 'numeric', // numeric, 2-digit\n month: 'short', // numeric, 2-digit, long, short, narrow\n });\n }\n}\n\n@Pipe({\n name: 'formatFullTime'\n})\nexport class FormatFullTime implements PipeTransform {\n transform(_date: Date | string, _format: string = DateFormatValues.HH_mm , _timezone: any = CompanyTimezone): string {\n let timeFormated = dayjs(_date).format(_format);\n return timeFormated.toString();\n }\n}\n\n@Pipe({\n name: 'formatDateTime'\n})\nexport class FormatDateTimePipe implements PipeTransform {\n transform(_date: Date | string, format: string = DateFormatValues.ddd_DD_MMM_YYYY_HH_mm_ss): string {\n let date = new Date(_date);\n let dateFormated = new Date(date.getTime());\n return dateFormated.toLocaleTimeString('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n });\n }\n}\n\n@Pipe({\n name: 'dateTz'\n})\nexport class SetTimezonePipe implements PipeTransform {\n utcOffset: string;\n dateFormat: string;\n timezoneSub: Subscription;\n companySettingsTimezone: any;\n displayDateFormat: any;\n\n constructor( private _shareData: DataSharingService) {\n // This part needs optimization, its called many times\n const {companySettingsTimezone, displayDateFormat} = this._shareData.getDateConfig();\n this.companySettingsTimezone = companySettingsTimezone;\n this.displayDateFormat = displayDateFormat;\n\n }\n\n\n transform(value: any, format?: any, timezone?:any): any {\n const offsetOfTimezone = dayjs.utc(value).tz(this.companySettingsTimezone.value).utcOffset() / 60 ;\n const datePipeTimezone = offsetOfTimezone > 0 ? `+${offsetOfTimezone}00`: `${offsetOfTimezone}00`\n const datePipe = new DatePipe('en-US', datePipeTimezone === \"000\" ? null : datePipeTimezone);\n if(!format || format == 'mediumDate'){\n const dayJSPipe = {\n 'YYYY-MM-DD': 'YYYY-MM-dd',\n 'MMM DD, YYYY': 'MMM dd, YYYY',\n 'ddd DD MMM, YYYY': 'EEE dd MMM, YYYY',\n 'dddd DD MMM, YYYY': 'EEEE dd MMM, YYYY'\n }\n format = dayJSPipe[this.displayDateFormat];\n }\n if(format == 'longTime') {\n format = 'longTime';\n }\n value = datePipe.transform(value, format);\n return value;\n }\n}\n\n\n","import { InjectionToken, FactoryProvider } from '@angular/core';\n\nexport const ORIGIN = new InjectionToken('window');\n\nconst originProvider: FactoryProvider = {\n provide: ORIGIN,\n useFactory: () => window\n};\n\nexport const OriginProviders = [\n originProvider\n]","//angular\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { PermissionManagerService } from './permissions.service';\n//app\n\n@Injectable()\nexport class PermissionsGuardService implements CanActivate {\n\n constructor(\n public _permissionManagerService: PermissionManagerService,\n public _router: Router\n ) {\n console.log(`auth.guard.ts was loaded.`)\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if(!route.data.restriction) return true;\n \n const [keyName, type, action] = route.data.restriction.split(\"|\");\n\n const restriction = this._permissionManagerService.hasRestriction(keyName, type, action);\n if (restriction) {\n this._router.navigate([\"/main/dashboard\"]);\n return false;\n } else {\n return true;\n }\n }\n\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { HttpClient } from \"@angular/common/http\";\nimport { catchError, map, of } from \"rxjs\";\nimport { SharedGlobalService } from \"src/app/_core/services/api\";\n\n@Injectable({ providedIn: \"root\" })\nexport class PermissionManagerService {\n private scopes: any[];\n constructor(private sharedGlobal: SharedGlobalService) {\n this.scopes = JSON.parse(localStorage.getItem('scopes'))\n }\n\n /** Get config from db and stores it in localstorage */\n getConfig(): any {\n return new Promise((resolve, reject)=>{\n\n return this.sharedGlobal.getCompanyScope().pipe(\n map((res: any) => {\n this.scopes = res.data;\n localStorage.setItem('scopes', JSON.stringify(this.scopes))\n resolve(this.scopes);\n })\n )\n .subscribe(\n (resp) => {\n console.log(resp);\n },\n (error) => {\n this.scopes = [];\n resolve(this.scopes);\n return of()\n }\n );\n })\n\n }\n\n /**\n * Finds if restriction exist in database\n * @param keyName\n * @param type\n * @param action\n * @returns\n */\n hasRestriction(keyName: string, type: string, action: string): boolean | any {\n const globalScope = this.scopes.find((item) => item.planScopeKey.keyName === keyName);\n if(!globalScope || !globalScope.enabled) return false;\n\n // const rule = globalScope.value?.find(item=>item.name === type);\n // if(!rule || !rule.scopes) return false;\n const rule = globalScope.value[0];\n\n const restriction = rule.scopes?.find((value)=>value.name === action);\n if (restriction) {\n if(restriction.message) {\n restriction.message = restriction.message.replace('{limit}', rule.value)\n }\n return restriction;\n }\n return false;\n }\n\n /**\n * This function should be used to disable or do logic in forms based on restriction\n * @param permission\n * @param form\n * @param formControlName\n * @param overideLocalValue\n * @param cb\n * @returns\n */\n checkInput(permission, form, formControlName, overideLocalValue? : any, cb?: any) {\n const [keyName, type, action] = permission.split(\"|\");\n const restriction = this.hasRestriction(keyName, type, action);\n if (restriction) {\n if(cb){\n form.get(formControlName).disable();\n return cb();\n }\n form.get(formControlName).setValue( overideLocalValue !== undefined ? overideLocalValue : restriction.value);\n form.get(formControlName).disable();\n form.get(formControlName).enable = () => {};\n form.get(formControlName).setValue = () => {};\n }\n }\n\n /**\n *\n * @param permission\n * @param cb\n * @returns\n */\n isRestricted(permission, cb?: any) {\n const [keyName, type, action] = permission.split(\"|\");\n const restriction = this.hasRestriction(keyName, type, action);\n if(cb){\n cb( restriction);\n }\n return restriction\n }\n}\n","import {\n Component,\n Directive,\n ElementRef,\n Input,\n Optional,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { RouterLink, RouterLinkWithHref } from \"@angular/router\";\nimport { KeyName } from \"src/app/app.keynames\";\nimport { DialogConfirmationComponent } from \"src/app/modules/main/_shared/dialog/confirmation/confirmation.component\";\nimport { PermissionManagerService } from \"./permissions.service\";\nimport { ScopeRule } from \"./restriction.model\";\n\n@Directive({\n selector: \"[appRestriction]\",\n})\nexport class RestrictionDirective {\n disableClick = (e) => e.stopPropagation();\n\n constructor(\n @Optional() private templateRef: TemplateRef,\n private viewContainer: ViewContainerRef,\n private permissionManagerS: PermissionManagerService,\n private _elemRef: ElementRef,\n private _renderer: Renderer2,\n @Optional() private routerLink: RouterLink,\n @Optional() private routerLinkWithHref: RouterLinkWithHref,\n private dialog: MatDialog,\n @Optional() private control: NgControl\n ) {}\n\n @Input() set appRestriction(permission: string) {\n const [keyName, type, action] = permission.split(\"|\");\n this.isGranted(keyName, type, action);\n }\n\n private isGranted(keyName, type, action) {\n if (!keyName) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n return;\n }\n\n const restriction = this.permissionManagerS.hasRestriction(\n keyName,\n type,\n action\n );\n\n switch (action) {\n case ScopeRule.SCOPE_HIDE_WITHMESSAGE:\n if (!restriction) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n const compRef: any = this.viewContainer.createComponent(\n HideAndShowMessageComponent\n );\n compRef.instance.message = restriction.message;\n }\n break;\n case ScopeRule.SCOPE_HIDE:\n if (!restriction) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n break;\n case ScopeRule.SCOPE_BUTTON_DISABLE:\n if (restriction) {\n const link = this.routerLink || this.routerLinkWithHref;\n if (link) {\n link.onClick = (...args) => {\n return this.routerLinkWithHref ? false : true;\n };\n this.disableElement(this._elemRef.nativeElement);\n } else if (this._elemRef) {\n this.removeRebButtonClick(this._elemRef.nativeElement, true);\n this._elemRef.nativeElement.removeAllListeners(\"click\");\n }\n }\n break;\n case ScopeRule.SCOPE_LIMIT:\n if (restriction) {\n const link = this.routerLink || this.routerLinkWithHref;\n if (link) {\n link.onClick = (...args) => {\n this.openLimitDialog(restriction);\n return this.routerLinkWithHref ? false : true;\n };\n } else if (this._elemRef) {\n this.removeRebButtonClick(this._elemRef.nativeElement);\n this._elemRef.nativeElement.removeAllListeners(\"click\");\n\n this._renderer.listen(\n this._elemRef.nativeElement,\n \"click\",\n (event) => {\n this.openLimitDialog(restriction);\n }\n );\n }\n }\n break;\n default:\n if (restriction) {\n this.viewContainer.clear();\n } else {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n break;\n }\n }\n\n removeRebButtonClick(element, disabled?: boolean): void {\n if (element.localName == \"reb-ngx-mat-menu-button-item\") {\n for (let i = 0; i < element.children.length; i++) {\n const chil = element.children[i];\n for (let j = 0; j < chil.children.length; j++) {\n const element = chil.children[j];\n element.removeAllListeners(\"click\");\n if (disabled) {\n this.disableElement(element);\n }\n }\n }\n }\n }\n\n openLimitDialog(restriction): void {\n this.dialog.open(DialogConfirmationComponent, {\n panelClass: \"custom-mat-dialog\",\n data: {\n keyName: KeyName.limit_reached,\n message: restriction.message,\n closeBtnText: \"Close\",\n },\n });\n }\n\n disableElement(element): void {\n setTimeout(() => {\n this._renderer.removeClass(element, \"mat-stroked-button\");\n this._renderer.addClass(element, \"disabled\");\n this._renderer.addClass(element, \"mat-button-disabled\");\n this._renderer.setProperty(\n element,\n \"disabled\",\n true //false\n );\n });\n }\n}\n\n@Component({\n selector: \"app-hide-and-show-message\",\n template: `
\n {{ message }}\n
\n
`,\n})\nexport class HideAndShowMessageComponent {\n message: any;\n constructor() {}\n}\n","export enum ScopeRule {\n SCOPE_HIDE_WITHMESSAGE = \"SCOPE_HIDE_WITHMESSAGE\",\n SCOPE_HIDE = \"SCOPE_HIDE\",\n SCOPE_BUTTON_DISABLE = \"SCOPE_BUTTON_DISABLE\",\n SCOPE_LIMIT = \"SCOPE_LIMIT\",\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from \"@angular/router\";\nimport { PermissionManagerService } from \"./permissions.service\";\nimport { Observable } from \"rxjs\";\n\n\n @Injectable({ providedIn: \"root\" })\n export class RestrictionResolver implements Resolve {\n constructor(private service: PermissionManagerService) {}\n\n resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable | Promise | any {\n\n return this.service.getConfig();\n }\n }","import { Component, Input } from '@angular/core';\r\nimport { AppAnimations } from '../../animations';\r\nimport { SkeletonLoaderService } from '../../../_core/services';\r\n\r\n@Component({\r\n selector: 'skeleton-loader-form',\r\n templateUrl: './skeleton-loader-form.component.html',\r\n styleUrls: ['./skeleton-loader-form.component.scss'],\r\n animations: [ AppAnimations ],\r\n})\r\nexport class SkeletonLoaderFormComponent {\r\n // If is a section doesn't have a title add [hasTitle]=false\r\n @Input() hasTitle: boolean = true;\r\n // If is a section that is loaded individually and is inside a form add [insideSection]=true\r\n @Input() insideSection: boolean = false;\r\n // If is the first section in the page add [top]=true\r\n @Input() top: boolean = false;\r\n @Input() numberOfInputs: number = 2;\r\n\r\n constructor(\r\n public _skeleton: SkeletonLoaderService,\r\n ) {}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { AppAnimations } from '../../animations';\r\n\r\n@Component({\r\n selector: 'skeleton-loader-gateway',\r\n templateUrl: './skeleton-loader-gateway.component.html',\r\n styleUrls: ['./skeleton-loader-gateway.component.scss'],\r\n animations: [ AppAnimations ],\r\n})\r\nexport class SkeletonLoaderGatewayComponent {\r\n @Input() _isPaymentGatewayVisible?: boolean = true;\r\n \r\n constructor() {}\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { AppAnimations } from '../../../animations';\r\nimport { SkeletonLoaderService } from '../../../../_core/services';\r\n\r\n@Component({\r\n selector: 'skeleton-loader-grid-body',\r\n templateUrl: './skeleton-loader-grid-body.component.html',\r\n animations: [ AppAnimations ],\r\n host: { 'class': 'skeleton-loader-grid-body' }\r\n})\r\nexport class SkeletonLoaderGridBodyComponent {\r\n // use this input when you have a grid within a grid\r\n @Input() includeInnerGrid: boolean = false;\r\n @Input() gridBulkSection: boolean = true;\r\n @Input() numberOfColumns: number = 5;\r\n @Input() numberOfRows: number = 5;\r\n\r\n constructor(\r\n public _skeleton: SkeletonLoaderService,\r\n ) {}\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { AppAnimations } from '../../../animations';\r\nimport { SkeletonLoaderService } from '../../../../_core/services';\r\n\r\n@Component({\r\n selector: 'skeleton-loader-grid-header',\r\n templateUrl: './skeleton-loader-grid-header.component.html',\r\n animations: [ AppAnimations ],\r\n host: { 'class': 'skeleton-loader-grid-header' }\r\n})\r\nexport class SkeletonLoaderGridHeaderComponent {\r\n // use this input when you have a grid within a grid\r\n @Input() includeInnerGrid: boolean = false;\r\n @Input() gridBulkSection: boolean = true;\r\n @Input() numberOfColumns: number = 5;\r\n\r\n constructor(\r\n public _skeleton: SkeletonLoaderService,\r\n ) {}\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//angular\r\nimport { Component, Input } from '@angular/core';\r\nimport { AppAnimations } from '../animations';\r\n\r\n@Component({\r\n selector: 'skeleton-loader',\r\n templateUrl: './skeleton-loader.component.html',\r\n styleUrls: ['./skeleton-loader.component.scss'],\r\n animations: [ AppAnimations ],\r\n host: { 'class': 'skeleton-loader' }\r\n})\r\nexport class SkeletonLoaderComponent {\r\n @Input()\r\n theme: { [k: string]: string } = {};\r\n}\r\n","\r\n","const isFunction = (fn: any) => typeof fn === 'function';\nexport type Nullable = T | null | undefined;\n\nexport interface SubscriptionLike {\n unsubscribe(): void;\n}\n\nexport class Unsubscriber {\n protected _subs: Nullable[] = [];\n\n /**\n * Holds Observable subscriptions until you call unsubscribe on it in ngOnDestroy.\n * @example\n * ```\n * private subs = new Unsubscriber();\n * ...\n * this.subs.addSub = observable$.subscribe(...)\n * ...\n * ngOnDestroy() {\n * this.subs.unsubscribe();\n * }\n * ```\n */\n constructor() {};\n\n set addSub(subscription: Nullable) {\n this._subs.push(subscription);\n }\n\n unsubscribe() {\n this._subs.forEach(subscription => subscription && isFunction(subscription.unsubscribe) && subscription.unsubscribe());\n this._subs = [];\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { UtilsService } from 'src/app/_core/services';\n\ninterface ValidatorValue {\n requiredLength?: number;\n max?: number;\n min?: number;\n}\n\n@Injectable()\nexport class ValidatorService {\n constructor(private utils: UtilsService) {}\n\n // TODO: this methiod will be used for the new form elements!!!\n public getFormControlErrorMessage(errors) {\n if (!this.utils.isEmpty(errors)) {\n for (let propertyName in errors) {\n if (errors.hasOwnProperty(propertyName)) {\n return this.getValidatorErrorMessage(propertyName, errors[propertyName]);\n }\n }\n }\n return null;\n }\n\n public getValidatorErrorMessage(name: string, value?: ValidatorValue) {\n let config = {\n 'required': 'Required',\n 'invalidPositiveIntegerNumber': 'Value should be a positive integer number',\n 'minlength': `Minimum length ${value.requiredLength} characters`,\n 'maxlength': `Maximum length ${value.requiredLength} characters`,\n 'max': `Value should not to be greater than ${value.max} `,\n 'min': `Value should not to be lower than ${value.min} `,\n 'emptySpace': 'Value cannot be empty',\n 'incompleteMaskedInput': 'Incomplete field',\n 'invalidEmail': 'Invalid Email',\n 'invalidWebSite': 'Invalid Web Site',\n 'nonZero' :'Value should be greater than 0',\n 'invalidPositiveNumber' : 'Value should be a positive number',\n 'invalidDay': 'Wrong day for selected month',\n 'invalidDayFor30DaysMonth': 'Selected month has 30 days',\n 'invalidDayForFebruary': 'Wrong day for February',\n 'containsComma' :'Make sure to avoid using any quotation marks in the input.',\n };\n return config[name];\n }\n\n public email(control: any): ValidationErrors | null {\n const EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if ((control.value !== null && String(control.value).match(EMAIL_REGEX)) || !control.value) {\n return null;\n } else {\n return { 'invalidEmail': true };\n }\n }\n\n // NOTE: do not use with input of type number\n public emptySpace(control: any): ValidationErrors | null {\n if ((control.value !== null && typeof control.value == 'string' ? control.value.replace(/\\s/g, '').length > 0 : true) || !control.value) {\n return null;\n } else {\n return { 'emptySpace': true }\n }\n }\n\n public doesntContainQuotes(control: any): ValidationErrors | null {\n const REGEX = /'|\"/;\n if ((control.value !== null && !String(control.value).match(REGEX))) {\n return null;\n } else {\n return { 'containsComma': true };\n }\n }\n\n public positiveDecimalNumberIncludeZero(control: any): ValidationErrors | null {\n const REGEX = /^(\\d+|\\d{1,3}(,\\d{3})*)(0|([1-9](\\d*|\\d{0,2}(,\\d{3})*)))?(\\.\\d{1,4})?(?!\\S)/;\n if ((control.value !== null && String(control.value).match(REGEX)) || !control.value) {\n return null;\n } else {\n return { 'invalidPositiveNumber': true };\n }\n }\n\n public positiveDecimalNumberExcludeZero(control: any): ValidationErrors | null {\n const REGEX = /^(?=.*[1-9])(0|([1-9](\\d*|\\d{0,2}(,\\d{3})*)))?(\\.\\d{1,4})?(?!\\S)?(?!\\S)/;\n if ((control.value !== null && String(control.value).match(REGEX))) {\n return null;\n } else {\n return { 'nonZero': true };\n }\n }\n\n public positiveIntegerNumberExcludeZero(control: any): ValidationErrors | null {\n const REGEX = /^\\+?([1-9]\\d*)$/g;\n if ((control.value !== null && String(control.value).match(REGEX))) {\n return null;\n } else {\n return { 'invalidPositiveIntegerNumber': true };\n }\n }\n\n public website(control: any): ValidationErrors | null {\n const WEBSITE_REG = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/;\n if ((control.value !== null && String(control.value).match(WEBSITE_REG)) || !control.value) {\n return null;\n } else {\n return { 'invalidWebSite': true };\n }\n }\n}\n","//angular\nimport { Component,OnDestroy } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Router, Event as RouterEvent, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from '@angular/router';\n//others\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\nimport { Keepalive } from '@ng-idle/keepalive';\n//rxjs\nimport { Subscription } from 'rxjs';\n//app\nimport { AppService } from '../app/_core/services/app.service';\nimport { DialogUserIdleComponent } from './_shared/idle-user/dialog-user-idle.component';\nimport { IdleUserTimes } from 'src/app/app.data';\nimport { AuthService } from './_core/services/auth.service';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\n\nexport let browserRefresh = false;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\n\nexport class AppComponent implements OnDestroy {\n dialogUserIdle: MatDialogRef;\n idleTime : number = IdleUserTimes.idleTime;\n idleState = 'Not started.';\n lastPing?: Date = null;\n timeOut : number = IdleUserTimes.timeOut;\n routeIsLoading: boolean = true;\n subscription: Subscription;\n timedOut = false;\n private subs = new Unsubscriber();\n\n constructor(\n private _router: Router,\n private idle: Idle,\n private keepalive: Keepalive,\n private appService: AppService,\n private _auth: AuthService,\n public _dialog: MatDialog\n ) {\n // sets an idle timeout on seconds\n idle.setIdle(this.idleTime);\n // sets a timeout period on seconds. after (idle + timeout) seconds of inactivity, the user will be considered timed out.\n idle.setTimeout(this.timeOut);\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n\n this.subs.addSub = idle.onTimeout.subscribe(() => {\n this.idleState = 'Timed out!';\n this.timedOut = true;\n this._auth.logout();\n });\n\n var self= this;\n this.subs.addSub = idle.onIdleStart.subscribe(() => {\n this.idle.clearInterrupts();\n this.idleState = 'You\\'ve gone idle!'\n this.dialogUserIdle = this._dialog.open(DialogUserIdleComponent,{\n disableClose:true,\n panelClass: ['custom-mat-dialog', 'mat-dialog-idle-user'],\n data: {\n component: self\n }\n });\n\n this.dialogUserIdle.afterClosed().subscribe(\n response => {\n if(response !== undefined ) {\n if(response == 'stay') {\n this._auth.getToken();\n this.reset();\n }\n else {\n this.logout();\n }\n }\n });\n });\n\n this.subs.addSub = idle.onTimeoutWarning.subscribe((countdown) => {\n this.idleState = 'You will time out in ' + countdown + ' seconds!'\n console.log('@@' + this.idleState);\n });\n\n // sets the ping interval to 15 seconds\n keepalive.interval(15);\n\n this.subs.addSub = keepalive.onPing.subscribe(() => this.lastPing = new Date());\n this.reset();\n\n this.subs.addSub = this.appService.getUserLoggedIn().subscribe(userLoggedIn => {\n if (userLoggedIn) {\n idle.watch();\n this.timedOut = false;\n } else {\n idle.stop();\n }\n });\n\n idle.stop();\n\n this.subs.addSub = this._router.events.subscribe((event: RouterEvent) => {\n this.navigationInterceptor(event)\n });\n\n }\n\n logout() {\n this.dialogUserIdle.close();\n this.appService.setUserLoggedIn(false);\n this.idle.stop();\n this._auth.logout();\n }\n\n navigationInterceptor(event: RouterEvent): void {\n if (event instanceof NavigationStart) {\n this.routeIsLoading = true;\n browserRefresh = !this._router.navigated;\n const accessToken = localStorage.getItem('access_token'),\n islogged = accessToken ? true: false;\n if (islogged) {\n this.reset();\n } else {\n this.idle.stop();\n }\n }\n if (event instanceof NavigationEnd) {\n this.routeIsLoading = false;\n }\n if (event instanceof NavigationCancel) {\n this.routeIsLoading = false;\n }\n if (event instanceof NavigationError) {\n this.routeIsLoading = false;\n }\n }\n\n reset() {\n if(this.idle.getInterrupts()?.length == 0) {\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n }\n this.idle.watch();\n this.idleState = 'Started.';\n this.timedOut = false;\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n \n
\n\n\n","//angular\nimport { Injectable } from '@angular/core';\n//app\nimport { DropDown } from './_shared/interfaces/dropdown.interface';\n\nexport const DEFAULT_VALUE_CUSTOM_TAX = 'P000000';\n\nexport const PaginatorList = [5, 10, 25, 45, 100]\n\n//Global Enum\nexport enum AddressTypeValues {\n commercial = 'commercial',\n residential = 'residential'\n}\n\nexport enum AdjustersTypes {\n percentage = 'percentage',\n relative = 'relative'\n}\n\nexport enum ApiKeyStatus {\n active = 'active',\n disabled = 'disabled'\n}\nexport enum AppClient {\n sandbox= '81o9vat7ipodmcg8qi0joyp22kxabwu',\n production= '7oxpiocnr0owlh35qwio361qsdvd9it',\n}\nexport enum AvalaraSettingKeyNames {\n code_default_taxable = 'codeDefaultTaxable',\n code_gift_wrapping = 'codeGiftWrapping',\n code_handling = 'codeHandling',\n code_nt = 'codeNoTaxable',\n code_shipping = 'codeShipping',\n commit_invoices = 'useTaxReportingAndReturns'\n}\nexport enum AvalaraSettingKeyValues {\n code_non_taxable = 'NT',\n}\nexport enum AvalaraTaxExemptCodes {\n none = 'None',\n federalGovernment = 'A',\n stateGovernment = 'B',\n tribalGovernment = 'C',\n foreignGovernment = 'D',\n charitableOrganization = 'E',\n religiousOrganization = 'F',\n resale = 'G',\n agriculture = 'H',\n industrialManufactrurers = 'I',\n directPay = 'J',\n directMail = 'K',\n educationalOrganization = 'M',\n localGovernment = 'N',\n commercialAquaculture = 'P',\n commercialFishery = 'Q',\n nonResident = 'R',\n taxable = 'Taxable'\n}\nexport enum BigcommerceOrderStatusValues {\n incomplete = 'Incomplete',\n pending = 'Pending',\n awaitingPayment = 'Awaiting Payment',\n awaitingFulfillment = 'Awaiting Fulfillment',\n awaitingShipment = 'Awaiting Shipment',\n awaitingPickup = 'Awaiting Pickup',\n partiallyShipped = 'Partially Shipped',\n completed = 'Completed',\n shipped = 'Shipped',\n cancelled = 'Cancelled',\n declined = 'Declined',\n refunded = 'Refunded',\n disputed = 'Disputed',\n manualVerificationRequired = 'Manual Verification Required',\n partiallyRefunded = 'Partially Refunded'\n}\nexport enum BigcommerceSettingKeyname {\n allowToggleShippingProtection = 'allowToggleShippingProtection',\n allowCustomerCancelSubscription = 'allowCustomerCancelSubscription',\n allowCustomerChangeChargeProduct = 'allowCustomerChangeChargeProduct',\n allowCustomerChangeChargeProductQuantity = 'allowCustomerChangeChargeProductQuantity',\n allowCustomerChangeSubscriptionRatePlan = 'allowCustomerChangeSubscriptionRatePlan',\n allowCustomerCreateSubscriptionBag = 'allowCustomerCreateSubscriptionBag',\n allowCustomerListPaymentMethods = 'allowCustomerListPaymentMethods',\n allowCustomerListSubscription = 'allowCustomerListSubscription',\n allowCustomerListUpcomingCharges = 'allowCustomerListUpcomingCharges',\n allowCustomerManageSubscriptionBag = 'allowCustomerManageSubscriptionBag',\n allowCustomerReScheduleSubscription = 'allowCustomerReScheduleSubscription',\n allowCustomerReScheduleSubscriptionToBack = 'allowCustomerReScheduleSubscriptionToBack',\n allowCustomerSkipUpcomingCharge = 'allowCustomerSkipUpcomingCharge',\n allowCustomerUpdateSubscriptionDetail = 'allowCustomerUpdateSubscriptionDetail',\n allowCustomerUpdateSubscriptionPaymentMethod = 'allowCustomerUpdateSubscriptionPaymentMethod',\n allowCustomerUpdateSubscriptionShippingMethod = 'allowCustomerUpdateSubscriptionShippingMethod',\n allowCustomerUpdateSubscriptionShipTo = 'allowCustomerUpdateSubscriptionShipTo',\n allowCustomerToPauseSubscription = 'allowCustomerToPauseSubscription',\n apiVersion = 'apiVersion',\n appClientId = 'appClientId',\n autoArrangeCustomerAccountNavigation = 'autoArrangeCustomerAccountNavigation',\n autoRemoveOtherPaymentOptions = 'autoRemoveOtherPaymentOptions',\n cartHasSubscriptionMessage = 'cartHasSubscriptionMessage',\n createCustomer = 'createCustomer',\n customerGroups = 'customerGroups',\n customerPaymentMethodDisplayName = 'customerPaymentMethodDisplayName',\n customerSubscriptionDisplayName = 'customerSubscriptionDisplayName',\n customerUpcomingDisplayName = 'customerUpcomingDisplayName',\n enableCheckout = 'enableCheckout',\n enableCheckoutForAllTransactions = 'enableCheckoutForAllTransactions',\n enableCustomerAddToMySubscriptionButton = 'enableCustomerAddToMySubscriptionButton',\n enableCustomerPaymentMethodNavigation = 'enableCustomerPaymentMethodNavigation',\n enableCustomerSubscriptionNavigation = 'enableCustomerSubscriptionNavigation',\n enableCustomerUpcomingNavigation = 'enableCustomerUpcomingNavigation',\n environment = 'environment',\n firstCycleBillForOneTimeOnCheckout = 'firstCycleBillForOneTimeOnCheckout',\n firstCycleBillForRecurringOnCheckout = 'firstCycleBillForRecurringOnCheckout',\n generateOrder = 'generateOrder',\n orderDetail = 'orderDetail',\n orderStatusCanceled = 'canceled',\n orderStatusPaid = 'paid',\n orderStatusPartialPaid = 'partialPaid',\n orderStatusAuthorized = 'authorized',\n orderStatusPartialRefund = 'partialRefund',\n orderStatusPaymentDue = 'paymentDue',\n orderStatusPosted = 'posted',\n orderStatusRefund = 'refund',\n orderStatusRequestPayment = 'requestPayment',\n orderStatusRequiredAuthorization = 'requiredAuthorization',\n orderStatusVoided = 'voided',\n paymentGateways = 'paymentGateways',\n shippingAmount = 'shippingAmount',\n shippingCompanyIntegrationId = 'shippingCompanyIntegrationId',\n shippingDefault = 'shippingDefault',\n staffMessage = 'staffMessage',\n staffMessageText = 'staffMessageText',\n taxAmount = 'taxAmount',\n taxCompanyIntegrationId = 'taxCompanyIntegrationId',\n taxDefault = 'taxDefault',\n displayChargeRulePrepaidLoyaltyCycleData = 'displayChargeRulePrepaidLoyaltyCycleData',\n displayChargeRulePrepaidLoyaltyRenewalData = 'displayChargeRulePrepaidLoyaltyRenewalData',\n displayChargeNow = 'displayChargeNow',\n allowCustomerCancelPlanCharge = 'allowCustomerCancelPlanCharge',\n openedViewPlanDetailsByDefault = 'openedViewPlanDetailsByDefault',\n groupRateplansInOneSubscription = 'groupRateplansInOneSubscription',\n taxInclusive = 'taxInclusive',\n displayLatestSubscriptionAtTheTop = 'displayLatestSubscriptionAtTheTop',\n allowToAddProductsToSubscriptionBag = 'allowToAddProductsToSubscriptionBag',\n enableGiftItemControls = 'enableGiftItemControls',\n paidWhenSourceIsCheckout = 'paidWhenSourceIsCheckout',\n paidWhenSourceIsRecurring = 'paidWhenSourceIsRecurring',\n useSalePrice = 'useSalePrice',\n useGroupRateplansForCheckout = 'useGroupRateplansForCheckout',\n shippingZonePaymentMethods = 'shippingZonePaymentMethods'\n\n}\nexport enum BillCycleTypeValues {\n subscriptionStartDay = 'subscriptionStartDay',\n specificDayOfMonth = 'specificDayOfMonth',\n specificDayOfWeek = 'specificDayOfWeek',\n specificDayOfYear = 'specificDayOfYear',\n specificMonthOfYear = 'specificMonthOfYear',\n subscriptionFreeTrial = \"subscriptionFreeTrial\"\n}\nexport enum UpcomingRateplanChargeActions {\n skip = 'skip',\n price = 'price',\n payment_method = 'payment_method',\n shipping_address = 'shipping_address',\n shipping_price = \"shipping_price\"\n}\nexport enum BillingPeriodAlignmentValues {\n alignToCharge = 'alignToCharge',\n alignToSubscriptionStart = 'alignToSubscriptionStart',\n alignToTermStart = 'alignToTermStart'\n}\nexport enum BillingPeriodValues {\n week = 'week',\n month = 'month',\n quarter = 'quarter',\n annual = 'annual',\n semiAnnual = 'semiAnnual',\n specificMonths = 'specificMonths',\n specificWeeks = 'specificWeeks',\n custom = 'custom'\n}\nexport enum BillingRunStatus {\n pending = 'pending',\n processing = 'processing',\n completed = 'completed',\n completedWithErrors = 'completedWithErrors',\n error = 'error'\n}\nexport enum BillingRunRepeater {\n repeaterDaily = 'daily',\n repeaterWeekly = 'weekly',\n repeaterMonthly = 'monthly',\n repeaterYearly = 'yearly'\n}\nexport enum BillingPeriodsValues {\n days = 'day',\n months = 'month',\n weeks = 'week',\n years = 'year'\n}\nexport enum BillingTimingValues {\n inAdvance = 'inAdvance',\n inArrears = 'inArrears'\n}\nexport enum ChargeStartingDateOptions {\n immediately = 'immediately',\n schedule = 'schedule',\n custom = 'custom',\n subscriptionFreeTrial = 'subscriptionFreeTrial'\n}\nexport enum CustomerGroupTypeValues {\n all = 'all',\n custom = 'custom'\n}\nexport enum CustomerType {\n customer = 'customer',\n partner = 'partner',\n prospect = 'prospect',\n reseller = 'reseller'\n}\nexport enum ChargeCreditType {\n charge = 'charge',\n credit = 'credit'\n}\nexport enum ChargeModelValues {\n discountFixedAmount = 'discountFixedAmount',\n discountPercentage = 'discountPercentage',\n flatFeePricing = 'flatFeePricing',\n perUnitPricing = 'perUnitPricing',\n overagePricing = 'overagePricing',\n tieredPricing = 'tieredPricing',\n tieredWithOveragePricing = 'tieredWithOveragePricing',\n volumePricing = 'volumePricing'\n}\nexport enum ChargeCreditStatus {\n assigned = 'assigned',\n unassigned = 'unassigned'\n}\nexport enum ChargeType {\n oneTimeCharge = 'oneTime',\n recurringCharge = 'recurring',\n usageCharge = 'usage'\n}\nexport enum ChargeRulesPrepaidAction {\n add = 'add',\n remove = 'remove',\n fixed = 'fixed'\n}\nexport enum ChargePrepaidRulesAmountTypes {\n price = 'price',\n percentage = 'percent'\n}\nexport enum ChargeCutOffRulesType {\n date = 'date',\n day = 'day'\n}\nexport enum ChargePrepaidRulesEvents {\n invoicePosted = 'invoices_posted'\n}\nexport enum ChargePrepaidRulesCountType {\n every = 'every',\n}\nexport enum ChargeRulesLoyaltyAction {\n remove = 'remove',\n fixed = 'fixed'\n}\nexport enum ChargeLoyaltyRulesAmountTypes {\n price = 'price',\n percentage = 'percent'\n}\nexport enum ChargeLoyaltyRulesEvents {\n invoicePosted = 'invoices_posted'\n}\nexport enum ChargeLoyaltyRulesCountType {\n after ='after',\n every = 'every',\n}\nexport enum CheckboxState {\n checked = 'checked',\n uncheck = 'uncheck'\n}\n\nexport interface RblOrder {\n id: number;\n company: Company;\n dateFrom: string;\n dateTo: string;\n rblOrderDetails: RblOrderDetail[];\n status: string;\n total: any;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface RblOrderDetail {\n id: number;\n dateFrom: string;\n dateTo: string;\n description: string;\n price: any;\n overridePrice: any;\n quantity: number;\n rblPricingConcept: RblPricingConcept;\n subTotal: number;\n createdAt: string;\n updatedAt: string;\n}\n\ninterface RblPricingConcept {\n id: number;\n calculatorKeyName: string;\n description: string;\n frequency: string;\n name: string;\n price: string;\n quantity: number;\n status: string;\n}\n\ninterface Company {\n address: Address;\n supportPin: string;\n cancelledAt?: any;\n email: string;\n estimatedAnnualRevenue: string;\n id: number;\n industry: Industry;\n name: string;\n phoneExt: string;\n phoneNum: string;\n taxId: string;\n website: string;\n workerSize: number;\n}\n\ninterface Industry {\n id: number;\n name: string;\n}\n\ninterface Address {\n city: string;\n country: Country;\n state: string;\n street1: string;\n street2?: any;\n zip: string;\n}\n\ninterface Country {\n id: number;\n name: string;\n alpha2Code: string;\n alpha3Code: string;\n numericCode: number;\n flag: string;\n}\n\nexport enum CompanyStatus {\n active = 'active',\n pending = 'pending',\n closed = 'closed',\n deactivated = 'deactivated',\n uninstalled = 'uninstalled',\n blocked = 'blocked',\n}\n\nexport enum CompanySettingsKey {\n capturePayment = 'capturePayment',\n currencyDefault = 'currencyDefault',\n decimalPlaces = 'decimalPlaces',\n decimalToken = 'decimalToken',\n displayDateFormat = 'displayDateFormat',\n dstCorrection = 'dstCorrection',\n dunningConfigAuto = 'dunningConfigAuto',\n dunningConfigManual = 'dunningConfigManual',\n environment = 'environment',\n extendedDisplayDateFormat = 'extendedDisplayDateFormat',\n factoringDimension = 'factoringDimension',\n invoiceNumber = 'invoiceNumber',\n lengthMeasurement = 'lengthMeasurement',\n paymentMethodDefault = 'paymentMethodDefault',\n paymentMethodBackup = 'paymentMethodBackup',\n shipping = 'shipping',\n smtpServerAddress = 'smtpServerAddress',\n smtpUserName = 'smtpUserName',\n smtpPassword = 'smtpPassword',\n smtpPortNumber = 'smtpPortNumber',\n smtpEncryptionType = 'smtpEncryptionType',\n smtpAuthMode = 'smtpAuthMode',\n tax = 'tax',\n thousandsToken = 'thousandsToken',\n timezone = 'timezone',\n weightMeasurement = 'weightMeasurement'\n}\nexport enum CompanyNotificationChannelStatus {\n active = 'active',\n disabled = 'disabled',\n}\n\nexport enum CompanyInvoiceStatus {\n active = 'active',\n close = 'close',\n pending = 'pending',\n}\n\nexport enum CompanyNotificationChannelType {\n html = 'html',\n text = 'text'\n}\nexport enum CustomerStatus {\n active = 'active',\n disabled = 'disabled',\n archived = 'archived',\n}\nexport enum LeadsStatus {\n active = 'active',\n pending = 'pending',\n closed = 'closed',\n}\nexport enum PurchaseHistoryStatus {\n active = 'active',\n pending = 'pending',\n closed = 'closed',\n}\nexport enum DateFormatValues {\n YYYY_MM_DD = 'YYYY-MM-DD',\n MMM_DD_YYYY = 'MMM DD, YYYY',\n ddd_DD_MMM_YYYY = 'ddd DD MMM, YYYY',\n dddd_DD_MMM_YYYY = 'dddd DD MMM, YYYY',\n ddd_DD_MMM_YYYY_HH_mm_ss = 'ddd DD MMM, YYYY HH:mm:ss z ZZ',\n HH_mm = 'HH:mm',\n hh_mm_ss_a = 'hh:mm:ss A',\n hh_mm_ss_a_z_zz = 'hh:mm:ss A z ZZ',\n hh_mm_ss_a_zz = 'hh:mm:ss A ZZ',\n}\nexport enum DayOfWeek {\n sunday = 0,\n monday = 1,\n tuesday = 2,\n wednesday = 3,\n thursday = 4,\n friday = 5,\n saturday = 6\n}\nexport enum DunningCycleActions {\n stop_cancel = 'stop_cancel',\n stop = 'stop',\n retry = 'retry',\n}\nexport enum EmailNotificationType {\n customers = 'customers',\n invoices = 'invoices',\n revenue_recovery = 'revenue_recovery',\n subscription = 'subscription'\n}\nexport enum EmailNotificationStatus {\n active = 'active',\n disabled = 'disabled',\n}\nexport enum EmptyCollectionMessage {\n emptyChargeAndCreditMessage = 'No manual charges found.',\n emptyExternalCharges = 'No External charges found.',\n emptyInvoicesMessage = 'No Invoices found.',\n emptyTransactionMessage = 'No Transactions found.',\n}\nexport enum EndDateConditionValues {\n fixedPeriod = 'fixedPeriod',\n subscriptionEnd = 'subscriptionEnd'\n}\nexport enum EnvironmentValues {\n dev = 'dev',\n production = 'production',\n sandbox = 'sandbox'\n}\nexport enum EnvironmentNames {\n dev = 'DEV',\n local = 'LOCAL',\n prod = 'PROD',\n qa = 'QA',\n sandbox= 'SANDBOX'\n}\nexport enum HashToCreateAccount {\n hashUsed = '7E994F890F9AB11BC7787A9AD5C5E4A5348B7DA4'\n}\nexport enum responseCode {\n errorBadRequestCode = 400,\n errorServerCode = 500,\n successCode = 200,\n successCodeWithError = 204\n}\nexport enum ExternalInvoicesStatus {\n error = 'error',\n pending = 'pending',\n success = 'success'\n}\nexport enum EventsGridColumns {\n eventsInfo = 'eventsInfo',\n eventsUser = 'eventsUser',\n eventsCreatedAt = 'eventsCreatedAt',\n eventsSource = 'eventsSource',\n eventsLevel = 'eventsLevel',\n}\nexport enum FactoringDimension {\n productDepth = 'productDepth',\n productHeight = 'productHeight',\n productWidth = 'productWidth'\n}\nexport enum FieldTypes {\n checkbox = 'checkbox',\n country = 'country',\n dropdown = 'dropdown',\n input = 'input',\n multiSelect = 'multiSelect',\n select = 'select'\n}\nexport enum FilterSections {\n creditNotes = 'creditNotes',\n companyLogs = 'companyLogs',\n customers = 'customers',\n customerLogs = 'customerLogs',\n externalInvoices = 'externalInvoices',\n invoices = 'invoices',\n transactions = 'transactions',\n orders = 'orders',\n products = 'products',\n plans = 'plans',\n subscriptions = 'subscriptions',\n internalCompanyRequests = 'internalCompanyRequests',\n upsCapitalShipping = 'upsCapitalShipping'\n}\nexport enum FrequencyUnitValues {\n day = 'day',\n week = 'week',\n month = 'month',\n year = 'year',\n quarter = 'quarter',\n semiAnnual = 'semiAnnual',\n custom = 'custom'\n}\nexport enum GatewayType {\n offlinePaymentProvider = 'offlinePaymentProvider',\n requestPayment = 'requestPayment',\n thirdPartyPaymentProvider = 'thirdPartyPaymentProvider',\n walletPaymentProvider = 'walletPaymentProvider',\n}\nexport enum GlobalSettings {\n currencyDefault = 'currencyDefault',\n paymentMethodPrimary = 'paymentMethodPrimary',\n paymentMethodBackup = 'paymentMethodBackup',\n}\nexport enum GatewayCode {\n authorize = 'authorize',\n braintree = 'braintree',\n square = 'square',\n stripe = 'stripe',\n usaepay = 'usaepay',\n cybersource = 'cybersource',\n paypal = 'paypal'\n}\nexport enum GatewayUrls {\n urlAuthorizeAccept = 'https://jstest.authorize.net/v1/Accept.js',\n urlBraintreeClient = 'https://js.braintreegateway.com/web/3.81.0/js/client.min.js',\n urlBraintreeHostedFields = 'https://js.braintreegateway.com/web/3.81.0/js/hosted-fields.min.js',\n urlBraintreeDataCollector = 'https://js.braintreegateway.com/web/3.81.0/js/data-collector.min.js',\n urlStripe = 'https://js.stripe.com/v3/',\n urlSquare = 'https://sandbox.web.squarecdn.com/v1/square.js',\n urlUsaepay = 'https://sandbox.usaepay.com/js/v2/pay.js',\n\n urlAuthorizeAcceptProd = 'https://js.authorize.net/v1/Accept.js',\n urlBraintreeClientProd = 'https://js.braintreegateway.com/web/3.81.0/js/client.min.js',\n urlBraintreeHostedFieldsProd = 'https://js.braintreegateway.com/web/3.81.0/js/hosted-fields.min.js',\n urlCybersourceHostedFields = 'https://flex.cybersource.com/cybersource/assets/microform/0.11/flex-microform.min.js',\n urlCybersourceHostedFieldsProd = 'https://flex.cybersource.com/microform/bundle/v2/flex-microform.min.js\"',\n urlBraintreeDataCollectorProd = 'https://js.braintreegateway.com/web/3.81.0/js/data-collector.min.js',\n urlStripeProd = 'https://js.stripe.com/v3/',\n urlSquareProd = 'https://web.squarecdn.com/v1/square.js',\n urlUsaepayProd = 'https://www.usaepay.com/js/v2/pay.js',\n\n}\nexport enum GatewayConnectionType {\n credentials = 'credentials',\n oauth = 'oauth',\n}\nexport enum GatewayStatus {\n active = 'active',\n archive = 'archive',\n disabled = 'disabled',\n error = 'error'\n}\nexport enum GridColumnsBillingOperations {\n billingOperationsCompletedOn = 'billingOperationsCompletedOn',\n billingOperationsCreatedAt = 'billingOperationsCreatedAt',\n billingOperationsExecutedOn = 'billingOperationsExecutedOn',\n billingOperationsInvoiceCount = 'billingOperationsInvoiceCount',\n billingOperationsRepeatType = 'billingOperationsRepeatType',\n billingOperationsSubscriptionCount = 'billingOperationsSubscriptionCount',\n billingOperationsStatus = 'billingOperationsStatus',\n billingOperationsType = 'billingOperationsType',\n billingOperationsUpdatedAt = 'billingOperationsUpdatedAt'\n}\nexport enum GridColumnsCustomer {\n customerInfo = 'customerInfo',\n customerLastInvoice = 'customerLastInvoice',\n customerSubscriptions = 'customerSubscriptions',\n customerBalanceDue = 'customerBalanceDue',\n customerPaymentNet = 'customerPaymentNet',\n customerAddress = 'customerAddress',\n customerPayments = 'customerPayments',\n customerChannel = 'customerChannel',\n customerBusinessName = 'customerBusinessName',\n customerSupportPin = 'customerSupportPin',\n}\nexport enum GridColumnsLeads {\n internalCompanyRequestsName = 'internalCompanyRequestsName',\n internalCompanyRequestsEmail = 'internalCompanyRequestsEmail',\n internalCompanyRequestsPhone = 'internalCompanyRequestsPhone',\n internalCompanyRequestsWebsite = 'internalCompanyRequestsWebsite',\n internalCompanyRequestsCreatedAt = 'internalCompanyRequestsCreatedAt',\n}\nexport enum GridColumnsPurchaseHistory {\n upsCapitalShippingInvoiceId = 'upsCapitalShippingInvoiceId',\n upsCapitalShippingCustomer = 'upsCapitalShippingCustomer',\n upsCapitalShippingPrice = 'upsCapitalShippingPrice',\n upsCapitalShippingCreatedAt = 'upsCapitalShippingCreatedAt',\n}\nexport enum GridColumnsCustomerCharges {\n customerChargesAmount = 'customerChargesAmount',\n customerChargesCategory = 'customerChargesCategory',\n customerChargesCreatedAt = 'customerChargesCreatedAt',\n customerChargesDescription = 'customerChargesDescription',\n customerChargesQty = 'customerChargesQty',\n customerChargesTaxable = 'customerChargesTaxable',\n customerChargesTotal = 'customerChargesTotal',\n}\nexport enum GridColumnsCustomerSubscriptions {\n customerSubscriptionInfo = 'customerSubscriptionInfo',\n customerSubscriptionCreatedAt = 'customerSubscriptionCreatedAt',\n customerSubscriptionLastCharge = 'customerSubscriptionLastCharge',\n customerSubscriptionNextCharge = 'customerSubscriptionNextCharge',\n customerSubscriptionPayment = 'customerSubscriptionPayment',\n customerSubscriptionShippingAddress = 'customerSubscriptionShippingAddress',\n customerSubscriptionSource = 'customerSubscriptionSource',\n customerSubscriptionLinkedWith = 'customerSubscriptionLinkedWith'\n}\nexport enum GridColumnExternalOrders {\n externalOrdersAddress = 'externalOrdersAddress',\n externalOrdersAssignTo = 'externalOrdersAssignTo',\n externalOrdersCustomerInfo = 'externalOrdersCustomerInfo',\n externalOrdersOrderInfo = 'externalOrdersOrderInfo',\n externalOrdersStatus = 'externalOrdersStatus'\n}\nexport enum GridColumnExternalInvoices {\n externalInvoiceInvoice = 'externalInvoiceInvoice',\n externalInvoiceOrder = 'externalInvoiceOrder',\n externalInvoiceCustomer = 'externalInvoiceCustomer',\n externalInvoiceTotal = 'externalInvoiceTotal',\n externalInvoiceSubscriptionBags = 'externalInvoiceSubscriptionBags'\n}\nexport enum GridColumnsInvoices {\n invoiceInfo = 'invoiceInfo',\n invoiceCustomer = 'invoiceCustomer',\n invoiceDueOn = 'invoiceDueOn',\n invoiceShipping = 'invoiceShipping',\n invoiceTax = 'invoiceTax',\n invoiceTotal = 'invoiceTotal',\n invoiceTransactions = 'invoiceTransactions',\n invoicesBusinessName = 'invoicesBusinessName'\n}\nexport enum GridColumnsProducts {\n productChannel = 'productChannel',\n productEffective = 'productEffective',\n productInfo = 'productInfo',\n productSKU = 'productSKU'\n}\nexport enum GridColumnsProductsRatePlans {\n productRatePlanName = 'productRatePlanName',\n productRatePlanCharges = 'productRatePlanCharges',\n productRatePlanSKU = 'productRatePlanSKU',\n productRatePlanEffective = 'productRatePlanEffective',\n productRatePlanOneTimeCharges = 'productRatePlanOneTimeCharges',\n productRatePlanMRR = 'productRatePlanMRR',\n productRatePlanUsageCharges = 'productRatePlanUsageCharges'\n}\n\nexport enum GridColumnsSection {\n customers = 'customers',\n internalCompanyRequests = 'internalCompanyRequests',\n customerCharges = 'customerCharges',\n externalInvoices = 'externalInvoices',\n invoices = 'invoices',\n product = 'products',\n productRatePlans = 'productRatePlans',\n subscriptions = 'subscriptions',\n subscriptionRatePlans = 'subscriptionRatePlans',\n transactions = 'transactions',\n importerProductTask = 'importerProductTask',\n importerProductSubTask = 'importerProductSubTask',\n historyRatePlan = 'historyRatePlan',\n upsCapitalShipping = 'upsCapitalShipping'\n}\nexport enum GridColumnsSubscriptions {\n subscriptionsSubscriptionInfo = 'subscriptionsSubscriptionInfo',\n subscriptionsCustomerInfo = 'subscriptionsCustomerInfo',\n subscriptionsCreatedAt = 'subscriptionsCreatedAt',\n subscriptionsLastCharge = 'subscriptionsLastCharge',\n subscriptionsNextCharge = 'subscriptionsNextCharge',\n subscriptionsPayment = 'subscriptionsPayment',\n subscriptionsShippingAddress = 'subscriptionsShippingAddress',\n subscriptionsSource = 'subscriptionsSource',\n subscriptionsLinkedWith = 'subscriptionsLinkedWith',\n subscriptionsBusinessName = 'subscriptionsBusinessName'\n}\n\nexport enum GridColumnsListProductSubscriptions {\n subscriptionsSubscriptionInfo = 'subscriptionsSubscriptionInfo',\n subscriptionsCustomerInfo = 'subscriptionsCustomerInfo',\n subscriptionsCreatedAt = 'subscriptionsCreatedAt',\n subscriptionsLastCharge = 'subscriptionsLastCharge',\n subscriptionsNextCharge = 'subscriptionsNextCharge',\n subscriptionsPayment = 'subscriptionsPayment',\n subscriptionsShippingAddress = 'subscriptionsShippingAddress',\n subscriptionsSource = 'subscriptionsSource',\n subscriptionsLinkedWith = 'subscriptionsLinkedWith',\n subscriptionsLtv = 'subscriptionsLtv',\n subscriptionsPaidInvoices = 'subscriptionsPaidInvoices',\n subscriptionsBusinessName = 'subscriptionsBusinessName'\n}\n\nexport enum GridColumnsCompanyInvoices {\n companyInvoiceTotal = 'companyInvoiceTotal',\n companyInvoiceNumber = 'companyInvoiceNumber',\n companyInvoicePayment = 'companyInvoicePayment',\n companyInvoiceDueDate = 'companyInvoiceDueDate',\n companyInvoiceStatus = 'companyInvoiceStatus',\n\n}\n\nexport enum GridColumnsHistoryRatePlans {\n historyRatePlanName = 'historyRatePlanName',\n historyRatePlanStartedAt = 'historyRatePlanStartedAt',\n historyRatePlanEndedAt = 'historyRatePlanEndedAt',\n historyRatePlanUserId = 'historyRatePlanUserId'\n}\n\nexport enum GridColumnsSubscriptionRatePlans {\n subscriptionRatePlansName = 'subscriptionRatePlansName',\n subscriptionRatePlansCharges = 'subscriptionRatePlansName',\n subscriptionRatePlansSKU = 'subscriptionRatePlansSKU',\n subscriptionRatePlansOneTimeCharges = 'subscriptionRatePlansOneTimeCharges',\n subscriptionRatePlansMRR = 'subscriptionRatePlansMRR',\n subscriptionRatePlansUsageCharges = 'subscriptionRatePlansUsageCharges'\n}\nexport enum GridColumnsSubscriptionInvoices {\n subscriptionInvoicesInfo = 'subscriptionInvoicesInfo',\n subscriptionInvoicesAutoCollection = 'subscriptionInvoicesAutoCollection',\n subscriptionInvoicesBillTo = 'subscriptionInvoicesBillTo',\n subscriptionInvoicesCustomerInfo = 'subscriptionInvoicesCustomerInfo',\n subscriptionInvoicesDateDue = 'subscriptionInvoicesDateDue',\n subscriptionInvoicesIssuedOn = 'subscriptionInvoicesIssuedOn',\n subscriptionInvoicesPaidOn = 'subscriptionInvoicesPaidOn',\n subscriptionInvoicesPaymentRetry = 'subscriptionInvoicesPaymentRetry',\n subscriptionInvoicesShipTo = 'subscriptionInvoicesShipTo',\n subscriptionInvoicesStatus = 'subscriptionInvoicesStatus',\n subscriptionInvoicesVoidedOn = 'subscriptionInvoicesVoidedOn'\n}\nexport enum GridColumnsSubscriptionLogs {\n subscriptionLogsInfo = 'subscriptionLogsInfo',\n subscriptionLogsUser = 'subscriptionLogsUser',\n subscriptionLogsCreatedAt = 'subscriptionLogsCreatedAt',\n subscriptionLogsSource = 'subscriptionLogsSource',\n subscriptionLogsLevel = 'subscriptionLogsLevel',\n subscriptionLogsType = 'subscriptionLogsType',\n}\nexport enum GridColumnsSubscriptionTimeLine {\n subscriptionTimelineDate = 'subscriptionTimelineDate',\n subscriptionTimelineRatePlans = 'subscriptionTimelineRatePlans',\n subscriptionTimelinePaymentMethod = 'subscriptionTimelinePaymentMethod',\n subscriptionTimelineSubTotal = 'subscriptionTimelineSubTotal',\n subscriptionTimelineShipping = 'subscriptionTimelineShipping',\n subscriptionTimelineTotal = 'subscriptionTimelineTotal',\n}\nexport enum GridColumnsTransactions {\n transactionTransactionInfo = 'transactionTransactionInfo',\n transactionCreatedAt = 'transactionCreatedAt',\n transactionKind = 'transactionKind',\n transactionType = 'transactionType',\n transactionPayment = 'transactionPayment',\n transactionAccount = 'transactionAccount',\n transactionGateway = 'transactionGateway',\n transactionsBusinessName = 'transactionsBusinessName'\n}\nexport enum GridColumnsUpcomingCharges {\n upcomingChargeName = 'upcomingChargeName',\n upcomingChargeProductName = 'upcomingChargeProductName',\n upcomingChargeThroughtDate = 'upcomingChargeThroughtDate',\n upcomingChargePrice = 'upcomingChargePrice',\n upcomingChargeExternalProduct = 'upcomingChargeExternalProduct',\n upcomingChargeQuantity = 'upcomingChargeQuantity',\n}\n\nexport enum GridColumnsImporterProductTask {\n importerProductTaskIntegration = 'importerProductTaskIntegration',\n importerProductTaskCreatedAt = 'importerProductTaskCreatedAt',\n importerProductTaskStatus = 'importerProductTaskStatus',\n importerProductTaskUpdatedAt = 'importerProductTaskUpdatedAt',\n importerProductTaskSubtask = 'importerProductTaskSubtask',\n importerProductTaskSuccess = 'importerProductTaskSuccess',\n importerProductTaskError = 'importerProductTaskError',\n importerProductTaskPending = 'importerProductTaskPending',\n}\nexport enum GridColumnsImporterProductSubTask {\n importerProductSubTaskStatus = 'importerProductSubTaskStatus',\n importerProductSubTaskCreatedAt = 'importerProductSubTaskCreatedAt',\n importerProductSubTaskUpdatedAt = 'importerProductSubTaskUpdatedAt',\n importerProductSubTaskExternalProductId = 'importerProductSubTaskExternalProductId',\n}\nexport enum GridFiltersSection {\n billRuns = 'billRuns',\n companyInbox = 'companyInbox',\n companyLogs = 'companyLogs',\n companyNotifications = 'companyNotifications',\n creditNotes = 'creditNotes',\n customers = 'customers',\n externalInvoices = 'externalInvoices',\n externalOrders = 'externalOrders',\n invoices = 'invoices',\n orders = 'orders',\n paymentRuns = 'paymentRuns',\n products = 'products',\n productRatePlans = 'productRatePlans',\n subscriptions = 'subscriptions',\n subscriptionRatePlan = 'subscriptionRatePlan',\n transactions = 'transactions',\n importerProductTask = 'importerProductTask',\n historyRatePlan = 'historyRatePlan',\n}\nexport enum HoverState {\n in = 'in',\n out = 'out'\n}\nexport enum IdleUserTimes {\n idleTime = 1800, //idle/Inactive Time in seconds\n timeOut = 60 //Amount of time (in seconds) that idle dialog is shown until logout the user if not response is made.\n}\nexport enum ImportStatuses {\n archived = 'archived',\n excluded = 'excluded',\n forReview = 'forReview',\n matched = 'matched'\n}\nexport enum IncludeParam {\n addressbook = 'addressbook',\n chargeTier = 'chargeTier',\n detail = 'detail',\n externalCustomers = 'externalCustomers',\n externalProduct = 'externalProduct',\n logs = 'logs',\n lastBillRun = 'lastBillRun',\n lastInvoice = 'lastInvoice',\n paymentmethod = 'paymentmethod',\n ratePlan = 'ratePlan',\n salesChannels = 'salesChannels',\n subscriptions = 'subscriptions',\n transactions = 'transactions',\n unpaidInvoices = 'unpaidInvoices',\n section = 'section',\n externalRatePlanCharges = 'externalRatePlanCharges',\n ratePlanCharge = 'ratePlanCharge',\n companyIntegrationId = 'companyIntegrationId',\n startDate = 'startDate',\n endDate = 'endDate',\n currency_ISO3 = 'currency_ISO3',\n productRateplan = 'productRateplan',\n ratePlansCounts = 'ratePlansCounts',\n productRatePlanCharge = 'productRatePlanCharge'\n\n}\nexport enum IntegrationKey {\n authToken = 'authToken',\n domain = 'domain',\n clientId = 'clientId',\n clientSecret = 'clientSecret',\n controlPanelBaseUrl = 'controlPanelBaseUrl',\n logo = 'logo',\n storeHash = 'storeHash',\n secureUrl = 'secureUrl'\n}\nexport enum IntegrationKeyName {\n avalara = 'avalara',\n bigcommerce = 'bigcommerce',\n oneSource = 'oneSource',\n salesforce = 'salesforce',\n shopify = 'shopify',\n shipstation = 'shipstation',\n taxamo = 'taxamo',\n ups = 'ups',\n vertex = 'vertex',\n google = 'google',\n smtp = 'smtp',\n slack = 'slack',\n shipperHq = 'shipperHq'\n}\nexport enum IntegrationStatus {\n active = 'active',\n disabled = 'disabled',\n pending = 'pending',\n archived = 'archived'\n}\nexport enum IntegrationFields {\n accountNumber = 'accountNumber'\n}\nexport enum InvoiceStatus {\n canceled = 'canceled',\n draft = 'draft',\n paid = 'paid',\n partialPaid = 'partialPaid',\n partialRefund = 'partialRefund',\n paymentDue = 'paymentDue',\n pending = 'pending',\n posted = 'posted',\n refund = 'refund',\n requestPayment = 'requestPayment',\n requiredAuthorization = 'requiredAuthorization',\n voided = 'voided',\n awaitingForSettlement = 'awaitingForSettlement',\n authorized = 'authorized'\n}\nexport enum InvoiceTerms {\n onReceipt = 'onReceipt',\n net10 = 'net10',\n net30 = 'net30',\n net60 = 'net60',\n custom = 'custom'\n}\nexport enum JSVersions {\n v6 = '6.0.0',\n v601 = '6.0.1',\n v610 = '6.1.0'\n}\nexport enum LengthMeasurament {\n centimeters = 'centimeters',\n inches = 'inches'\n}\nexport enum LoadingState {\n isLoading = 'isLoading',\n isLoaded = 'isLoaded'\n}\nexport enum LogSourceValues {\n bigcommerceCheckout = 'bigcommerceCheckout',\n billRun = 'BillRun',\n paymentRun = 'PaymentRun'\n}\nexport enum LogStatus {\n error = 'error',\n info = 'info',\n warning = 'warning'\n}\nexport enum NotificationChannels {\n customerGoogle = 'customerGoogle',\n merchantEmail = 'merchantEmail',\n customerSmtp = 'customerSmtp',\n merchantSmtp = 'merchantSmtp',\n technicalSlack = 'technicalSlack',\n companyNotificationInbox = 'companyNotificationInbox',\n}\nexport enum NotificationSectionValues {\n companyNotifications = 'company',\n customNotifications = 'customNotifications',\n customerOnBoardingEmails = 'onBoarding',\n customerPaymentMethods = 'paymentMethod',\n onBoardingEmails = 'onboardingEmails',\n dunningForOnlinePayments = 'onlineDunning',\n dunningForOfflinePayments = 'offlineDunning',\n futureSubscriptionReminders = 'futureSubscriptionReminders',\n invalidPaymentMethods = 'invalidPaymentMethods',\n invoiceReceipt = 'invoices',\n onBoardingNotifications = 'onBoardingNotifications',\n paymentsAndCredits = 'payments',\n paymentMethod = 'paymentMethod',\n paymentCollect = 'paymentCollect',\n selfServePortalAccountManagement = 'selfServePortalAccountManagement',\n standardNotifications = 'standardNotifications',\n subscriptionActivation = 'subscriptionActivation',\n subscriptionCancellations = 'subscriptionCancellations',\n subscriptionChanges = 'subscriptionChanges',\n subscriptionRenewalReminders = 'subscriptionRenewalReminders',\n automaticProcess = 'automaticProcess',\n}\nexport enum NotificationSectionType {\n synchronous = 'synchronous'\n}\nexport enum OpacityState {\n isHidden = 'isHidden',\n isVisible = 'isVisible'\n}\nexport enum PanelStatusState {\n isHidden = 'isHidden',\n isVisible = 'isVisible'\n}\nexport enum PaymentAccountKind {\n business = 'business',\n credit = 'credit',\n debit = 'debit',\n personal = 'personal',\n unknown = 'unknown'\n}\nexport enum PaymentAccountType {\n card = 'card',\n checking = 'checking',\n savings = 'savings',\n unknown = 'unknown',\n alipay = 'alipay',\n americanexpress = 'americanexpress',\n americanexpress2 = 'american express',\n american_express = 'american_express',\n AmericanExpress = 'AmericanExpress',\n amex = 'amex',\n diners = 'diners',\n discover = 'discover',\n elo = 'elo',\n hypercard = 'hypercard',\n jcb = 'jcb',\n maestro = 'maestro',\n master = 'master',\n mastercard = 'mastercard',\n paypal = 'paypal',\n unionpay = 'unionpay',\n verve = 'verve',\n visa = 'visa',\n}\nexport enum PaymentRunStatus {\n completed = 'completed',\n completedWithErrors = 'completedWithErrors',\n dunning = 'dunning',\n error = 'error',\n pending = 'pending',\n processing = 'processing',\n declined = 'declined'\n}\nexport enum PaymentRunRepeater {\n repeaterDaily = 'daily',\n repeaterWeekly = 'weekly',\n repeaterMonthly = 'monthly',\n repeaterYearly = 'yearly'\n}\nexport enum PaymentSource {\n ach = 'ach',\n amazon = 'amazon',\n applePay = 'applePay',\n bacs = 'bacs',\n check = 'check',\n creditCard = 'card',\n directEBanking = 'directEBanking',\n eft = 'eft',\n ideal = 'ideal',\n moneyOrder = 'moneyOrder',\n nonce = 'nonce',\n offline = 'offline',\n other = 'other',\n paypal = 'paypal',\n qiwiWallet = 'qiwi_wallet',\n roku = 'roku',\n sepa = 'sepa',\n sepaDirectDebit = 'sepaDirectDebit',\n token = 'token',\n wire_transfer = 'wireTransfer',\n}\nexport enum PaymentSourceOffline {\n amazon = 'amazon',\n applePay = 'applePay',\n bacs = 'bacs',\n check = 'check',\n eft = 'eft',\n moneyOrder = 'moneyOrder',\n other = 'other',\n paypal = 'paypal',\n qiwiWallet = 'qiwi_wallet',\n roku = 'roku',\n sepa = 'sepa',\n sepaDirectDebit = 'sepaDirectDebit',\n directEBanking = 'directEBanking',\n token = 'token',\n wire_transfer = 'wireTransfer',\n ideal = 'ideal'\n}\nexport enum PriceTypes {\n currentPrice = 'currentPrice',\n standard = 'standard',\n variant = 'variant'\n}\nexport enum PriceUnitValues {\n flatFee = 'flatFee',\n perUnit = 'perUnit'\n}\nexport enum ProductCategory {\n addOn = 'addOn',\n baseProducts = 'baseProducts',\n bundleProduct = 'bundleProduct',\n miscellaneous = 'miscellaneous',\n service = 'service',\n}\nexport enum ProductStatus {\n archived = 'archived',\n disabled = 'disabled',\n draft = 'draft',\n published = 'published',\n enabled = 'enabled',\n}\nexport enum ProductStatusActions {\n archive = 'Archive',\n disable = 'Disable',\n publish = 'Publish',\n}\nexport enum ImporterProductTaskStatus {\n pending = 'pending',\n processing = 'processing',\n ready = 'ready',\n running = 'running',\n done = 'done',\n}\nexport enum ImporterProductSubTaskStatus {\n pending = 'pending',\n error = 'error',\n success = 'success',\n}\nexport enum ImporterProductTaskActions {\n startImportTask = 'Start Import Task',\n doneImportTask = 'Done Import Task',\n restartImportTask = 'Restart Import Task',\n}\nexport enum ImporterProductTaskOptions {\n all = 'all',\n custom = 'custom',\n brand = 'brand',\n category = 'category',\n createdAt = 'createdAt',\n}\nexport enum ProductRatePlanName {\n oneTimePurchase = 'One Time Purchase'\n}\nexport enum ProductRatePlanChargesCategory {\n physical = 'physical',\n digital = 'digital'\n}\nexport enum ProductRatePlanStatus {\n active = 'active',\n archived = 'archived',\n disabled = 'disabled',\n draft = 'draft',\n published = 'published', // this is changed to enabled\n enabled = 'enabled',\n discontinue = 'discontinue'\n}\nexport enum ExternalIntervalStatus {\n archived = 'archived',\n fail = 'fail',\n active = 'active',\n}\nexport enum ProductRatePlanStatusActions {\n archive = 'Archive',\n disable = 'Disable',\n enable = 'Enable',\n}\nexport enum RatePlanStatus {\n active = 'active',\n archived = 'archived',\n cancel = 'cancel',\n disabled = 'disabled',\n pause = 'pause',\n}\nexport enum RatePlanType {\n prepaid = 'prepaid',\n ongoing = 'ongoing',\n contract = 'contract'\n}\nexport enum RangeType {\n amount = 'amount',\n percent = 'percent'\n}\nexport enum RefundableOptionsValues {\n individualRefund = 'individualRefund',\n fullRefund = 'fullRefund',\n partialRefund = 'partialRefund'\n}\nexport enum SideNavMenuOptions {\n advancedSettings = 'advanced-settings',\n analytics = 'analytics',\n dashboard = 'dashboard',\n customer = 'customers',\n invoices = 'invoices',\n integrations = 'integrations',\n notificationChannels = 'notification-channels',\n products = 'products',\n salesChannels = 'sales-channels',\n settings = 'settings',\n store = 'store',\n subscriptions = 'subscriptions',\n transactions = 'transactions',\n}\nexport enum SettingsType {\n billing = 'billing',\n dateFormat = 'dateFormat',\n dunning = 'dunning',\n metrics = 'metrics',\n settings = 'settings',\n smtp = 'smtp',\n paginator = 'paginator',\n notification = 'notification'\n}\nexport enum ShippingRealTimeProviders {\n fedEx = 'fedEx',\n ups = 'ups',\n usps = 'usps'\n}\nexport enum ShippingRealTimeProvidersStatus {\n active = 'active',\n disabled = 'disabled'\n}\nexport enum ShippingStaticValues {\n flatRateOneDay = 'flatRateOneDay',\n flatRateThreeDay = 'flatRateThreeDay',\n freeShipping = 'freeShipping',\n pickupInStore = 'pickupInStore',\n shipBy = 'shipBy'\n}\nexport enum ShippingCustomFreeShippingStaticValues {\n shippingCustomKey = 'customRate',\n shippingFreeKey = 'freeRate'\n}\nexport enum SubmitActions {\n continue = 'continue',\n submit = 'submit',\n}\nexport enum SubscriptionSource {\n desktop = 'desktop',\n publicAPI = 'publicAPI',\n salesChannel = 'salesChannel'\n}\nexport enum SubscriptionStatus {\n active = 'active',\n archived = 'archived',\n cancel = 'cancel',\n paused = 'paused',\n requestPayment = 'requestPayment'\n}\nexport enum SubscriptionStatusActions {\n activate = 'Activate',\n archive = 'Archive',\n pause = 'Pause',\n requestPayment = 'Request Payment'\n}\nexport enum SubscriptionRatePlanChargeStatus {\n active = 'active',\n archived = 'archived',\n disabled = 'disabled',\n ended = 'ended',\n error = 'error',\n paused = 'pause'\n}\nexport enum SubscriptionRatePlanChargeStatusActions {\n end = 'End',\n archive = 'Archive',\n}\nexport enum TaxClassValues {\n codeDefaultTaxable = 'codeDefaultTaxable',\n codeGiftWrapping = 'codeGiftWrapping',\n nonTaxable = 'nonTaxable', // harcoded\n codeShipping = 'codeShipping',\n codeHandling = 'codeHandling',\n custom = 'custom', // harcoded\n manualTax = 'manualTax' // harcoded\n}\nexport enum TimeFrameOptions {\n specificDate = 'specificDate',\n dateRange = 'dateRange',\n}\nexport enum StartDateOptions {\n immediately = 'immediately',\n schedule = 'schedule',\n}\nexport enum ShippingDefaultValues {\n custom = 'custom',\n freeShipping = 'freeShipping',\n integration = 'integration',\n byShippingZone = 'byShippingZone'\n}\nexport enum StartingDateValues {\n alignedWithFirstCharge = 'alignedWithFirstCharge',\n cycleBased = 'cycleBased',\n dayBased = 'dayBased',\n immediately = 'immediately',\n}\nexport enum StatusValues {\n active = 'active',\n archived = 'archived',\n disabled = 'disabled',\n error = 'error',\n ended = 'ended'\n}\nexport enum SubscriptionRuleCountTypes {\n after = 'after',\n}\nexport enum SubscriptionRuleTypes {\n cutoff = 'rateplan_cutoff',\n expirationRule = 'rateplan_expiration',\n loyaltyRule = 'rateplan_loyalty',\n prepaidRule = 'rateplan_prepaid',\n}\nexport enum SubscriptionRuleStatus {\n active = 'active',\n disabled = 'disabled',\n}\nexport enum TaxDefaultValues {\n externalAmount = 'externalAmount',\n fixedAmount = 'fixedAmount',\n fixedRate = 'fixedRate',\n freeTax = 'freeTax',\n integration = 'integration',\n}\nexport enum ToggleState {\n on = 'on',\n off = 'off',\n}\nexport enum TransactionStatus {\n authorized = 'authorized',\n awaitingForSettlement = 'awaitingForSettlement',\n error = 'error',\n refund = 'refund',\n settled = 'settled',\n void = 'void',\n declined = 'declined',\n}\nexport enum TransactionType {\n sale = 'sale',\n refund = 'refund'\n}\nexport enum TransactionKind {\n checkout = 'checkout',\n cron = 'cron',\n desktop = 'desktop',\n retry = 'retry',\n}\nexport enum TypeOfShippingMethod {\n isFreeShipping = 'isFree',\n isCustom = 'isCustom',\n isIntegration = 'isIntegration'\n}\nexport enum UpToPeriodsTypeValues {\n billingPeriods = 'billingPeriods',\n days = 'days',\n weeks = 'weeks',\n months = 'months',\n years = 'years'\n}\nexport enum VisibleState {\n isHidden = 'isHidden',\n isVisible = 'isVisible',\n}\nexport enum WeightMeasuraments {\n grams = 'grams',\n kilograms = 'kilograms',\n ounces = 'ounces',\n pounds = 'pounds',\n tonnes = 'tonnes'\n}\nexport enum WeekDay {\n sunday = 'sunday',\n monday = 'monday',\n tuesday = 'tuesday',\n wednesday = 'wednesday',\n thursday = 'thursday',\n friday = 'friday',\n saturday = 'saturday'\n}\n//CONST\nexport const collectionOfAddressType: DropDown[] = [\n {value:AddressTypeValues.residential,label:'Residential'},\n {value:AddressTypeValues.commercial,label:'Commercial'},\n];\nexport const collectionOfAnnualRevenue: DropDown[] = [\n { value: '0', label: '< $1M' },\n { value: '1', label: '$1 - 10M'},\n { value: '2', label: '$10 - 50M' },\n { value: '3', label: '$50 - 100M' },\n { value: '4', label: '$100M - 500M' },\n { value: '5', label: '$500M - 1B' },\n { value: '6', label: '+ $1B' }\n]\nexport const collectionOfAppClient: DropDown[] = [\n { value: AppClient.sandbox, label: 'Bigcommerce Sandbox App' },\n { value: AppClient.production, label: 'Bigcommerce Production App' },\n];\nexport const collectionAPIVersion: DropDown[] = [\n { value: JSVersions.v6, label: JSVersions.v6 },\n { value: JSVersions.v601, label: JSVersions.v601 },\n { value: JSVersions.v610, label: JSVersions.v610 },\n];\nexport const collectionOfAvalaraTaxExemptValues: DropDown[] = [\n { value: AvalaraTaxExemptCodes.none, label: 'None' },\n { value: AvalaraTaxExemptCodes.federalGovernment, label: 'A - Federal Government' },\n { value: AvalaraTaxExemptCodes.stateGovernment, label: 'B - State Government' },\n { value: AvalaraTaxExemptCodes.tribalGovernment, label: 'C - Tribal Government' },\n { value: AvalaraTaxExemptCodes.foreignGovernment, label: 'D - Foreign Government' },\n { value: AvalaraTaxExemptCodes.charitableOrganization, label: 'E - Charitable/Exempt Organization' },\n { value: AvalaraTaxExemptCodes.religiousOrganization, label: 'F - Religious Organization' },\n { value: AvalaraTaxExemptCodes.resale, label: 'G - Resale' },\n { value: AvalaraTaxExemptCodes.agriculture, label: 'H - Agriculture' },\n { value: AvalaraTaxExemptCodes.industrialManufactrurers, label: 'I - Industrial Prod/Manufacturers' },\n { value: AvalaraTaxExemptCodes.directPay, label: 'J - Direct Pay' },\n { value: AvalaraTaxExemptCodes.directMail, label: 'K - Direct Mail' },\n { value: AvalaraTaxExemptCodes.educationalOrganization, label: 'M - Educational Organization' },\n { value: AvalaraTaxExemptCodes.localGovernment, label: 'N - Local Government' },\n { value: AvalaraTaxExemptCodes.commercialAquaculture, label: 'P - Commercial Aquaculture' },\n { value: AvalaraTaxExemptCodes.commercialFishery, label: 'Q - Commercial Fishery' },\n { value: AvalaraTaxExemptCodes.nonResident, label: 'R - Non-Resident' },\n { value: AvalaraTaxExemptCodes.taxable, label: 'Taxable - Override Exemption' }\n]\nexport const collectionOfBigcommerceOrderStatus: DropDown[] = [\n { value: 'incomplete', label: 'Incomplete' },\n { value: 'pending', label: 'Pending' },\n { value: 'awaitingPayment ', label: 'Awaiting Payment' },\n { value: 'awaitingFulfillment', label: 'Awaiting Fulfillment' },\n { value: 'awaitingShipment', label: 'Awaiting Shipment' },\n { value: 'awaitingPickup', label: 'Awaiting Pickup' },\n { value: 'partiallyShipped', label: 'Partially Shipped' },\n { value: 'completed', label: 'Completed' },\n { value: 'shipped', label: 'Shipped' },\n { value: 'cancelled', label: 'Cancelled' },\n { value: 'declined', label: 'Declined' },\n { value: 'refunded', label: 'Refunded' },\n { value: 'disputed', label: 'Disputed' },\n { value: 'manualVerificationRequired', label: 'Manual Verification Required' },\n { value: 'partiallyRefunded', label: 'Partially Refunded' }\n];\nexport const collectionOfBillCycleType: DropDown[] = [\n { value: BillCycleTypeValues.subscriptionStartDay, label: 'Subscription Start Day' },\n { value: BillCycleTypeValues.specificDayOfMonth, label: 'Specific Day Of Month' },\n { value: BillCycleTypeValues.specificDayOfWeek, label: 'Specific Day Of Week' },\n { value: BillCycleTypeValues.specificMonthOfYear, label: 'Specific Day Of Year' }\n];\nexport const collectionOfBillingPeriod: DropDown[] = [\n { value: BillingPeriodValues.custom, label: 'Custom' },\n { value: BillingPeriodValues.week, label: 'Week' },\n { value: BillingPeriodValues.month, label: 'Month' },\n { value: BillingPeriodValues.quarter, label: 'Quarter' },\n { value: BillingPeriodValues.annual, label: 'Annual' },\n { value: BillingPeriodValues.semiAnnual, label: 'Semi-Annual' },\n // { value: BillingPeriodValues.specificWeeks, label: 'Specific Weeks' },\n // { value: BillingPeriodValues.specificMonths, label: 'Specific Months' },\n];\nexport const collectionOfBillingPeriods: DropDown[] = [\n { value: BillingPeriodsValues.weeks, label: 'Weeks' },\n { value: BillingPeriodsValues.months, label: 'Months' },\n { value: BillingPeriodsValues.years, label: 'Years' }\n];\nexport const collectionOfBillingPeriodAlignment: DropDown[] = [\n { value: BillingPeriodAlignmentValues.alignToCharge, label: 'Align to Purchase Day', status: StatusValues.active },\n { value: BillingPeriodAlignmentValues.alignToSubscriptionStart, label: 'Align To Subscription Start', status: StatusValues.active },\n { value: BillingPeriodAlignmentValues.alignToTermStart, label: 'Align To Term Start', status: StatusValues.active },\n];\nexport const collectionOfBillingTiming: DropDown[] = [\n { value: BillingTimingValues.inAdvance, label: 'In Advance', status: StatusValues.active },\n { value: BillingTimingValues.inArrears, label: 'In Arrears', status: StatusValues.disabled }\n];\nexport const collectionOfBillingFrequencyStartRule: DropDown[] = [\n { value: '0', label: 'Subscribe immediately' },\n { value: '1', label: 'On a fixed date' },\n { value: '2', label: 'Scheduled' },\n];\nexport const collectionOfBillingPeriodType: DropDown[] = [\n { value: 'frequency', label: 'By Frequency' },\n { value: 'dates', label: 'By Dates' },\n];\nexport const collectionOfChargeCreditType: DropDown[] = [\n { value: ChargeCreditType.charge, label: ChargeCreditType.charge, status: StatusValues.active },\n { value: ChargeCreditType.credit, label: ChargeCreditType.credit, status: StatusValues.disabled },\n];\nexport const collectionOfRatePlanTypes: DropDown[] = [\n { value: RatePlanType.contract, label: 'Contract'},\n { value: RatePlanType.ongoing, label: 'Ongoing'},\n { value: RatePlanType.prepaid, label: 'Prepaid'},\n];\nexport const collectionOfChargePrepaidRulesAction: DropDown[] = [\n { value: ChargeRulesPrepaidAction.add, label: 'Add'},\n];\nexport const collectionOfChargePrepaidRulesAmountTypes: DropDown[] = [\n { value: ChargePrepaidRulesAmountTypes.price, label: '$ (Price)'},\n];\nexport const collectionOfChargeCutOffRuleType: DropDown[] = [\n { value: ChargeCutOffRulesType.date, label: 'By Date' },\n { value: ChargeCutOffRulesType.day, label: 'By Day' },\n];\nexport const collectionOfChargesPrepaidRulesEvents: DropDown[] = [\n { value: ChargePrepaidRulesEvents.invoicePosted, label: 'Invoice is Posted'},\n];\nexport const collectionOfChargeLoyaltyRulesAction: DropDown[] = [\n { value: ChargeRulesLoyaltyAction.remove, label: 'Remove'},\n { value: ChargeRulesLoyaltyAction.fixed, label: 'Fixed'},\n];\nexport const collectionOfChargeLoyaltyRulesAmountTypes: DropDown[] = [\n { value: ChargeLoyaltyRulesAmountTypes.price, label: '$ (Price)'},\n { value: ChargeLoyaltyRulesAmountTypes.percentage, label: '% (Percentage)'},\n];\nexport const collectionOfChargeLoyaltyRulesEvents: DropDown[] = [\n { value: ChargeLoyaltyRulesEvents.invoicePosted, label: 'Invoice is Posted'},\n];\nexport const collectionOfChargeLoyaltyRulesCountType: DropDown[] = [\n { value: ChargeLoyaltyRulesCountType.every, label: 'Every'},\n];\nexport const collectionOfChargeModel: DropDown[] = [\n { value: ChargeModelValues.flatFeePricing, label: 'Flat Fee Pricing', status: StatusValues.active },\n { value: ChargeModelValues.perUnitPricing, label: 'Per Unit Pricing', status: StatusValues.active },\n { value: ChargeModelValues.tieredPricing, label: 'Tiered Pricing', status: StatusValues.active },\n { value: ChargeModelValues.volumePricing, label: 'Volume Pricing', status: StatusValues.active },\n { value: ChargeModelValues.discountFixedAmount, label: 'Discount Fixed Amount', status: StatusValues.disabled },\n { value: ChargeModelValues.discountPercentage, label: 'Discount Percentage', status: StatusValues.disabled },\n { value: ChargeModelValues.overagePricing, label: 'Overage Pricing', status: StatusValues.disabled },\n { value: ChargeModelValues.tieredWithOveragePricing, label: 'Tiered With Overage Pricing', status: StatusValues.disabled }\n];\nexport const collectionOfChargeType: DropDown[] = [\n { value: ChargeType.oneTimeCharge, label: 'One Time Charge' },\n { value: ChargeType.recurringCharge, label: 'Recurring Charge' },\n { value: ChargeType.usageCharge, label: 'Usage Charge' },\n];\n\nexport const collectionOfCustomerGroupTypes: DropDown[] = [\n {value: CustomerGroupTypeValues.all, label:'All'},\n {value: CustomerGroupTypeValues.custom, label:'Custom'},\n];\n\nexport const collectionOfCustomerType: DropDown[] = [\n { value: CustomerType.customer, label: 'Customer' },\n { value: CustomerType.partner, label: 'Partner' },\n { value: CustomerType.prospect, label: 'Prospect' },\n { value: CustomerType.reseller, label: 'Reseller' }\n];\nexport const collectionOfDateFormat: DropDown[] = [\n { value: DateFormatValues.YYYY_MM_DD, label: 'YYYY-MM-DD' },\n { value: DateFormatValues.MMM_DD_YYYY, label: 'MMM DD, YYYY' },\n { value: DateFormatValues.ddd_DD_MMM_YYYY, label: 'ddd DD MMM, YYYY' },\n { value: DateFormatValues.dddd_DD_MMM_YYYY, label: 'dddd DD MMM, YYYY' },\n];\nexport const collectionOfDecimalFields: String[] = ['amount', 'price', 'weight', 'width', 'height', 'depth', 'total', 'subtotal', 'shipping', 'oneTimeChargeAmount', 'recurringChargeAmount', 'usageChargeAmount', 'totalTaxExc', 'subtotalTaxExc', 'taxAmount', 'balanceDue', 'invoiceAmount', 'shippingAmount', 'totalTaxCalculated', 'paidAmount', 'grandTotal', 'refundAmount', 'fixedShippingPrice', 'orderAmount'];\n\nexport const collectionOfDecimalPlaces: DropDown[] = [\n {value:'1', label:'1'},\n {value:'2', label:'2'},\n {value:'3', label:'3'},\n {value:'4', label:'4'},\n];\nexport const collectionOfDeliveryService: DropDown[] = [\n {value:'01', label:'UPS Next Day Air'},\n {value:'02', label:'UPS 2nd Day Air'},\n {value:'03', label:'UPS Ground'},\n {value:'07', label:'UPS Worldwide Express'},\n {value:'08', label:'UPS Worldwide Expedited'},\n {value:'11', label:'UPS Today Standard'},\n {value:'12', label:'UPS 3-Day Select'},\n {value:'13', label:'UPS Next Day Air Saver'},\n {value:'14', label:'UPS Next Day Air Early A.M.'},\n {value:'54', label:'UPS Worldwide Express Plus'},\n {value:'59', label:'UPS 2nd Day Air A.M.'},\n {value:'65', label:'UPS Express Saver'},\n {value:'71', label:'UPS Worldwide Express Freight Midday'},\n {value:'96', label:'UPS Worldwide Express Freight'},\n // {value:'Expedited', label:'UPS Expedited®'},\n // {value:'Express', label:'UPS Express®'},\n // {value:'Express_Plus', label:'UPS Express Plus®'},\n // {value:'Express_Saver', label:'UPS Express Saver®'},\n // {value:'Express_Early_AM', label:'UPS Express Early A.M.®'},\n // {value:'Standard', label:'UPS Standard℠'},\n // {value:'Today_Dedicated_Courier', label:'UPS Today Dedicated Courier℠'},\n // {value:'Today_Express', label:'UPS Today Express℠'},\n // {value:'Today_Express_Saver', label:'UPS Today Express Saver℠'},\n // {value:'Today_Intercity', label:'UPS Today Intercity℠'},\n // {value:'Worldwide_Express_Saver', label:'UPS Worldwide Express Saver®'},\n // {value:'Worldwide_Saver', label:'UPS Worldwide Saver®'}\n];\nexport const collectionOfEndDateCondition: DropDown[] = [\n { value: EndDateConditionValues.subscriptionEnd, label: 'Subscription End' },\n { value: EndDateConditionValues.fixedPeriod, label: 'Fixed Period' },\n];\nexport const collectionOfEnvironment: DropDown[] = [\n { value: EnvironmentValues.dev, label: 'Dev' },\n { value: EnvironmentValues.sandbox, label: 'Sandbox' },\n { value: EnvironmentValues.production, label: 'Production' }\n];\nexport const collectionOfFactoringDimension: DropDown[] = [\n { value: FactoringDimension.productDepth, label: 'Product Depth' },\n { value: FactoringDimension.productHeight, label: 'Product Height' },\n { value: FactoringDimension.productWidth, label: 'Product Width' },\n];\nexport const collectionOfFrequencyMonthOption: DropDown[] = [\n { value: '0', label: 'Based on customer checkout date' },\n { value: '1', label: 'On each of the following days in the month' },\n { value: '2', label: 'At the following date in the month' }\n];\nexport const collectionOfFrequencyUnit: DropDown[] = [\n { value: FrequencyUnitValues.day, label: 'Day' },\n { value: FrequencyUnitValues.week, label: 'Week' },\n { value: FrequencyUnitValues.month, label: 'Month' },\n { value: FrequencyUnitValues.year, label: 'Year' }\n];\nexport const collectionOfFrequencyWeekOption: DropDown[] = [\n { value: '0', label: 'Based on customer checkout date' },\n { value: '1', label: 'On each of the following days in the week' },\n];\nexport const collectionOfFrequencyYearOption: DropDown[] = [\n { value: '0', label: 'Based on customer checkout date' },\n { value: '1', label: 'On each of the following months in the year' },\n { value: '2', label: 'At the following date in the year' }\n];\nexport const collectionOfInvoiceTerms: DropDown[] = [\n { value: InvoiceTerms.onReceipt, label: 'On-Receipt' },\n { value: InvoiceTerms.net10, label: 'Net-10 ' },\n { value: InvoiceTerms.net30, label: 'Net-30' },\n { value: InvoiceTerms.net60, label: 'Net-60' },\n { value: InvoiceTerms.custom, label: 'Custom' },\n];\n\nexport const CollectionOfInvoicePaymentMethods: DropDown[] = [\n { value: GatewayType.thirdPartyPaymentProvider, label: 'Credit Card' },\n { value: GatewayType.offlinePaymentProvider, label: 'Offline Payment' },\n { value: GatewayType.requestPayment, label: 'Request new payment method' },\n];\n\nexport const collectionOfLengthMeasurament: DropDown[] = [\n{ value: LengthMeasurament.inches, label: 'Inches' },\n{ value: LengthMeasurament.centimeters, label: 'Centimeters' },\n];\nexport const collectionOfListPriceBase: DropDown[] = [\n { value: 'perMonth', label: 'Per Month' },\n { value: 'perBillingPeriod', label: 'Per Billing Period' },\n { value: 'perWeek', label: 'Per Week' }\n];\nexport const collectionOfMonth: DropDown[] = [\n { value: '1', label: 'January' },\n { value: '2', label: 'February' },\n { value: '3', label: 'March' },\n { value: '4', label: 'April' },\n { value: '5', label: 'May' },\n { value: '6', label: 'June' },\n { value: '7', label: 'July' },\n { value: '8', label: 'August' },\n { value: '9', label: 'September' },\n { value: '10', label: 'October' },\n { value: '11', label: 'November' },\n { value: '12', label: 'December' }\n];\nexport const collectionOfMonthDay: any[] = [\n 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31\n];\nexport const collectionOfPackingMethod: DropDown[] = [\n {value: '1', label: 'All items in the order in one package'},\n {value: '2', label: 'Each item in the order in its own package'}\n];\nexport const collectionOfPackagingType: DropDown[] = [\n {value: '21',label: 'Express Box'},\n {value: '24',label: 'UPS® 25KG Box'},\n {value: '25',label: 'UPS® 10KG Box'},\n {value: '30',label: 'Pallet'},\n {value: '01',label: 'UPS® Letter'},\n {value: '02',label: 'Customer Supplied Package'},\n {value: '03',label: 'Tube'},\n {value: '04',label: 'Pak'},\n {value: '2a',label: 'Small Express Box'},\n {value: '2b',label: 'Medium Express Box'},\n {value: '2c',label: 'Large Express Box'}\n];\nexport const collectionOfPaymentSource: DropDown[] = [\n { value: PaymentSource.creditCard, label: 'Credit Card' },\n { value: PaymentSource.other, label: 'Other' },\n];\nexport const collectionOfPaymentSourceOffline: DropDown[] = [\n { value: PaymentSourceOffline.amazon, label: 'Amazon Pay'},\n { value: PaymentSourceOffline.applePay, label: 'Apple Pay'},\n { value: PaymentSourceOffline.bacs, label: 'Bacs'},\n { value: PaymentSourceOffline.check, label: 'Check'},\n { value: PaymentSourceOffline.eft, label: 'EFT'},\n { value: PaymentSourceOffline.moneyOrder, label: 'Money Order'},\n { value: PaymentSourceOffline.other, label: 'Other'},\n { value: PaymentSourceOffline.paypal, label: 'PayPal'},\n { value: PaymentSourceOffline.qiwiWallet, label: 'Qiwi Wallet'},\n { value: PaymentSourceOffline.roku, label: 'Roku'},\n { value: PaymentSourceOffline.sepa, label: 'SEPA'},\n { value: PaymentSourceOffline.sepaDirectDebit, label: 'SEPA Direct Debit'},\n { value: PaymentSourceOffline.directEBanking, label: 'Sofort'},\n { value: PaymentSourceOffline.token, label: 'Token'},\n { value: PaymentSourceOffline.wire_transfer, label: 'Wire Transfer'},\n { value: PaymentSourceOffline.ideal, label: 'iDEAL'}\n];\nexport const collectionOfPriceChangeOption: DropDown[] = [\n { value: 'NoChange', label: 'NoChange' },\n { value: 'SpecificPercentageValue', label: 'SpecificPercentageValue' },\n { value: 'UseLatestProductCatalogPricing', label: 'UseLatestProductCatalogPricing' }\n];\nexport const collectionOfProductCategory: DropDown[] = [\n { value: ProductCategory.baseProducts, label: 'Base Product' },\n { value: ProductCategory.bundleProduct, label: 'Bundle Product' },\n { value: ProductCategory.service, label: 'Service' },\n { value: ProductCategory.addOn, label: 'Add-On' },\n { value: ProductCategory.miscellaneous, label: 'Miscellaneous' }\n];\nexport const collectionOfProductRatePlanChargesCategory: DropDown[] = [\n { value: ProductRatePlanChargesCategory.physical, label: 'Physical' },\n { value: ProductRatePlanChargesCategory.digital, label: 'Digital' },\n];\nexport const collectionOfProductSetupPrice: DropDown[] = [\n { value: '1', label: 'No Setup Fee' },\n { value: '2', label: 'Charge One-Time Setup Fee' }\n];\nexport const collectionOfRangeType: DropDown[] = [\n { value: RangeType.amount, label: '$' },\n { value: RangeType.percent, label: '%' }\n];\nexport const collectionOfRefundableOptions: DropDown[] = [\n { value: RefundableOptionsValues.fullRefund, label: 'Full Refund' },\n { value: RefundableOptionsValues.individualRefund, label: 'By Transaction' },\n { value: RefundableOptionsValues.partialRefund, label: 'Partial Refund' },\n];\nexport const collectionOfShippingStaticClasses: any[] = [\n {\n description: 'Use free shipping to improve checkout conversion, increase average order value and reduce abandoned carts.',\n label: 'Free Shipping',\n logo: 'free-shipping',\n value: ShippingStaticValues.freeShipping\n },\n {\n description: 'Charge a fixed shipping cost per order or per item.',\n label: 'Flat Rate (One Day)',\n logo: 'flat-rate',\n value: ShippingStaticValues.flatRateOneDay\n },\n {\n description: 'Charge a fixed shipping cost per order or per item.',\n label: 'Flat Rate (Three Day)',\n logo: 'flat-rate',\n value: ShippingStaticValues.flatRateThreeDay\n },\n {\n description: 'Calculate shipping cost based on order value or the total weight of items.',\n label: 'Ship By',\n logo: 'ship-by',\n value: ShippingStaticValues.shipBy\n },\n {\n description: 'Your customers can pickup / collect their orders from your store’s physical retail location.',\n label: 'Pickup In Store',\n logo: 'pickup-in-store',\n value: ShippingStaticValues.pickupInStore\n }\n];\nexport const collectionOfShippingDefaultValues: DropDown[] = [\n { value: ShippingDefaultValues.freeShipping, label: 'Free Shipping' },\n { value: ShippingDefaultValues.custom, label: 'Custom' },\n { value: ShippingDefaultValues.integration, label: 'Integration' },\n { value: ShippingDefaultValues.byShippingZone, label: 'By Shipping Zone' }\n];\nexport const collectionOfShippingRealTimeProviders: any[] = [\n {\n enabled: true,\n description: 'UPS® (United Parcel Service®) is the world’s largest express carrier and package delivery company. UPS® provides world-wide delivery services originating from 58 countries.',\n label: 'UPS®',\n logo: 'logo-ups-01',\n status: 'active',\n value: ShippingRealTimeProviders.ups\n },\n {\n enabled: false,\n description: 'FedEx Express provides delivery services to every U.S. address and more than 220 countries and territories around the world.',\n label: 'FedEx',\n logo: 'logo-fedex-01',\n status: 'disabled',\n value: ShippingRealTimeProviders.fedEx\n },\n {\n enabled: false,\n description: 'US Postal Service provides domestic shipping services within the USA and internationally with FedEx Express.',\n label: 'USPS',\n logo: 'logo-endicia-01',\n status: 'disabled',\n value: ShippingRealTimeProviders.usps\n }\n];\nexport const collectionOfStartingDateOption: DropDown[] = [\n { value: StartingDateValues.immediately, label: 'Immediately' },\n { value: StartingDateValues.cycleBased, label: 'After N cycles' },\n { value: StartingDateValues.dayBased, label: 'After N Days' },\n { value: StartingDateValues.alignedWithFirstCharge, label: 'Aligned with first charge' }\n];\nexport const collectionOfStartDateSubscription: DropDown[] = [\n { value: StartDateOptions.immediately, label: 'Immediately' },\n { value: StartDateOptions.schedule, label: 'Schedule' },\n];\n\nexport const collectionOfStartDateSubscriptionRatePlan: DropDown[] = [\n { value: StartDateOptions.immediately, label: 'Immediately' },\n { value: StartDateOptions.schedule, label: 'Schedule' },\n\n];\n\nexport const collectionOfSubscribeOn: DropDown[] = [\n { value: 'first', label: 'First' },\n { value: 'second', label: 'Second' },\n { value: 'third', label: 'Third' },\n { value: 'fourth', label: 'Fourth' },\n { value: 'fifth', label: 'Fifth' },\n { value: 'last', label: 'Last' },\n { value: 'custom', label: 'Custom' }\n];\nexport const collectionOfSubscribeOnOptions: DropDown[] = [\n { value: WeekDay.sunday, label: 'Sunday' },\n { value: WeekDay.monday, label: 'Monday' },\n { value: WeekDay.tuesday, label: 'Tuesday' },\n { value: WeekDay.wednesday, label: 'Wednesday' },\n { value: WeekDay.thursday, label: 'Thursday' },\n { value: WeekDay.friday, label: 'Friday' },\n { value: WeekDay.saturday, label: 'Saturday' },\n { value: 'day', label: 'Day' },\n { value: 'weekday', label: 'Weekday' },\n { value: 'weekend', label: 'Weekend' },\n];\nexport const collectionOfRatePlanOptions: DropDown[] = [\n { value: 'stop_cancel', label: 'Cancel Plan' },\n { value: 'stop', label: 'Cancel Invoice & Keep Plan Active' },\n { value: 'retry', label: 'Reset Dunning' },\n { value: 'stop_retry', label: 'Pause Plan' },\n];\nexport const collectionOfSubscriptionStartingDateOptions: DropDown[] = [\n { value: ChargeStartingDateOptions.immediately, label: 'Immediately' },\n { value: ChargeStartingDateOptions.schedule, label: 'Schedule' },\n { value: ChargeStartingDateOptions.custom, label: 'Custom' }\n];\nexport const collectionOfChargeStartingDateOptions: DropDown[] = [\n { value: ChargeStartingDateOptions.immediately, label: 'Immediately' },\n { value: ChargeStartingDateOptions.schedule, label: 'Schedule' },\n { value: ChargeStartingDateOptions.subscriptionFreeTrial, label: 'Free Trial' },\n];\nexport const collectionOfTaxClass: DropDown[] = [\n { value: TaxClassValues.nonTaxable, label: 'Non-Taxable' },\n { value: TaxClassValues.codeDefaultTaxable, label: 'Default Tax Class' },\n { value: TaxClassValues.codeShipping, label: 'Shipping' },\n { value: TaxClassValues.codeGiftWrapping, label: 'Gift Wrapping' },\n { value: TaxClassValues.codeHandling, label: 'Handling' },\n { value: TaxClassValues.custom, label: 'Custom Tax Item Code' },\n { value: TaxClassValues.manualTax, label: 'Manual Tax Rate' }\n];\n\nexport const collectionOfTaxClassAux: DropDown[] = [\n { value: TaxClassValues.nonTaxable, label: 'Non-Taxable' },\n { value: TaxClassValues.custom, label: 'Custom Tax Item Code' },\n { value: TaxClassValues.manualTax, label: 'Manual Tax Rate' }\n];\n\nexport const collectionOfTaxMode: DropDown[] = [\n { value: 'taxExclusive', label: 'Tax Exclusive' },\n { value: 'taxInclusive', label: 'Tax Inclusive' },\n];\nexport const collectionOfTaxPartner: any[] = [\n {\n description: 'Avalara helps businesses of all sizes achieve compliance with transactional taxes, including sales and use, VAT, excise, communications, and other tax types. The company delivers comprehensive, automated, cloud-based solutions that are designed to be fast, accurate, and easy to use.',\n label: 'Avalara',\n logo: 'logo-avalara',\n value: IntegrationKeyName.avalara\n },\n {\n description: 'Realize your business growth ambitions for global digital service sales with Taxamo services. Taxamo offers end-to-end services from automated software for tax rate calculation tax registering, filing, and settlement through our Taxamo technology platform. Partner with Taxamo, enable your digital sales journey, now and into the future.',\n label: 'Taxamo',\n logo: 'logo-taxamo',\n value: IntegrationKeyName.taxamo\n },\n {\n description: 'Vertex helps companies realize the full financial and strategic potential of corporate tax, offering a variety of solutions that streamline, integrate and automate corporate tax processes. Vertex solutions serve multinational corporations in every major line of business tax including; income, sales, consumer use, value added, communications and payroll.',\n label: 'Vertex',\n logo: 'logo-vertex',\n value: IntegrationKeyName.vertex\n },\n {\n description: 'Get accurate tax calculation with effortless filing and remittance. Thomson Reuters ONESOURCE™ is a smarter end-to-end tax solution for US and global sales tax, use tax, GST, and VAT for 193 countries regardless of your corporation`s size or geographical research. Automate the entire transactional tax lifecycle — from rate calculation to compliance. Say goodbye to manual work and focus your time on growing your business. Learn more.',\n label: 'Thomson Reuters',\n logo: 'logo-oneSource',\n value: IntegrationKeyName.oneSource\n }\n];\nexport enum ProductSourceImage {\n productLink = 'product_link',\n directLink = 'direct_link'\n}\n\nexport const collectionOfTaxDefaultValues: DropDown[] = [\n { value: TaxDefaultValues.freeTax, label: 'Tax Free' },\n { value: TaxDefaultValues.fixedAmount, label: 'Fixed Amount' },\n { value: TaxDefaultValues.fixedRate, label: 'Fixed Rate' },\n { value: TaxDefaultValues.integration, label: 'Integration' },\n { value: TaxDefaultValues.externalAmount, label: 'External Amount' }\n];\nexport const collectionOfTermLength: DropDown[] = [\n { value: '0', label: 'No contract' },\n { value: '1', label: 'Custom' }\n];\nexport const collectionOfTermRenewalRule: DropDown[] = [\n { value: '0', label: 'Auto renew subscription with Term' },\n { value: '1', label: 'Auto renew subscription without Term' },\n { value: '2', label: 'Expire subscription' }\n];\n\nexport const commitmentLengths = {\n [FrequencyUnitValues.day]: [...Array(365).keys()].map(i=>i+1),\n [FrequencyUnitValues.week]: [...Array(52).keys()].map(i=>i+1),\n [FrequencyUnitValues.month]: [...Array(12).keys()].map(i=>i+1),\n [FrequencyUnitValues.year]: [...Array(10).keys()].map(i=>i+1),\n};\nexport const collectionOfTime: DropDown[] = [\n { value: '00', label: '00:00'},\n { value: '01', label: '01:00'},\n { value: '02', label: '02:00'},\n { value: '03', label: '03:00'},\n { value: '04', label: '04:00'},\n { value: '05', label: '05:00'},\n { value: '06', label: '06:00'},\n { value: '07', label: '07:00'},\n { value: '08', label: '08:00'},\n { value: '09', label: '09:00'},\n { value: '10', label: '10:00'},\n { value: '11', label: '11:00'},\n { value: '12', label: '12:00'},\n { value: '13', label: '13:00'},\n { value: '14', label: '14:00'},\n { value: '15', label: '15:00'},\n { value: '16', label: '16:00'},\n { value: '17', label: '17:00'},\n { value: '18', label: '18:00'},\n { value: '19', label: '19:00'},\n { value: '20', label: '20:00'},\n { value: '21', label: '21:00'},\n { value: '22', label: '22:00'},\n { value: '23', label: '23:00'}\n];\nexport const collectionOfTimeFrame: DropDown[] = [\n { value: TimeFrameOptions.specificDate, label: 'Specific Date', status: StatusValues.active },\n { value: TimeFrameOptions.dateRange, label: 'Date Range', status: StatusValues.disabled },\n];\nexport const collectionOfTrialLength: DropDown[] = [\n { value: '0', label: 'No trial' },\n { value: '7', label: '7 Days' },\n { value: '14', label: '14 Days' },\n { value: '30', label: '1 Month' },\n { value: 'custom', label: 'Custom' }\n];\nexport const collectionOfUpToPeriodsType: DropDown[] = [\n { value: UpToPeriodsTypeValues.billingPeriods, label: 'Billing Periods' },\n { value: UpToPeriodsTypeValues.days, label: 'Days' },\n { value: UpToPeriodsTypeValues.weeks, label: 'Weeks' },\n { value: UpToPeriodsTypeValues.months, label: 'Months' },\n { value: UpToPeriodsTypeValues.years, label: 'Years' }\n];\nexport const collectionOfWeeklyBillCycleDay: DropDown[] = [\n { value: WeekDay.sunday, label: 'Sunday' },\n { value: WeekDay.monday, label: 'Monday' },\n { value: WeekDay.tuesday, label: 'Tuesday' },\n { value: WeekDay.wednesday, label: 'Wednesday' },\n { value: WeekDay.thursday, label: 'Thursday' },\n { value: WeekDay.friday, label: 'Friday' },\n { value: WeekDay.saturday, label: 'Saturday' }\n];\nexport const collectionOfWeightMeasurament: DropDown[] = [\n { value: WeightMeasuraments.pounds, label: 'Pounds' },\n { value: WeightMeasuraments.ounces, label: 'Ounces' },\n { value: WeightMeasuraments.kilograms, label: 'Kilograms' },\n { value: WeightMeasuraments.grams, label: 'Grams' },\n { value: WeightMeasuraments.tonnes, label: 'Tonnes' },\n];\n\nexport const collectionOfEnvironmentGateways: DropDown[] = [\n { value: 'sandbox', label: 'Sandbox' },\n { value: 'production', label: 'Production' },\n];\n\nexport const collectionOfTransactionTypeGateways: DropDown[] = [\n { value: 'authorizeOnly', label: 'Authorize Only' },\n { value: 'authorizeCapture', label: 'Authorize & Capture' },\n];\n\nexport const collectionOfWorkSize: DropDown[] = [\n { value: '1', label: 'Just You' },\n { value: '2', label: '2 - 9' },\n { value: '3', label: '10 - 99' },\n { value: '4', label: '100 - 299' },\n { value: '5', label: '300+' }\n]\nexport const collectionOfFlatRateTypes: DropDown[] = [\n { value: 'item', label: 'Per item' },\n { value: 'order', label: 'Per order' },\n]\nexport const collectionOfhipByChargeShipping: DropDown[] = [\n { value: 'byWeight', label: 'By weight' },\n { value: 'byOrderTotal', label: 'By order total' },\n { value: 'byOrderQty', label: 'By order quantity' },\n]\nexport const collectionOfShipByTypes: DropDown[] = [\n { value: '$', label: '$' },\n { value: '%', label: '% of total orders' },\n]\nexport const collectionOfImporterProductTaskOptions : DropDown[] = [\n { value: 'all', label: 'All' },\n { value: 'custom', label: 'Custom' },\n { value: 'brand', label: 'By Brand' },\n { value: 'category', label: 'By Category' },\n // { value: 'createdAt', label: 'By Created At' },\n]\n\nexport const collectionOfModifierDisplayStyleOptions : DropDown[] = [\n { value: 'dropdown', label: 'Dropdown' },\n { value: 'radio_buttons', label: 'Radio Buttons' },\n { value: 'rectangles', label: 'Rectangles' },\n]\n\n//Main Navigation\nexport const collectionOfNavOption: Array = [\n // Quick Access\n {\n id: 1,\n title: 'Quick Access',\n iconPrefix: 'ico-quick-access',\n hasAccess: true,\n module: 'quickAccess',\n options: [\n {\n id: 11,\n displayName: 'Create Customer',\n hasAccess: true,\n url: '/main/customers/add',\n },\n {\n id: 12,\n displayName: 'Create Product',\n hasAccess: true,\n url: '/main/products/add',\n },\n {\n id: 13,\n displayName: 'Create Subscription',\n hasAccess: true,\n url: '/main/subscriptions/add',\n },\n {\n id: 14,\n displayName: 'Create Invoice',\n hasAccess: true,\n url: '/main/invoices/add',\n }\n ],\n },\n // Subscriptions\n {\n id: 2,\n title: 'Subscriptions',\n iconPrefix: 'ico-subscriptions',\n hasAccess: true,\n module: 'subscriptions',\n options: [\n {\n id: 21,\n displayName: 'Manage',\n hasAccess: true,\n url: '/main/subscriptions/list',\n },\n {\n id: 22,\n displayName: 'New Subscription',\n hasAccess: true,\n url: '/main/subscriptions/add',\n },\n {\n id: 23,\n displayName: 'Import Orders',\n hasAccess: true,\n url: '/main/subscriptions/import',\n },\n ],\n },\n // Product Catalog\n {\n id: 10,\n title: 'Product Catalog',\n iconPrefix: 'ico-products',\n hasAccess: true,\n module: 'products',\n options: [\n {\n id: 101,\n displayName: 'Manage',\n hasAccess: true,\n url: '/main/products/list',\n },\n {\n id: 102,\n displayName: 'New Product',\n hasAccess: true,\n url: '/main/products/add',\n },\n {\n id: 103,\n displayName: 'Import / Export',\n hasAccess: true,\n url: '/main/products/import',\n },\n ],\n },\n // Customers\n {\n id: 3,\n title: 'Customers',\n iconPrefix: 'ico-customers',\n hasAccess: true,\n module: 'customers',\n options: [\n {\n id: 31,\n displayName: 'Manage',\n hasAccess: true,\n url: '/main/customers/list',\n },\n {\n id: 32,\n displayName: 'New Customer',\n hasAccess: true,\n url: '/main/customers/add',\n },\n {\n id: 33,\n displayName: 'Import / Export',\n hasAccess: true,\n url: '/main/customers/import',\n },\n ],\n },\n // Invoices & Credits\n {\n id: 4,\n title: 'Invoices & Credits',\n iconPrefix: 'ico-invoices',\n hasAccess: true,\n module: 'invoices',\n options: [\n {\n id: 41,\n displayName: 'Invoices',\n hasAccess: true,\n url: '/main/invoices/list',\n },\n {\n id: 42,\n displayName: 'Credits',\n hasAccess: false,\n url: '/main/invoices/credit',\n },\n ],\n },\n // Analytics\n {\n id: 5,\n title: 'Analytics',\n iconPrefix: 'ico-analytics',\n hasAccess: true,\n module: 'analytics',\n options: [\n {\n id: 51,\n displayName: 'Dashboard',\n hasAccess: true,\n url: '/analytics/dashboard',\n },\n {\n id: 52,\n displayName: 'Subscribers',\n hasAccess: true,\n url: '/analytics/subscribers',\n },\n {\n id: 53,\n displayName: 'Plans',\n hasAccess: true,\n url: '/analytics/plans',\n },\n {\n id: 54,\n displayName: 'Trial Performance',\n hasAccess: true,\n url: '/analytics/trial-performance',\n },\n {\n id: 55,\n displayName: 'Monthly Recurring Revenue',\n hasAccess: true,\n url: '/analytics/monthly-recurring-revenue',\n },\n {\n id: 56,\n displayName: 'Subscribers Retention',\n hasAccess: true,\n url: '/analytics/subscribers-retention',\n },\n {\n id: 57,\n displayName: 'Billings',\n hasAccess: true,\n url: '/analytics/billings',\n },\n {\n id: 57,\n displayName: 'Churn Analysis',\n hasAccess: true,\n url: '/analytics/churn-analysis',\n },\n {\n id: 58,\n displayName: 'Plan Performance',\n hasAccess: true,\n url: '/analytics/plan-performance',\n },\n {\n id: 59,\n displayName: 'Recovered Revenue',\n hasAccess: true,\n url: '/analytics/recovered-revenue',\n },\n {\n id: 60,\n displayName: 'Dunning Effectiveness',\n hasAccess: true,\n url: '/analytics/dunning-effectiveness',\n },\n {\n id: 61,\n displayName: 'Export',\n hasAccess: true,\n url: '/analytics/export',\n },\n ],\n },\n // Transactions\n {\n id: 7,\n title: 'Transactions',\n iconPrefix: 'ico-logs',\n hasAccess: true,\n module: 'transactions',\n options: [\n {\n id: 71,\n displayName: 'Transactions',\n hasAccess: true,\n url: '/main/transactions/list',\n }\n ],\n },\n // Sales Channels\n {\n id: 8,\n title: 'Sales Channels',\n iconPrefix: 'ico-channels',\n hasAccess: true,\n module: 'integrations',\n options: [\n {\n id: 81,\n displayName: 'Sales Channels',\n hasAccess: true,\n url: '/main/integrations/sales-channels/list',\n }\n // {\n // id: 82,\n // displayName: 'Shopify',\n // hasAccess: true,\n // url: '/main/integrations/sales-channels/shopify',\n // },\n // {\n // id: 83,\n // displayName: 'Salesforce',\n // hasAccess: false,\n // url: '/main/integrations/sales-channels/salesforce',\n // },\n // {\n // id: 84,\n // displayName: 'Amazon',\n // hasAccess: false,\n // url: '/main/integrations/sales-channels/amazon',\n // },\n // {\n // id: 85,\n // displayName: 'eBay',\n // hasAccess: false,\n // url: '/main/integrations/sales-channels/ebay',\n // },\n // {\n // id: 86,\n // displayName: 'Store Front',\n // hasAccess: false,\n // url: '/main/integrations/sales-channels/shipstation',\n // }\n ],\n },\n // Settings\n {\n id: 9,\n title: 'Settings',\n iconPrefix: 'ico-settings',\n hasAccess: true,\n module: 'settings',\n options: [\n {\n id: 91,\n displayName: 'Store Setup',\n hasAccess: true,\n url: '/main/settings/store/store-profile',\n }\n // {\n // id: 92,\n // displayName: 'Advance Settings',\n // hasAccess: true,\n // url: '/main/settings/advanced',\n // }\n // {\n // id: 91,\n // displayName: 'Account Settings',\n // hasAccess: true,\n // url: '/account',\n // },\n // {\n // id: 92,\n // displayName: 'Billing',\n // hasAccess: true,\n // url: '/main/settings/billing',\n // },\n // {\n // id: 93,\n // displayName: 'Users',\n // hasAccess: true,\n // url: '/main/settings/users',\n // },\n // {\n // id: 97,\n // displayName: 'Notifications',\n // hasAccess: true,\n // url: '/main/settings/notifications',\n // },\n // {\n // id: 105,\n // displayName: 'API Credentials',\n // hasAccess: false,\n // url: '/main/integrations/settings',\n // },\n // {\n // id: 99,\n // displayName: 'Hosted Pages',\n // hasAccess: false,\n // url: '/main/settings/hosted-pages',\n // },\n // {\n // id: 100,\n // displayName: 'Custom Fields',\n // hasAccess: false,\n // url: '/main/settings/custom-fields',\n // },\n ],\n },\n];\n\nexport const SCOPE_RULE = {\n additional_currency: [\n {\n scopes: [\n { name: \"SCOPE_BUTTON_DISABLE\" },\n {\n name: \"SCOPE_HIDE_WITHMESSAGE\",\n message: \"This feature is not available in your current plan\",\n },\n ],\n },\n ],\n payment_gateways: [\n {\n name: \"limit\",\n value: 1,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} payment gateways\",\n },\n ],\n },\n ],\n payment_wallets: [\n {\n name: \"limit\",\n value: 1,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} online wallet”\",\n },\n ],\n },\n ],\n payment_offline: [\n {\n name: \"limit\",\n value: 1,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} offline payment methods\",\n },\n ],\n },\n ],\n accounting_integrations: [\n { scopes: [{ name: \"SCOPE_HIDE\" }, { name: \"SCOPE_NOPAGE\" }] },\n {\n name: \"limit\",\n value: 1,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} accounting integrations\",\n },\n ],\n },\n ],\n tax_integrations: [\n { scopes: [{ name: \"SCOPE_HIDE\" }, { name: \"SCOPE_NOPAGE\" }] },\n {\n name: \"limit\",\n value: 1,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} tax integrations\",\n },\n ],\n },\n ],\n shipping_integrations: [\n { scopes: [{ name: \"SCOPE_HIDE\" }, { name: \"SCOPE_NOPAGE\" }] },\n {\n name: \"limit\",\n value: 69,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} shipping integrations\",\n },\n ],\n },\n ],\n publicapi_account: [\n { scopes: [{ name: \"SCOPE_HIDE\" }, { name: \"SCOPE_NOPAGE\" }] },\n ],\n feature_dunning: [\n { scopes: [{ name: \"SCOPE_HIDE\" }, { name: \"SCOPE_NOPAGE\" }] },\n ],\n feature_inbox_notifications: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_email_notifications: [\n { scopes: [{ name: \"SCOPE_HIDE\" }] },\n {\n name: \"limit\",\n value: 3,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} Email account(s)\",\n },\n ],\n },\n ],\n feature_billrun_runnow: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_payrun_runnow: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_saleschannels: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n saleschannel_bigcommerce: [\n { scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] },\n {\n name: \"limit\",\n value: 3,\n scopes: [\n {\n name: \"SCOPE_LIMIT\",\n message:\n \"Sorry Boss! Your plan allows connecting up to {limit} BigCommerce stores\",\n },\n ],\n },\n ],\n feature_childaccount: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n view_billing_plan: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n view_billing_order: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n view_billing_invoices1: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_analytics: [\n {\n scopes: [\n {\n name: \"SCOPE_NOPAGE_WITHMESSAGE\",\n message:\n \"Analytics are not a part of your current plan. To access analytics, upgrade your plan or contact your account manager\",\n },\n ],\n },\n ],\n analytics_indepth: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n analytics_cohorts: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n analytics_reports: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n feature_loyaltydiscount: [\n {\n scopes: [\n { name: \"SCOPE_SET_VALUE\", value: false },\n { name: \"SCOPE_INPUT_DISABLE\" },\n ],\n },\n ],\n feature_usagebased: [\n {\n scopes: [\n { name: \"SCOPE_HIDE\" },\n { name: \"SCOPE_SET_VALUE\", value: false },\n ],\n },\n ],\n view_sub_alignment: [\n {\n scopes: [\n { name: \"SCOPE_HIDE\" },\n { name: \"SCOPE_SET_VALUE\", value: \"Align to charge\" },\n ],\n },\n ],\n view_sub_billday: [\n {\n scopes: [\n { name: \"SCOPE_HIDE\" },\n { name: \"SCOPE_SET_VALUE\", value: \"Subscription Start Day\" },\n ],\n },\n ],\n view_sub_billtiming: [\n {\n scopes: [\n { name: \"SCOPE_HIDE\" },\n { name: \"SCOPE_SET_VALUE\", value: \"In Advance\" },\n ],\n },\n ],\n view_sub_endcondition: [\n {\n scopes: [\n { name: \"SCOPE_HIDE\" },\n { name: \"SCOPE_SET_VALUE\", value: \"Subscription End\" },\n ],\n },\n ],\n view_sub_startdate: [\n {\n scopes: [\n { name: \"SCOPE_HIDE\" },\n { name: \"SCOPE_SET_VALUE\", value: \"Immediately\" },\n ],\n },\n ],\n feature_rptype_prepaid: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_rptype_contract: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_effectivedates: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n multi_prpc: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n multi_rpc: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_gridexport: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_advanced_upcoming: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n saleschannel_checkoutAllTransactions: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n saleschannel_enableCustomerGroups: [\n { scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] },\n ],\n feature_billrun_changeTime: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n feature_payrun_changeTime: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n saleschannel_customer_import: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_angular_chargenow: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n shipping_shipperhq: [{ scopes: [{ name: \"SCOPE_BUTTON_DISABLE\" }] }],\n feature_storecredit: [\n {\n scopes: [\n { name: \"SCOPE_SET_VALUE\", value: false },\n { name: \"SCOPE_INPUT_DISABLE\" },\n ],\n },\n ],\n feature_setasgift: [\n {\n scopes: [\n { name: \"SCOPE_SET_VALUE\", value: false },\n { name: \"SCOPE_INPUT_DISABLE\" },\n ],\n },\n ],\n feature_dailyop_notification: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n salechannel_addprodtobag: [\n {\n scopes: [\n { name: \"SCOPE_SET_VALUE\", value: false },\n { name: \"SCOPE_INPUT_DISABLE\" },\n ],\n },\n ],\n feature_PRP_minimum_commit: [\n {\n scopes: [\n { name: \"SCOPE_SET_VALUE\", value: false },\n { name: \"SCOPE_INPUT_DISABLE\" },\n ],\n },\n ],\n feature_PRP_templates: [\n { scopes: [{ name: \"SCOPE_HIDE\" }, { name: \"SCOPE_NOPAGE\" }] },\n ],\n feature_mergeCustomer: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n feature_reportAnIssue: [{ scopes: [{ name: \"SCOPE_HIDE\" }] }],\n};\n@Injectable()\n\nexport class AppData {\n constructor() {}\n}\n\n// af-ZA\n// am-ET\n// ar-AE\n// ar-BH\n// ar-DZ\n// ar-EG\n// ar-IQ\n// ar-JO\n// ar-KW\n// ar-LB\n// ar-LY\n// ar-MA\n// arn-CL\n// ar-OM\n// ar-QA\n// ar-SA\n// ar-SY\n// ar-TN\n// ar-YE\n// as-IN\n// az-Cyrl-AZ\n// az-Latn-AZ\n// ba-RU\n// be-BY\n// bg-BG\n// bn-BD\n// bn-IN\n// bo-CN\n// br-FR\n// bs-Cyrl-BA\n// bs-Latn-BA\n// ca-ES\n// co-FR\n// cs-CZ\n// cy-GB\n// da-DK\n// de-AT\n// de-CH\n// de-DE\n// de-LI\n// de-LU\n// dsb-DE\n// dv-MV\n// el-GR\n// en-029\n// en-AU\n// en-BZ\n// en-CA\n// en-GB\n// en-IE\n// en-IN\n// en-JM\n// en-MY\n// en-NZ\n// en-PH\n// en-SG\n// en-TT\n// en-US\n// en-ZA\n// en-ZW\n// es-AR\n// es-BO\n// es-CL\n// es-CO\n// es-CR\n// es-DO\n// es-EC\n// es-ES\n// es-GT\n// es-HN\n// es-MX\n// es-NI\n// es-PA\n// es-PE\n// es-PR\n// es-PY\n// es-SV\n// es-US\n// es-UY\n// es-VE\n// et-EE\n// eu-ES\n// fa-IR\n// fi-FI\n// fil-PH\n// fo-FO\n// fr-BE\n// fr-CA\n// fr-CH\n// fr-FR\n// fr-LU\n// fr-MC\n// fy-NL\n// ga-IE\n// gd-GB\n// gl-ES\n// gsw-FR\n// gu-IN\n// ha-Latn-NG\n// he-IL\n// hi-IN\n// hr-BA\n// hr-HR\n// hsb-DE\n// hu-HU\n// hy-AM\n// id-ID\n// ig-NG\n// ii-CN\n// is-IS\n// it-CH\n// it-IT\n// iu-Cans-CA\n// iu-Latn-CA\n// ja-JP\n// ka-GE\n// kk-KZ\n// kl-GL\n// km-KH\n// kn-IN\n// kok-IN\n// ko-KR\n// ky-KG\n// lb-LU\n// lo-LA\n// lt-LT\n// lv-LV\n// mi-NZ\n// mk-MK\n// ml-IN\n// mn-MN\n// mn-Mong-CN\n// moh-CA\n// mr-IN\n// ms-BN\n// ms-MY\n// mt-MT\n// nb-NO\n// ne-NP\n// nl-BE\n// nl-NL\n// nn-NO\n// nso-ZA\n// oc-FR\n// or-IN\n// pa-IN\n// pl-PL\n// prs-AF\n// ps-AF\n// pt-BR\n// pt-PT\n// qut-GT\n// quz-BO\n// quz-EC\n// quz-PE\n// rm-CH\n// ro-RO\n// ru-RU\n// rw-RW\n// sah-RU\n// sa-IN\n// se-FI\n// se-NO\n// se-SE\n// si-LK\n// sk-SK\n// sl-SI\n// sma-NO\n// sma-SE\n// smj-NO\n// smj-SE\n// smn-FI\n// sms-FI\n// sq-AL\n// sr-Cyrl-BA\n// sr-Cyrl-CS\n// sr-Cyrl-ME\n// sr-Cyrl-RS\n// sr-Latn-BA\n// sr-Latn-CS\n// sr-Latn-ME\n// sr-Latn-RS\n// sv-FI\n// sv-SE\n// sw-KE\n// syr-SY\n// ta-IN\n// te-IN\n// tg-Cyrl-TJ\n// th-TH\n// tk-TM\n// tn-ZA\n// tr-TR\n// tt-RU\n// tzm-Latn-DZ\n// ug-CN\n// uk-UA\n// ur-PK\n// uz-Cyrl-UZ\n// uz-Latn-UZ\n// vi-VN\n// wo-SN\n","export enum KeyName {\n archive_integration = 'archive_integration',\n archive_subscription = 'archive_subscription',\n bigcommerce_settings = 'bigcommerce_settings',\n account_closed = 'account_closed',\n cancel_account = 'cancel_account',\n cancel_invite = 'cancel_invite',\n cancel_invoice = 'cancel_invoice',\n change_access_level = 'change_access_level',\n change_auto_collection_invoice = 'change_auto_collection_invoice',\n change_charge = 'change_charge',\n new_sync_active_plans = 'new_sync_active_plans',\n change_customer_status = 'change_customer_status',\n enforce_customer_gdpr = 'enforce_customer_gdpr',\n block_account = 'block_account',\n unblock_account = 'unblock_account',\n merge_customers = 'merge_customers',\n change_gateway_status_to_active = 'change_gateway_status_to_active',\n change_gateway_status_to_archive = 'change_gateway_status_to_archive',\n change_gateway_status_to_disabled = 'change_gateway_status_to_disabled',\n change_importer_product_task_status = 'change_importer_product_task_status',\n change_product_rateplan_status = 'change_product_rateplan_status',\n product_rateplan_discontinue = 'product_rateplan_discontinue',\n set_order_action = 'set_order_action',\n change_product_status = 'change_product_status',\n change_products_status = 'change_products_status',\n change_subscription_status = 'change_subscription_status',\n change_subscription_rate_plan_status = 'change_subscription_rate_plan_status',\n skip_rate_plan_charge = 'skip_rate_plan_charge',\n change_price_for_rate_plan_charge = 'change_price_for_rate_plan_charge',\n change_shipping_price_for_rate_plan_charge = 'change_shipping_price_for_rate_plan_charge',\n change_subscription_rate_plan_charge_status = 'change_subscription_rate_plan_charge_status',\n activate_lead = 'activate_lead',\n channel_notification_already_exist = 'channel_notification_already_exist',\n close_Modal = 'close_Modal',\n create_customer_address = 'create_customer_address',\n delete_integration = 'delete_integration',\n delete_charge = 'delete_charge',\n delete_customer_group = 'delete_customer_group',\n delete_integration_shipping = 'delete_integration_shipping',\n delete_integration_tax = 'delete_integration_tax',\n delete_tax_region = 'delete_tax_region',\n delete_currency = 'delete_currency',\n delete_external_product = 'delete_external_product',\n delete_external_charge = 'delete_external_charge',\n sync_modifiers = 'sync_modifiers',\n delete_external_rate_plan_charge = 'delete_external_rate_plan_charge',\n subscription_unlink_sale_channel = 'subscription_unlink_sale_channel',\n delete_gateway = 'delete_gateway',\n delete_invoice = 'delete_invoice',\n delete_notification = 'delete_notification',\n delete_plan = 'delete_plan',\n delete_product = 'delete_product',\n bulk_pause_product = 'bulk_pause_product',\n delete_subscription = 'delete_subscription',\n delete_rate_plan = 'delete_rate_plan',\n delete_rate_plan_charge = 'delete_rate_plan_charge',\n sync_active_plans = 'sync_active_plans',\n mark_as_template = 'mark_as_template',\n sync_with_template = 'sync_with_template',\n apply_template = 'apply_template',\n disable_SMTP_integration = 'disable_SMTP_integration',\n disengage_company_gateway = 'disengage_company_gateway',\n disengage_company_gateway_success = 'disengage_company_gateway_success',\n do_payment_with_credit_card = 'do_payment_with_credit_card',\n do_payment_with_ach = 'do_payment_with_ach',\n error_auth0 = 'error_auth0',\n error_bad_request = 'error_bad_request',\n error_bad_request_change_role_owner = 'error_bad_request_change_role_owner',\n // error_bad_request_change_role_yourself = 'error_bad_request_change_role_yourself',\n // error_bad_request_company_currency = 'error_bad_request_company_currency',\n error_bad_request_company_integration_action_Disconnect = 'error_bad_request_company_integration_action_Disconnect',\n error_bad_request_currency_default = 'error_bad_request_currency_default',\n error_bad_request_currency_in_use = 'error_bad_request_currency_in_use',\n // error_bad_request_email_setting = 'error_bad_request_email_setting',\n error_bad_request_gateway_delete = 'error_bad_request_gateway_delete',\n // error_bad_request_integration_action = 'error_bad_request_integration_action',\n // error_bad_request_invite_user_company = 'error_bad_request_invite_user_company',\n // error_bad_request_invite_user_company_duplicated = 'error_bad_request_invite_user_company_duplicated',\n // error_bad_request_invite_yourself = 'error_bad_request_invite_yourself',\n // error_bad_request_jwt_validation = 'error_bad_request_jwt_validation',\n error_bad_request_payment_method_has_active_subscriptions = 'error_bad_request_payment_method_has_active_subscriptions',\n error_bad_request_big_commerce = 'error_bad_request_big_commerce',\n // error_bad_request_product_action = 'error_bad_request_product_action',\n // error_bad_request_role_owner = 'error_bad_request_role_owner',\n error_bad_request_route = 'error_bad_request_route',\n // error_bad_request_set_role_owner = 'error_bad_request_set_role_owner',\n // error_bad_request_timezone_convertion = 'error_bad_request_timezone_convertion',\n // error_balance = 'error_balance',\n // error_bigcommerce_login_email = 'error_bigcommerce_login_email',\n // error_create_transaction = 'error_create_transaction',\n error_duplicated_rule_filter = 'error_duplicated_rule_filter',\n error_exchange_rates = 'error_exchange_rates',\n // error_forbidden = 'error_forbidden',\n // error_forbidden_company = 'error_forbidden_company',\n error_forbidden_company_action = 'error_forbidden_company_action',\n // error_forbidden_payment_method = 'error_forbidden_payment_method',\n // error_forbidden_payment_method_action = 'error_forbidden_payment_method_action',\n // error_forbidden_plan_limitations = 'error_forbidden_plan_limitations',\n error_form_attributes = 'error_form_attributes',\n error_gateway = 'error_gateway',\n error_gateway_not_found = 'error_gateway_not_found',\n error_gateway_doesnt_belong_rebillia_gateway = 'error_gateway_doesnt_belong_rebillia_gateway',\n error_integration = 'error_integration',\n error_incomplete_subscription = 'error_incomplete_subscription',\n // error_integration_authentication = 'error_integration_authentication',\n // error_integration_disabled = 'error_integration_disabled',\n error_malformed_request = 'error_malformed_request',\n error_not_active_gateway_found ='error_not_active_gateway_found',\n error_not_countries_found ='error_not_countries_found',\n error_not_currencies_found = 'error_not_currencies_found',\n error_not_found = 'error_not_found',\n // error_not_found_company = 'error_not_found_company',\n // error_not_found_company_bill_run = 'error_not_found_company_bill_run',\n // error_not_found_company_currency = 'error_not_found_company_currency',\n // error_not_found_company_gateway = 'error_not_found_company_gateway',\n error_not_found_company_integration = 'error_not_found_company_integration',\n error_external_interval_failed_for_product_status = 'error_external_interval_failed_for_product_status',\n // error_not_found_company_payment_run = 'error_not_found_company_payment_run',\n // error_not_found_currency = 'error_not_found_currency',\n error_not_found_customer = 'error_not_found_customer',\n error_not_found_customer_address_book = 'error_not_found_customer_address_book',\n error_not_found_customer_group = 'error_not_found_customer_group',\n // error_not_found_customer_payment_method = 'error_not_found_customer_payment_method',\n error_not_found_email_template = 'error_not_found_email_template',\n // error_not_found_external_customer_address_book = 'error_not_found_external_customer_address_book',\n // error_not_found_external_order = 'error_not_found_external_order',\n // error_not_found_external_product = 'error_not_found_external_product',\n // error_not_found_integration = 'error_not_found_integration',\n // error_not_found_integration_key = 'error_not_found_integration_key',\n // error_not_found_integration_setting = 'error_not_found_integration_setting',\n // error_not_found_integration_value = 'error_not_found_integration_value',\n // error_not_found_product = 'error_not_found_product',\n // error_not_found_product_rateplan = 'error_not_found_product_rateplan',\n // error_not_found_product_rateplan_charge = 'error_not_found_product_rateplan_charge',\n // error_not_found_rate_plan = 'error_not_found_rate_plan',\n // error_not_found_rate_plan_charge = 'error_not_found_rate_plan_charge',\n // error_not_found_setting_type = 'error_not_found_setting_type',\n // error_not_found_subscription = 'error_not_found_subscription',\n error_not_gateway_associated = 'error_not_gateway_associated',\n error_external_interval_failed = 'error_external_interval_failed',\n error_rebillia_connector = 'error_rebillia_connector',\n // error_sales_channel_service = 'error_sales_channel_service',\n error_server_api = 'error_server_api',\n // error_server_api_analytics_billing_activity = 'error_server_api_analytics_billing_activity',\n // error_server_api_analytics_get_totals = 'error_server_api_analytics_get_totals',\n error_server_api_analytics_list_by_sales_channel = 'error_server_api_analytics_list_by_sales_channel',\n error_product_not_published_due_to_not_active_rateplan = 'error_product_not_published_due_to_not_active_rateplan',\n // error_server_api_analytics_list_invoices = 'error_server_api_analytics_list_invoices',\n // error_server_api_analytics_payment_activity = 'error_server_api_analytics_payment_activity',\n // error_server_api_bill_run_get = 'error_server_api_bill_run_get',\n // error_server_api_bill_run_invoices = 'error_server_api_bill_run_invoices',\n // error_server_api_bill_run_list = 'error_server_api_bill_run_list',\n // error_server_api_bill_run_update = 'error_server_api_bill_run_update',\n // error_server_api_company_integration_create = 'error_server_api_company_integration_create',\n // error_server_api_company_integration_delete = 'error_server_api_company_integration_delete',\n // error_server_api_company_integration_keys = 'error_server_api_company_integration_keys',\n // error_server_api_company_integration_keys_set = 'error_server_api_company_integration_keys_set',\n // error_server_api_company_integration_list = 'error_server_api_company_integration_list',\n // error_server_api_company_integration_list_by_key_name = 'error_server_api_company_integration_list_by_key_name',\n error_server_api_company_integration_settings = 'error_server_api_company_integration_settings',\n // error_server_api_company_integration_settings_set = 'error_server_api_company_integration_settings_set',\n // error_server_api_company_integration_update = 'error_server_api_company_integration_update',\n // error_server_api_customer_address_book_create = 'error_server_api_customer_address_book_create',\n // error_server_api_customer_address_book_list = 'error_server_api_customer_address_book_list',\n // error_server_api_customer_address_book_update = 'error_server_api_customer_address_book_update',\n // error_server_api_customer_payment_method_by_id = 'error_server_api_customer_payment_method_by_id',\n // error_server_api_customer_payment_method_list = 'error_server_api_customer_payment_method_list',\n // error_server_api_customer_payment_method_remove = 'error_server_api_customer_payment_method_remove',\n // error_server_api_customer_payment_method_update = 'error_server_api_customer_payment_method_update',\n // error_server_api_database = 'error_server_api_database',\n // error_server_api_database_user = 'error_server_api_database_user',\n // error_server_api_external_customer_address_book_create = 'error_server_api_external_customer_address_book_create',\n // error_server_api_external_invoice_list = 'error_server_api_external_invoice_list',\n error_server_api_external_product_delete = 'error_server_api_external_product_delete',\n error_server_api_external_product_duplicate = 'error_server_api_external_product_duplicate',\n // error_server_api_gateway_get_client_token = 'error_server_api_gateway_get_client_token',\n // error_server_api_integration_get_by_key_name = 'error_server_api_integration_get_by_key_name',\n // error_server_api_integration_list = 'error_server_api_integration_list',\n // error_server_api_payment_run_get = 'error_server_api_payment_run_get',\n // error_server_api_payment_run_list = 'error_server_api_payment_run_list',\n // error_server_api_payment_run_transactions = 'error_server_api_payment_run_transactions',\n // error_server_api_payment_run_update = 'error_server_api_payment_run_update',\n // error_server_api_product_create = 'error_server_api_product_create',\n // error_server_api_product_delete = 'error_server_api_product_delete',\n // error_server_api_product_get = 'error_server_api_product_get',\n // error_server_api_product_list = 'error_server_api_product_list',\n // error_server_api_product_rateplan_charge_calculate_price = 'error_server_api_product_rateplan_charge_calculate_price',\n // error_server_api_product_rateplan_charge_create = 'error_server_api_product_rateplan_charge_create',\n // error_server_api_product_rateplan_charge_delete = 'error_server_api_product_rateplan_charge_delete',\n // error_server_api_product_rateplan_charge_get = 'error_server_api_product_rateplan_charge_list',\n // error_server_api_product_rateplan_charge_list = 'error_server_api_product_rateplan_charge_list',\n // error_server_api_product_rateplan_charge_update = 'error_server_api_product_rateplan_charge_update',\n // error_server_api_product_rateplan_create = 'error_server_api_product_rateplan_create',\n // error_server_api_product_rateplan_delete = 'error_server_api_product_rateplan_delete',\n // error_server_api_product_rateplan_external_product_create = 'error_server_api_product_rateplan_external_product_create',\n // error_server_api_product_rateplan_external_product_delete = 'error_server_api_product_rateplan_external_product_delete',\n // error_server_api_product_rateplan_external_product_list = 'error_server_api_product_rateplan_external_product_list',\n // error_server_api_product_rateplan_get = 'error_server_api_product_rateplan_get',\n // error_server_api_product_rateplan_list = 'error_server_api_product_rateplan_list',\n // error_server_api_product_rateplan_status = 'error_server_api_product_rateplan_status',\n // error_server_api_product_rateplan_sync = 'error_server_api_product_rateplan_sync',\n // error_server_api_product_rateplan_update = 'error_server_api_product_rateplan_update',\n // error_server_api_product_status = 'error_server_api_product_status',\n error_server_api_product_update = 'error_server_api_product_update',\n // error_server_api_rateplan_charge_schedule_next_charge = 'error_server_api_rateplan_charge_schedule_next_charge',\n // error_server_api_subscription_change_rate_plan_charge_status = 'error_server_api_subscription_change_rate_plan_charge_status',\n // error_server_api_subscription_change_status = 'error_server_api_subscription_change_status',\n // error_server_api_subscription_create = 'error_server_api_subscription_create',\n // error_server_api_subscription_create_rate_plan = 'error_server_api_subscription_create_rate_plan',\n // error_server_api_subscription_create_rate_plan_charge = 'error_server_api_subscription_create_rate_plan_charge',\n // error_server_api_subscription_delete = 'error_server_api_subscription_delete',\n // error_server_api_subscription_delete_rate_plan = 'error_server_api_subscription_delete_rate_plan',\n // error_server_api_subscription_delete_rate_plan_charge = 'error_server_api_subscription_delete_rate_plan_charge',\n // error_server_api_subscription_get_external_product = 'error_server_api_subscription_get_external_product',\n // error_server_api_subscription_list = 'error_server_api_subscription_list',\n // error_server_api_subscription_list_by_customer = 'error_server_api_subscription_list_by_customer',\n // error_server_api_subscription_list_by_id = 'error_server_api_subscription_list_by_id',\n // error_server_api_subscription_list_external_invoices = 'error_server_api_subscription_list_external_invoices',\n // error_server_api_subscription_list_external_invoices_by_company_integration = 'error_server_api_subscription_list_external_invoices_by_company_integration',\n // error_server_api_subscription_list_invoices = 'error_server_api_subscription_list_invoices',\n // error_server_api_subscription_list_logs = 'error_server_api_subscription_list_logs',\n // error_server_api_subscription_list_rate_plan = 'error_server_api_subscription_list_rate_plan',\n // error_server_api_subscription_list_rate_plan_charge = 'error_server_api_subscription_list_rate_plan_charge',\n // error_server_api_subscription_list_upcoming = 'error_server_api_subscription_list_upcoming',\n // error_server_api_subscription_next_bill = 'error_server_api_subscription_next_bill',\n // error_server_api_subscription_next_bill_not_found = 'error_server_api_subscription_next_bill_not_found',\n // error_server_api_subscription_update = 'error_server_api_subscription_update',\n // error_server_api_subscription_update_payment_method = 'error_server_api_subscription_update_payment_method',\n // error_server_api_subscription_update_rate_plan = 'error_server_api_subscription_update_rate_plan',\n // error_server_api_subscription_update_rate_plan_charge = 'error_server_api_subscription_update_rate_plan_charge',\n // error_server_api_subscription_update_shipping_address = 'error_server_api_subscription_update_shipping_address',\n // error_shipping_rates_get = 'error_shipping_rates_get',\n // error_shipping_rates_list = 'error_shipping_rates_list',\n // error_shipping_services = 'error_shipping_services',\n // error_status_invoice = 'error_status_invoice',\n // error_tax_account_create = 'error_tax_account_create',\n // error_tax_calculate = 'error_tax_calculate',\n // error_tax_code = 'error_tax_code',\n // error_tax_create_transaction = 'error_tax_create_transaction',\n // error_tax_region_add = 'error_tax_region_add',\n // error_tax_region_list_by_company = 'error_tax_region_list_by_company',\n // error_tax_region_list_by_country = 'error_tax_region_list_by_country',\n // error_tax_region_remove = 'error_tax_region_remove',\n // error_update_invoice = 'error_update_invoice',\n email_status_disabled = 'email_status_disabled',\n email_status_enabled = 'email_status_enabled',\n enable_integration = 'enable_integration',\n execute_billing_run_now = 'execute_billing_run_now',\n save_rbl_scope_key_list = 'save_rbl_scope_key_list',\n save_experimental_features = 'save_experimental_features',\n execute_payment_run_now = 'execute_payment_run_now',\n form_invalid = 'form_invalid',\n form_submitted = 'form_submitted',\n message_removed = 'message_removed',\n no_product_rate_plan_charges = 'no_product_rate_plan_charges',\n plan_core = 'core',\n plan_professional = 'professional',\n plan_enterprise = 'enterprise',\n reconnect_gateway = 'reconnect_gateway',\n refund_invoice = 'refund_invoice',\n remove_address = 'remove_address',\n remove_charge_credit = 'remove_charge_credit',\n remove_charge = 'remove_charge',\n remove_charge_inLine = 'remove_charge_inLine',\n remove_integration = 'remove_integration',\n remove_gateway = 'remove_gateway',\n remove_payment = 'remove_payment',\n request_error = 'request_error',\n request_error_transaction_unsuccessful = 'request_error_transaction_unsuccessful',\n request_success = 'request_success',\n revoke_access_user = 'revoke_access_user',\n switch_product_rate_plan = 'switch_product_rate_plan',\n sales_channel_order = 'sales_channel_order',\n sales_channel_checkout = 'sales_channel_checkout',\n set_as_default_payment_method = 'set_as_default_payment_method',\n set_as_default_smart_routing = 'set_as_default_smart_routing',\n test_Avalara_configuration = 'test_Avalara_configuration',\n subscription_shipping = 'subscription_shipping',\n system_message_removed = 'message_removed',\n test_gateway = 'test_gateway',\n remove_customer_address_book_error_billing = 'remove_customer_address_book_error_billing',\n remove_customer_address_book_error_shipping = 'remove_customer_address_book_error_shipping',\n remove_customer_address_book_error_payment = 'remove_customer_address_book_error_payment',\n export_csv = 'export_csv',\n manually_rerun_payment_run = 'manually_rerun_payment_run',\n limit_reached = 'limit_reached',\n switch_company_for_closed = 'switch_company_for_closed',\n delete_webhook = 'delete_webhook',\n remove_shipping_protection = 'remove_shipping_protection',\n remove_shipping_zone = 'remove_shipping_zone',\n\n}\n\nexport interface messageIterface {\n value: string;\n message: string;\n messageWithVariables?: string[];\n}\n\nexport const collectionOfKeyNamesMessages: messageIterface[] = [\n\n { value: KeyName.channel_notification_already_exist, message: 'Channel notification already exist.'},\n { value: KeyName.disengage_company_gateway, message: '', messageWithVariables:['',' account mapping for Card Payments in ','', 'has been removed.']},\n { value: KeyName.disengage_company_gateway_success, message: 'Success. Your gateway is disengage now.', messageWithVariables:['',' account mapping for Card Payments in ','', 'has been removed.']},\n { value: KeyName.error_auth0, message: 'Token expired.'},\n { value: KeyName.error_bad_request, message: 'Error in your request.'},\n { value: KeyName.error_bad_request_change_role_owner, message: 'Error in your request. It is not possible invite a user with role Owner.'},\n { value: KeyName.error_bad_request_company_integration_action_Disconnect, message: 'Error in your request. It is not possible disconnect this integration due to there are transactions related.'},\n { value: KeyName.error_bad_request_currency_default, message: 'Sorry but something went wrong while trying to execute your request. The currency you are trying to delete is being used.'},\n { value: KeyName.error_bad_request_currency_in_use, message: 'Error in your request. Looks like we cannot remove the currency from your account. The currency is in use.'},\n { value: KeyName.error_bad_request_gateway_delete, message: 'Error in your request. Looks like we cannot remove the payment gateway from your account. There are customer payment methods associate with this payment gateway.'},\n { value: KeyName.error_bad_request_route, message: 'Sorry but the element you are trying to access does not exist anymore.'},\n { value: KeyName.error_duplicated_rule_filter, message: 'The rule created already exist.'},\n { value: KeyName.error_exchange_rates, message: 'Error in your request. An error occurred when trying to connect with service Exchange Rates.'},\n { value: KeyName.error_forbidden_company_action, message: 'Looks like you don’t have permissions to do this action'},\n { value: KeyName.error_form_attributes, message: 'Error in your request. Looks like the information you entered is not valid but, what do we know?'},\n { value: KeyName.error_gateway, message: 'We were not able to connect with the payment proccesor. Please make sure your credentials are correct.'},\n { value: KeyName.error_server_api_company_integration_settings, message: 'Settings should be completed.'},\n { value: KeyName.error_gateway_not_found, message: 'We were not found a gateway. '},\n { value: KeyName.error_gateway_doesnt_belong_rebillia_gateway, message: '', messageWithVariables:['Error in your request. The selected gateway doesn\\'t belong to a Rebillia Gateway','']},\n { value: KeyName.error_integration, message: 'We were not able to connect with a third party API. Please check your credentials and try again.'},\n { value: KeyName.error_incomplete_subscription, message: 'We were not able to create a subscription. Please select a correct payment method.'},\n { value: KeyName.error_malformed_request, message: 'Error in your request. The request is malformed.'},\n { value: KeyName.error_not_active_gateway_found, message: 'Error in your request. An error occurred when trying to get the list of active Company Gateways.'},\n { value: KeyName.error_not_countries_found, message: 'Error in your request. An error occurred when trying to get the list of Countries.'},\n { value: KeyName.error_not_currencies_found, message: 'Error in your request. An error occurred when trying to get the list of company currencies.'},\n { value: KeyName.error_not_found, message: 'Sorry but the element you are trying to access does not exist anymore.'},\n { value: KeyName.error_not_found_company_integration, message: 'Error in your request. The integration that try to access not exist in this company.'},\n { value: KeyName.error_not_found_customer, message: 'Error in your request. Looks like we cannot create the address because We cannot found the customer selected.'},\n { value: KeyName.error_not_found_customer_address_book, message: 'Error in your request. The address book that you try to access does not exist for this customer.'},\n { value: KeyName.error_not_found_customer_group, message: 'Error in your request. Customer group settings is not activated on the Bigcommerce\\'s settings.'},\n { value: KeyName.error_not_found_email_template, message: 'Error in your request. The email template that you try to access does not exist in this company.'},\n { value: KeyName.error_not_gateway_associated, message: 'Error in your request. There are no company Gateways associated.'},\n { value: KeyName.error_external_interval_failed, message: 'Sorry Boss! Looks like we were not able to connect one ore more plans to your sale channel'},\n { value: KeyName.error_rebillia_connector, message: 'Error in your request. Please contact us in order to enable Avalara integration.'},\n { value: KeyName.error_server_api, message: 'In this moment we can not process your request.'},\n { value: KeyName.error_server_api_analytics_list_by_sales_channel, message: 'In this moment we can not process your request. It Was not possible list subscriptions by sales channels.'},\n { value: KeyName.error_server_api_external_product_delete, message: 'The external product cannot remove because there are at least one charge related.'},\n { value: KeyName.error_server_api_external_product_duplicate, message: 'The external product already exist for this product.'},\n { value: KeyName.error_server_api_product_update, message: 'In this moment we can not process your request.'},\n { value: KeyName.form_invalid, message: 'Error in your request. Looks like the information you entered is not valid but, what do we know?'},\n { value: KeyName.form_submitted, message: 'Success'},\n { value: KeyName.message_removed, message: 'Ok, got it.'},\n { value: KeyName.no_product_rate_plan_charges, message: 'Make sure you have created at least one product rate plan charge for each rate plan.'},\n { value: KeyName.request_error, message: 'Error in your request.'},\n { value: KeyName.request_error_transaction_unsuccessful, message: 'The transaction was unsuccessful.'},\n { value: KeyName.request_success, message: 'Nice! Everything looks good from here boss.'},\n { value: KeyName.subscription_shipping, message: 'If you proceed with this action you won\\'t be able to calculate the shipping amount in some subscriptions.'},\n { value: KeyName.bigcommerce_settings, message: 'If you proceed with this action yours Bigcommerce\\'s settings will affected and might cause errors when Rebillia creates subscriptions.'},\n { value: KeyName.sales_channel_order, message: 'If you proceed with this action you won\\'t able to create Bigcommerce\\'s orders.'},\n { value: KeyName.sales_channel_checkout, message: 'If you proceed with this action your Bigcommerce\\'s checkout will be deactivated.'},\n { value: KeyName.remove_customer_address_book_error_billing, message: 'Sorry Boss, no can do! This address is being used as the billing address of one or more subscriptions.'},\n { value: KeyName.remove_customer_address_book_error_shipping, message: 'Sorry Boss, no can do! This address is being used as the shipping address of one or more subscriptions.'},\n { value: KeyName.remove_customer_address_book_error_payment, message: 'Sorry Boss, no can do! This address is being used as the billing address of one or more cards on file.'},\n { value: KeyName.error_bad_request_payment_method_has_active_subscriptions, message: 'Sorry boss, Can’t do that! This card is attached to an active subscription bag.'},\n { value: KeyName.error_product_not_published_due_to_not_active_rateplan, message: 'Sorry Boss! You must have at least one enabled rate plan to publish the product'},\n { value: KeyName.error_bad_request_big_commerce, message: 'Sorry Boss! We can’t find this product in your sale channel. It may have been removed' },\n { value: KeyName.error_external_interval_failed_for_product_status, message: 'Sorry Boss! We could not publish. Please make sure the product does not already have an option with the same name' }\n //{ value: KeyName.message{{data.message}}\n ];\n\nexport class AppKeyNames {\n constructor() {}\n}\n","import { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n// import { ScrollingModule } from '@angular/cdk/scrolling';\n// import { CdkTableModule } from '@angular/cdk/table';\n// import { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MODULES: Array = [\n ClipboardModule,\n DragDropModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule\n]\n\n@NgModule({\n exports: [MODULES],\n imports: [MODULES]\n})\n\nexport class AppMaterialModule {\n constructor(){\n console.log('app.material.ts was loaded');\n }\n}\n","//angular\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n// import { DeviceDetectorModule } from 'ngx-device-detector';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\n//app data\nimport { AppData } from './app.data';\nimport { AppKeyNames } from './app.keynames';\n//app modules\nimport { AppMaterialModule } from './app.material';\nimport { AppRouterModule } from './app.routing';\nimport { AppSharedModule } from './_shared/app.shared.module';\nimport { CoreModule } from './_core/core.module';\n//app providers\nimport { OriginProviders } from './_shared/providers/origin.provider';\n//app services\nimport { AuthGuardService } from './_guard/auth.guard';\n//app components\nimport { AppComponent } from './app.component';\nimport { CallbackComponent } from './modules/login/callback/callback.component';\nimport { ForbiddenComponent } from './_shared/pages/forbidden/forbidden.component';\nimport { PageNotFoundComponent } from './_shared/pages/pagenotfound/pagenotfound.component';\nimport { UnauthorizedComponent } from './_shared/pages/unauthorized/unauthorized.component';\n\n// this includes the core NgIdleModule but includes keepalive providers for easy wireup\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\nimport { IdleExpiry, SimpleExpiry } from '@ng-idle/core';\nimport { CrossServiceModule } from './_core/services/api/cross-service.module';\nimport myLocaleEs from '@angular/common/locales/es'\nimport myLocaleFr from '@angular/common/locales/fr'\nimport localeEnGB from '@angular/common/locales/en-GB';\n\nimport {DatePipe, registerLocaleData} from '@angular/common';\nimport { RestrictionResolver } from './_shared/services/permission/restriction.resolver';\nimport { PermissionsGuardService } from './_shared/services/permission/permissions.guard';\nimport { LoggedInGuard } from './_guard/loggedin.guard';\n\nregisterLocaleData(localeEnGB);\nregisterLocaleData(myLocaleEs);\nregisterLocaleData(myLocaleFr);\n\nconst COMPONENTS: any[] = [\n AppComponent,\n CallbackComponent,\n ForbiddenComponent,\n PageNotFoundComponent,\n UnauthorizedComponent,\n]\n\nconst MODULES: any[] = [\n AppMaterialModule,\n AppSharedModule,\n AppRouterModule,\n BrowserModule,\n BrowserAnimationsModule,\n CoreModule,\n CrossServiceModule,\n HttpClientModule,\n NgIdleKeepaliveModule.forRoot()\n // FormsModule,\n // ReactiveFormsModule,\n // DeviceDetectorModule.forRoot()\n]\n\nconst PROVIDERS: any[] = [\n AppData,\n AppKeyNames,\n AuthGuardService,\n LoggedInGuard,\n RestrictionResolver,\n PermissionsGuardService,\n OriginProviders,\n DatePipe\n // {provide: LOCALE_ID, useValue: 'en'}\n]\n\n@NgModule({\n bootstrap: [ AppComponent ],\n declarations: [ COMPONENTS ],\n imports: [ MODULES ],\n providers: [ PROVIDERS, {\n provide: IdleExpiry,\n useClass: SimpleExpiry\n} ]\n})\n\nexport class AppModule { }\n","// angular\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n// app\nimport { CallbackComponent } from './modules/login/callback/callback.component';\nimport { ForbiddenComponent } from './_shared/pages/forbidden/forbidden.component';\nimport { PageNotFoundComponent } from './_shared/pages/pagenotfound/pagenotfound.component';\nimport { UnauthorizedComponent } from './_shared/pages/unauthorized/unauthorized.component';\nimport { RestrictionResolver } from './_shared/services/permission/restriction.resolver';\nimport { LayoutBaseNewComponent } from './modules/main/layout-new.component';\n\nconst AppRoutes: Routes = [\n //account\n {\n loadChildren: () => import('./modules/account/account.module').then(m => m.AccountModule),\n path: 'account',\n pathMatch: 'prefix'\n },\n //callback\n {\n path: 'callback',\n component: CallbackComponent\n },\n //forbidden\n {\n path: 'forbidden',\n component: ForbiddenComponent\n },\n //login\n {\n loadChildren: () => import('./modules/login/login.module').then(m => m.LoginModule),\n path: 'login',\n pathMatch: 'prefix'\n },\n //main\n {\n component: LayoutBaseNewComponent,\n loadChildren: () => import('./modules/main/main.module').then(m => m.MainModule),\n path: 'main',\n pathMatch: 'prefix',\n resolve: {\n config: RestrictionResolver\n }\n },\n //setup\n {\n loadChildren: () => import('./modules/setup/setup.module').then(m => m.SetupModule),\n path: 'setup',\n pathMatch: 'prefix'\n },\n //unauthorized\n {\n path: 'unauthorized',\n component: UnauthorizedComponent\n },\n //default\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'main/dashboard'\n },\n //not found\n {\n path: '**',\n component: PageNotFoundComponent\n }\n];\n\n@NgModule({\n exports: [\n RouterModule\n ],\n imports: [\n RouterModule.forRoot(AppRoutes, { scrollPositionRestoration: 'enabled', enableTracing: false })\n ]\n})\n\nexport class AppRouterModule { }\n","//angular\nimport { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/_core/services/auth.service';\n//app\n\n@Component({\n selector: 'app-callback',\n templateUrl: './callback.component.html'\n})\n\nexport class CallbackComponent implements OnInit {\n color = 'primary';\n mode = 'query';\n value = 50;\n bufferValue = 75;\n\n constructor(\n private _auth: AuthService\n ) {}\n\n ngOnInit() {\n console.log('callback.component.ts - ngOnInit()');\n this._auth.handleAuthentication();\n }\n\n}\n","
\n
\n \n \n \n \n
\n
","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {DataSharingService, LoaderService, RestService, StorageService} from 'src/app/_core/services';\nimport {RestResponse, Role} from 'src/app/_shared/models';\nimport {CompanyStatus, DateFormatValues} from 'src/app/app.data';\nimport {environment} from 'src/environments/environment';\nimport {DatePipe} from '@angular/common';\nimport * as dayjs from 'dayjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport {DialogConfirmationComponent} from '../../dialog/confirmation/confirmation.component';\nimport {KeyName} from 'src/app/app.keynames';\nimport {AuthService} from 'src/app/_core/services/auth.service';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\nconst APIResourceSystem: string = '/system';\nconst APIResourceMessages: string = '/messages';\nconst APIResourceSearch: string = '/search';\nconst APIResourceSupport: string = '/support';\nconst APICompanies: string = '/companies';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MainService {\n private serviceUrl_SystemMessage: string;\n private serviceUrl_Search: string;\n private serviceUrl_Support: string;\n private companyStatus: string;\n private cancelledAt: string;\n _dateFormatValues = DateFormatValues;\n\n constructor(\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService,\n private datePipe: DatePipe,\n private dialog: MatDialog,\n private auth: AuthService,\n private loader: LoaderService,\n private _dialogRef: MatDialog,\n public _router: Router,\n ) {\n let entityId: string;\n\n this._shareData.currentCompany.subscribe(data => {\n this.checkIfItsDeactivated()\n console.log('data', data)\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n this.companyStatus = data.status;\n this.cancelledAt = data.cancelledAt && data.cancelledAt.date ? data.cancelledAt.date : null\n\n // SYSTEM MESSAGES\n // /system/messages\n this.serviceUrl_SystemMessage = APIEndpoint + APIVersion + APIResourceSystem + APIResourceMessages;\n\n // Agregar la siguiente ruta\n this.serviceUrl_Search = APIEndpoint + APIVersion + APIResourceSearch + \".json\";\n\n // Agregar la siguiente ruta\n this.serviceUrl_Support = APIEndpoint + APIVersion +APICompanies + entityId + APIResourceSupport;\n });\n }\n\n public submitSupport(data: any)\n {\n const httpOptions = {\n context:\"ignoreContentOverride\",\n reportProgress: false,\n observe: 'events'\n }\n\n return this._rest.postUpload(this.serviceUrl_Support, data, httpOptions)\n }\n\n public getSystemMessages(): Observable {\n return this._rest.get(this.serviceUrl_SystemMessage);\n }\n\n public updateSystemMessages(messageId: number): Observable {\n return this._rest.put(`${this.serviceUrl_SystemMessage}/${messageId}`)\n }\n\n public getLocalCompanyMessages() {\n const messages = [];\n const companyId = localStorage.getItem('entityId');\n const isDeactivated = (this.companyStatus ? this.companyStatus : localStorage.getItem('status')) == CompanyStatus.deactivated && !localStorage.getItem(companyId + '-hideStatusDeactivatedMessage');\n const isBlocked = (this.companyStatus ? this.companyStatus : localStorage.getItem('status')) == CompanyStatus.blocked && !localStorage.getItem(companyId + '-hideStatusDeactivatedMessage');\n const cancelledAt = this.cancelledAt ? this.cancelledAt : localStorage.getItem('cancelledAt');\n const role = localStorage.getItem('userRole');\n const dateAfter14 = dayjs(cancelledAt, \"DD-MM-YYYY\").add(15, 'days');\n const days = dateAfter14.diff(new Date(), 'days') // 20214000000 default milliseconds\n\n if(isBlocked){\n this._router.navigate(['/setup/blocked']);\n }\n\n if(isDeactivated && role != Role.owner){\n this.showDeactivatedDialog();\n }\n\n if (isDeactivated && days>0) {\n const message = {\n \"id\": 0,\n \"message\": `Account cancelled since ${this.datePipe.transform(cancelledAt)}.\n Access to the account will be revoked in ${days} ${days == 1? 'Day' : 'Days'}.\n To reactivate the account, please reach out to your account manager,\n contact our support through support@rebillia.com or call the office at (404) 900-6858. Note - Only account owners can reactivate the account.`,\n \"status\": \"local\",\n \"hideDismiss\":true,\n \"type\": \"info\",\n \"level\": 2,\n \"keyName\": \"company_deactivated\",\n \"createdAt\": {\n \"date\": new Date(),\n \"timezone_type\": 3,\n \"timezone\": \"UTC\"\n },\n \"updatedAt\": {\n \"date\": new Date(),\n \"timezone_type\": 3,\n \"timezone\": \"UTC\"\n }\n };\n\n messages.push(message);\n }\n\n return messages;\n }\n\n isAccountDeactivated(cancelledAt, role): boolean {\n if(!cancelledAt) return false;\n const dateAfter14 = dayjs(cancelledAt, \"DD-MM-YYYY\").add(14, 'days').toDate()\n const cancelledDateDue = dayjs().isAfter(dateAfter14);\n return cancelledDateDue;\n }\n\n checkIfItsDeactivated() {\n const role = localStorage.getItem('userRole');\n const cancelledAt = this.cancelledAt ? this.cancelledAt : localStorage.getItem('cancelledAt');\n if (this.isAccountDeactivated(cancelledAt, role)) {\n this.showDeactivatedDialog();\n }\n }\n\n showDeactivatedDialog(){\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\n panelClass: 'custom-mat-dialog',\n disableClose: true,\n data: {\n keyName: KeyName.account_closed,\n code: KeyName.account_closed,\n hideCancel: true,\n switchCompany: KeyName.switch_company_for_closed\n }\n });\n\n dialogRef.afterClosed().subscribe(res=>{\n if (res === KeyName.account_closed) {\n this.auth.logout();\n this.loader.stopPageLoader();\n } else if (res === KeyName.switch_company_for_closed) {\n if(this._dialogRef) {\n this._dialogRef.closeAll();\n }\n this.auth.clearCompanyStorage();\n this.loader.stopPageLoader();\n }\n })\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n RebNgxIconsRegistry,\n RebNgxIconBell,\n RebNgxIconBellNotification,\n RebNgxIconChevronDown,\n RebNgxIconPhoneCall\n} from '@rhinosaas/reb-ngx/reb-ngx-icon';\nimport { SupportComponent } from '../support/support.component';\nimport {MatIconRegistry} from \"@angular/material/icon\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\n\n@Component({\n selector: 'app-global-header',\n styleUrls: ['./global-header.component.scss'],\n templateUrl: './global-header.component.html'\n})\nexport class GlobalHeaderComponent implements OnInit {\n /**\n * Company Name\n */\n @Input() companyName: string = '';\n\n /**\n * Disable Notifications\n */\n @Input() disableNotifications: boolean = false;\n\n /**\n * Show Avatar\n */\n @Input() showAvatar: boolean = true;\n\n /**\n * User First Name\n */\n @Input() userFirstName: string = '';\n\n /**\n * User Last Name\n */\n @Input() userLastName: string = '';\n\n /**\n * User Role\n */\n @Input() userRole: string = '';\n\n userName: string = '';\n\n constructor(private rebNgxIconsRegistry: RebNgxIconsRegistry, private dialog: MatDialog, private _iconRegistry: MatIconRegistry, private _sanitizer: DomSanitizer) {\n rebNgxIconsRegistry.registerIcons([\n RebNgxIconBell,\n RebNgxIconBellNotification,\n RebNgxIconChevronDown,\n RebNgxIconPhoneCall\n ]);\n this._iconRegistry.addSvgIcon('ico-report-issue', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-report-issue.svg'));\n }\n\n ngOnInit() {\n this.userName = `${this.userFirstName} ${this.userLastName}`;\n }\n\n openSupport(){\n this.dialog.open(SupportComponent, {\n panelClass: ['custom-mat-dialog'],\n }).afterClosed().subscribe((res)=>{})\n }\n}\n","
\n
\n \n \n
\n \n
\n \n\n \n \n \n \n
\n
\n {{ userName }}\n {{ companyName }}\n
\n {{ userRole }}\n
\n \n \n \n \n \n \n \n
\n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatDialogRef } from \"@angular/material/dialog\";\nimport { Router } from \"@angular/router\";\nimport { MainService } from \"../../_services/api/main.service\";\nimport { DomSanitizer, Meta } from \"@angular/platform-browser\";\nimport { RestResponse } from \"src/app/_shared/models\";\nimport { MetaService } from \"src/app/_core/services/meta.service\";\nimport { LoaderService } from \"src/app/_core/services\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\nimport { ErrorService } from \"src/app/_core/services/error.service\";\n\n@Component({\n selector: \"app-support\",\n templateUrl: \"./support.component.html\",\n styleUrls: [\"./support.component.scss\"],\n})\nexport class SupportComponent implements OnInit {\n file: any;\n\n form: FormGroup;\n requestTypes = [\n { name: \"Product Support\", value: \"productSupport\" },\n { name: \"Technical Support\", value: \"technicalSupport\" },\n { name: \"Billing Support\", value: \"billingSupport\" },\n { name: \"General Question\", value: \"generalQuestion\" },\n { name: \"Improvement Submission\", value: \"improvementSubmission\" },\n ];\n\n relatedPages = [\n { name: \"Management App\", value: \"managementApp\" },\n { name: \"Storefront Integration\", value: \"storefrontIntegration\" },\n ];\n storefrontPages = [\n { name: \"Checkout Page\", value: \"managementApp\" },\n { name: \"Product Page\", value: \"productPage\" },\n { name: \"Customer Self-Serve Interfaces\", value: \"customerSelfServce\" },\n { name: \"Other\", value: \"other\" },\n ];\n\n extensions = \".jpeg,.jpg,.png\";\n submited = false;\n\n constructor(\n private fb: FormBuilder,\n private router: Router,\n private _meta: MetaService,\n private _loader: LoaderService,\n private _dialogRef: MatDialogRef,\n private mainService: MainService,\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer,\n private errorService: ErrorService\n ) {\n this._iconRegistry.addSvgIcon(\n \"ico-close\",\n this._sanitizer.bypassSecurityTrustResourceUrl(\n \"assets/svg/ico-close-01.svg\"\n )\n );\n }\n\n ngOnInit(): void {\n this.form = this.fb.group({\n requestType: [null, Validators.required],\n relatedPage: [null, Validators.required],\n content: [null, Validators.required],\n relatedPageCnt: [null, Validators.required],\n });\n }\n\n public setCurrentPage() {\n this.form.get(\"relatedPageCnt\").setValue(this.router.url);\n }\n\n onFileSelect(input: any) {\n const files = input.files;\n this.file = files[0];\n }\n\n onClose() {\n this._dialogRef.close();\n }\n\n onSubmit() {\n this.submited = true;\n const logs = this.errorService.getReadableLogs();\n\n const formData = new FormData();\n // Append files to the virtual form.\n if (this.file) {\n formData.append(\"file\", this.file, \"ticket.jpeg\");\n }\n const formValue = this.form.value;\n\n for (let key of Object.keys(formValue)) {\n const value = formValue[key];\n formData.append(key, value);\n }\n\n formData.append(\"logs\", logs);\n\n this.mainService.submitSupport(formData).subscribe(\n (res: RestResponse) => {\n if(res.data.type>0) {\n this._loader.stopPageLoader();\n this._meta.showNotification(res);\n this._dialogRef.close();\n }\n },\n (err: RestResponse) => {\n this._loader.stopPageLoader();\n this._meta.showNotification(err);\n this.submited = false;\n }\n );\n }\n}\n","\n\n \n \n\n\n\n
\n
\n
\n\n
\n \n \n \n {{ requestType.name }}\n \n \n
\n
\n \n \n \n {{ relatedPage.name }}\n \n \n
\n
\n \n \n \n \n Current Page\n \n\n \n \n \n {{ storefrontPage.name }}\n \n \n \n
\n
\n \n \n \n
\n \n
\n \n\n\n \n\n \n {{file.name}}\n \n
\n\n
\n
\n
\n
\n \n \n \n\n \n \n","//angular\nimport { Component, Inject, OnDestroy } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { MatIconRegistry } from '@angular/material/icon';\n//others\n//app\nimport { DataSharingService } from 'src/app/_core/services/data.sharing.service';\nimport { GridService } from 'src/app/_core/services/grid.service';\nimport { VisibleState, CheckboxState } from '../../../../../app.data';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\n\n@Component({\n selector: 'dialog-bulk',\n templateUrl: './bulk.component.html',\n host: {'class':'dialog-bulk'}\n})\n\nexport class DialogBulkComponent implements OnDestroy {\n bulkRecords: number;\n private subs = new Unsubscriber();\n\n constructor(\n @Inject(MAT_SNACK_BAR_DATA) public _data: any,\n private _dialog: MatSnackBarRef,\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer,\n private _shareData: DataSharingService,\n // public _grid: GridService,\n ) {\n this._iconRegistry.addSvgIcon('ico-archive', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-archive-01.svg'));\n this._iconRegistry.addSvgIcon('ico-copy', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-copy-01.svg'));\n this._iconRegistry.addSvgIcon('ico-delete', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-delete-02.svg'));\n this._iconRegistry.addSvgIcon('ico-export', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-export-01.svg'));\n this._iconRegistry.addSvgIcon('ico-switch', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-switch-04.svg'));\n this._iconRegistry.addSvgIcon('ico-check', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-check-02.svg'));\n this._iconRegistry.addSvgIcon('ico-disable', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-delete-03.svg'));\n\n this._iconRegistry.addSvgIcon('ico-close', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-01.svg'));\n\n this.subs.addSub = this._shareData.currentData.subscribe(data => {\n this.bulkRecords = Number(data);\n });\n }\n\n onClose(): void {\n this._dialog.dismissWithAction();\n // this._grid.removeBulkCheckedItems();\n // this._grid.statusBulkCheckbox = CheckboxState.uncheck;\n // this._grid.statusSnackBar = VisibleState.isHidden;\n // this._grid.bulkIsChecked = false;\n // this._grid.bulkIsIndeterminate = false;\n // this._grid.checkedCount = 0;\n }\n\n doAction(action): void {\n this._shareData.actionClicked.emit(action)\n }\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n
\n
\n \n
\n

{{_data.sectionName}} selected

\n
\n
0\">\n
\n \n \n\n \n \n \n \n \n \n
\n \n
\n
\n
\n","//angular\nimport { Component, HostBinding, Inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\n//app\nimport { AppAnimations } from 'src/app/_shared/animations';\nimport { KeyName } from '../../../../../app.keynames';\nimport { LoaderService } from 'src/app/_core/services';\nimport { RatePlanStatus, VisibleState } from 'src/app/app.data';\nimport { RestResponse, SubscriptionCounter } from 'src/app/_shared/models';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { SharedProductService } from 'src/app/_core/services/api';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { ProductRatePlanModel } from 'src/app/_shared/models/product.model';\n\n@Component({\n animations: [AppAnimations],\n selector: 'app-dialog-confirmation',\n templateUrl: './confirmation.component.html'\n})\n\nexport class DialogConfirmationComponent {\n _cantOfPlanToDelete = 0;\n _keyName = KeyName;\n _plansToDelete = [];\n _ratePlanStatus = RatePlanStatus;\n _isResponseReady: boolean = false;\n _subscriptionCount: any;\n _visibleState = VisibleState;\n _word_confirmation = \"\";\n extraCheckbox = false;\n \n private subs = new Unsubscriber();\n\n @HostBinding('class') class = 'dialog-confirmation';\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private _dialogRef: MatDialogRef,\n private _iconRegistry: MatIconRegistry,\n private _loader: LoaderService,\n public _meta: MetaService,\n private sharedProductService: SharedProductService,\n private _sanitizer: DomSanitizer\n ) {\n this._iconRegistry.addSvgIcon('card-alipay', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-alipay.svg'));\n this._iconRegistry.addSvgIcon('card-amex', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-amex.svg'));\n this._iconRegistry.addSvgIcon('card-diners', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-diners.svg'));\n this._iconRegistry.addSvgIcon('card-discover', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-discover.svg'));\n this._iconRegistry.addSvgIcon('card-elo', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-elo.svg'));\n this._iconRegistry.addSvgIcon('card-hypercard', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-hypercard.svg'));\n this._iconRegistry.addSvgIcon('card-jcb', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-jcb.svg'));\n this._iconRegistry.addSvgIcon('card-maestro', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-maestro.svg'));\n this._iconRegistry.addSvgIcon('card-master', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-master.svg'));\n this._iconRegistry.addSvgIcon('card-paypal', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-paypal.svg'));\n this._iconRegistry.addSvgIcon('card-unionpay', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-unionpay.svg'));\n this._iconRegistry.addSvgIcon('card-verve', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-verve.svg'));\n this._iconRegistry.addSvgIcon('card-visa', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/card-visa.svg'));\n this._iconRegistry.addSvgIcon('ico-warning', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-error-10.svg'));\n\n //ShowWarningMessage is used to display a warning message to the user.\n if(data.showWarningMessage){\n this._isResponseReady = false;\n const httpParams: HttpParamsInterface = {}\n this.subs.addSub = this.sharedProductService.getSubscriptionCounterByProductRatePlanId(data.ratePlan.id, httpParams)\n .subscribe(\n (res: RestResponse) => {\n console.log('@@@res',res);\n let data = new SubscriptionCounter().deserialize(res.data);\n console.log('@@@data',data);\n this._isResponseReady = true;\n this._subscriptionCount = data.subscriptionCount;\n console.log('@@@this._subscriptionCounter',this._subscriptionCount);\n },\n (err: RestResponse) => {\n this._isResponseReady = false;\n this._meta.showNotification(err);\n }\n )\n }\n }\n\n onClose(): void {\n this._dialogRef.close();\n }\n\n onSubmit(code: any) {\n this._loader.startPageLoader();\n\n if(this.extraCheckbox) {\n this._dialogRef.close({code, extraCheckbox: true});\n } else {\n this._dialogRef.close(code);\n }\n }\n\n disableButton(){\n if(this.data.word_confirmation == this._word_confirmation ){\n return false;\n } else\n return true;\n }\n}\n","
\n
\n \n \n \n \n
\n
\n
\n

Remove Shipping Zone

\n

By clicking 'Remove', you will remove shipping zone from all payment methods.

\n
\n
\n

Remove UPS shipping protection

\n

By clicking 'Remove', you will remove UPS shipping protection from the subscription.

\n
\n\n \n
\n

Export View to CSV

\n

By clicking \"Start Export\", Rebillia will compile the export file. A push notification with a download link will be available once the export file is ready to download.

\n
\n\n
\n

Manually Re-Run Payment Run

\n

By clicking \"Re-Run\", Rebillia will re-run the chosen Payment Run.

\n
\n\n \n
\n

Account Closed

\n

This account has been closed and can not be accessed any further. To reactivate the account, please contact us through support@rebillia.com

\n
\n\n \n \n
\n

Remove this address?

\n

Removing it means you won't be able to use this address for other Rebillia product or service without adding it again.

\n
\n

{{ data.address.street1 }} {{ data.address.street2 }}, {{ data.address.city }}, {{ data.address.state }}, {{ data.address.zip }}, {{ data.address.country.alpha2Code }}

\n
\n
\n \n\n \n \n
\n

Change Customer Status?

\n

The Customer Status {{ data.customer.status }}, will change to {{ data.nextStatus }}

\n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
\n\n
\n

Enforce GDPR

\n

By submitting this confirmation form, you understand that all active subscriptions and open invoices will be cancelled, as well as all personal information, including but not limited to - Full Name, Email Address, Physical Addresses, Payment Methods - will be permanently removed from the system, and could not be retrieved.

\n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
\n\n
\n

Block Account

\n

By submitting this confirmation form, you understand that all active subscriptions and open invoices will be cancelled.

\n \n Please type in the phrase {{ data.word_confirmation }} to confirm\n \n \n
\n\n
\n

Unblock Account

\n

By submitting this confirmation form, you understand that all canceled subscriptions and canceled invoices will be activated.

\n \n Please type in the phrase {{ data.word_confirmation }} to confirm\n \n \n
\n\n
\n

Merge Customers

\n

For security reasons, payment methods can not be transferred between customer accounts. By merging customer accounts and moving the subscriptions to the main account, all subscriptions will need to get a new payment method assigned to them.

\n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
\n \n\n \n \n
\n

Set as default this payment method?

\n

With this action, you will set up this payment as the selected to pay your next billing.

\n
\n \n
\n

Confirm Payment with Credit Card

\n

You are more close to be a part of Merchants Rebillia Team. Confirm to start with your membership!

\n
\n \n
\n

Remove this payment method?

\n

Removing it means you won't be able to use this payment method for other Rebillia product or service without adding it again.

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n

Ending in ( {{ data.cardNumber }} )

\n
\n
\n \n
\n

Save As Template

\n

Create a template based on selected product rateplan.

\n
\n
\n

Re-Apply Template

\n

Sync details of the product rateplan with connected template.

\n
\n
\n

Apply template

\n

Apply this template to all product rateplans that are connected.

\n
\n \n \n
\n

Revoke access to user?

\n

The user {{data.user.email}} will can not enter to Rebillia platform.

\n
\n \n
\n

Cancel invite user?

\n

This user {{data.user.email}} will can not accept the invite and enter to the platform.

\n
\n \n
\n

Cancel Account

\n

Are you sure you want to cancel your Rebillia account?

\n
\n \n\n \n \n
\n

Delete currency?

\n

When you delete this currency, you can not use it in the future.

\n
\n \n\n \n \n
\n

Disengage gateway?

\n

If you want to remove the gateway account {{data.companyGateway.name}} set for [{{data.companyCurrency.currency.iso3}}] click 'Disengage Gateway'. Otherwise click 'Cancel'.

\n
\n\n \n \n
\n

Remove charge?

\n

When you remove this charge, you can not use it in the future.

\n
\n \n\n \n \n
\n

Archive {{data.gateway.name}}?

\n

On archiving, customers will no longer be able to use this payment gateway for processing payments. Also, existing subscriptions attached to this gateway will no longer continue to make payments via this payment gateway.

\n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
\n \n
\n

Delete gateway?

\n

When you delete this gateway, you can not use it in the future.

\n
\n \n
\n

Enable {{data.gateway.name}}?

\n

On enabeling, either new or existing customers can use this payment gateway for processing payments. Also, either new or existing subscriptions attached to this gateway can continue to make payments via this payment gateway.

\n
\n \n
\n

Disable {{data.gateway.name}}?

\n

On disabeling, new customers can no longer use this payment gateway for processing payments but existing subscriptions attached to this gateway can continue to make payments via this payment gateway.

\n
\n \n
\n

Reconnect {{data.gateway.name}}?

\n

On reconnecting, customers will be able to use this payment gateway for processing payments. Also, existing subscriptions attached to this gateway will continue to make payments via this payment gateway.

\n
\n \n
\n

Configuration Test

\n \n
\n \n
\n

Configuration Test

\n \n
\n \n\n \n \n
\n

Delete plan?

\n

The plan {{ _plansToDelete[0].name }} will be permanently deleted. You will no longer be able to link this plan to any subscription.

\n

1\" class=\"typo body-1 fw400 semi-condensed label-message\">You delete {{ _cantOfPlanToDelete }} plans that will be permanently deleted. You will no longer be able to link these plans to any subscription.

\n

Please type in the word {{ data.word_confirmation }} to confirm

\n \n \n \n
\n \n\n \n \n
\n

Enable {{ data.email.title }}?

\n

{{ data.email.description }}

\n

Disable {{ data.email.title }}?

\n

After you disable this email templates, notifications that are using this template will not be send anymore. Disabling this email template will not delete your email template design. You can always come back later and enable it again.

\n
\n\n \n \n
\n

Enable {{ data.companyIntegration.displayName }}?

\n

{{ data.companyIntegration.description }}

\n
\n\n \n
\n

Archive?

\n

If you want to archive the integration {{data.integration.displayName}}. Please type in the word: {{ data.word_confirmation }} to confirm. Otherwise click 'Cancel'.

\n
\n
\n
\n

ATTENTION:

\n
\n 0\">\n
  • \n \n {{ integrationMessage.message }}\n \n
  • \n
    \n
    \n
    \n\n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n
    \n

    Disable?

    \n

    After disabling this integration, You will not be able to send notifications using this channel.

    \n
    \n\n \n
    \n

    Disconnect?

    \n \n
    \n
    \n

    Disconnect {{data.shippingProvider.displayName}}?

    \n

    If you want to remove the shipping carrier account {{data.shippingProvider.displayName}}, Please type in the word: {{ data.word_confirmation }} to confirm. Otherwise click 'Cancel'.

    \n
    \n
    \n
    \n

    ATTENTION:

    \n
    \n
  • \n \n All {{data.shippingProvider.displayName}} settings and account credentials will be deleted.\n \n
  • \n 0\">\n
  • \n \n {{ integrationMessage.message }}\n \n
  • \n
    \n
    \n
    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n
    \n

    Disconnect {{data.shippingProvider.displayName}}?

    \n

    If you want to remove your tax account {{data.shippingProvider.displayName}}, Please type in the word: {{ data.word_confirmation }} to confirm. Otherwise click 'Cancel'.

    \n
    \n
    \n
    \n

    ATTENTION:

    \n
    \n\n
  • \n \n All {{data.shippingProvider.displayName}} settings and account credentials will be deleted.\n \n
  • \n 0\">\n
  • \n \n {{ integrationMessage.message }}\n \n
  • \n
    \n
    \n
    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n
    \n

    remove {{data.shippingProvider.displayName}}?

    \n

    If you want to remove {{data.shippingProvider.displayName}} click 'Remove'. Otherwise click 'Cancel'.

    \n
    \n \n\n \n \n
    \n

    Set As Default?

    \n

    When your customer adds a payment method on checkout or updates their payment details, a gateway account must be linked to it. All the customer's future payments made using this payment method are processed through this gateway account.

    \n
    \n\n \n \n
    \n

    Stop collecting tax in {{data.taxRegion.name}}?

    \n

    Deleting {{data.taxRegion.name}} also deletes any local {{data.taxRegion.name}} tax authorities you've set up. Deleted regions and local authorities can be added back by going to Configure Region.

    \n
    \n\n \n \n
    \n

    Remove this charge?

    \n

    Once you delete this charge, it's gone forever.

    \n
    \n \n
    \n

    Cancel Invoice?

    \n

    The invoice #{{ data.invoice.id }} will be cancel. Once you cancel this invoice you can delete it but once you delete it, it's gone forever!

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n
    \n

    Delete Invoice?

    \n

    The invoice #{{ data.invoice.id }} will be deleted. Once you delete it's gone forever!

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n \n
    \n

    Delete charge?

    \n

    The charge {{ data.charge.name }} will be permanently deleted.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n \n
    \n

    Delete charge?

    \n

    The charge {{ data.charge.name }} will be removed from this list.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n \n
    \n

    Delete subscription?

    \n

    The subscription {{ data.subscription.name }} will be permanently deleted.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n \n
    \n

    Change Subscription Status?

    \n

    The Subscription Status {{ data.subscription.status }}, will change to {{ data.nextStatus }}

    \n
    \n \n
    \n

    Change Subscription Status?

    \n

    The Subscription Status {{ data.subscription.status }}, will change to {{ data.nextStatus }}

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n \n
    \n

    Change Subscription Rate Plan Status?

    \n

    The Subscription Rate Plan Charge Status {{ data.currentStatus }}, will change to {{ data.nextStatus }}

    \n
    \n
    \n
    \n

    ATTENTION:

    \n
    \n 0\">\n
  • \n \n {{ integrationMessage.message }}\n \n
  • \n
    \n
    \n
    \n
    \n \n
    \n

    Skip Upcoming Charge

    \n

    Are you sure you want to skip this upcoming charge? If yes, click the \"Skip Charge\" button below. Otherwise, cancel.

    \n
    \n\n \n
    \n

    Sync Active Plans

    \n

    Are you sure you want to sync active plans? If yes, click the \"Sync Active Plans\" button below. Otherwise, cancel.

    \n
    \n\n \n
    \n

    Set External Order

    \n

    Are you sure you want to set external order for this invoice? If yes, click the \"Set External Order\" button below. Otherwise, cancel.

    \n
    \n\n \n
    \n

    Pause {{ data.product.name }}

    \n

    Are you sure you want to pause this product? This action will pause all active subscription plans associated with this product, disable the product and all of its rate plans, and remove the subscription options from the external product (if applicable).

    \n
    \n\n \n
    \n

    Change Per Unit Price

    \n

    To change the per unit price for the specific upcoming charge record, please enter the new price value in the input below and click the \"Change Price\" button

    \n \n Amount (per unit)\n {{data.currencySymbol}}\n \n {{data.currencyIso3}}\n \n \n
    \n \n
    \n

    Change Shipping Price

    \n

    To change the shipping price for this specific upcoming charge record, please enter the new price value in the input below and click the \"Change Shipping Price\" button.

    \n \n SHIPPING AMOUNT\n {{data.currencySymbol}}\n \n {{data.currencyIso3}}\n \n \n
    \n \n
    \n

    Change Subscription Rate Plan Charge Status?

    \n

    The Subscription Rate Plan Charge Status {{ data.charge.status }}, will change to {{ data.nextStatus }}

    \n
    \n
    \n

    Activate this lead?

    \n
    \n \n
    \n

    Unlink external rate plan charge?

    \n

    The external rate plan charge {{ data.externalRatePlanCharge.externalName }} will be unlinked.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n
    \n

    Delete webhook?

    \n

    The webhook {{ data.webhook.url }} will be deleted.

    \n
    \n\n \n
    \n

    Unlink sale channel for this subscription?

    \n

    The sale channel {{ data.subscription?.sourceCompanyIntegration?.displayName}} for subscription will be unlinked.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n \n
    \n

    Delete product?

    \n

    The product {{ data.product.name }} will be permanently deleted. You will no longer be able to link this product to any subscription.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n
    \n

    Change Auto Collection Status?

    \n

    The invoice Status {{ (data.currentStatus ? 'On':'Off')}} , will change to {{ (data.nextStatus ? 'On':'Off')}}

    \n
    \n\n \n
    \n

    Change Status of the Products ?

    \n

    The Product Status {{ data.product.status }}, will change to {{ data.nextStatus }}

    \n
    \n\n \n
    \n

    Change Products Status?

    \n

    The status of the products will change to {{ data.nextStatus }}

    \n
    \n \n\n \n
    \n

    Change Importer Product Task Status?

    \n

    The Importer Product Task Status {{ data.importerProductTask.status }}, will change to {{ data.nextStatus }}

    \n
    \n \n\n \n \n
    \n

    Delete Rate Plan?

    \n

    The Rate Plan {{ data.ratePlan.name }} will be permanently deleted.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n
    \n

    Discontinue {{ data.ratePlan.name }}

    \n

    Are you sure you want to discontinue this plan?

    \n

    By discontinuing this plan, all active subscribers will be cancelled and new subscriptions can not be created for this plan.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n \n
    \n

    Remove Customer Group?

    \n
    \n\n \n
    \n
    \n

    Change Rate Plan Status?

    \n

    The Rate Plan Status {{ data.ratePlan.status | titlecase }}, will change to {{ data.nextStatus | titlecase }}

    \n
    \n
    \n

    Archive Rate Plan?

    \n

    The Rate Plan {{ data.ratePlan.name }} will be archived.

    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    0\" class=\"message message-row\">\n
    \n
    \n

    You are about to archive the “{{data.ratePlan.name}}” rate plan. It has #{{_subscriptionCount}} active subscribers on it. By continuing, all charges associated with this plan will continue working properly but creating orders in the sale channels might fail.

    \n
    \n
    \n
    \n
    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n
    \n
    \n
    \n
    \n \n\n \n \n
    \n

    Delete charge?

    \n

    The charge {{ data.charge.name }} will be permanently deleted.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n
    \n

    Unlink Product?

    \n

    The product {{ data.external_product.name }} will no longer be linked to {{ data.product.name }}.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n\n

    \n Unlinking the product will also unlink all external products linked to any of the charges listed in this page\n

    \n\n
    \n \n
    \n

    Sync Product Data?

    \n

    Update data in Rebillia with live data from {{ data.bigcommerceProduct.name}} product object in your sale channel product catalog.

    \n \n Sync Variant & Modifier Values\n
    \n\n\n \n
    \n

    Unlink Charge?

    \n

    The product {{ data.externalProduct.externalName}} will no longer be linked to {{data.charge.name}}.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n \n Unlink all active plans with this charge item\n \n \n\n \n
    \n\n \n \n
    \n

    Run Billing Process

    \n

    You will execute {{ data.word_confirmation }}, are you sure?

    \n
    \n\n \n
    \n

    From Beta to Stable

    \n

    Are you sure?

    \n
    \n\n \n
    \n

    {{ data.confirmationText }}

    \n
    \n\n \n
    \n

    Run Payment Process

    \n

    You will execute {{ data.word_confirmation }}, are you sure?

    \n
    \n\n \n \n
    \n

    Delete notification?

    \n

    The notification {{ data.notificationChannel.displayName }} will be permanently deleted.

    \n \n Please type in the word {{ data.word_confirmation }} to confirm\n \n \n
    \n\n \n \n
    \n

    Limit reached!

    \n

    \n
    \n\n
    \n
    \n\n \n \n\n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n\n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n \n \n\n \n \n\n \n\n \n \n\n \n\n \n\n \n \n \n\n \n \n \n \n \n\n \n \n {{data.closeBtnText || 'Cancel'}}\n
    \n
    \n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { MatIconRegistry } from '@angular/material/icon';\n//app\nimport { KeyName, collectionOfKeyNamesMessages, messageIterface } from 'src/app/app.keynames';\n\n\n@Component({\n host: {'class':'dialog-message-timer'},\n selector: 'app-dialog-message-timer',\n templateUrl: './message-timer.component.html'\n})\n\nexport class DialogMessageTimerComponent implements OnInit {\n\n @Input() _keyName = KeyName;\n\n _collectionOfKeyNames: Array = collectionOfKeyNamesMessages;\n message:any;\n\n constructor(\n @Inject(MAT_SNACK_BAR_DATA) public data: any,\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer\n ) {\n this._iconRegistry.addSvgIcon('ico-error-400', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-error-01.svg'));\n this._iconRegistry.addSvgIcon('ico-error-500', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-error-06.svg'));\n this._iconRegistry.addSvgIcon('ico-success', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-success-01.svg'));\n this._iconRegistry.addSvgIcon('ico-warning', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-error-10.svg'));\n }\n\n ngOnInit(): void {\n let messageItem = this._collectionOfKeyNames.find(key=> key.value == this.data.keyName);\n if(messageItem === undefined) {\n if(this.data.customMessage) {\n messageItem = {\n value : this.data.statusCode,\n message : this.data.customMessage\n }\n } else {\n messageItem = this.data.statusCode > 200 ? this._collectionOfKeyNames.find(key=> key.value == KeyName.request_error) : this._collectionOfKeyNames.find(key=> key.value == KeyName.request_success);\n }\n }\n\n if(this.data?.extraData?.length > 0) {\n\n this.message = messageItem.messageWithVariables.map(elem => {\n if (elem === '') {\n elem = this.data?.extraData.shift();\n }\n return elem;\n }).join(' ');\n\n } else {\n this.message = messageItem.message;\n }\n\n }\n}\n","
    = 400, 'success': data.statusCode === 200, 'success_with_error': data.statusCode === 204}\">\n
    \n \n \n = 500\" svgIcon=\"ico-error-500\" class=\"custom-mat-icon ico-size ico-std\">\n = 400 && data.statusCode < 500\" svgIcon=\"ico-error-400\" class=\"custom-mat-icon ico-size ico-std\">\n \n \n
    \n
    \n {{message}}\n
    \n
    \n","//angular\nimport { Component, OnInit, OnDestroy } from '@angular/core';\n//app\nimport {AppData} from '../../../../app.data';\nimport { listAnimate, listItemAnimate, systemMessages } from 'src/app/_shared/animations';\nimport { LoaderService } from '../../../../_core/services';\nimport { RestResponse } from '../../../../_shared/models';\nimport { SystemMessage } from '../../../../_shared/models';\n\nimport { MainService } from '../_services/api/main.service';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\nimport {SharedGlobalService} from \"../../../../_core/services/api\";\nimport {HttpParamsInterface} from \"../../../../_shared/interfaces/http-params.interface\";\n\n@Component({\n selector: 'export-notification',\n templateUrl: './export-notification.component.html',\n animations: [listAnimate, listItemAnimate, systemMessages ]\n})\n\nexport class ExportNotificationComponent implements OnInit, OnDestroy {\n collectionOfMessage: Array = [];\n systemMessagesStatus: string = 'isHidden';\n resSuccess: boolean;\n private subs = new Unsubscriber();\n\n constructor(\n private _data: AppData,\n private _loader: LoaderService,\n public _meta: MetaService,\n private mainService: MainService,\n private sharedGlobalService: SharedGlobalService,\n) { }\n\n getNotifications(status: string) {\n const httpParams: HttpParamsInterface = {\n orderBy: 'createdAt',\n sortBy: 'ASC',\n status: status\n }\n this.subs.addSub = this.sharedGlobalService.getExportNotificationsStream(httpParams).subscribe(\n (res: RestResponse) => {\n this.systemMessagesStatus = (res.data ? 'isVisible' : 'isHidden');\n this.collectionOfMessage = res.data;\n this.resSuccess = res.isSuccess;\n },\n (err: RestResponse) => {\n this.resSuccess = err.isSuccess;\n this._meta.showNotification(err);\n }\n );\n }\n\n\n ngOnInit() {\n this.getNotifications('unread');\n }\n\n updateNotificationStatus($event, notificationId: number) {\n $event.stopPropagation();\n this.subs.addSub = this.sharedGlobalService.updateNotificationStatus(notificationId).subscribe(\n (res: any) => {\n this.collectionOfMessage = this.collectionOfMessage.filter(notification => notification.id !== res.data.id);\n this.systemMessagesStatus = (this.collectionOfMessage.length > 0 ? 'isVisible' : 'isHidden');\n this._loader.stopPageLoader();\n this._meta.showNotification(res);\n },\n (err: RestResponse) => {\n this._loader.stopPageLoader();\n this._meta.showNotification(err);\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
    \n
    0\">\n
    \n
    \n
    \n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n","//angular\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/_core/services/auth.service';\nimport { SkeletonLoaderService, StorageService } from 'src/app/_core/services';\nimport { SharedGlobalService } from 'src/app/_core/services/api/shared-global.service';\nimport { RestResponse } from 'src/app/_shared/models';\nimport { NotificationInboxModel } from 'src/app/_shared/models/notifications.model';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\nimport {\n RebNgxIconsRegistry,\n RebNgxIconSettings,\n RebNgxIconUser,\n RebNgxIconLogOut,\n RebNgxIconTransfer,\n RebNgxIconDelete,\n RebNgxIconCheck\n} from '@rhinosaas/reb-ngx/reb-ngx-icon';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-global-header-impl',\n templateUrl: './global-header-impl.component.html',\n styleUrls: ['./global-header-impl.component.scss']\n})\n\nexport class GlobalHeaderImplComponent implements OnInit , OnDestroy {\n collectionOfNotifications: Array = [];\n hasNotifications: boolean = false;\n isNotificationsReady: boolean = false;\n companyName: string;\n userFirstName: string;\n userLastName: string;\n userRole: string;\n itemPerPage: number = 20;\n pageNumber: number = 1;\n private subs = new Unsubscriber();\n supportPin: any;\n \n constructor (\n private auth: AuthService,\n public meta: MetaService,\n private rebNgxIconsRegistry: RebNgxIconsRegistry,\n private sharedGlobalService: SharedGlobalService,\n private storage: StorageService,\n public skeleton: SkeletonLoaderService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.companyName = this.storage.readLocalStorage('entityName');\n this.userFirstName = (this.storage.readLocalStorage('userFirstName') != 'null' ? this.storage.readLocalStorage('userFirstName') : '');\n this.userLastName = (this.storage.readLocalStorage('userLastName') != 'null' ? this.storage.readLocalStorage('userLastName') : '');\n this.userRole = this.storage.readLocalStorage('userRole');\n this.supportPin = this.storage.readLocalStorage('supportPin');\n\n this.rebNgxIconsRegistry.registerIcons([\n RebNgxIconSettings,\n RebNgxIconUser,\n RebNgxIconLogOut,\n RebNgxIconTransfer,\n RebNgxIconDelete,\n RebNgxIconCheck\n ]);\n\n this.getUnreadNotifications();\n }\n\n signOut(){\n this.auth.logout();\n }\n\n getNotifications(status: string) {\n const httpParams: HttpParamsInterface = {\n orderBy: 'createdAt',\n sortBy: 'ASC',\n itemPerPage: this.itemPerPage,\n pageNo: this.pageNumber,\n status: status\n }\n\n return this.sharedGlobalService.getNotifications(httpParams).toPromise();\n }\n\n getUnreadNotifications() {\n this.isNotificationsReady = false;\n this.collectionOfNotifications = [];\n\n this.getNotifications('unread')\n .then((res: RestResponse) => {\n this.collectionOfNotifications.push(...res.data as any[]);\n this.hasNotifications = this.collectionOfNotifications.length > 0;\n this.isNotificationsReady = true;\n })\n .catch((err: RestResponse) => {\n this.meta.showNotification(err);\n this.collectionOfNotifications = [];\n this.hasNotifications = false;\n this.isNotificationsReady = true;\n });\n }\n\n goToSwitch() {\n this.auth.clearCompanyStorage();\n } \n\n updateNotificationStatus($event, notificationId: number) {\n $event.stopPropagation();\n this.subs.addSub = this.sharedGlobalService.updateNotificationStatus(notificationId).subscribe(\n (res: any) => {\n this.collectionOfNotifications = this.collectionOfNotifications.filter(notification => notification.id !== res.data.id);\n this.hasNotifications = this.collectionOfNotifications.length > 0;\n\n if (this.collectionOfNotifications.length <= 7) {\n this.getNotifications('unread')\n .then((res: RestResponse) => {\n let updatedCollection = [...this.collectionOfNotifications];\n updatedCollection.push(...res.data as any[]);\n\n // filter repeated values\n this.collectionOfNotifications = Array.from(new Set(updatedCollection\n .map(a => a.id)))\n .map(id => {\n return updatedCollection.find(a => a.id === id)\n })\n })\n .catch((err: RestResponse) => {\n this.meta.showNotification(err);\n this.collectionOfNotifications = [];\n this.hasNotifications = false;\n this.isNotificationsReady = true;\n });\n }\n },\n (err: RestResponse) => {\n this.collectionOfNotifications = [];\n this.hasNotifications = false;\n this.meta.showNotification(err);\n });\n }\n\n markNotificationAsRead($event) {\n // TODO: implement when endpoint is ready\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n
    \n \n
    \n NOTIFICATIONS\n \n \n
    \n \n \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n
    Support Pin: {{supportPin}}
    \n
    \n
    \n","//angular\nimport { Component, Inject, Input, OnInit, OnDestroy } from '@angular/core';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n//rxjs operators\nimport { debounceTime, finalize, switchMap, tap } from 'rxjs/operators';\n//app\nimport { AppAnimations } from 'src/app/_shared/animations';\nimport { ExternalProductIntegration } from 'src/app/_shared/models/product.model';\nimport { ProductCatalogModel, ExternalProduct, ExternalProductOption } from 'src/app/_shared/models/product.model';\nimport { ExternalDetail } from 'src/app/_shared/models/subscriptions.model';\nimport { CompanyIntegrationModel, RestResponse } from 'src/app/_shared/models';\nimport { LoaderService, UtilsService } from 'src/app/_core/services';\nimport { SharedIntegrationService } from 'src/app/_core/services/api/shared-integration.service';\nimport {AdjustersTypes, IntegrationStatus, PriceTypes, responseCode, VisibleState} from 'src/app/app.data';\nimport { KeyName } from 'src/app/app.keynames';\nimport { ProductService } from '../../products/_services/api/product.service';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { _MatTableDataSource } from '@angular/material/table';\nimport { ValidatorService } from 'src/app/_shared/validators/validator.service';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\n\n@Component({\n animations: [AppAnimations],\n selector: 'app-dialog-link-rateplan-charge',\n templateUrl: './link-rateplan-charge.component.html',\n styleUrls: ['./link-rateplan-charge.component.scss']\n})\n\nexport class DialogLinkRateplanChargeComponent implements OnInit, OnDestroy {\n addUseProductsOptionsCheckbox: boolean = false;\n autocompleteIsLoading: boolean = false;\n calulatedVariantPrice:string = '';\n checkedUseProductsOptions: boolean = false;\n checkedUseVariantsCalculatedPrice: boolean = false;\n collectionOfCompanyIntegration: Array = [];\n collectionOfProductFiltered: Array = [];\n collectionOfProductOptions: Array = [];\n collectionOfVariants: Array = [];\n disabledProductsOptionsCheckbox: boolean = false;\n expressionChangedAfterItHasBeenCheckedMessages: any = {};\n form: FormGroup;\n formSubmitted: boolean = false;\n integrationId: number;\n isProductReady: boolean = false;\n options: any;\n receivedExternalDetail: Array = [];\n selectedExternalProduct: ExternalProduct;\n selectedVariant: any;\n statusForProductFiltered: Array = [];\n variant: any;\n linkThisToAllChargesId = false;\n\n private subs = new Unsubscriber();\n\n @Input() _visibleState = VisibleState;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public _data: any,\n private _dialogRef: MatDialogRef,\n private _fb: FormBuilder,\n private _loader: LoaderService,\n public _meta: MetaService,\n private _iconRegistry: MatIconRegistry,\n private _sanitizer: DomSanitizer,\n private sharedIntegrationService: SharedIntegrationService,\n private productService: ProductService,\n private ValidatorService: ValidatorService,\n private utils: UtilsService\n ) {\n this._iconRegistry.addSvgIcon('ico-info', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-help-faq.svg'));\n this._iconRegistry.addSvgIcon('ico-check-01', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-check-01.svg'));\n this._iconRegistry.addSvgIcon('ico-check', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-check-01.svg'));\n this._iconRegistry.addSvgIcon('ico-close', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-01.svg'));\n this._iconRegistry.addSvgIcon('ico-del-item', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-close-03.svg'));\n this._iconRegistry.addSvgIcon('ico-search', this._sanitizer.bypassSecurityTrustResourceUrl('assets/svg/ico-search-01.svg'));\n }\n\n addOption(option, index) {\n let validations = [];\n\n if (option.required) {\n validations = [Validators.required];\n }\n\n if (!option.values) {\n validations.push(this.ValidatorService.emptySpace);\n }\n this.options.addControl(index, new FormControl('', validations));\n }\n\n autocompleteProductDisplayFn(product?: ProductCatalogModel): string | undefined {\n return product ? product.name : undefined;\n }\n\n getCompanyIntegrationsByChannelName(channelName: string) {\n this.subs.addSub = this.sharedIntegrationService.getCompanyIntegrationsByChannelName(channelName).subscribe(\n (res:RestResponse) => {\n this.collectionOfCompanyIntegration = (>res.data).filter(ci => ci.status == IntegrationStatus.active);\n if (this.integrationId) {\n this.form.get('companyIntegration').setValue(this.collectionOfCompanyIntegration.find(ci => ci.id == this.integrationId));\n }\n },\n (err:RestResponse) => {\n this._meta.showNotification(err);\n }\n );\n }\n\n checkForIntegrationMissingValues() {\n this.collectionOfProductOptions.forEach((productOption, index) => {\n // if is a dropdown\n if (productOption?.values) {\n for (let i = 0; i < this.receivedExternalDetail.length; i++) {\n const detail = this.receivedExternalDetail[i];\n if (!productOption.values.some(value => value.id === Number(detail.value_id))) {\n if (productOption.values.some(value => value.value === detail.value_name)) {\n this.expressionChangedAfterItHasBeenCheckedMessages[index] = `Previous value selected: \"${detail.value_name}\" is missing from integration`;\n this.form.get('options').get(`${index}`).setValue(null);\n this.options.get(`${index}`).markAsTouched();\n break;\n }\n } else {\n if (productOption.rebilliaOption) {\n this.form.get('options').get(`${index}`).disable();\n }\n }\n }\n // if is an input\n } else {\n let matchedDetail = this.receivedExternalDetail.find(detail => detail.option_id === productOption.id);\n if (!matchedDetail) {\n if (productOption.type === 'text') {\n let detail = this.receivedExternalDetail.find(detail => !detail.value_id);\n if (detail) {\n this.expressionChangedAfterItHasBeenCheckedMessages[index] = `Previous value: \"${detail.value_name}\" is missing from integration`;\n this.form.get('options').get(`${index}`).setValue(null);\n this.options.get(`${index}`).markAsTouched();\n }\n }\n }\n }\n });\n }\n\n convertToExternalDetailFormat(options) {\n let externalDetail = [];\n Object.entries(options).forEach(([key, option]) => {\n if (option) {\n let detail: any = {\n value_id: typeof option === 'string' ? null : Number(this.selectedExternalProduct.options[key].values.find(item => item.id == option)?.id),\n value_name: typeof option === 'string' ? option : this.selectedExternalProduct.options[key].values.find(item => item.id == option)?.value,\n option_id: Number(this.selectedExternalProduct.options[key].id),\n option_name: this.selectedExternalProduct.options[key].displayName,\n };\n externalDetail.push(detail);\n }\n });\n return externalDetail;\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n ngOnInit() {\n this.setUpForm();\n\n if (this._data.fromProduct) {\n this.addUseProductsOptionsCheckbox = true;\n this.checkedUseProductsOptions = true;\n }\n\n if (this._data.integrationId) {\n this.integrationId = this._data.integrationId;\n }\n\n if (this._data.fromSubscription && this._data.isEdit) {\n this.receivedExternalDetail = this._data.externalRatePlanCharge.externalDetail.sort((a, b) => a.option_id - b.option_id);\n\n let urlParams = (this._data.subscriptionCompanyCurrency ? { companyCurrencyId: this._data.subscriptionCompanyCurrency.id} : null)\n\n this.subs.addSub = this.productService.searchProductByExternalProductId(this.integrationId, this._data.externalRatePlanCharge.externalId, urlParams).subscribe((res: RestResponse) => {\n this.collectionOfProductFiltered = >([res.data]);\n this.onSelectProductFiltered(this.collectionOfProductFiltered[0]);\n this.form.get('productName').setValue(this.collectionOfProductFiltered[0]);\n this.form.get('productName').disable();\n\n // set the number of input/dropdowns based on the product options\n this.collectionOfProductOptions.forEach((productOption, index) => {\n let matchedDetail = this.receivedExternalDetail.find(detail => detail.option_id === productOption.id);\n if (matchedDetail) {\n if (!matchedDetail.value_id) {\n this.options.get(`${index}`).setValue(matchedDetail.value_name);\n } else {\n this.options.get(`${index}`).setValue(Number(matchedDetail.value_id));\n }\n } else {\n // if there is a productOption that is optional or doesn't have a match with any external detail\n this.options.get(`${index}`).setValue('');\n }\n });\n\n this.searchForAVariant(this.receivedExternalDetail, this.collectionOfProductFiltered[0].variants);\n\n if (this.form.get('useSaleChannelData').value) {\n let priceType: string = PriceTypes.currentPrice;\n const calculatedPrice = this.utils.convertToNumber(this.variant?.calculated_price);\n if (Number(this.selectedExternalProduct?.price) !== calculatedPrice) {\n if (Number(this._data.charge?.price) === calculatedPrice) {\n priceType = PriceTypes.variant;\n }\n }\n this.form.get('priceType').setValue(priceType);\n }\n // this setTimeout is needed to solve ExpressionChangedAfterItHasBeenCheckedError issue\n setTimeout(() => {\n // this method is used to identify the missing values from the integration\n this.checkForIntegrationMissingValues();\n }, 100);\n },(error) => {\n this._loader.stopPageLoader();\n if (error.error && error.error.message === 'The resource was not found in Bigcommerce'){\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, KeyName.error_bad_request_big_commerce);\n } else {\n this._meta.showNotification(error);\n }\n this.setAutocompleteProductControl();\n this.isProductReady = true;\n });\n } else {\n this.setAutocompleteProductControl();\n }\n\n this.getCompanyIntegrationsByChannelName(this._data.integrationKeyName);\n\n if(this._data.usageBased){\n this.form.get('quantity').disable();\n this.form.get('useSaleChannelData').setValue(false);\n this.form.get('useSaleChannelData').disable();\n }\n }\n\n onChangeProductOption() {\n this.searchForAVariant(this.convertToExternalDetailFormat((this.form.get('options')).getRawValue()), this.collectionOfProductFiltered[0].variants);\n }\n\n onChangeUseProductsOptionsCheckbox() {\n this.checkedUseProductsOptions = !this.checkedUseProductsOptions;\n if (this.checkedUseProductsOptions) {\n this.form.controls.options.disable();\n } else {\n this.form.controls.options.enable();\n }\n }\n\n onChangeUseSaleChannelDataCheckbox() {\n if (this.form.get('useSaleChannelData').value) {\n if (!this.form.get('priceType')) {\n this.form.addControl('priceType', new FormControl(PriceTypes.currentPrice, [Validators.required]));\n }\n if (!this.form.get('quantity')) {\n this.form.addControl('quantity', new FormControl('1', [Validators.required, this.ValidatorService.positiveDecimalNumberIncludeZero]));\n }\n\n } else {\n if (!this.form.get('priceType')) {\n this.form.removeControl('priceType');\n }\n if (this.form.get('quantity')) {\n this.form.removeControl('quantity');\n }\n }\n\n // setTimeout(()=>{\n // if(this._data.usageBased){\n // this.form.get('quantity').disable();\n // this.form.get('useSaleChannelData').setValue(false);\n // this.form.get('useSaleChannelData').disable();\n // }\n // })\n }\n\n onChangeUseVariantsCalculatedPriceCheckbox() {\n this.checkedUseVariantsCalculatedPrice = !this.checkedUseVariantsCalculatedPrice;\n }\n\n onCleanProductSearchInput(clearInput = true) {\n this.collectionOfProductFiltered = [];\n if(clearInput)\n this.form.controls.productName.setValue('');\n this.form.controls.options = this._fb.group({});\n this.form.controls.options.updateValueAndValidity();\n this.options = this.form.controls.options;\n this.collectionOfProductOptions = [];\n this.selectedExternalProduct = null;\n this.isProductReady = false;\n }\n\n onClose(): void {\n this._dialogRef.close({ code: KeyName.form_invalid });\n }\n\n onCompanyIntegrationChange(_companyIntegration: CompanyIntegrationModel) {\n this.form.get('companyIntegration').setValue(_companyIntegration);\n this.integrationId = _companyIntegration.id;\n this.onCleanProductSearchInput();\n }\n\n onKeyUpInput() {\n this.searchForAVariant(this.convertToExternalDetailFormat((this.form.get('options')).getRawValue()), this.collectionOfProductFiltered[0].variants);\n }\n\n onSelectProductFiltered(_product: ExternalProduct) {\n this.collectionOfProductOptions = [];\n this.selectedExternalProduct = _product;\n this.selectedExternalProduct.options = this.selectedExternalProduct.options.sort((a, b) => a.id - b.id);\n\n if (this._data.fromProduct) {\n if (this._data.externalId == this.selectedExternalProduct.id) {\n this.checkedUseProductsOptions = true;\n this.disabledProductsOptionsCheckbox = true;\n } else {\n this.checkedUseProductsOptions = true;\n this.disabledProductsOptionsCheckbox = false;\n }\n }\n\n this.selectedExternalProduct.options.forEach((option, index) => {\n this.collectionOfProductOptions.push(option);\n this.addOption(option, index);\n });\n\n this.collectionOfProductOptions = this.collectionOfProductOptions.sort((a, b) => a.id - b.id);\n\n if (this.collectionOfProductOptions.length > 0) {\n const min = 1231;\n const max = 23121331;\n this.collectionOfProductOptions.forEach((item) => {\n if (!item.required) {\n item.values.unshift({\n id: Math.floor(Math.random() * (max - min + 1)) + min,\n value: 'None'\n })\n }\n })\n }\n this.isProductReady = true;\n }\n\n onSubmit() {\n // next line is an workaround to form being invalid even if controls are valid.\n this.form.updateValueAndValidity();\n // seems like all are valid but values of options are empty.\n // updating form seems its working\n\n this.formSubmitted = !this.formSubmitted;\n let formValidation = this.form.invalid || this.form.get('options').invalid;\n if(this._data.integrationId && this._data.integrationId != this.form.get('companyIntegration')?.value.id) {\n this._meta.showNotificationCustomMessage(responseCode.errorBadRequestCode, null, 'Cross Channel Subscriptions is not available in your plan');\n return\n }\n if (this.checkedUseProductsOptions) {\n this.form.controls.options.disable();\n formValidation = this.form.invalid;\n }\n\n if (formValidation) {\n this.formSubmitted = !this.formSubmitted;\n this.form.markAllAsTouched();\n this.form.markAsDirty();\n return;\n }\n\n let externalDetail = [];\n\n if (!this.checkedUseProductsOptions) {\n externalDetail = this.convertToExternalDetailFormat((this.form.get('options')).getRawValue());\n\n if (this._data.fromProduct) {\n externalDetail.forEach(detail => {\n detail.rebillia_option = false;\n });\n }\n }\n\n if (externalDetail && externalDetail.length > 0) {\n externalDetail = externalDetail.filter((item) => item.value_name !== \"None\")\n }\n\n let res: any = {\n code: KeyName.form_submitted,\n selectedExternalProduct: this.selectedExternalProduct,\n externalDetail: externalDetail,\n };\n\n if (this._data.fromSubscription) {\n if (!this._data.isEdit) {\n res.integrationId = this.integrationId;\n }\n\n if (this.form.get('useSaleChannelData').value) {\n if (this.form.get('priceType').value === PriceTypes.variant) {\n res.price = Number(this.calulatedVariantPrice);\n } else if (this.form.get('priceType').value === PriceTypes.currentPrice) {\n res.price = Number(this._data.charge.price);\n } else {\n res.price = this.selectedExternalProduct.price;\n }\n res.quantity = Number(this.form.get('quantity').value);\n }\n\n res.useSaleChannelData = this.form.get('useSaleChannelData').value;\n }\n\n res.linkThisToAllChargesId = this.linkThisToAllChargesId;\n this._loader.startPageLoader();\n this._dialogRef.close(res);\n }\n\n searchForAVariant(options, collectionOfVariants) {\n if (this.form.get('options').valid) {\n this.calulatedVariantPrice = '0';\n this.variant = this.utils.findVariant(options, collectionOfVariants);\n\n const collectionOfOptions = this.utils.findOptionVariant(options, this.collectionOfProductFiltered[0].options);\n let sumOfAdjusterPrices = 0;\n\n const priceTotal = this.variant?.price ? this.utils.convertToNumber(this.variant?.price) : this.utils.convertToNumber(this.variant?.calculated_price);\n\n if(collectionOfOptions?.length > 0) {\n collectionOfOptions.forEach(element => {\n sumOfAdjusterPrices += element.adjusters?.adjusterPrice?.adjusterValue ?\n (\n element.adjusters?.adjusterPrice?.adjuster === AdjustersTypes.percentage ?\n this.calculatePercentageValue(this.utils.convertToNumber(element.adjusters?.adjusterPrice?.adjusterValue), priceTotal) :\n this.utils.convertToNumber(element.adjusters?.adjusterPrice?.adjusterValue)\n )\n : 0});\n }\n\n if (this.variant) {\n\n const hasPercentage = collectionOfOptions.some(element => element.adjusters?.adjusterPrice?.adjuster === AdjustersTypes.percentage);\n\n if(hasPercentage) {\n this.calulatedVariantPrice = this.utils.formatDecimalNumberToReceive(this.utils.convertToNumber(sumOfAdjusterPrices));\n } else {\n this.calulatedVariantPrice = this.utils.formatDecimalNumberToReceive(this.utils.convertToNumber(this.utils.formatDecimalNumberToReceive(this.variant?.calculated_price)) + sumOfAdjusterPrices);\n }\n\n if (this.form.get('priceType')) {\n this.form.get('priceType').setValue(PriceTypes.variant);\n this.form.updateValueAndValidity();\n }\n } else {\n if (this.form.get('priceType')) {\n this.form.get('priceType').setValue(PriceTypes.currentPrice);\n this.form.updateValueAndValidity();\n }\n }\n }\n }\n\n searchProduct(_value) {\n if (typeof(_value) === 'string' && _value !== '') {\n return this.productService.searchProductByExternalProductName(this.integrationId, _value)\n .pipe(\n finalize(\n () => (this.autocompleteIsLoading = false)\n ),\n )\n } else {\n this.autocompleteIsLoading = false;\n }\n return [];\n }\n\n setAutocompleteProductControl() {\n const queryField = this.form.controls.productName;\n queryField.valueChanges.pipe(\n debounceTime(300),\n tap(() => {\n this.autocompleteIsLoading = true;\n }),\n switchMap((value) => this.searchProduct(value))\n )\n .subscribe((res: RestResponse) => {\n this.collectionOfProductFiltered = >(res.data);\n },() => {\n this.setAutocompleteProductControl();\n this.isProductReady = true;\n });\n }\n\n setUpForm() {\n this.form = this._fb.group({\n companyIntegration: ['', [Validators.required]],\n productName: ['', [Validators.required]],\n options: this._fb.group({}),\n });\n\n this.options = this.form.controls.options;\n\n if(this._data.fromSubscription) {\n this.form.addControl('useSaleChannelData', new FormControl(this._data.charge?.useSaleChannelData ? this._data.charge?.useSaleChannelData : false));\n\n if (this.form.get('useSaleChannelData').value) {\n if (this._data.isEdit) {\n if (!this.form.get('priceType')) {\n this.form.addControl('priceType', new FormControl('', [Validators.required]));\n }\n if (!this.form.get('quantity')) {\n this.form.addControl('quantity', new FormControl((this._data.charge?.quantity ? this._data.charge?.quantity : '1'), [Validators.required, this.ValidatorService.positiveDecimalNumberIncludeZero]));\n }\n } else {\n this.onChangeUseSaleChannelDataCheckbox();\n }\n }\n }\n }\n\n calculatePercentageValue(partialValue: number, totalValue: number) {\n return totalValue + ((partialValue * totalValue)/100);\n }\n}\n","
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n Sales Channel\n \n \n {{ companyIntegration.displayName }}\n \n \n \n
    \n
    \n \n Product Name\n \n \n \n \n \n \n \n \n \n \n \n \n {{ product.name }}\n
    SKU: {{product.sku}}
    \n
    \n
    \n
    \n
    \n 0\">\n
    \n \n Use product’s option from checkout\n \n
    \n
    \n \n Link all active plans with this charge item\n \n \n \n
    \n
    \n
    0\" class=\"form-row\">\n \n \n \n {{option.displayName}}\n \n \n \n {{expressionChangedAfterItHasBeenCheckedMessages[i]}}\n \n 0\" appearance=\"outline\" class=\"custom-mat-form-field custom-mat-form-field-outline size size1of1\">\n {{option.displayName}}\n \n {{ optionObj.value }}\n \n \n {{ optionObj.value }}\n \n \n {{expressionChangedAfterItHasBeenCheckedMessages[i]}}\n \n \n \n
    \n
    \n \n Use Price & Qty from sale channel\n \n \n \n
    \n
    \n \n Price\n \n Use standard price {{_data?.subscriptionCompanyCurrency ? _data?.subscriptionCompanyCurrency?.currency?.symbol : null}} {{selectedExternalProduct ? selectedExternalProduct?.price : null}}\n Use variant's price {{_data?.subscriptionCompanyCurrency ? _data?.subscriptionCompanyCurrency?.currency?.symbol : null}} {{calulatedVariantPrice}}\n Use current price {{_data?.subscriptionCompanyCurrency ? _data?.subscriptionCompanyCurrency?.currency?.symbol : null}} {{_data.charge.price ? _data?.charge?.price : null}}\n \n \n \n Quantity\n \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Cancel\n \n
    \n
    \n
    \n","import { Component, OnInit, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { RebNgxNavbarComponent } from '@rhinosaas/reb-ngx';\nimport {\n RebNgxIconsRegistry,\n RebNgxIconMenuDashboard,\n RebNgxIconMenuSubscriptions,\n RebNgxIconMenuProducts,\n RebNgxIconMenuCustomer,\n RebNgxIconMenuInvoices,\n RebNgxIconMenuAnalytics,\n RebNgxIconMenuTransactions,\n RebNgxIconMenuSalesChannel,\n RebNgxIconMenuStoreSetup,\n RebNgxIconMenuSubscriptionsSub,\n RebNgxIconMenuUpcomingSub\n} from '@rhinosaas/reb-ngx/reb-ngx-icon';\nimport {DataSharingService} from \"../../../../_core/services\";\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss']\n\n})\n\nexport class NavbarComponent implements OnInit {\n @ViewChild(RebNgxNavbarComponent, { static: true }) navbarRef: RebNgxNavbarComponent;\n\n collectionOfItems = [];\n\n @Output() emitNavbarStatus: EventEmitter = new EventEmitter();\n\n constructor(\n private rebNgxIconsRegistry: RebNgxIconsRegistry,\n private _shareData: DataSharingService,\n ) {\n this._shareData.getCompany().subscribe(data => {\n if (data.type) {\n this.collectionOfItems = [\n {\n title: 'Dashboard',\n icon: RebNgxIconMenuDashboard,\n disabled: false,\n hide: false,\n routerLink: '/main/dashboard'\n },\n {\n title: 'Subscriptions',\n icon: RebNgxIconMenuSubscriptions,\n disabled: false,\n hide: false,\n routerLink: '/main/subscriptions',\n childrens: [\n {\n title: 'Active Plans',\n icon: RebNgxIconMenuSubscriptionsSub,\n disabled: false,\n hide: false,\n routerLink: '/main/subscriptions'\n },\n {\n title: 'Upcoming Charges',\n icon: RebNgxIconMenuUpcomingSub,\n disabled: false,\n hide: false,\n routerLink: '/main/upcoming-charges'\n },\n ]\n },\n {\n title: 'Products',\n icon: RebNgxIconMenuProducts,\n disabled: false,\n hide: false,\n routerLink: '/main/products'\n },\n data.type === 'internal' ? {\n title: 'Accounts',\n icon: RebNgxIconMenuCustomer,\n disabled: false,\n hide: false,\n routerLink: '/main/customers',\n childrens: [\n {\n title: 'Customers',\n icon: RebNgxIconMenuCustomer,\n disabled: false,\n hide: false,\n routerLink: '/main/customers'\n },\n {\n title: 'Leads',\n icon: RebNgxIconMenuUpcomingSub,\n disabled: false,\n hide: false,\n routerLink: '/main/leads'\n },\n ]\n } :\n {\n title: 'Accounts',\n icon: RebNgxIconMenuCustomer,\n disabled: false,\n hide: false,\n routerLink: '/main/customers'\n },\n {\n title: 'Invoices',\n icon: RebNgxIconMenuInvoices,\n disabled: false,\n hide: false,\n routerLink: '/main/invoices'\n },\n {\n title: 'Analytics',\n icon: RebNgxIconMenuAnalytics,\n disabled: false,\n hide: false,\n routerLink: '/main/analytics'\n },\n {\n title: 'Transactions',\n icon: RebNgxIconMenuTransactions,\n disabled: false,\n hide: false,\n routerLink: '/main/transactions'\n },\n {\n title: 'Sales Channel',\n icon: RebNgxIconMenuSalesChannel,\n disabled: false,\n hide: false,\n routerLink: '/main/integrations/sales-channels'\n },\n {\n title: 'Settings',\n icon: RebNgxIconMenuStoreSetup,\n disabled: false,\n hide: false,\n routerLink: '/main/settings/store/store-profile'\n }\n ];\n }\n })\n }\n\n ngOnInit(): void {\n this.rebNgxIconsRegistry.registerIcons([\n RebNgxIconMenuDashboard,\n RebNgxIconMenuSubscriptions,\n RebNgxIconMenuProducts,\n RebNgxIconMenuCustomer,\n RebNgxIconMenuInvoices,\n RebNgxIconMenuAnalytics,\n RebNgxIconMenuTransactions,\n RebNgxIconMenuSalesChannel,\n RebNgxIconMenuStoreSetup,\n RebNgxIconMenuSubscriptionsSub,\n RebNgxIconMenuUpcomingSub\n ]);\n\n this.navbarRef.updateNavbarStatus('expanded');\n\n document.getElementsByClassName(\"logo-wrapper\")[0]?.addEventListener(\"click\", this.redirectToWebsite);\n\n }\n\n getNavbarStatus(navbarStatus: 'expanded' | 'contracted') {\n this.emitNavbarStatus.emit(navbarStatus);\n }\n\n redirectToWebsite(): void {\n window.open('https://rebillia.com', 'target')\n }\n}\n","","//angular\nimport { Component, OnInit, OnDestroy } from '@angular/core';\n//app\nimport { AppData } from '../../../../app.data';\nimport { listAnimate, listItemAnimate, systemMessages } from 'src/app/_shared/animations';\nimport { LoaderService } from '../../../../_core/services';\nimport { RestResponse } from '../../../../_shared/models';\nimport { SystemMessage } from '../../../../_shared/models/system.model';\n\nimport { MainService } from '../_services/api/main.service';\nimport { MetaService } from 'src/app/_core/services/meta.service';\nimport { Unsubscriber } from 'src/app/_shared/unsubscriber/unsubscriber';\n\n@Component({\n selector: 'system-message',\n templateUrl: './system-message.component.html',\n animations: [listAnimate, listItemAnimate, systemMessages ]\n})\n\nexport class SystemMessageComponent implements OnInit, OnDestroy {\n collectionOfMessage: Array = [];\n systemMessagesStatus: string = 'isHidden';\n resSuccess: boolean;\n private subs = new Unsubscriber();\n\n constructor(\n private _data: AppData,\n private _loader: LoaderService,\n public _meta: MetaService,\n private mainService: MainService\n ) { }\n\n getSystemMessages() {\n this.subs.addSub = this.mainService.getSystemMessages().subscribe(\n (res: RestResponse) => {\n this.systemMessagesStatus = (res.data ? 'isVisible' : 'isHidden');\n this.collectionOfMessage = >res.data;\n this.collectionOfMessage = [...this.mainService.getLocalCompanyMessages(), ...this.collectionOfMessage]\n this.resSuccess = res.isSuccess;\n },\n (err: RestResponse) => {\n this.resSuccess = err.isSuccess;\n this._meta.showNotification(err);\n }\n );\n }\n\n ngOnInit() {\n this.getSystemMessages();\n }\n\n onSubmit(_message:SystemMessage){\n const index = this.collectionOfMessage.map(function (field) { return field.id; }).indexOf(_message.id);\n\n if(_message.status == 'local'){\n if (index !== -1) {\n const companyId = localStorage.getItem('entityId');\n localStorage.setItem(companyId + '-hideStatusDeactivatedMessage', '1')\n this.collectionOfMessage.splice(index, 1);\n }\n return;\n }\n\n this._loader.startPageLoader();\n this.subs.addSub = this.mainService.updateSystemMessages(_message.id).subscribe(\n (res: RestResponse) => {\n if (index !== -1) {\n this.collectionOfMessage.splice(index, 1);\n }\n this.systemMessagesStatus = (this.collectionOfMessage.length > 0 ? 'isVisible' : 'isHidden');\n this._loader.stopPageLoader();\n this._meta.showNotification(res);\n },\n (err: RestResponse) => {\n this._loader.stopPageLoader();\n this._meta.showNotification(err);\n }\n )\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
    \n
    0\">\n
    \n
    \n
    \n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { Component } from '@angular/core';\nimport {\n animate,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\nimport { MetaService } from 'src/app/_core/services/meta.service';\n\n@Component({\n selector: 'app-base-new',\n styleUrls: ['./layout-new.component.scss'],\n templateUrl: './layout-new.component.html',\n animations: [\n trigger('animateBody', [\n state(\n 'contracted',\n style({\n marginLeft: '70px'\n })\n ),\n state(\n 'expanded',\n style({\n marginLeft: '248px'\n })\n ),\n transition('expanded <=> contracted', animate('400ms ease-in-out')),\n ])\n ]\n})\n\nexport class LayoutBaseNewComponent {\n status: 'expanded' | 'contracted' = 'contracted';\n\n constructor(\n private _meta: MetaService,\n ) {\n this._meta.setCompanyCurrencyBase();\n this._meta.setCompanySettings();\n }\n\n getNavbarStatus(navbarStatus: 'expanded' | 'contracted') {\n this.status = navbarStatus;\n }\n}\n","
    \n \n \n
    \n \n \n \n \n
    \n
    \n","import { Injectable } from '@angular/core';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { environment } from 'src/environments/environment';\n\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { HttpParamService } from 'src/app/_core/services/api/http-param.service';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { RestResponse } from 'src/app/_shared/models';\nimport { NewProduct, NewProductRatePlanCharge } from 'src/app/_shared/models/product.model';\nimport { PUT_ExternalProductInterface } from 'src/app/_shared/interfaces/product-rateplan.interface';\nimport { Observable, BehaviorSubject, timer } from 'rxjs';\nimport { concatMap, map, switchMap } from 'rxjs/operators';\nimport { ProductRatePlanName, ProductRatePlanChargesCategory, ChargeModelValues, TaxClassValues, ChargeType } from 'src/app/app.data';\nimport { HttpHeaders, HttpParamsOptions, HttpRequest } from '@angular/common/http';\n\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\n\nconst APIResourceCompanies: string = '/companies';\nconst APIResourceProducts: string = '/products';\nconst APIResourceProductRatePlans: string = '/product-rateplans';\nconst APIResourceExternalProducts: string = '/external-products';\nconst APIResourceIntegrations: string = '/integrations';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductService {\n\n subscription: Subscription;\n public serviceUrl_Integrations: string;\n public serviceUrl_Products: string;\n public serviceUrl_Company: string;\n public serviceUrl_ExternalProducts: string;\n public serviceUrl_ExternalProductsByName: string;\n private load$ = new BehaviorSubject('');\n private IMPORTER_TASKS_INTERVAL: number = 30000;\n\n constructor(private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService) {\n\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n // /companies/{{companyId}}\n this.serviceUrl_Company = APIEndpoint + APIVersion + APIResourceCompanies + entityId;\n\n // PRODUCTS\n // [GET]\n // /companies/{{companyId}}/products\n this.serviceUrl_Products = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProducts;\n\n // EXTERNAL PRODUCTS BY NAME\n // /companies/{{companyId}}/integrations/{{companyIntegrationId}}/products?name=\n this.serviceUrl_ExternalProductsByName = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceIntegrations;\n\n // EXTERNAL PRODUCTS BY PRODUCT RATE PLAN\n // /companies/{{companyId}}/product-rateplans/external-products\n this.serviceUrl_ExternalProducts = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceProductRatePlans + APIResourceExternalProducts;\n\n // /companies/{{companyId}}/integrations\n // [GET]\n this.serviceUrl_Integrations = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceIntegrations;\n\n });\n }\n\n public getDefaultTemplate(): NewProductRatePlanCharge{\n return {\n \"name\": ProductRatePlanName.oneTimePurchase,\n \"category\": ProductRatePlanChargesCategory.digital,\n \"isFreeShipping\": true,\n \"depth\": 0,\n \"height\": 0,\n \"weight\": 0,\n \"width\": 0,\n \"chargeModel\": ChargeModelValues.perUnitPricing,\n \"chargeTier\": [\n {\n \"currency\": \"UYU\",\n \"price\": 0.0,\n \"priceFormat\": \"flatFee\",\n \"startingUnit\": \"1\"\n }\n ],\n \"taxClass\": TaxClassValues.nonTaxable,\n \"taxCode\": \"NT\",\n \"taxable\": false,\n \"allowChangeQuantity\": false,\n \"useSaleChannelData\": false,\n \"billCycleDay\": 1,\n \"billCycleType\": \"subscriptionStartDay\",\n \"billingPeriod\": \"month\",\n \"billingPeriodAlignment\": \"alignToCharge\",\n \"billingTiming\": \"inAdvance\",\n \"chargeType\": ChargeType.oneTimeCharge,\n \"endDateCondition\": \"subscriptionEnd\",\n \"specificBillingPeriod\": 1,\n \"weeklyBillCycleDay\": null,\n \"rules\": [],\n \"cutOffType\": null,\n \"cutOffValue\": null\n } as NewProductRatePlanCharge;\n\n }\n public createProduct(_bodyParams: NewProduct): Observable {\n return this._rest.post(`${this.serviceUrl_Products}`,_bodyParams);\n }\n\n public getProducts(pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Products}`, { params: params } );\n }\n\n public deleteProductByProductId(productId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Products}/${productId}`);\n }\n\n public bulkPauseProductById(productId: number): Observable {\n return this._rest.put(`${this.serviceUrl_Products}/${productId}/bulk-pause`);\n }\n\n public updateProductStatus(productId: number, nextStatus: string): Observable {\n return this._rest.put(`${this.serviceUrl_Products}/${productId}/status`,{ status: nextStatus });\n }\n\n public updateProductsStatus(data): Observable {\n return this._rest.put(`${this.serviceUrl_Company}/product-rateplans/bulk-change/status`, data);\n }\n\n public updateProduct(productId: number, bodyParams: NewProduct): Observable {\n return this._rest.put(`${this.serviceUrl_Products}/${productId}`,bodyParams);\n }\n\n public bulkPublishProduct(bodyParams: NewProduct): Observable {\n return this._rest.post(`${this.serviceUrl_Company}/rbl-queue`,bodyParams);\n }\n\n public getBulkPublishedProducts(): Observable {\n return this._rest.get(`${this.serviceUrl_Company}/rbl-queue`,{ params: {jobType: 'bulk_publish_product'} });\n }\n\n public getBulkPublishedProductsItems(queueId, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams): null;\n\n return this._rest.get(`${this.serviceUrl_Company}/rbl-queue/details/${queueId}`, {params});\n }\n\n public updateExternalProduct(productId: number, bodyParams: PUT_ExternalProductInterface): Observable {\n return this._rest.put(`${this.serviceUrl_Products}/${productId}`,bodyParams);\n }\n\n public getProductByProductId(productId: number, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams): null;\n return this._rest.get(`${this.serviceUrl_Products}/${productId}`, { params: params });\n }\n\n public searchProductByProductName(companyIntegrationId: number, productName: string): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/products?name=${productName}`)\n }\n\n //external-product\n\n public createLinkToExternalProduct(productId: number, _bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Products}/${productId}/external-products`,_bodyParams);\n }\n\n public deleteLinkToExternalProduct(productId: number, externalProductId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Products}/${productId}/external-products/${externalProductId}`);\n }\n\n public searchProductByExternalProductName(companyIntegrationId: number, productName: string): Observable {\n return this._rest.get(`${this.serviceUrl_ExternalProductsByName}/${companyIntegrationId}/products?name=${productName}`);\n }\n\n public searchProductByExternalProductId(companyIntegrationId: number, productId: string, urlParams: any = null): Observable {\n return this._rest.get(`${this.serviceUrl_ExternalProductsByName}/${companyIntegrationId}/products/${productId}`, { params: urlParams });\n }\n\n public deleteExternalProduct(externalProductRatePlanChargeId: number, planId: boolean): Observable {\n const params = planId ? `?unlinkAllChargesOfPlan=${planId}` : '';\n return this._rest.delete(`${this.serviceUrl_ExternalProducts}/${externalProductRatePlanChargeId}${params}`);\n }\n\n public createExternalProductByRateplanId(_bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_ExternalProducts}`, _bodyParams);\n }\n\n // importers\n public getImporterProductTasksByCompanyIntegration(companyIntegrationId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products`, { params: params })\n }\n\n public getImporterProductTaskByCompanyIntegrationAndByImporterId(companyIntegrationId: number, importerId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products/${importerId}`)\n }\n\n public getImporterProductTasksByCompanyIntegrationStream(companyIntegrationId: number, pathParams: HttpParamsInterface) {\n return this.load$.pipe(\n switchMap(_ => timer(0, this.IMPORTER_TASKS_INTERVAL).pipe(\n concatMap(_ => this.getImporterProductTasksByCompanyIntegration(companyIntegrationId, pathParams)),\n map((res: RestResponse) => res),\n ))\n );\n }\n\n public getImporterProductSubTasksByCompanyIntegrationAndByImporterId(companyIntegrationId: number, importerId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products/${importerId}/importer_product_subtasks`, { params: params })\n }\n\n public createImporterProductTask(companyIntegrationId: number, _bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products`, _bodyParams);\n }\n\n public updateImporterProductTaskStatus(companyIntegrationId: number, importerId: number, nextStatus: string): Observable {\n return this._rest.put(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products/${importerId}`, { status: nextStatus });\n }\n\n public changeDisplayModifierName(productId, externalProductId, data): Observable {\n return this._rest.put(`${this.serviceUrl_Products}/${productId}/update-modifier/${externalProductId}`, data);\n }\n\n public syncProduct(productId, externalProductId, data): Observable {\n return this._rest.put(`${this.serviceUrl_Products}/${productId}/sync-product-with-external/${externalProductId}`, data);\n }\n public getBrands(companyIntegrationId): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products/options/brands`);\n }\n public getCategories(companyIntegrationId): Observable {\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products/options/categories`);\n }\n public filterProducts(companyIntegrationId, data): Observable {\n return this._rest.put(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/products/options/filter`, data);\n }\n\n public getProductRateplanTemplates(httpParams): Observable {\n let params = this.httpParamService.buildPathParams(httpParams);\n\n return this._rest.get(`${this.serviceUrl_Company}/product-rateplan-template/list`,{ params});\n }\n\n public getImportWizards(companyIntegrationId: number, pathParams: HttpParamsInterface) {\n return this.load$.pipe(\n switchMap(_ => timer(0, this.IMPORTER_TASKS_INTERVAL).pipe(\n concatMap(_ => this.getImportWizardByCompanyIntegration(companyIntegrationId, pathParams)),\n map((res: RestResponse) => res),\n ))\n );\n }\n\n public getImportWizardByCompanyIntegration(companyIntegrationId: number, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/wizard`, { params: params })\n }\n public getImportWizardById(companyIntegrationId: number,importId: any, pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/wizard/${importId}`, { params: params })\n }\n\n public createImportWizard(companyIntegrationId: number, data): Observable {\n const httpOptions = {\n context:\"ignoreContentOverride\",\n reportProgress: true, \n observe: 'events',\n }\n return this._rest.postUpload(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/wizard`, data, httpOptions)\n }\n\n public editImportWizard(companyIntegrationId: number,importerId: any, data): Observable {\n const httpOptions = {\n context:\"ignoreContentOverride\",\n reportProgress: true, \n observe: 'events',\n }\n return this._rest.postUpload(`${this.serviceUrl_Integrations}/${companyIntegrationId}/importers/wizard/${importerId}`, data, httpOptions)\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { environment } from 'src/environments/environment';\n\nimport { DataSharingService, RestService, StorageService } from 'src/app/_core/services';\nimport { HttpParamService } from 'src/app/_core/services/api/http-param.service';\nimport { HttpParamsInterface } from 'src/app/_shared/interfaces/http-params.interface';\nimport { Observable } from 'rxjs';\nimport { POST_SubscriptionInterface, RestResponse } from 'src/app/_shared/models';\nimport { POST_SubscriptionRatePlan } from 'src/app/_shared/models/product.model';\n\nconst APIEndpoint: string = environment.APIEndpoint;\nconst APIVersion: string = environment.APIVersion;\n\nconst APIResourceCompanies: string = '/companies';\nconst APIResourceSubscriptions: string = '/subscriptions';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SubscriptionService {\n\n private subscription: Subscription;\n public serviceUrl_Subscriptions: string;\n public serviceUrl_Company: string;\n\n constructor(private httpParamService: HttpParamService,\n private _shareData: DataSharingService,\n private _storage: StorageService,\n private _rest: RestService) {\n\n let entityId: string;\n\n this.subscription = this._shareData.currentCompany.subscribe(data => {\n if (data.companyId){\n entityId = `/${data.companyId}`;\n } else {\n entityId = `/${this._storage.readLocalStorage('entityId')}`;\n }\n\n // SUBSCRIPTIONS\n // /companies/{{companyId}}/subscriptions\n this.serviceUrl_Subscriptions = APIEndpoint + APIVersion + APIResourceCompanies + entityId + APIResourceSubscriptions;\n // /companies/{{companyId}}\n this.serviceUrl_Company = APIEndpoint + APIVersion + APIResourceCompanies + entityId;\n });\n }\n\n public getCompanyPlan(): Observable {\n return this._rest.get(`${this.serviceUrl_Company}/plan`)\n }\n\n public getCompanyOrder(): Observable {\n return this._rest.get(`${this.serviceUrl_Company}/order`)\n }\n\n // get payment method by comppany id\n public getPaymentMethod(): Observable {\n return this._rest.get(`${this.serviceUrl_Company}/billing/paymentmethod`)\n }\n\n public getPaymentMethodV2(): Observable {\n return this._rest.get(`${this.serviceUrl_Company}/billing/paymentmethod/v2/list`)\n }\n\n public updatePaymentMethodV2(invoiceId: string,customerPaymentMethodId: string ): Observable {\n return this._rest.put(`${this.serviceUrl_Company}/billing/paymentmethod/v2/invoice/${invoiceId}/customer-payment-method/${customerPaymentMethodId}`, {})\n }\n\n public getCompanyRateplans(): Observable {\n return this._rest.get(`${this.serviceUrl_Company}/v2/subscriptions?include=ratePlanCharge&orderBy=createdAt`)\n }\n\n\n public createPaymentMethodsByCompanyId( data): Observable {\n return this._rest.post(`${this.serviceUrl_Company}/billing/paymentmethod`, data)\n }\n\n public createPaymentMethodsByCompanyIdV2( data): Observable {\n return this._rest.post(`${this.serviceUrl_Company}/billing/paymentmethod/v2/new-customer-payment-method`, data)\n }\n\n public setAsPrimaryPaymentMethodsByCompanyId(id, data): Observable {\n return this._rest.put(`${this.serviceUrl_Company}/billing/paymentmethod/set-primary/${id}`, data)\n }\n\n public updatePaymentMethodsByCompanyId(id, data): Observable {\n return this._rest.put(`${this.serviceUrl_Company}/billing/paymentmethod/${id}`, data)\n }\n\n public updatePaymentMethodsOrderByCompanyId(id, data): Observable {\n return this._rest.put(`${this.serviceUrl_Company}/billing/paymentmethod/${id}/priority-order`, data)\n }\n\n public updatePaymentMethodsByCompanyIdV2(id, data): Observable {\n return this._rest.put(`${this.serviceUrl_Company}/billing/paymentmethod/v2/${id}`, data)\n }\n\n public addSubscriptionRatePlanRules(subscriptionId: number, bodyParams: POST_SubscriptionRatePlan): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans`, bodyParams)\n }\n\n public createExternalRatePlanCharge(subscriptionId: number, ratePlanChargeId: number, bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}/external-rateplan-charge`, bodyParams);\n }\n\n public createRatePlanChargeBySubscriptionId(subscriptionId: number, ratePlanId: number, _bodyParams: any ): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans/${ratePlanId}/rateplan-charges`, _bodyParams);\n }\n\n public moveRatePlanToDifferentSubscriptionBag(subscriptionId: number, ratePlanId: number): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans/${ratePlanId}/move-rateplan/new-bag`, {});\n }\n\n public createSubscription(_bodyParams: POST_SubscriptionInterface): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}`, _bodyParams);\n }\n\n public deleteExternalRatePlanCharge(subscriptionId: number, ratePlanChargeId: number, externalRatePlanChargeId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}/external-rateplan-charge/${externalRatePlanChargeId}`);\n }\n\n public deleteRatePlanChargeBySubscriptionId(subscriptionId: number, chargeId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${chargeId}`);\n }\n\n public deleteSubscriptionBySubscriptionId(subscriptionId: number): Observable {\n return this._rest.delete(`${this.serviceUrl_Subscriptions}/${subscriptionId}`);\n }\n\n public getExternalOrdersBySubscriptionId(subscriptionId: number, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/external-invoices`, { params: params });\n }\n\n public createOrderManually(externalInvoiceId: number,companyIntegration: any, bodyParams?: any): Observable {\n return this._rest.put(`${this.serviceUrl_Company }/companyIntegration/${companyIntegration}/external-invoices/${externalInvoiceId}`, bodyParams);\n }\n\n public getInvoicesBySubscriptionId(subscriptionId: number, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/invoices`, { params: params });\n }\n\n public getLogsBySubscriptionId(subscriptionId: number, pathParams: HttpParamsInterface, noFormat: boolean): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/logs`, { params: params }, noFormat);\n }\n\n public getNextBillBySubscriptionId(subscriptionId: number, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/nextBill`, { params: params });\n }\n\n public getSubscriptions(pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Subscriptions}`, { params: params } );\n }\n\n public getRateplans(pathParams: HttpParamsInterface): Observable {\n let params = this.httpParamService.buildPathParams(pathParams);\n return this._rest.get(`${this.serviceUrl_Company}/rateplans`, { params: params } );\n }\n\n public getSubscriptionBySubscriptionId(subscriptionId: number, pathParams?: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}`, { params: params } );\n }\n\n public getSubscriptionRatePlans(subscriptionId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans`);\n }\n\n public getSubscriptionRatePlanCharges(subscriptionId: number, ratePlanId: number, pathParams: HttpParamsInterface): Observable {\n let params = pathParams ? this.httpParamService.buildPathParams(pathParams) : null;\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans/${ratePlanId}`, { params: params } );\n }\n\n public getSubscriptionRatePlanChargeById(subscriptionId: number, ratePlanChargeId: number): Observable {\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}`);\n }\n\n public getSubscriptionUpcomingDates(subscriptionId: number, endPeriodDate: string ): Observable {\n return this._rest.get(`${this.serviceUrl_Subscriptions}/${subscriptionId}/upcoming?date=${endPeriodDate}`);\n }\n\n public updateRateplanChargeByRatePlanChargeId(subscriptionId: number, ratePlanChargeId: number, bodyParams: any): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}`, bodyParams)\n }\n\n public updateRateplanChargeSaleChannelData(subscriptionId: number, ratePlanChargeId: number, bodyParams: any ): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}/use-sale-channel-data`, bodyParams);\n }\n\n public updateSubscriptionRatePlanChargeStatus(subscriptionId: number, ratePlanChargeId: number, nextStatus: string): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}/status`, { status: nextStatus });\n }\n\n public updateSubscriptionStatus(subscriptionId: number, nextStatus: string): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/status`, { status: nextStatus });\n }\n\n public updateSubscriptionSaleChannel(subscriptionId: number, bodyParams: any): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/link-sale-channel`, bodyParams);\n }\n\n public updateExternalRatePlanCharge(subscriptionId: number, ratePlanChargeId: number, externalRatePlanChargeId: number, bodyParams: any ): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplan-charges/${ratePlanChargeId}/external-rateplan-charge/${externalRatePlanChargeId}`, bodyParams);\n }\n\n public updateSubscriptionRatePlanRules(subscriptionId: number, ratePlanChargeId: number, bodyParams: any): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans/${ratePlanChargeId}/rules`, bodyParams)\n }\n\n public updateSubscriptionRatePlanStatus(subscriptionId: number, ratePlanChargeId: number, bodyParams: any): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/rateplans/${ratePlanChargeId}/status`, bodyParams)\n }\n\n public updateSubscription(subscriptionId: number, bodyParams: POST_SubscriptionInterface): Observable {\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}`, bodyParams);\n }\n\n public changeRatePlan(subscriptionId: number, queryParams: any, bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}/${subscriptionId}/change-rateplan?productRatePlanId=${queryParams.productRatePlanId}&ratePlanId=${queryParams.ratePlanId}`, bodyParams);\n }\n\n public createRateplanChargeUpcoming(subscriptionId: number, reateplanChargeId: number, bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Subscriptions}/${subscriptionId}/upcoming/rateplan-charges/${reateplanChargeId}`, bodyParams);\n }\n\n public requestPaymentNotification(bodyParams: any): Observable {\n return this._rest.post(`${this.serviceUrl_Company}/subscriptions/notification/requestpayment`, bodyParams);\n }\n\n\n public getCompanyPlanHistory(rateplanId) {\n return this._rest.get(`${this.serviceUrl_Company}/rateplan-history/${rateplanId}`);\n }\n\n public chargeNow(subscriptionId, data){\n return this._rest.put(`${this.serviceUrl_Subscriptions}/${subscriptionId}/charge-now`, data)\n }\n}\n","import { GatewayUrls } from 'src/app/app.data';\nimport { AuthConfig } from '../app/_shared/interfaces/auth0.interface';\nimport { datadogRum } from '@datadog/browser-rum'\n\nexport const environment = {\n name: 'PROD',\n production: true,\n APIEndpoint: 'https://api.rebillia.com',\n APIVersion: '/internal',\n urlAuthorizeAccept: GatewayUrls.urlAuthorizeAcceptProd,\n urlBraintreeClient: GatewayUrls.urlBraintreeClientProd,\n urlBraintreeHostedFields: GatewayUrls.urlBraintreeHostedFieldsProd,\n urlBraintreeDataCollector: GatewayUrls.urlBraintreeDataCollectorProd,\n urlStripe: GatewayUrls.urlStripeProd,\n urlSquare: GatewayUrls.urlSquareProd,\n urlUsaepay: GatewayUrls.urlUsaepayProd,\n urlAuthorizeAcceptSandbox: GatewayUrls.urlAuthorizeAccept,\n urlBraintreeClientSandbox: GatewayUrls.urlBraintreeClient,\n urlBraintreeHostedFieldsSandbox: GatewayUrls.urlBraintreeHostedFields,\n urlBraintreeDataCollectorSandbox: GatewayUrls.urlBraintreeDataCollector,\n urlStripeSandbox: GatewayUrls.urlStripe,\n urlSquareSandbox: GatewayUrls.urlSquare,\n urlUsaepaySandbox: GatewayUrls.urlUsaepay,\n urlCybersourceHostedFields: GatewayUrls.urlCybersourceHostedFieldsProd,\n urlCybersourceHostedFieldsSandbox: GatewayUrls.urlCybersourceHostedFields,\n};\n\nexport const AUTH_CONFIG_DESKTOP: AuthConfig = {\n audience: 'https://api.rebillia.com/',\n clientID: '3UtKwiIZw1RPLxbDpHfthQi9Ohq4Ld4f',\n connection: 'Rebillia',\n domain: 'auth.rebillia.com',\n callbackURL: 'https://admin.rebillia.com/callback',\n responseType: 'token id_token',\n scope: 'openid profile email'\n};\n\nexport const EXCHANGE_RATE = {\n url: 'https://openexchangerates.org/api/latest.json',\n token: 'Token ddac58a9801b4eb7ab98fd9499cfeecc',\n};\n\ndatadogRum.init({\n applicationId: '68a48a80-15d6-4fa7-95ce-0c46fbdfe8e5',\n clientToken: 'pubdb430cb56b277a0428f4ef567023f33b',\n site: 'datadoghq.com',\n service:'rebillia-ui-prod',\n version: '1.0.0',\n env: 'prod',\n sampleRate: 100,\n sessionReplaySampleRate: 20,\n allowedTracingOrigins: [\"https://admin.rebillia.com\"],\n trackInteractions: true,\n trackResources: true,\n trackLongTasks: true,\n defaultPrivacyLevel:'mask-user-input'\n});\n\ndatadogRum.startSessionReplayRecording();\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"names":[],"sourceRoot":"webpack:///"}