{"version":3,"file":"app-f94592ab.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/resources/services/lookup-data.ts"],"sourcesContent":["import { ApiRefDataResponse, EntityReportingType, PremiumFunderStatusAction, ApiEndpoints, EntityAction, PremiumFunder, SurchargePayee } from '../../routes/app-adviser/client/quotes/interfaces';\r\nimport { ClaimCategoryModel, ClaimStatusActionModel, LicenceClassRefType } from '../../routes/app-adviser/client/claims/models/claim'\r\nimport { environment } from 'environment';\r\nimport { HttpClient } from 'aurelia-fetch-client';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport {\r\n FieldType\r\n} from 'resources/models/lookups';\r\nimport { StorageService } from '../utilities/storage-helper';\r\nimport { Underwriter } from 'resources/models/client';\r\nimport { AllowableDocumentType } from 'components/document-management/dtos';\r\nimport orderBy from 'lodash/orderBy';\r\nimport { IFieldValueDefiniton } from 'interfaces/lookups/i-field-value-definition';\r\nimport { IMandatoryFieldValueDefinition } from 'interfaces/lookups/i-mandatory-field-value-definition';\r\nimport { IOccupationItem } from 'interfaces/lookups/i-occuptation';\r\nimport { IApiRisk } from 'interfaces/lookups/i-api-risk';\r\n\r\nconst LOCAL_STORAGE_KEY_PREFIX = 'REFDATA';\r\nconst EXPIRY_HEADER = 'X-Expiry';\r\n\r\n@autoinject()\r\nexport class LookupDataService {\r\n constructor(private http: HttpClient, private storage: StorageService) { }\r\n\r\n async acceptsElectronicDisclosureDocuments(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': true,\r\n 'label': 'lookups:yes'\r\n },\r\n {\r\n 'id': false,\r\n 'label': 'lookups:no'\r\n }\r\n ]);\r\n }\r\n\r\n async acceptsMarketingMail(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': true,\r\n 'label': 'lookups:yes'\r\n },\r\n {\r\n 'id': false,\r\n 'label': 'lookups:no'\r\n }\r\n ]);\r\n }\r\n\r\n async association(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': 'One-Way',\r\n 'label': 'lookups:oneWay'\r\n },\r\n {\r\n 'id': 'Two-Way',\r\n 'label': 'lookups:twoWay'\r\n }\r\n ]);\r\n }\r\n\r\n async premiumFundingQuoteStatusTypes(): Promise {\r\n let premiumFundingQuoteStatusTypes = this.getRefDataFromLocalStorage('premiumFundingQuoteStatusTypes');\r\n\r\n if (!premiumFundingQuoteStatusTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/PremiumFundingQuoteStatus`);\r\n premiumFundingQuoteStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('premiumFundingQuoteStatusTypes', response, premiumFundingQuoteStatusTypes);\r\n }\r\n\r\n return premiumFundingQuoteStatusTypes;\r\n }\r\n\r\n async reportCodes(): Promise {\r\n let reportCodes = this.getRefDataFromLocalStorage('reportCodes');\r\n\r\n if (!reportCodes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/reportCodes`);\r\n reportCodes = await response.json();\r\n this.saveRefDataToLocalStorage('reportCodes', response, reportCodes);\r\n }\r\n return reportCodes;\r\n }\r\n\r\n async glPeriodTypes(): Promise {\r\n let glPeriodTypes = this.getRefDataFromLocalStorage('glPeriodTypes');\r\n\r\n if (!glPeriodTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/GlPeriodType`);\r\n glPeriodTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('glPeriodTypes', response, glPeriodTypes);\r\n }\r\n return glPeriodTypes;\r\n }\r\n\r\n async consentClientDisplayText(): Promise {\r\n let consentClientDisplayText = this.getRefDataFromLocalStorage('consentClientDisplayText');\r\n\r\n if (!consentClientDisplayText) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters/consentClientdisplaytext`);\r\n\r\n // Handle 204 No Content response\r\n if (response.status === 204) {\r\n consentClientDisplayText = null;\r\n } else {\r\n consentClientDisplayText = await response.json();\r\n }\r\n\r\n this.saveRefDataToLocalStorage('consentClientDisplayText', response, consentClientDisplayText);\r\n }\r\n return consentClientDisplayText;\r\n }\r\n\r\n async consentWizardDisplayText(): Promise {\r\n let consentWizardDisplayText = this.getRefDataFromLocalStorage('consentWizardDisplayText');\r\n\r\n if (!consentWizardDisplayText) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters/consentWizarddisplaytext`);\r\n\r\n // Handle 204 No Content response\r\n if (response.status === 204) {\r\n consentWizardDisplayText = null;\r\n } else {\r\n consentWizardDisplayText = await response.json();\r\n }\r\n\r\n this.saveRefDataToLocalStorage('consentWizardDisplayText', response, consentWizardDisplayText);\r\n }\r\n return consentWizardDisplayText;\r\n }\r\n\r\n async consentTypes(): Promise {\r\n let consentTypes = this.getRefDataFromLocalStorage('consentTypes');\r\n\r\n if (!consentTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ConsentType`);\r\n consentTypes = (await response.json()).filter(t => t.activeFlag).map((e) => ({ id: e.id, label: e.description, disabled: !e.userSelectableFlag }));\r\n this.saveRefDataToLocalStorage('consentTypes', response, consentTypes);\r\n }\r\n return consentTypes;\r\n }\r\n\r\n async consentVerbalScriptTextByCompanyOffice(): Promise<[]> {\r\n let consentVerbalScriptTextByCompanyOffice = this.getRefDataFromLocalStorage('consentVerbalScriptTextByCompanyOffice');\r\n\r\n if (!consentVerbalScriptTextByCompanyOffice) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/companyoffices/consentverbalscripttext `);\r\n consentVerbalScriptTextByCompanyOffice = await response.json();\r\n this.saveRefDataToLocalStorage('consentVerbalScriptTextByCompanyOffice', response, consentVerbalScriptTextByCompanyOffice);\r\n }\r\n return consentVerbalScriptTextByCompanyOffice;\r\n }\r\n\r\n async transferProcessStatusTypes(): Promise {\r\n let transferProcessStatusTypes = this.getRefDataFromLocalStorage('transferProcessStatusTypes');\r\n\r\n if (!transferProcessStatusTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/TransferProcessStatuses`);\r\n transferProcessStatusTypes = (await response.json()).map((x) => ({id: x.transferProcessStatusId, label: x.transferProcessStatus}));\r\n this.saveRefDataToLocalStorage('transferProcessStatusTypes', response, transferProcessStatusTypes);\r\n }\r\n return transferProcessStatusTypes;\r\n }\r\n\r\n async webFormEditAction(): Promise {\r\n let webFormEditAction = this.getRefDataFromLocalStorage('webFormEditAction');\r\n\r\n if (!webFormEditAction) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/WebFormEditAction`);\r\n webFormEditAction = (await response.json()).filter(t => t.activeFlag).map((x) => ({id: x.id, label: x.description}));\r\n this.saveRefDataToLocalStorage('webFormEditActions', response, webFormEditAction);\r\n }\r\n return webFormEditAction;\r\n }\r\n\r\n\r\n async webFormStatusActions(): Promise {\r\n let webFormStatusActions = this.getRefDataFromLocalStorage('webFormStatusActions');\r\n\r\n if (!webFormStatusActions) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/webFormStatusActions`);\r\n webFormStatusActions = (await response.json()).filter(t => t.activeFlag).map((x) => ({id: x.webFormStatusActionId, label: x.webFormStatusAction}));\r\n this.saveRefDataToLocalStorage('webFormStatusActions', response, webFormStatusActions);\r\n }\r\n return webFormStatusActions;\r\n }\r\n\r\n async WebFormStatus(): Promise {\r\n let WebFormStatus = this.getRefDataFromLocalStorage('WebFormStatus');\r\n\r\n if (!WebFormStatus) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/WebFormStatus`);\r\n WebFormStatus = (await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('WebFormStatus', response, WebFormStatus);\r\n }\r\n return WebFormStatus;\r\n }\r\n\r\n async webFormTypes(): Promise {\r\n let webFormTypes = this.getRefDataFromLocalStorage('webFormTypes');\r\n\r\n if (!webFormTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/WebFormType`);\r\n webFormTypes = (await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('webFormTypes', response, webFormTypes);\r\n }\r\n return webFormTypes;\r\n }\r\n\r\n async webFormRiskClassTypes(): Promise {\r\n let webFormRiskClassTypes = this.getRefDataFromLocalStorage('webFormRiskClassTypes');\r\n\r\n if (!webFormRiskClassTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/riskclasstypes`);\r\n webFormRiskClassTypes = (await response.json()).filter((x) => x.useOnWebFormsFlag).map((x) => ({id: x.riskClassTypeId, label: x.displayName}));\r\n this.saveRefDataToLocalStorage('webFormRiskClassTypes', response, webFormRiskClassTypes);\r\n }\r\n\r\n return webFormRiskClassTypes;\r\n }\r\n\r\n // No Caching added for insurerOfficesServiceRisks\r\n async insurerOfficesServiceRisks(companyOfficeId: number, riskByClassIds: number[]): Promise {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/insurerOffices?companyOfficeId=${companyOfficeId}&${riskByClassIds.map(rbc => `riskByClassIds=${rbc}`).join('&')}`);\r\n return (await response.json()).filter((x) => x.insurerProcessingTypeId == 1).map((x) => ({\r\n insurerId: x.insurerId,\r\n insurerOfficeId: x.insurerOfficeId,\r\n insurerOfficeCode: x.insurerOfficeCode,\r\n insurerOfficeName: x.insurerOfficeName,\r\n captureInsurerOccupationFlag: x.captureInsurerOccupationFlag\r\n }));\r\n }\r\n\r\n async webFormRisksByRiskClassTypes(riskClassTypeId): Promise {\r\n let webFormRisksByRiskClassTypes = this.getRefDataFromLocalStorage('webFormRisksByRiskClassTypes');\r\n\r\n if (!webFormRisksByRiskClassTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/RiskClassType/${riskClassTypeId}/risks`);\r\n webFormRisksByRiskClassTypes = orderBy((await response.json()).filter((x) => x.useOnWebFormsFlag), ['riskCode'], ['desc']);\r\n this.saveRefDataToLocalStorage('webFormRisksByRiskClassTypes', response, webFormRisksByRiskClassTypes, [riskClassTypeId]);\r\n }\r\n\r\n return webFormRisksByRiskClassTypes;\r\n }\r\n\r\n // No Caching added for homepage helpdesk\r\n async homepageHelpdesk(): Promise {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/helpdesk`);\r\n return await response.json();\r\n }\r\n\r\n // No Caching added for homepage urls\r\n async homepageUrls(): Promise {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/homepageurls`);\r\n return (await response.json()).map((x) => ({id: x.homePageUrlId, label: x.description, url: x.url}));\r\n }\r\n\r\n async glPaymentStatusTypes(): Promise {\r\n let glPaymentStatusTypes = this.getRefDataFromLocalStorage('glPaymentStatusTypes');\r\n\r\n if (!glPaymentStatusTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/GlPaymentStatus`);\r\n glPaymentStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('glPaymentStatusTypes', response, glPaymentStatusTypes);\r\n }\r\n return glPaymentStatusTypes;\r\n }\r\n\r\n\r\n async glPaymentPartyTypes(): Promise {\r\n let glPaymentPartyTypes = this.getRefDataFromLocalStorage('glPaymentPartyTypes');\r\n\r\n if (!glPaymentPartyTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/GlPaymentParty`);\r\n glPaymentPartyTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('glPaymentPartyTypes', response, glPaymentPartyTypes);\r\n }\r\n return glPaymentPartyTypes;\r\n }\r\n\r\n async settleAllCreditTypes(): Promise {\r\n let settleAllCreditTypes = this.getRefDataFromLocalStorage('settleAllCreditTypes');\r\n\r\n if (!settleAllCreditTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/SettleAllCreditsOption`);\r\n settleAllCreditTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('settleAllCreditTypes', response, settleAllCreditTypes);\r\n }\r\n return settleAllCreditTypes;\r\n }\r\n\r\n async glSettlementTypes(): Promise {\r\n let glSettlementTypes = this.getRefDataFromLocalStorage('glSettlementTypes');\r\n\r\n if (!glSettlementTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/GlSettlementType`);\r\n glSettlementTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('glSettlementTypes', response, glSettlementTypes);\r\n }\r\n return glSettlementTypes;\r\n }\r\n\r\n async insurerWorkfileTypes(): Promise {\r\n let insurerWorkfileTypes = this.getRefDataFromLocalStorage('insurerWorkfileTypes');\r\n\r\n if (!insurerWorkfileTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/InsurerWorkfileType`);\r\n insurerWorkfileTypes = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['id'], ['desc']);\r\n this.saveRefDataToLocalStorage('insurerWorkfileTypes', response, insurerWorkfileTypes);\r\n }\r\n return insurerWorkfileTypes;\r\n }\r\n\r\n async glWorkfileStatusTypes(): Promise {\r\n let glWorkfileStatusTypes = this.getRefDataFromLocalStorage('glWorkfileStatusTypes');\r\n\r\n if (!glWorkfileStatusTypes) {\r\n const endpoint = environment.refData.glWorkfileStatusTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n glWorkfileStatusTypes = (await response.json()).filter(t => t.activeFlag).map((x) => ({id: x.id, label: x.description}));\r\n this.saveRefDataToLocalStorage('glWorkfileStatusTypes', response, glWorkfileStatusTypes);\r\n }\r\n\r\n return glWorkfileStatusTypes;\r\n }\r\n\r\n async divisionType(): Promise {\r\n let divisionTypes = this.getRefDataFromLocalStorage('divisionTypes');\r\n\r\n if (!divisionTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/Division`);\r\n divisionTypes = (await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('divisionTypes', response, divisionTypes);\r\n }\r\n return divisionTypes;\r\n }\r\n\r\n async glBatchStatusTypes(): Promise {\r\n let glBatchStatusTypes = this.getRefDataFromLocalStorage('glBatchStatusTypes');\r\n\r\n if (!glBatchStatusTypes) {\r\n const endpoint = environment.refData.glBatchStatusTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n glBatchStatusTypes = (await response.json()).filter(t => t.activeFlag).map((x) => ({id: x.id, label: x.description}));\r\n this.saveRefDataToLocalStorage('glBatchStatusTypes', response, glBatchStatusTypes);\r\n }\r\n\r\n return glBatchStatusTypes;\r\n }\r\n\r\n async knowYourClientTypes(): Promise {\r\n let knowYourClientTypes = this.getRefDataFromLocalStorage('knowYourClientTypes');\r\n\r\n if (!knowYourClientTypes) {\r\n const endpoint = environment.refData.knowYourClientTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n knowYourClientTypes = (await response.json()).filter(t => t.activeFlag).map((x) => ({id: x.id, label: x.description}));\r\n this.saveRefDataToLocalStorage('knowYourClientTypes', response, knowYourClientTypes);\r\n }\r\n\r\n return knowYourClientTypes;\r\n }\r\n\r\n async vulnerabilityTypes(): Promise {\r\n let vulnerabilityTypes = this.getRefDataFromLocalStorage('vulnerabilityTypes');\r\n\r\n if (!vulnerabilityTypes) {\r\n const endpoint = environment.refData.vulnerableClientTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n vulnerabilityTypes = (await response.json()).map((x) => ({id: x.vulnerableClientTypeId, label: `${x.vulnerableClientType}${x.synopsis ? ' - ' + x.synopsis : ''}`}));\r\n this.saveRefDataToLocalStorage('vulnerabilityTypes', response, vulnerabilityTypes);\r\n }\r\n\r\n return vulnerabilityTypes;\r\n }\r\n\r\n async webFormStatus(): Promise {\r\n let webFormStatusTypes = this.getRefDataFromLocalStorage('webFormStatus');\r\n\r\n if (!webFormStatusTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/WebFormStatus`);\r\n webFormStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('claimStatus', response, webFormStatusTypes);\r\n }\r\n\r\n return webFormStatusTypes;\r\n }\r\n\r\n async soaTypes(): Promise {\r\n let soaTypes = this.getRefDataFromLocalStorage('soaTypes');\r\n\r\n if (!soaTypes) {\r\n const endpoint = environment.refData.soaTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n soaTypes = (await response.json()).map((x) => ({id: x.id, label: x.description}));\r\n this.saveRefDataToLocalStorage('soaTypes', response, soaTypes);\r\n }\r\n\r\n return soaTypes;\r\n }\r\n\r\n async premiumFunderStatusActionTypes(): Promise {\r\n let premiumFunderStatusActionTypes = this.getRefDataFromLocalStorage('premiumFunderStatusActionTypes');\r\n\r\n if (!premiumFunderStatusActionTypes) {\r\n const endpoint = environment.refData.premiumFunderStatusActionTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n premiumFunderStatusActionTypes = (await response.json()).map((x) => ({id: x.premiumFunderStatusActionId, label: `${x.premumFunderStatus} - ${x.premiumFunderStatusAction}` }));\r\n this.saveRefDataToLocalStorage('premiumFunderStatusActionTypes', response, premiumFunderStatusActionTypes);\r\n }\r\n\r\n return premiumFunderStatusActionTypes;\r\n }\r\n\r\n async redPlanetStatusTypes(): Promise {\r\n let redPlanetStatusTypes = this.getRefDataFromLocalStorage('redPlanetStatusTypes');\r\n\r\n if (!redPlanetStatusTypes) {\r\n const endpoint = environment.refData.redPlanetStatusTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n redPlanetStatusTypes = (await response.json()).map((x) => ({id: x.redPlanetStatusId, label: x.status }));\r\n this.saveRefDataToLocalStorage('redPlanetStatusTypes', response, redPlanetStatusTypes);\r\n }\r\n\r\n return redPlanetStatusTypes;\r\n }\r\n\r\n async standardWordingTypes(): Promise {\r\n let standardWordingTypes = this.getRefDataFromLocalStorage('standardWordingTypes');\r\n\r\n if (!standardWordingTypes) {\r\n const endpoint = environment.refData.standardWordingTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n standardWordingTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('standardWordingTypes', response, standardWordingTypes);\r\n }\r\n\r\n return standardWordingTypes;\r\n }\r\n\r\n async additionalPageTemplateCategoryTypes(): Promise {\r\n let additionalPageTemplateCategoryTypes = this.getRefDataFromLocalStorage('additionalPageTemplateCategoryTypes');\r\n\r\n if (!additionalPageTemplateCategoryTypes) {\r\n const endpoint = environment.refData.additionalPageTemplateCategoryTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n additionalPageTemplateCategoryTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('additionalPageTemplateCategoryTypes', response, additionalPageTemplateCategoryTypes);\r\n }\r\n\r\n return additionalPageTemplateCategoryTypes;\r\n }\r\n\r\n async redPlanetInvoiceNumberFormatTypes(): Promise {\r\n let redPlanetInvoiceNumberFormatTypes = this.getRefDataFromLocalStorage('redPlanetInvoiceNumberFormatTypes');\r\n\r\n if (!redPlanetInvoiceNumberFormatTypes) {\r\n const endpoint = environment.refData.redPlanetInvoiceNumberFormatTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n redPlanetInvoiceNumberFormatTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('redPlanetInvoiceNumberFormatTypes', response, redPlanetInvoiceNumberFormatTypes);\r\n }\r\n\r\n return redPlanetInvoiceNumberFormatTypes;\r\n }\r\n\r\n async premiumFunderSettlementGroupByOptions(): Promise {\r\n let premiumFunderSettlementGroupByOptions = this.getRefDataFromLocalStorage('premiumFunderSettlementGroupByOptions');\r\n\r\n if (!premiumFunderSettlementGroupByOptions) {\r\n const endpoint = environment.refData.premiumFunderSettlementGroupByOptions;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n premiumFunderSettlementGroupByOptions = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('premiumFunderSettlementGroupByOptions', response, premiumFunderSettlementGroupByOptions);\r\n }\r\n\r\n return premiumFunderSettlementGroupByOptions;\r\n }\r\n\r\n async financialServicesGuideTypes(): Promise {\r\n let financialServicesGuideTypes = this.getRefDataFromLocalStorage('financialServicesGuideTypes');\r\n\r\n if (!financialServicesGuideTypes) {\r\n const endpoint = environment.refData.financialServicesGuideTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n financialServicesGuideTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('financialServicesGuideTypes', response, financialServicesGuideTypes);\r\n }\r\n\r\n return financialServicesGuideTypes;\r\n }\r\n\r\n async insurerTypes(): Promise {\r\n let insurerTypes = this.getRefDataFromLocalStorage('insurerTypes');\r\n\r\n if (!insurerTypes) {\r\n const endpoint = environment.refData.insurerTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n insurerTypes = (await response.json()).map((x) => ({id: x.insurerId, label: `${x.insurerCode} - ${x.insurerName}`, paysOverrider: x.paysOverride }));\r\n this.saveRefDataToLocalStorage('insurerTypes', response, insurerTypes);\r\n }\r\n\r\n return insurerTypes;\r\n }\r\n\r\n async insurerOfficeTypes(insurerId): Promise {\r\n let insurerOfficeTypes = this.getRefDataFromLocalStorage('insurerOfficeTypes');\r\n\r\n if (!insurerOfficeTypes) {\r\n const endpoint = environment.refData.insurerOffices;\r\n const uri = endpoint.uri([insurerId]);\r\n const response = await this.http.fetch(uri);\r\n insurerOfficeTypes = (await response.json()).map((x) => ({id: x.insurerOfficeId, label: `${x.insurerOfficeCode} - ${x.insurerOfficeName}` }));\r\n this.saveRefDataToLocalStorage('insurerOfficeTypes', response, insurerOfficeTypes, [insurerId]);\r\n }\r\n\r\n return insurerOfficeTypes;\r\n }\r\n\r\n async groupTypes(): Promise {\r\n let groupTypes = this.getRefDataFromLocalStorage('groupTypes');\r\n\r\n if (!groupTypes) {\r\n const endpoint = environment.refData.groupTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n groupTypes = (await response.json()).map((x) => ({id: x.securityGroupId, label: x.name}));\r\n this.saveRefDataToLocalStorage('groupTypes', response, groupTypes);\r\n }\r\n\r\n return groupTypes;\r\n }\r\n\r\n async partyInstanceTypes(): Promise {\r\n let partyInstanceTypes = this.getRefDataFromLocalStorage('partyInstanceTypes');\r\n\r\n if (!partyInstanceTypes) {\r\n const endpoint = environment.refData.partyInstanceTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n partyInstanceTypes = await response.json();\r\n this.saveRefDataToLocalStorage('partyInstanceTypes', response, partyInstanceTypes);\r\n }\r\n\r\n return partyInstanceTypes;\r\n }\r\n\r\n async apraClassTypes(): Promise {\r\n let apraClassTypes = this.getRefDataFromLocalStorage('apraClassTypes');\r\n\r\n if (!apraClassTypes) {\r\n const endpoint = environment.refData.apraClassTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n apraClassTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('apraClassTypes', response, apraClassTypes);\r\n }\r\n\r\n return apraClassTypes;\r\n }\r\n\r\n // No Caching added for scheme types - used in admin\r\n async schemeTypesByRiskClassTypeId(riskClassTypeId: number): Promise {\r\n const endpoint = environment.refData.schemeTypesByRiskClassTypeId;\r\n const uri = endpoint.uri([riskClassTypeId]);\r\n const response = await this.http.fetch(uri);\r\n return (await response.json()).map(this.refDataToFieldValueDefinition);\r\n }\r\n\r\n // No Caching added for red planet types - used in admin\r\n async redPlanetRiskTypesByPremiumFunderId(premiumFunderId: number): Promise {\r\n const endpoint = environment.refData.redPlanetRiskTypesByPremiumFunderId;\r\n const uri = endpoint.uri([premiumFunderId]);\r\n const response = await this.http.fetch(uri);\r\n return (await response.json()).map((x) => ({id: x.redPlanetRiskId, label: `${x.redPlanetRiskCode} - ${x.redPlanetRiskName}`}));\r\n }\r\n\r\n // No Caching added for red planet sub status types - used in admin\r\n async redPlanetSubStatusTypesByPremiumFunderId(premiumFunderId: number): Promise {\r\n const endpoint = environment.refData.redPlanetSubStatusTypesByPremiumFunderId;\r\n const uri = endpoint.uri([premiumFunderId]);\r\n const response = await this.http.fetch(uri);\r\n return (await response.json()).map((x) => ({id: x.redPlanetSubStatusId, label: `${x.redPlanetStatus} - ${x.redPlanetSubStatus}`}));\r\n }\r\n\r\n // No Caching added for template types - used in admin\r\n async templateTypes(): Promise {\r\n const endpoint = environment.refData.templateTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n return (await response.json()).map((x) => ({id: x.id, label: x.name}));\r\n }\r\n\r\n // No Caching added for template categories - used in admin\r\n async templateCategoryTypes(): Promise {\r\n const endpoint = environment.refData.templateCategoryTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n return (await response.json()).map((x) => ({id: x.id, label: x.name}));\r\n }\r\n\r\n // No Caching added for html template Types - used in admin\r\n async htmlTemplateTypes(): Promise {\r\n const endpoint = environment.refData.htmlTemplateTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n return (await response.json()).map((x) => ({id: x.id, label: x.name}));\r\n }\r\n\r\n async PlTermFromTypes(): Promise {\r\n let PlTermFromTypes = this.getRefDataFromLocalStorage('PlTermFromTypes');\r\n\r\n if (!PlTermFromTypes) {\r\n const endpoint = environment.refData.PlTermFromTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n PlTermFromTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('PlTermFromTypes', response, PlTermFromTypes);\r\n }\r\n\r\n return PlTermFromTypes;\r\n }\r\n\r\n\r\n\r\n async mailSortCodeTypes(): Promise {\r\n let mailSortCodeTypes = this.getRefDataFromLocalStorage('mailSortCodeTypes');\r\n\r\n if (!mailSortCodeTypes) {\r\n const endpoint = environment.refData.mailSortCodeTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n mailSortCodeTypes = (await response.json()).map((x) => ({id: x.id, label: x.name}));\r\n this.saveRefDataToLocalStorage('mailSortCodeTypes', response, mailSortCodeTypes);\r\n }\r\n\r\n return mailSortCodeTypes;\r\n }\r\n\r\n async stateTypes(): Promise {\r\n let stateTypes = this.getRefDataFromLocalStorage('stateTypes');\r\n\r\n if (!stateTypes) {\r\n const endpoint = environment.refData.stateTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n stateTypes = (await response.json()).map((x) => ({id: x.id, label: x.name}));\r\n this.saveRefDataToLocalStorage('stateTypes', response, stateTypes);\r\n }\r\n\r\n return stateTypes;\r\n }\r\n\r\n async stampDutyRegionTypes(): Promise {\r\n let stampDutyRegionTypes = this.getRefDataFromLocalStorage('stampDutyRegionTypes');\r\n\r\n if (!stampDutyRegionTypes) {\r\n const endpoint = environment.refData.stampDutyRegionTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n stampDutyRegionTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('stampDutyRegionTypes', response, stampDutyRegionTypes);\r\n }\r\n return stampDutyRegionTypes;\r\n }\r\n\r\n async fslRegionTypes(): Promise {\r\n let fslRegionTypes = this.getRefDataFromLocalStorage('fslRegionTypes');\r\n\r\n if (!fslRegionTypes) {\r\n const endpoint = environment.refData.fslRegionTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n fslRegionTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('fslRegionTypes', response, fslRegionTypes);\r\n }\r\n return fslRegionTypes;\r\n }\r\n\r\n async messagePriorityTypes(): Promise {\r\n let messagePriorityTypes = this.getRefDataFromLocalStorage('messagePriorityTypes');\r\n\r\n if (!messagePriorityTypes) {\r\n const endpoint = environment.refData.messagePriorityTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n messagePriorityTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('messagePriorityTypes', response, messagePriorityTypes);\r\n }\r\n return messagePriorityTypes;\r\n }\r\n\r\n async messageSourceTypes(): Promise {\r\n let messageSourceTypes = this.getRefDataFromLocalStorage('messageSourceTypes');\r\n\r\n if (!messageSourceTypes) {\r\n const endpoint = environment.refData.messageSourceTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n messageSourceTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('messageSourceTypes', response, messageSourceTypes);\r\n }\r\n return messageSourceTypes;\r\n }\r\n\r\n async plTermTypes(): Promise {\r\n let plTermTypes = this.getRefDataFromLocalStorage('plTermTypes');\r\n\r\n if (!plTermTypes) {\r\n const endpoint = environment.refData.plTermTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n plTermTypes = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);;\r\n this.saveRefDataToLocalStorage('plTermTypes', response, plTermTypes);\r\n }\r\n return plTermTypes;\r\n }\r\n\r\n async electronicBankingFileTypes(): Promise {\r\n let electronicBankingFileTypes = this.getRefDataFromLocalStorage('electronicBankingFileTypes');\r\n\r\n if (!electronicBankingFileTypes) {\r\n const endpoint = environment.refData.electronicBankingFileTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n electronicBankingFileTypes = (await response.json()).filter((x) => x.id !=600000001).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('electronicBankingFileTypes', response, electronicBankingFileTypes);\r\n }\r\n return electronicBankingFileTypes;\r\n }\r\n\r\n async socialMediaTypes(): Promise {\r\n let socialMediaTypes = this.getRefDataFromLocalStorage('socialMediaTypes');\r\n\r\n if (!socialMediaTypes) {\r\n const endpoint = environment.refData.socialMediaTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n socialMediaTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('socialMediaTypes', response, socialMediaTypes);\r\n }\r\n return socialMediaTypes;\r\n }\r\n\r\n async branchLocationTypes(): Promise {\r\n let branchLocationTypes = this.getRefDataFromLocalStorage('branchLocationTypes');\r\n\r\n if (!branchLocationTypes) {\r\n const endpoint = environment.refData.branchLocationTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n branchLocationTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('branchLocationTypes', response, branchLocationTypes);\r\n }\r\n return branchLocationTypes;\r\n }\r\n\r\n async branchTypes(): Promise {\r\n let branchTypes = this.getRefDataFromLocalStorage('branchTypes');\r\n\r\n if (!branchTypes) {\r\n const endpoint = environment.refData.branchTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n branchTypes = (await response.json()).map(this.refDataToFieldValueDefinition).filter((x) => x.id != 1 && x.id != 2 );;\r\n this.saveRefDataToLocalStorage('branchTypes', response, branchTypes);\r\n }\r\n return branchTypes;\r\n }\r\n\r\n async underwriterTypes(): Promise {\r\n let UnderwriterTypes = this.getRefDataFromLocalStorage('UnderwriterTypes');\r\n\r\n if (!UnderwriterTypes) {\r\n const endpoint = environment.refData.underwriterTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n UnderwriterTypes = await response.json();\r\n this.saveRefDataToLocalStorage('UnderwriterTypes', response, UnderwriterTypes);\r\n }\r\n return UnderwriterTypes;\r\n }\r\n\r\n async bankBranchTypes(): Promise {\r\n let BankBranchTypes = this.getRefDataFromLocalStorage('BankBranchTypes');\r\n\r\n if (!BankBranchTypes) {\r\n const endpoint = environment.refData.BankBranchTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n BankBranchTypes = await response.json();\r\n this.saveRefDataToLocalStorage('BankBranchTypes', response, BankBranchTypes);\r\n }\r\n return BankBranchTypes;\r\n }\r\n\r\n async claimsPayingRatingStructureTypes(): Promise {\r\n let ClaimsPayingRatingStructureTypes = this.getRefDataFromLocalStorage('ClaimsPayingRatingStructureTypes');\r\n\r\n if (!ClaimsPayingRatingStructureTypes) {\r\n const endpoint = environment.refData.ClaimsPayingRatingStructureTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n ClaimsPayingRatingStructureTypes = await response.json();\r\n this.saveRefDataToLocalStorage('ClaimsPayingRatingStructureTypes', response, ClaimsPayingRatingStructureTypes);\r\n }\r\n return ClaimsPayingRatingStructureTypes;\r\n }\r\n\r\n async claimsPayingRatingSourceTypes(): Promise {\r\n let claimsPayingRatingSourceTypes = this.getRefDataFromLocalStorage('claimsPayingRatingSourceTypes');\r\n\r\n if (!claimsPayingRatingSourceTypes) {\r\n const endpoint = environment.refData.ClaimsPayingRatingSourceTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n claimsPayingRatingSourceTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('claimsPayingRatingSourceTypes', response, claimsPayingRatingSourceTypes);\r\n }\r\n return claimsPayingRatingSourceTypes;\r\n }\r\n\r\n async referralTypes(): Promise {\r\n let referralTypes = this.getRefDataFromLocalStorage('referralTypes');\r\n\r\n if (!referralTypes) {\r\n const endpoint = environment.refData.referralTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n referralTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('referralTypes', response, referralTypes);\r\n }\r\n return referralTypes;\r\n }\r\n\r\n async adviserTypes(): Promise {\r\n let adviserTypes = this.getRefDataFromLocalStorage('adviserTypes');\r\n\r\n if (!adviserTypes) {\r\n const endpoint = environment.refData.adviserTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n adviserTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('adviserTypes', response, adviserTypes);\r\n }\r\n return adviserTypes;\r\n }\r\n async authorisationReasons(): Promise {\r\n let authorisationReasons = this.getRefDataFromLocalStorage('authorisationReasons');\r\n\r\n if (!authorisationReasons) {\r\n const endpoint = environment.refData.authorisationReasons;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n authorisationReasons = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('adviserTypes', response, authorisationReasons);\r\n }\r\n\r\n return authorisationReasons;\r\n }\r\n\r\n async titleTypes(): Promise {\r\n let titleTypes = this.getRefDataFromLocalStorage('titleTypes');\r\n\r\n if (!titleTypes) {\r\n const endpoint = environment.refData.titleTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n titleTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('titleTypes', response, titleTypes);\r\n }\r\n return titleTypes;\r\n }\r\n\r\n async actionTypes(): Promise {\r\n let actionTypes = this.getRefDataFromLocalStorage('actionTypes');\r\n\r\n if (!actionTypes) {\r\n const endpoint = environment.refData.actionTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n actionTypes = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);;\r\n this.saveRefDataToLocalStorage('actionTypes', response, actionTypes);\r\n }\r\n return actionTypes;\r\n }\r\n\r\n async referralCalculationMethods(): Promise {\r\n let referralCalculationMethods = this.getRefDataFromLocalStorage('referralCalculationMethods');\r\n\r\n if (!referralCalculationMethods) {\r\n const endpoint = environment.refData.referralCalculationMethods;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n referralCalculationMethods = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);;\r\n this.saveRefDataToLocalStorage('referralCalculationMethods', response, referralCalculationMethods);\r\n }\r\n return referralCalculationMethods;\r\n }\r\n\r\n async bankAccountTypes(): Promise {\r\n let bankAccountTypes = this.getRefDataFromLocalStorage('bankAccountTypes');\r\n\r\n if (!bankAccountTypes) {\r\n const endpoint = environment.refData.bankAccountTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n bankAccountTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('bankAccountTypes', response, bankAccountTypes);\r\n }\r\n return bankAccountTypes;\r\n }\r\n\r\n async taxStatusTypes(): Promise {\r\n let taxStatusTypes = this.getRefDataFromLocalStorage('taxStatusTypes');\r\n\r\n if (!taxStatusTypes) {\r\n const endpoint = environment.refData.taxStatusTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n taxStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('taxStatusTypes', response, taxStatusTypes);\r\n }\r\n return taxStatusTypes;\r\n }\r\n\r\n async settlementTypes(): Promise {\r\n let settlementTypes = this.getRefDataFromLocalStorage('settlementTypes');\r\n\r\n if (!settlementTypes) {\r\n const endpoint = environment.refData.settlementTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n settlementTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('settlementTypes', response, settlementTypes);\r\n }\r\n return settlementTypes;\r\n }\r\n\r\n async insurerCategoryTypes(): Promise {\r\n let insurerCategoryTypes = this.getRefDataFromLocalStorage('insurerCategoryTypes');\r\n\r\n if (!insurerCategoryTypes) {\r\n const endpoint = environment.refData.insurerCategoryTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n insurerCategoryTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('insurerCategoryTypes', response, insurerCategoryTypes);\r\n }\r\n return insurerCategoryTypes;\r\n }\r\n\r\n // Filter BPay (600000002) & Credit Card (600000003)\r\n async paymentOutType(): Promise {\r\n let paymentOutType = this.getRefDataFromLocalStorage('paymentOutType');\r\n\r\n if (!paymentOutType) {\r\n const endpoint = environment.refData.paymentOutType;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n paymentOutType = (await response.json()).filter((x) => x.id !== 600000002 && x.id !== 600000003).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('paymentOutType', response, paymentOutType);\r\n }\r\n return paymentOutType;\r\n }\r\n\r\n // only use on Client Settlements in iAccounts\r\n async paymentOutTypeAll(): Promise {\r\n let paymentOutTypeAll = this.getRefDataFromLocalStorage('paymentOutTypeAll');\r\n\r\n if (!paymentOutTypeAll) {\r\n const endpoint = environment.refData.paymentOutType;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n paymentOutTypeAll = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('paymentOutTypeAll', response, paymentOutTypeAll);\r\n }\r\n return paymentOutTypeAll;\r\n }\r\n\r\n // only use on Settlement Request modal in iAdviser\r\n async paymentOutTypeUseOnSettlementRequest(): Promise {\r\n let paymentOutTypeUseOnSettlementRequest = this.getRefDataFromLocalStorage('paymentOutTypeUseOnSettlementRequest');\r\n\r\n if (!paymentOutTypeUseOnSettlementRequest) {\r\n const endpoint = environment.refData.paymentOutType;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n paymentOutTypeUseOnSettlementRequest = (await response.json()).filter((x) => x.useOnSettlementRequest).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('paymentOutTypeUseOnSettlementRequest', response, paymentOutTypeUseOnSettlementRequest);\r\n }\r\n return paymentOutTypeUseOnSettlementRequest;\r\n }\r\n\r\n async activityTypes(): Promise {\r\n let activityTypes = this.getRefDataFromLocalStorage('activityTypes');\r\n\r\n if (!activityTypes) {\r\n const endpoint = environment.refData.activityTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n activityTypes = (await response.json()).map((a) => ({ id: a.entityDocumentActivityTypeId, label: a.activityType }));\r\n this.saveRefDataToLocalStorage('activityTypes', response, activityTypes);\r\n }\r\n return activityTypes;\r\n }\r\n\r\n async taskCategoryTypes(): Promise {\r\n let taskCategoryTypes = this.getRefDataFromLocalStorage('taskCategoryTypes');\r\n\r\n if (!taskCategoryTypes) {\r\n const endpoint = environment.refData.taskCategoryTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n taskCategoryTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('taskCategoryTypes', response, taskCategoryTypes);\r\n }\r\n return taskCategoryTypes;\r\n }\r\n\r\n async taskPriorityTypes(): Promise {\r\n let taskPriorityTypes = this.getRefDataFromLocalStorage('taskPriorityTypes');\r\n\r\n if (!taskPriorityTypes) {\r\n const endpoint = environment.refData.taskPriorityTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n taskPriorityTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('taskPriorityTypes', response, taskPriorityTypes);\r\n }\r\n return taskPriorityTypes;\r\n }\r\n\r\n async userDetail(): Promise {\r\n let userDetail = this.getRefDataFromLocalStorage('userDetail');\r\n\r\n if (!userDetail) {\r\n const endpoint = environment.applicationHomeEndpoints.userDetail;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n userDetail = await response.json();\r\n this.saveRefDataToLocalStorage('userDetail', response, userDetail);\r\n }\r\n\r\n return userDetail;\r\n }\r\n\r\n async journalType(): Promise {\r\n let journalTypes = this.getRefDataFromLocalStorage('journalType');\r\n\r\n if (!journalTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/GlJournalType`);\r\n journalTypes = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);\r\n this.saveRefDataToLocalStorage('journalType', response, journalTypes);\r\n }\r\n\r\n return journalTypes;\r\n }\r\n\r\n async salesStatusType(): Promise {\r\n let salesStatusTypes = this.getRefDataFromLocalStorage('salesStatusType');\r\n\r\n if (!salesStatusTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/SalesStatusType`);\r\n salesStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('salesStatusType', response, salesStatusTypes);\r\n }\r\n return salesStatusTypes;\r\n }\r\n\r\n async salesRatingType(): Promise {\r\n let salesRatingTypes = this.getRefDataFromLocalStorage('salesRatingType');\r\n\r\n if (!salesRatingTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/SalesRatingType`);\r\n salesRatingTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('salesRatingType', response, salesRatingTypes);\r\n }\r\n return salesRatingTypes;\r\n }\r\n\r\n async fieldTypes(fieldType: FieldType, partyInstanceId: number): Promise {\r\n let localTypes = this.getRefDataFromLocalStorage(`${partyInstanceId}__${fieldType}Type`, partyInstanceId);\r\n\r\n if (!localTypes) {\r\n const response: any = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/${fieldType}types/${partyInstanceId}`\r\n );\r\n\r\n // Email and website come back as eAddressTypeId, etc so we have to check\r\n const keyPrefix = (fieldType === 'email' || fieldType === 'website') ? 'eAddress' : fieldType;\r\n\r\n const typeIdKey = `${keyPrefix}TypeId`;\r\n const typeKey = `${keyPrefix}Type`;\r\n const mandatoryKey = 'mandatoryFlag';\r\n\r\n localTypes = (await response.json())\r\n .map((obj) => ({ id: obj[typeIdKey], label: obj[typeKey], mandatory: obj[mandatoryKey] }));\r\n\r\n this.saveRefDataToLocalStorage(`${partyInstanceId}__${fieldType}Type`, response, localTypes, partyInstanceId);\r\n }\r\n\r\n return localTypes;\r\n }\r\n\r\n async adviser(companyOfficeId?: number): Promise {\r\n if (companyOfficeId > 0) {\r\n let advisers = this.getRefDataFromLocalStorage('adviser', companyOfficeId);\r\n\r\n if (!advisers) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/companyoffices/${companyOfficeId}/advisers`\r\n );\r\n advisers = (await response.json()).map(({ adviserId, adviserCode, adviserName }) => ({\r\n id: adviserId,\r\n code: parseInt(adviserCode),\r\n label: `${adviserCode} - ${adviserName}`\r\n })).sort((a, b) => a.code - b.code);\r\n\r\n this.saveRefDataToLocalStorage('adviser', response, advisers, companyOfficeId);\r\n }\r\n\r\n return advisers;\r\n } else {\r\n return Promise.resolve([\r\n {\r\n 'id': undefined,\r\n 'label': 'lookups:pleaseSelectOffice'\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n async insurerUnderwriters(insurerId: number, validUnderwriterProcessTypeIds: string = undefined): Promise {\r\n if (insurerId <= 0) return;\r\n let underwriters: Underwriter[] = this.getRefDataFromLocalStorage('insurerUnderwriters', insurerId);\r\n\r\n let uri = `${environment.apiHost}/api/refdata/insurers/${insurerId}/underwriters`\r\n\r\n if(validUnderwriterProcessTypeIds){\r\n uri += `?underwriterProcessTypeIds=${validUnderwriterProcessTypeIds}`\r\n }\r\n\r\n if (!underwriters) {\r\n const response = await this.http.fetch(uri);\r\n if (!response.ok) return;\r\n\r\n underwriters = await response.json();\r\n this.saveRefDataToLocalStorage('insurerUnderwriters', response, underwriters, insurerId);\r\n }\r\n return underwriters;\r\n }\r\n\r\n async insurerProcessType(): Promise {\r\n let insurerProcessTypes = this.getRefDataFromLocalStorage('insurerProcessType');\r\n\r\n if (!insurerProcessTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/InsurerProcessType`);\r\n\r\n insurerProcessTypes = (await response.json() as ApiRefDataResponse[])\r\n .filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n\r\n this.saveRefDataToLocalStorage('insurerProcessType', response, insurerProcessTypes);\r\n }\r\n\r\n return insurerProcessTypes;\r\n }\r\n\r\n async insurerType(): Promise {\r\n let insurerTypes = this.getRefDataFromLocalStorage('insurerType');\r\n\r\n if (!insurerTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/InsurerType`);\r\n\r\n insurerTypes = (await response.json() as ApiRefDataResponse[])\r\n .filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n\r\n this.saveRefDataToLocalStorage('insurerType', response, insurerTypes);\r\n }\r\n\r\n return insurerTypes;\r\n }\r\n\r\n // No Caching added for insurer groups - used in admin\r\n async insurerGroup(): Promise {\r\n const endpoint = environment.refData.insurerGroups;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n return (await response.json() as ApiRefDataResponse[])\r\n .filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n }\r\n\r\n // No Caching added for risk group types - used in admin\r\n async riskGroupType(): Promise {\r\n const endpoint = environment.refData.riskGroupTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n return (await response.json() as ApiRefDataResponse[])\r\n .filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n }\r\n\r\n async paymentType(activeOnly = false): Promise {\r\n const localStorageKey = activeOnly ? 'activePaymentTypes' : 'allPaymentTypes';\r\n let paymentTypes = this.getRefDataFromLocalStorage(localStorageKey);\r\n\r\n if (!paymentTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/GlPaymentType`);\r\n\r\n paymentTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n if(activeOnly){\r\n paymentTypes = paymentTypes.filter(t => t.activeFlag);\r\n }\r\n\r\n paymentTypes = orderBy(paymentTypes.map(this.refDataToFieldValueDefinition), ['label'], ['asc']);\r\n this.saveRefDataToLocalStorage(localStorageKey, response, paymentTypes);\r\n }\r\n\r\n return paymentTypes;\r\n }\r\n\r\n\r\n async businessEntityType(): Promise {\r\n let businessEntityTypes = this.getRefDataFromLocalStorage('businessEntityType');\r\n\r\n if (!businessEntityTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/BusinessEntityType`);\r\n businessEntityTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('businessEntityType', response, businessEntityTypes);\r\n }\r\n\r\n return businessEntityTypes;\r\n }\r\n\r\n async quoteStatusType(): Promise {\r\n let quoteStatusTypes = this.getRefDataFromLocalStorage('quoteStatusType');\r\n\r\n if (!quoteStatusTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/QtQuoteStatusType`);\r\n quoteStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('quoteStatusType', response, quoteStatusTypes);\r\n }\r\n\r\n return quoteStatusTypes;\r\n }\r\n\r\n async paymentStatus(): Promise {\r\n let paymentStatuses = this.getRefDataFromLocalStorage('paymentStatus');\r\n\r\n if (!paymentStatuses) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/PlPaymentStatus`);\r\n paymentStatuses = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('paymentStatus', response, paymentStatuses);\r\n }\r\n\r\n return paymentStatuses;\r\n }\r\n\r\n async anzsicType(): Promise {\r\n let anzsicTypes = this.getRefDataFromLocalStorage('anzsicType');\r\n\r\n if (!anzsicTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/AnzsicType`);\r\n anzsicTypes = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);;\r\n this.saveRefDataToLocalStorage('anzsicType', response, anzsicTypes);\r\n }\r\n\r\n return anzsicTypes;\r\n }\r\n\r\n async riskClassType(): Promise {\r\n let riskClassTypes = this.getRefDataFromLocalStorage('riskClassType');\r\n\r\n if (!riskClassTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/RiskClassType`);\r\n riskClassTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('riskClassType', response, riskClassTypes);\r\n }\r\n\r\n return riskClassTypes;\r\n }\r\n\r\n async activeRiskClassTypes(): Promise {\r\n let riskClassTypes = this.getRefDataFromLocalStorage('activeRiskClassTypes');\r\n\r\n if (!riskClassTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/RiskClassType`);\r\n riskClassTypes = (await response.json()).filter((x) =>x .activeFlag).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('activeRiskClassTypes', response, riskClassTypes);\r\n }\r\n\r\n return riskClassTypes;\r\n }\r\n\r\n async risksByRiskClassType(riskClassTypeId): Promise {\r\n let risksByRiskClassType = this.getRefDataFromLocalStorage('risksByRiskClassType');\r\n\r\n if (!risksByRiskClassType) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/RiskClassType/${riskClassTypeId}/risks`);\r\n risksByRiskClassType = (await response.json()).map((x) => ({id: x.riskByClassId, label: `${x.riskCode} - ${x.riskName}`}));\r\n this.saveRefDataToLocalStorage('risksByRiskClassType', response, risksByRiskClassType, [riskClassTypeId]);\r\n }\r\n\r\n return risksByRiskClassType;\r\n }\r\n\r\n async riskByClassTypes(): Promise {\r\n let riskByClassTypes = this.getRefDataFromLocalStorage('riskByClassTypes');\r\n\r\n if (!riskByClassTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/RisksByClass`);\r\n riskByClassTypes = (await response.json()).map((x) => ({id: x.riskByClassId, label: `${x.riskCode} - ${x.riskName}`}));\r\n this.saveRefDataToLocalStorage('riskByClassTypes', response, riskByClassTypes);\r\n }\r\n\r\n return riskByClassTypes;\r\n }\r\n\r\n async clientCategory(): Promise {\r\n let clientCategories = this.getRefDataFromLocalStorage('clientCategory');\r\n\r\n if (!clientCategories) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClientCategory`);\r\n clientCategories = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('clientCategory', response, clientCategories);\r\n }\r\n return clientCategories;\r\n }\r\n\r\n async clientDisclosureType(): Promise {\r\n let clientDisclosureTypes = this.getRefDataFromLocalStorage('clientDisclosureType');\r\n\r\n if (!clientDisclosureTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClientDisclosureType`);\r\n clientDisclosureTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('clientDisclosureType', response, clientDisclosureTypes);\r\n }\r\n return clientDisclosureTypes;\r\n }\r\n\r\n async clientRole(): Promise {\r\n let clientRoles = this.getRefDataFromLocalStorage('clientRole');\r\n\r\n if (!clientRoles) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClientRole`);\r\n clientRoles = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('clientRole', response, clientRoles);\r\n }\r\n return clientRoles;\r\n }\r\n\r\n async clientType(): Promise {\r\n let clientTypes = this.getRefDataFromLocalStorage('clientType');\r\n\r\n if (!clientTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClientType`);\r\n clientTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('clientType', response, clientTypes);\r\n }\r\n return clientTypes;\r\n }\r\n\r\n async companyOffice(): Promise {\r\n let companyOffices = this.getRefDataFromLocalStorage('companyOffice');\r\n\r\n if (!companyOffices) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/companyoffices`);\r\n companyOffices = (await response.json()).map(c => ({\r\n id: c.companyOfficeId,\r\n code: parseInt(c.companyOfficeCode),\r\n label: `${c.companyOfficeCode} - ${c.companyOfficeName}`\r\n })).sort((a, b) => a.code - b.code);\r\n this.saveRefDataToLocalStorage('companyOffice', response, companyOffices);\r\n }\r\n return companyOffices;\r\n }\r\n\r\n async countryCode(): Promise {\r\n let countries = this.getRefDataFromLocalStorage('countryCode');\r\n\r\n if (!countries) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/countries`);\r\n\r\n countries = (await response.json()).map(c => ({\r\n id: c.countryCode,\r\n label: c.countryName\r\n }));\r\n\r\n this.saveRefDataToLocalStorage('countryCode', response, countries);\r\n }\r\n return countries;\r\n }\r\n\r\n async countryTypes(): Promise {\r\n let countryTypes = this.getRefDataFromLocalStorage('countryTypes');\r\n\r\n if (!countryTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/countries`);\r\n countryTypes = (await response.json()).map(c => ({\r\n id: c.countryId,\r\n label: c.countryName\r\n }));\r\n this.saveRefDataToLocalStorage('countryTypes', response, countryTypes);\r\n }\r\n\r\n return countryTypes;\r\n }\r\n\r\n async distributionType(): Promise {\r\n let distributionTypes = this.getRefDataFromLocalStorage('distributionType');\r\n\r\n if (!distributionTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/DistributionType`);\r\n distributionTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('distributionType', response, distributionTypes);\r\n }\r\n return distributionTypes;\r\n }\r\n\r\n async financialServicesGuideType(): Promise {\r\n let financialServicesGuideType = this.getRefDataFromLocalStorage('financialServicesGuideType');\r\n\r\n if (!financialServicesGuideType) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/FinancialServicesGuideType`);\r\n financialServicesGuideType = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('financialServicesGuideType', response, financialServicesGuideType);\r\n }\r\n return financialServicesGuideType;\r\n }\r\n\r\n async introductionType(): Promise {\r\n let introductionTypes = this.getRefDataFromLocalStorage('introductionType');\r\n\r\n if (!introductionTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/IntroductionType`);\r\n introductionTypes = (await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('introductionType', response, introductionTypes);\r\n }\r\n return introductionTypes;\r\n }\r\n\r\n async noteType(): Promise {\r\n let noteTypes = this.getRefDataFromLocalStorage('noteType');\r\n\r\n if (!noteTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/NoteType`);\r\n noteTypes = orderBy((await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);\r\n this.saveRefDataToLocalStorage('noteType', response, noteTypes);\r\n }\r\n\r\n return noteTypes;\r\n }\r\n\r\n async declineType(): Promise {\r\n let declineTypes = this.getRefDataFromLocalStorage('declineType');\r\n\r\n if (!declineTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/DeclineType`);\r\n\r\n declineTypes = (await response.json() as ApiRefDataResponse[])\r\n .filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n\r\n this.saveRefDataToLocalStorage('declineType', response, declineTypes);\r\n }\r\n\r\n return declineTypes;\r\n }\r\n\r\n async proposalStatus(): Promise {\r\n let proposalStatuses = this.getRefDataFromLocalStorage('proposalStatus');\r\n\r\n if (!proposalStatuses) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ProposalStatus`);\r\n\r\n proposalStatuses = (await response.json() as ApiRefDataResponse[])\r\n .filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition);\r\n\r\n this.saveRefDataToLocalStorage('proposalStatus', response, proposalStatuses);\r\n }\r\n\r\n return proposalStatuses;\r\n }\r\n\r\n async systemParameters(): Promise {\r\n let systemParameters: string = this.getRefDataFromLocalStorage('systemParameters');\r\n\r\n if (!systemParameters) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters`);\r\n systemParameters = await response.json() as string;\r\n this.saveRefDataToLocalStorage('systemParameters', response, systemParameters);\r\n }\r\n return systemParameters;\r\n }\r\n\r\n async verbalPrivacyStatement(): Promise {\r\n let verbalPrivacy: string = this.getRefDataFromLocalStorage('verbalPrivacyStatement');\r\n\r\n if (!verbalPrivacy) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters/verbalprivacystatement`);\r\n verbalPrivacy = await response.json() as string;\r\n this.saveRefDataToLocalStorage('verbalPrivacyStatement', response, verbalPrivacy);\r\n }\r\n return verbalPrivacy;\r\n }\r\n\r\n async verbalFsgStatement(): Promise {\r\n let verbalFsg: string = this.getRefDataFromLocalStorage('verbalFsgStatement');\r\n\r\n if (!verbalFsg) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters/verbalfsgstatement`);\r\n verbalFsg = await response.json() as string;\r\n this.saveRefDataToLocalStorage('verbalFsgStatement', response, verbalFsg);\r\n }\r\n return verbalFsg;\r\n }\r\n\r\n async verbalFsgStatementHtml(): Promise {\r\n let verbalFsg: string = this.getRefDataFromLocalStorage('verbalFsgStatementHtml');\r\n\r\n if (!verbalFsg) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters/verbalfsgstatement/html`);\r\n verbalFsg = await response.json() as string;\r\n this.saveRefDataToLocalStorage('verbalFsgStatementHtml', response, verbalFsg);\r\n }\r\n return verbalFsg;\r\n }\r\n\r\n async lmiBiCalculatorLink(): Promise {\r\n let calculatorLink: string = this.getRefDataFromLocalStorage('lmiBiCalculatorLink');\r\n\r\n if (!calculatorLink) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/lmi/bicalculator`);\r\n calculatorLink = await response.json() as string;\r\n this.saveRefDataToLocalStorage('lmiBiCalculatorLink', response, calculatorLink);\r\n }\r\n return calculatorLink;\r\n }\r\n\r\n async lmiRiskCoachLink(): Promise {\r\n let riskCoachLink: string = this.getRefDataFromLocalStorage('lmiRiskCoachLink');\r\n\r\n if (!riskCoachLink) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/lmi/riskcoach`);\r\n riskCoachLink = await response.json() as string;\r\n this.saveRefDataToLocalStorage('lmiRiskCoachLink', response, riskCoachLink);\r\n }\r\n return riskCoachLink;\r\n }\r\n\r\n async lmiPolicyComparisonLink(): Promise {\r\n let policyComparisonLink: string = this.getRefDataFromLocalStorage('lmiPolicyComparisonLink');\r\n\r\n if (!policyComparisonLink) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/lmi/policycomparison`);\r\n policyComparisonLink = await response.json() as string;\r\n this.saveRefDataToLocalStorage('lmiPolicyComparisonLink', response, policyComparisonLink);\r\n }\r\n return policyComparisonLink;\r\n }\r\n\r\n async apiEndpoints(): Promise {\r\n let apiEndpoints: ApiEndpoints = this.getRefDataFromLocalStorage('apiEndpoints');\r\n const endpoint = environment.refData.endpoints;\r\n\r\n if (!apiEndpoints) {\r\n const response = await this.http.fetch(endpoint.uri());\r\n apiEndpoints = await response.json() as ApiEndpoints;\r\n this.saveRefDataToLocalStorage('apiEndpoints', response, apiEndpoints);\r\n }\r\n return apiEndpoints;\r\n }\r\n\r\n async entityActions(): Promise {\r\n let entityActions: EntityAction[] = this.getRefDataFromLocalStorage('entityActions');\r\n\r\n if (!entityActions) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/policyactions`);\r\n entityActions = (await response.json() as EntityAction[]).filter((x) => x.activeFlag);\r\n this.saveRefDataToLocalStorage('entityActions', response, entityActions);\r\n }\r\n return entityActions;\r\n }\r\n\r\n async entityReportingTypes(): Promise {\r\n let entityReportingTypes: EntityReportingType[] = this.getRefDataFromLocalStorage('entityReportingTypes');\r\n\r\n if (!entityReportingTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/policyreportingtypes`);\r\n entityReportingTypes = (await response.json() as EntityReportingType[]).filter((x) => x.activeFlag);\r\n this.saveRefDataToLocalStorage('entityReportingTypes', response, entityReportingTypes);\r\n }\r\n return entityReportingTypes;\r\n }\r\n\r\n async premiumFunderStatusTypes(): Promise {\r\n let premiumFunderStatusTypes = this.getRefDataFromLocalStorage('premiumFunderStatusTypes');\r\n\r\n if (!premiumFunderStatusTypes) {\r\n const endpoint = environment.refData.premiumFunderStatusTypes;\r\n const uri = endpoint.uri();\r\n const response = await this.http.fetch(uri);\r\n premiumFunderStatusTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('premiumFunderStatusTypes', response, premiumFunderStatusTypes);\r\n }\r\n return premiumFunderStatusTypes;\r\n }\r\n\r\n async premiumFunderStatusActions(): Promise {\r\n let premiumFunderStatusActions: PremiumFunderStatusAction[] = this.getRefDataFromLocalStorage('premiumFunderStatusActions');\r\n\r\n if (!premiumFunderStatusActions) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/premiumfunderstatusactions`);\r\n premiumFunderStatusActions = await response.json() as PremiumFunderStatusAction[];\r\n this.saveRefDataToLocalStorage('premiumFunderStatusActions', response, premiumFunderStatusActions);\r\n }\r\n return premiumFunderStatusActions;\r\n }\r\n\r\n async premiumFunders(includeInactive = false): Promise {\r\n const localStorageKey = includeInactive ? 'allPremiumFunders' : 'activePremiumFunders';\r\n let premiumFunders: PremiumFunder[] = this.getRefDataFromLocalStorage(localStorageKey);\r\n\r\n if (!premiumFunders) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/premiumfunders?includeInactivePremiumFunders=${includeInactive}`\r\n );\r\n premiumFunders = await response.json() as PremiumFunder[];\r\n this.saveRefDataToLocalStorage(localStorageKey, response, premiumFunders);\r\n }\r\n return premiumFunders;\r\n }\r\n\r\n async surchargePayees(includeInactive = false): Promise {\r\n const localStorageKey = includeInactive ? 'allSurchargePayees' : 'activeSurchargePayees';\r\n let surchargePayees: SurchargePayee[] = this.getRefDataFromLocalStorage(localStorageKey);\r\n\r\n if (!surchargePayees) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/surchargePayees?includeInactiveSurchargePayees=${includeInactive}`\r\n );\r\n surchargePayees = await response.json() as SurchargePayee[];\r\n this.saveRefDataToLocalStorage(localStorageKey, response, surchargePayees);\r\n }\r\n return surchargePayees;\r\n }\r\n\r\n async allowableDocumentTypes(): Promise {\r\n let allowableDocumentTypes: AllowableDocumentType[] = this.getRefDataFromLocalStorage('allowableDocumentTypes');\r\n\r\n if (!allowableDocumentTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/docmgmt/allowabletypes`);\r\n allowableDocumentTypes = (await response.json() as AllowableDocumentType[]).filter(x => !x.synopsis.includes('System HTML'));\r\n this.saveRefDataToLocalStorage('allowableDocumentTypes', response, allowableDocumentTypes);\r\n }\r\n return allowableDocumentTypes;\r\n }\r\n\r\n async allowableDocumentTypesAll(): Promise {\r\n let allowableDocumentTypes: AllowableDocumentType[] = this.getRefDataFromLocalStorage('allowableDocumentTypesAll');\r\n\r\n if (!allowableDocumentTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/docmgmt/allowabletypes`);\r\n allowableDocumentTypes = (await response.json() as AllowableDocumentType[]).filter(x => !x.synopsis.includes('System HTML Task'));\r\n this.saveRefDataToLocalStorage('allowableDocumentTypesAll', response, allowableDocumentTypes);\r\n }\r\n return allowableDocumentTypes;\r\n }\r\n\r\n async asicExemptionType(): Promise {\r\n let asicExemptionTypes = this.getRefDataFromLocalStorage('asicExemptionType');\r\n\r\n if (!asicExemptionTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/AsicExemptionType`);\r\n asicExemptionTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('asicExemptionType', response, asicExemptionTypes);\r\n }\r\n\r\n return asicExemptionTypes;\r\n }\r\n\r\n async aTypicalRiskClass(): Promise {\r\n let aTypicalRiskClasses = this.getRefDataFromLocalStorage('aTypicalRiskClass');\r\n\r\n if (!aTypicalRiskClasses) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/AtypicalRiskClass`);\r\n aTypicalRiskClasses = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('aTypicalRiskClass', response, aTypicalRiskClasses);\r\n }\r\n\r\n return aTypicalRiskClasses;\r\n }\r\n\r\n async customisedReason(): Promise {\r\n let customisedReasons = this.getRefDataFromLocalStorage('customisedReason');\r\n\r\n if (!customisedReasons) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/CustomisedReason`);\r\n customisedReasons = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('customisedReason', response, customisedReasons);\r\n }\r\n\r\n return customisedReasons;\r\n }\r\n\r\n async criminalRecordsStatement(): Promise {\r\n let criminalRecords: string = this.getRefDataFromLocalStorage('criminalRecordsStatement');\r\n\r\n if (!criminalRecords) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/parameters/criminalrecordsstatement`);\r\n criminalRecords = await response.json() as string;\r\n this.saveRefDataToLocalStorage('criminalRecordsStatement', response, criminalRecords);\r\n }\r\n return criminalRecords;\r\n }\r\n\r\n async referral(companyOfficeId?: number): Promise {\r\n if (companyOfficeId > 0) {\r\n let referrals = this.getRefDataFromLocalStorage('referral', companyOfficeId);\r\n\r\n if (!referrals) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/companyoffices/${companyOfficeId}/referrers`\r\n );\r\n referrals = (await response.json()).map(({ referralId, referralCode, referralName }) => ({\r\n id: referralId,\r\n label: `${referralCode} - ${referralName}`\r\n }));\r\n\r\n this.saveRefDataToLocalStorage('referral', response, referrals, companyOfficeId);\r\n }\r\n\r\n return referrals;\r\n } else {\r\n return Promise.resolve([\r\n {\r\n 'id': undefined,\r\n 'label': 'lookups:pleaseSelectOffice'\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n async claimStatus(): Promise {\r\n let claimTypes = this.getRefDataFromLocalStorage('claimStatus');\r\n\r\n if (!claimTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClClaimStatus`);\r\n claimTypes = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage('claimStatus', response, claimTypes);\r\n }\r\n\r\n return claimTypes;\r\n }\r\n\r\n async claimType(): Promise {\r\n let claimTypes = this.getRefDataFromLocalStorage('claimType');\r\n\r\n if (!claimTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClClaimType`);\r\n claimTypes = orderBy((await response.json()).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);\r\n this.saveRefDataToLocalStorage('claimType', response, claimTypes);\r\n }\r\n\r\n return claimTypes;\r\n }\r\n\r\n async claimEventTypes(): Promise {\r\n let claimEventTypes = this.getRefDataFromLocalStorage('claimEventTypes');\r\n\r\n if (!claimEventTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/claimevents`);\r\n claimEventTypes = (await response.json()).filter(t => t.activeFlag).map((x) => ({id: x.claimEventId, label: x.claimEvent}));\r\n this.saveRefDataToLocalStorage('claimEventTypes', response, claimEventTypes);\r\n }\r\n\r\n return claimEventTypes;\r\n }\r\n\r\n async claimCategory(): Promise {\r\n let claimCategories = this.getRefDataFromLocalStorage('claimCategory');\r\n\r\n if (!claimCategories) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/claimcategories`);\r\n claimCategories = orderBy(await response.json(), ['claimCategory'], ['asc']);\r\n this.saveRefDataToLocalStorage('claimCategory', response, claimCategories);\r\n }\r\n return claimCategories;\r\n }\r\n\r\n async claimStatusActions(): Promise {\r\n let items = this.getRefDataFromLocalStorage('claimStatusAction');\r\n\r\n if (!items) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/claimstatusactions`);\r\n items = orderBy(await response.json(), ['claimStatusAction'], ['asc']);\r\n this.saveRefDataToLocalStorage('claimStatusAction', response, items);\r\n }\r\n return items;\r\n }\r\n\r\n async licenceClasses(): Promise {\r\n let items = this.getRefDataFromLocalStorage('licenceClasses');\r\n\r\n if (!items) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/licenceClasses`);\r\n items = await response.json();\r\n this.saveRefDataToLocalStorage('licenceClasses', response, items);\r\n }\r\n return items;\r\n }\r\n\r\n async claimNoteType(): Promise {\r\n let noteTypes = this.getRefDataFromLocalStorage('claimNoteType');\r\n\r\n if (!noteTypes) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClClaimNoteType`);\r\n noteTypes = orderBy((await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);\r\n this.saveRefDataToLocalStorage('claimNoteType', response, noteTypes);\r\n }\r\n\r\n return noteTypes;\r\n }\r\n\r\n async claimPaymentType(): Promise {\r\n let items = this.getRefDataFromLocalStorage('claimPaymentType');\r\n\r\n if (!items) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/ClClaimPaymentType`);\r\n items = orderBy((await response.json()).filter(t => t.activeFlag).map(this.refDataToFieldValueDefinition), ['label'], ['asc']);\r\n this.saveRefDataToLocalStorage('claimPaymentType', response, items);\r\n }\r\n\r\n return items;\r\n }\r\n\r\n async get(refType): Promise {\r\n let vals = this.getRefDataFromLocalStorage(refType);\r\n\r\n if (!vals) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/${refType}`);\r\n vals = (await response.json()).map(this.refDataToFieldValueDefinition);\r\n this.saveRefDataToLocalStorage(refType, response, vals);\r\n }\r\n return vals;\r\n }\r\n\r\n async users(companyOfficeId?: number): Promise {\r\n if (companyOfficeId > 0) {\r\n let users = this.getRefDataFromLocalStorage('user', companyOfficeId);\r\n\r\n if (!users) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/companyoffices/${companyOfficeId}/users`\r\n );\r\n users = (await response.json()).map(({ securityUsersId, fullName }) => ({\r\n id: securityUsersId,\r\n label: fullName\r\n }));\r\n\r\n this.saveRefDataToLocalStorage('user', response, users, companyOfficeId);\r\n }\r\n\r\n return users;\r\n } else {\r\n return Promise.resolve([\r\n {\r\n 'id': undefined,\r\n 'label': 'lookups:pleaseSelectOffice'\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n async groups(): Promise {\r\n let groups = this.getRefDataFromLocalStorage('group');\r\n\r\n if (!groups) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/admin/user/groups`\r\n );\r\n groups = (await response.json()).map(({ id, name }) => ({\r\n id: id,\r\n label: name\r\n }));\r\n\r\n this.saveRefDataToLocalStorage('group', response, groups);\r\n }\r\n\r\n return groups;\r\n }\r\n\r\n\r\n async financialAdviserTypes(): Promise {\r\n let lst = this.getRefDataFromLocalStorage('financialAdviserType');\r\n\r\n if (true || !lst) {\r\n const response = await this.http.fetch(\r\n `${environment.apiHost}/api/refdata/FinancialAdviserType`\r\n );\r\n const jsn=await response.json();\r\n lst = (jsn).map(({ id, description }) => ({\r\n id: id,\r\n label: description\r\n }));\r\n\r\n this.saveRefDataToLocalStorage('financialAdviserType', response, lst);\r\n }\r\n\r\n return lst;\r\n }\r\n\r\n async branchLocations(): Promise {\r\n return await this.adminRefData('companyoffice','locations');\r\n }\r\n\r\n async fsgType(): Promise {\r\n return await this.getValues('','FinancialServicesGuideType');\r\n }\r\n\r\n async adminRefData(controller:string, method:string): Promise {\r\n const results= await this.getValues(controller,method, 'admin')\r\n return results;\r\n }\r\n\r\n async advisers(): Promise {\r\n let advisers = this.getRefDataFromLocalStorage('advisers');\r\n\r\n if (!advisers) {\r\n const response = await this.http.fetch(`${environment.apiHost}/api/refdata/advisers`);\r\n advisers = (await response.json()).map(c => {\r\n return {\r\n id: c.adviserId,\r\n code: c.companyOfficeCode,\r\n label: `${c.companyOfficeCode} - ${c.companyOfficeName}`,\r\n active: c.active,\r\n adviserCode: c.adviserCode,\r\n adviserName: c.adviserName,\r\n companyOfficeId: c.companyOfficeId\r\n };\r\n }).sort((a, b) => a.adviserName.toLowerCase().localeCompare(b.adviserName.toLowerCase()));\r\n this.saveRefDataToLocalStorage('advisers', response, advisers);\r\n }\r\n\r\n return advisers;\r\n }\r\n\r\n async getValues(controller:string, method='', api='refdata'): Promise {\r\n // if (method==='') {throw('getValues called with blank method');}\r\n let items = this.getRefDataFromLocalStorage(method);\r\n if (!items) {\r\n const url=controller==='' ? `${environment.apiHost}/api/${api}/${method}`: `${environment.apiHost}/api/${api}/${controller}/${method}`;\r\n //console.log(`getValues ${url}`)\r\n const response = await this.http.fetch(\r\n url\r\n );\r\n const results = await response.json();\r\n items = results.map(({ id, description }) => ({\r\n id: id,\r\n label: description\r\n }));\r\n this.saveRefDataToLocalStorage(method, response, items);\r\n }\r\n return items;\r\n }\r\n\r\n async riskCriteria(): Promise {\r\n let riskCriteriaTypes = this.getRefDataFromLocalStorage('riskCriteria');\r\n\r\n if (!riskCriteriaTypes) {\r\n const endpoint = environment.reportEndpoints.reports.risk;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n riskCriteriaTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('riskCriteria', response, riskCriteriaTypes);\r\n }\r\n\r\n return riskCriteriaTypes;\r\n }\r\n\r\n async riskGroupedByRiskCriteria(): Promise {\r\n let riskCriteriaTypes = this.getRefDataFromLocalStorage('riskGroupedByRiskCriteria');\r\n\r\n if (!riskCriteriaTypes) {\r\n const endpoint = environment.reportEndpoints.reports.riskGroupedByRisk;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n riskCriteriaTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('riskGroupedByRiskCriteria', response, riskCriteriaTypes);\r\n }\r\n\r\n return riskCriteriaTypes;\r\n }\r\n\r\n async riskClassTypeCriteria(): Promise {\r\n let riskClassCriteriaTypes = this.getRefDataFromLocalStorage('riskClassTypeCriteria');\r\n\r\n if (!riskClassCriteriaTypes) {\r\n const endpoint = environment.reportEndpoints.reports.riskClassType;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n riskClassCriteriaTypes = ((await response.json() as ApiRefDataResponse[])).sort((a, b) => a.id - b.id);\r\n\r\n this.saveRefDataToLocalStorage('riskClassTypeCriteria', response, riskClassCriteriaTypes);\r\n }\r\n\r\n return riskClassCriteriaTypes;\r\n }\r\n\r\n async premiumFunderTypes(): Promise {\r\n let premiumFunderTypes = this.getRefDataFromLocalStorage('premiumFunderTypes');\r\n\r\n if (!premiumFunderTypes) {\r\n const endpoint = environment.reportEndpoints.reports.premiumFunder;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n premiumFunderTypes = (await response.json()).map((x) => ({id: x.id, label: x.code})).sort((a, b) => a.label.toLowerCase().localeCompare(b.label.toLowerCase()));\r\n\r\n this.saveRefDataToLocalStorage('premiumFunderTypes', response, premiumFunderTypes);\r\n }\r\n\r\n return premiumFunderTypes;\r\n }\r\n\r\n async reportPremiumFunder(): Promise {\r\n let reportPremiumFunders = this.getRefDataFromLocalStorage('reportPremiumFunder');\r\n\r\n if (!reportPremiumFunders) {\r\n const endpoint = environment.reportEndpoints.reports.premiumFunder;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n reportPremiumFunders = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('reportPremiumFunder', response, reportPremiumFunders);\r\n }\r\n\r\n return reportPremiumFunders;\r\n }\r\n\r\n async underwriterCriteria(): Promise {\r\n let reportUnderwriters = this.getRefDataFromLocalStorage('reportUnderwriter');\r\n\r\n if (!reportUnderwriters) {\r\n const endpoint = environment.reportEndpoints.reports.underwriter;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n reportUnderwriters = orderBy((await response.json() as ApiRefDataResponse[]), ['code'], ['asc']);\r\n\r\n this.saveRefDataToLocalStorage('reportUnderwriter', response, reportUnderwriters);\r\n }\r\n\r\n return reportUnderwriters;\r\n }\r\n\r\n async assignedTo(): Promise {\r\n let assignedTo = this.getRefDataFromLocalStorage('assignedTo');\r\n\r\n if (!assignedTo) {\r\n const endpoint = environment.reportEndpoints.reports.assignedTo;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n assignedTo = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('assignedTo', response, assignedTo);\r\n }\r\n\r\n return assignedTo;\r\n }\r\n\r\n async allUsers(): Promise {\r\n let allUsers = this.getRefDataFromLocalStorage('allUsers');\r\n\r\n if (!allUsers) {\r\n const endpoint = environment.reportEndpoints.reports.allUsers;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n allUsers = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('allUsers', response, allUsers);\r\n }\r\n\r\n return allUsers;\r\n }\r\n\r\n async reportingType(): Promise {\r\n let reportingTypes = this.getRefDataFromLocalStorage('reportingType');\r\n\r\n if (!reportingTypes) {\r\n const endpoint = environment.reportEndpoints.reports.reportingType;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n reportingTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('reportingTypes', response, reportingTypes);\r\n }\r\n\r\n return reportingTypes;\r\n }\r\n\r\n async occupationCriteria(): Promise {\r\n let occupationTypes = this.getRefDataFromLocalStorage('occupationCriteria');\r\n\r\n if (!occupationTypes) {\r\n const endpoint = environment.reportEndpoints.reports.occupation;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n occupationTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('occupationCriteria', response, occupationTypes);\r\n }\r\n\r\n return occupationTypes;\r\n }\r\n\r\n async referralCriteria(): Promise {\r\n let referralTypes = this.getRefDataFromLocalStorage('referralCriteria');\r\n\r\n if (!referralTypes) {\r\n const endpoint = environment.reportEndpoints.reports.referral;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n referralTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('referralCriteria', response, referralTypes);\r\n }\r\n\r\n return referralTypes;\r\n }\r\n\r\n async insurerCriteria(): Promise {\r\n let insurerTypes = this.getRefDataFromLocalStorage('insurerCriteria');\r\n\r\n if (!insurerTypes) {\r\n const endpoint = environment.reportEndpoints.reports.insurer;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n insurerTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n insurerTypes.sort((a, b) => a.code.toLowerCase().localeCompare(b.code.toLowerCase()));\r\n\r\n this.saveRefDataToLocalStorage('insurerCriteria', response, insurerTypes);\r\n }\r\n\r\n return insurerTypes;\r\n }\r\n\r\n async insurerCategoryCriteria(): Promise {\r\n let insurerCategoryTypes = this.getRefDataFromLocalStorage('insurerCategoryCriteria');\r\n\r\n if (!insurerCategoryTypes) {\r\n const endpoint = environment.reportEndpoints.reports.insurerCategory;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n insurerCategoryTypes = ((await response.json() as ApiRefDataResponse[])).sort((a, b) => a.id - b.id);\r\n\r\n this.saveRefDataToLocalStorage('insurerCategoryCriteria', response, insurerCategoryTypes);\r\n }\r\n\r\n return insurerCategoryTypes;\r\n }\r\n\r\n async branch(): Promise {\r\n let branches = this.getRefDataFromLocalStorage('branch');\r\n\r\n if (!branches) {\r\n const endpoint = environment.reportEndpoints.reports.branch;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n branches = (await response.json() as ApiRefDataResponse[]);\r\n\r\n branches.sort((a, b) => a.code.toLowerCase().localeCompare(b.code.toLowerCase()));\r\n\r\n this.saveRefDataToLocalStorage('branch', response, branches);\r\n }\r\n\r\n return branches;\r\n }\r\n\r\n async transtype(): Promise {\r\n let transTypes = this.getRefDataFromLocalStorage('transtype');\r\n\r\n if (!transTypes) {\r\n const endpoint = environment.reportEndpoints.reports.transtype;\r\n const response = await this.http.fetch(endpoint.uri(), {\r\n method: endpoint.method\r\n });\r\n\r\n transTypes = (await response.json() as ApiRefDataResponse[]);\r\n\r\n this.saveRefDataToLocalStorage('transtype', response, transTypes);\r\n }\r\n\r\n return transTypes;\r\n }\r\n\r\n async yesNo(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': true,\r\n 'label': 'lookups:yes'\r\n },\r\n {\r\n 'id': false,\r\n 'label': 'lookups:no'\r\n }\r\n ]);\r\n }\r\n\r\n async searchType(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': 'equals',\r\n 'label': 'lookups:equals'\r\n },\r\n {\r\n 'id': 'startsWith',\r\n 'label': 'lookups:startsWith',\r\n }, {\r\n 'id': 'endsWith',\r\n 'label': 'lookups:endsWith',\r\n },\r\n {\r\n 'id': 'like',\r\n 'label': 'lookups:like'\r\n }\r\n ]);\r\n }\r\n\r\n async activeInactive(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': true,\r\n 'label': 'lookups:active'\r\n },\r\n {\r\n 'id': false,\r\n 'label': 'lookups:inactive'\r\n }\r\n ]);\r\n }\r\n\r\n async partyTypes(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': 1,\r\n 'label': 'Person'\r\n },\r\n {\r\n 'id': 2,\r\n 'label': 'Organisation'\r\n }\r\n ]);\r\n }\r\n\r\n async completeIncomplete(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': true,\r\n 'label': 'lookups:complete'\r\n },\r\n {\r\n 'id': false,\r\n 'label': 'lookups:incomplete'\r\n }\r\n ]);\r\n }\r\n\r\n async quarter(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': 1,\r\n 'label': 'Q1'\r\n },\r\n {\r\n 'id': 2,\r\n 'label': 'Q2'\r\n },\r\n {\r\n 'id': 3,\r\n 'label': 'Q3'\r\n },\r\n {\r\n 'id': 4,\r\n 'label': 'Q4'\r\n }\r\n ]);\r\n }\r\n\r\n async month(): Promise {\r\n return Promise.resolve([\r\n {\r\n 'id': 'Jan',\r\n 'label': 'Jan'\r\n },\r\n {\r\n 'id': 'Feb',\r\n 'label': 'Feb'\r\n },\r\n {\r\n 'id': 'Mar',\r\n 'label': 'Mar'\r\n },\r\n {\r\n 'id': 'Apr',\r\n 'label': 'Apr'\r\n },\r\n {\r\n 'id': 'May',\r\n 'label': 'May'\r\n },\r\n {\r\n 'id': 'Jun',\r\n 'label': 'Jun'\r\n },\r\n {\r\n 'id': 'Jul',\r\n 'label': 'Jul'\r\n },\r\n {\r\n 'id': 'Aug',\r\n 'label': 'Aug'\r\n },\r\n {\r\n 'id': 'Sep',\r\n 'label': 'Sep'\r\n },\r\n {\r\n 'id': 'Oct',\r\n 'label': 'Oct'\r\n },\r\n {\r\n 'id': 'Nov',\r\n 'label': 'Nov'\r\n },\r\n {\r\n 'id': 'Dec',\r\n 'label': 'Dec'\r\n }\r\n ]);\r\n }\r\n\r\n refDataToFieldValueDefinition({ id, description }: { id: number, description: string }) {\r\n return {\r\n id,\r\n label: description\r\n };\r\n }\r\n\r\n buildLocalStorageKey(...parts) {\r\n return `${LOCAL_STORAGE_KEY_PREFIX}_${parts.join('_')}`;\r\n }\r\n\r\n getExpiry(response: Response) {\r\n return response.headers.get(EXPIRY_HEADER);\r\n }\r\n\r\n saveRefDataToLocalStorage(type: string, response: Response, data: any, ...params: any[]) {\r\n const localStorageKey = this.buildLocalStorageKey(type, ...params);\r\n\r\n const expiry = response.headers.get(EXPIRY_HEADER);\r\n\r\n this.storage.saveToLocalStorage(localStorageKey, { expiry, data });\r\n }\r\n\r\n getRefDataFromLocalStorage(type: string, ...params: any[]) {\r\n const localStorageKey = this.buildLocalStorageKey(type, ...params);\r\n\r\n try {\r\n const localStorageValue = this.storage.getFromLocalStorage(localStorageKey);\r\n\r\n if (localStorageValue) {\r\n const parsedData: { expiry: Date, data: any } = localStorageValue;\r\n\r\n if (parsedData.expiry) {\r\n if (new Date().getTime() < new Date(parsedData.expiry).getTime()) {\r\n return parsedData.data;\r\n } else {\r\n localStorage.removeItem(localStorageKey);\r\n }\r\n }\r\n }\r\n return null;\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n}\r\n"],"names":["EXPIRY_HEADER","http","storage","acceptsElectronicDisclosureDocuments","Promise","resolve","acceptsMarketingMail","association","premiumFundingQuoteStatusTypes","this","getRefDataFromLocalStorage","fetch","apiHost","response","json","map","refDataToFieldValueDefinition","saveRefDataToLocalStorage","reportCodes","glPeriodTypes","consentClientDisplayText","status","consentWizardDisplayText","consentTypes","filter","t","activeFlag","e","id","label","description","disabled","userSelectableFlag","consentVerbalScriptTextByCompanyOffice","transferProcessStatusTypes","x","transferProcessStatusId","transferProcessStatus","webFormEditAction","webFormStatusActions","webFormStatusActionId","webFormStatusAction","WebFormStatus","webFormTypes","webFormRiskClassTypes","useOnWebFormsFlag","riskClassTypeId","displayName","insurerOfficesServiceRisks","companyOfficeId","riskByClassIds","rbc","join","insurerProcessingTypeId","insurerId","insurerOfficeId","insurerOfficeCode","insurerOfficeName","captureInsurerOccupationFlag","webFormRisksByRiskClassTypes","homepageHelpdesk","homepageUrls","homePageUrlId","url","glPaymentStatusTypes","glPaymentPartyTypes","settleAllCreditTypes","glSettlementTypes","insurerWorkfileTypes","glWorkfileStatusTypes","endpoint","refData","uri","divisionType","divisionTypes","glBatchStatusTypes","knowYourClientTypes","vulnerabilityTypes","vulnerableClientTypes","vulnerableClientTypeId","vulnerableClientType","synopsis","webFormStatus","webFormStatusTypes","soaTypes","premiumFunderStatusActionTypes","premiumFunderStatusActionId","premumFunderStatus","premiumFunderStatusAction","redPlanetStatusTypes","redPlanetStatusId","standardWordingTypes","additionalPageTemplateCategoryTypes","redPlanetInvoiceNumberFormatTypes","premiumFunderSettlementGroupByOptions","financialServicesGuideTypes","insurerTypes","insurerCode","insurerName","paysOverrider","paysOverride","insurerOfficeTypes","insurerOffices","groupTypes","securityGroupId","name","partyInstanceTypes","apraClassTypes","schemeTypesByRiskClassTypeId","redPlanetRiskTypesByPremiumFunderId","premiumFunderId","redPlanetRiskId","redPlanetRiskCode","redPlanetRiskName","redPlanetSubStatusTypesByPremiumFunderId","redPlanetSubStatusId","redPlanetStatus","redPlanetSubStatus","templateTypes","templateCategoryTypes","htmlTemplateTypes","PlTermFromTypes","mailSortCodeTypes","stateTypes","stampDutyRegionTypes","fslRegionTypes","messagePriorityTypes","messageSourceTypes","plTermTypes","electronicBankingFileTypes","socialMediaTypes","branchLocationTypes","branchTypes","underwriterTypes","UnderwriterTypes","bankBranchTypes","BankBranchTypes","claimsPayingRatingStructureTypes","ClaimsPayingRatingStructureTypes","claimsPayingRatingSourceTypes","ClaimsPayingRatingSourceTypes","referralTypes","adviserTypes","authorisationReasons","titleTypes","actionTypes","referralCalculationMethods","bankAccountTypes","taxStatusTypes","settlementTypes","insurerCategoryTypes","paymentOutType","paymentOutTypeAll","paymentOutTypeUseOnSettlementRequest","useOnSettlementRequest","activityTypes","a","entityDocumentActivityTypeId","activityType","taskCategoryTypes","taskPriorityTypes","userDetail","applicationHomeEndpoints","journalType","journalTypes","salesStatusType","salesStatusTypes","salesRatingType","salesRatingTypes","fieldTypes","fieldType","partyInstanceId","localTypes","keyPrefix","obj","mandatory","adviser","advisers","adviserId","adviserCode","adviserName","code","parseInt","sort","b","undefined","insurerUnderwriters","validUnderwriterProcessTypeIds","underwriters","ok","insurerProcessType","insurerProcessTypes","insurerType","insurerGroup","insurerGroups","riskGroupType","riskGroupTypes","paymentType","activeOnly","localStorageKey","paymentTypes","businessEntityType","businessEntityTypes","quoteStatusType","quoteStatusTypes","paymentStatus","paymentStatuses","anzsicType","anzsicTypes","riskClassType","riskClassTypes","activeRiskClassTypes","risksByRiskClassType","riskByClassId","riskCode","riskName","riskByClassTypes","clientCategory","clientCategories","clientDisclosureType","clientDisclosureTypes","clientRole","clientRoles","clientType","clientTypes","companyOffice","companyOffices","c","companyOfficeCode","companyOfficeName","countryCode","countries","countryName","countryTypes","countryId","distributionType","distributionTypes","financialServicesGuideType","introductionType","introductionTypes","noteType","noteTypes","declineType","declineTypes","proposalStatus","proposalStatuses","systemParameters","verbalPrivacyStatement","verbalPrivacy","verbalFsgStatement","verbalFsg","verbalFsgStatementHtml","lmiBiCalculatorLink","calculatorLink","lmiRiskCoachLink","riskCoachLink","lmiPolicyComparisonLink","policyComparisonLink","apiEndpoints","endpoints","entityActions","entityReportingTypes","premiumFunderStatusTypes","premiumFunderStatusActions","premiumFunders","includeInactive","surchargePayees","allowableDocumentTypes","includes","allowableDocumentTypesAll","asicExemptionType","asicExemptionTypes","aTypicalRiskClass","aTypicalRiskClasses","customisedReason","customisedReasons","criminalRecordsStatement","criminalRecords","referral","referrals","referralId","referralCode","referralName","claimStatus","claimTypes","claimType","claimEventTypes","claimEventId","claimEvent","claimCategory","claimCategories","claimStatusActions","items","licenceClasses","claimNoteType","claimPaymentType","get","refType","vals","users","groups","financialAdviserTypes","lst","jsn","branchLocations","adminRefData","fsgType","getValues","controller","method","active","toLowerCase","localeCompare","api","results","riskCriteria","riskCriteriaTypes","reportEndpoints","reports","risk","riskGroupedByRiskCriteria","riskGroupedByRisk","riskClassTypeCriteria","riskClassCriteriaTypes","premiumFunderTypes","premiumFunder","reportPremiumFunder","reportPremiumFunders","underwriterCriteria","reportUnderwriters","underwriter","assignedTo","allUsers","reportingType","reportingTypes","occupationCriteria","occupationTypes","occupation","referralCriteria","insurerCriteria","insurer","insurerCategoryCriteria","insurerCategory","branch","branches","transtype","transTypes","yesNo","searchType","activeInactive","partyTypes","completeIncomplete","quarter","month","buildLocalStorageKey","parts","getExpiry","headers","type","data","params","expiry","saveToLocalStorage","localStorageValue","getFromLocalStorage","parsedData","Date","getTime","localStorage","removeItem","autoinject","LookupDataService"],"sourceRoot":""}