From 5bb1458ed9a1dd2e357ce631b29ba9b066140399 Mon Sep 17 00:00:00 2001 From: Josh Dassinger Date: Thu, 26 Sep 2024 13:31:36 -0500 Subject: [PATCH] SSR-1489 Update to mobile-fee endpoint --- src/constants/coverage-statuses.js | 11 ++++++++++- src/constants/coverage-type.js | 12 +++++++++++- src/store/index.js | 16 ++++++++++++++-- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/constants/coverage-statuses.js b/src/constants/coverage-statuses.js index bf9b299e..df6d550b 100644 --- a/src/constants/coverage-statuses.js +++ b/src/constants/coverage-statuses.js @@ -12,7 +12,16 @@ const coverageStatuses = Object.freeze({ /** * We have attempted claim registration, and we got a success response */ - VERIFIED: 2 + VERIFIED: 2, + + mapToApi: (status) => { + switch (status) { + case coverageStatuses.PENDING: return 'Pending'; + case coverageStatuses.NO_COVERAGE: return 'NoCoverage'; + case coverageStatuses.VERIFIED: return 'Verified'; + default: return null; + } + } }); export default coverageStatuses; diff --git a/src/constants/coverage-type.js b/src/constants/coverage-type.js index ec136d76..fc3ca5a1 100644 --- a/src/constants/coverage-type.js +++ b/src/constants/coverage-type.js @@ -22,7 +22,17 @@ const coverageType = Object.freeze({ * The vehicle policy does not have comprehensive coverage * No Comp quotes are enabled by the client */ - NO_COMP: 3 + NO_COMP: 3, + + mapToApi: (status) => { + switch (status) { + case coverageType.None: return 'None'; + case coverageType.Deductible: return 'Deductible'; + case coverageType.ITAC: return 'ITAC'; + case coverageType.NO_COMP: return 'NoComp'; + default: return null; + } + } }); export default coverageType; diff --git a/src/store/index.js b/src/store/index.js index d6eafcb8..312912d9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1205,11 +1205,23 @@ export const useMainStore = defineStore({ }, getMobileFeePart() { - const damageType = this.damage.isRepair ? 'Repair' : 'Replace'; + const { vehicle, insuranceCoverage } = this.order; + + const params = new URLSearchParams({ + serviceType: this.damage.isRepair ? 'Repair' : 'Install', + facilityType: 'Mobile', + parentAccountNumber: this.order.parentAccountNumber, + billToAccountNumber: this.billToAccountNumber, + isItacOptimized: false, //TODO: Implement with response from getITACPriceOrderItems + providerNumber: this.providerNumber, + carId: vehicle.carId, + coverageStatus: coverageStatuses.mapToApi(insuranceCoverage.coverageStatus), + coverageType: coverageType.mapToApi(insuranceCoverage.coverageType) + }); return globalMethods.callHttpClient({ method: endpoints.GetMobileFeePart.method, - endpoint: `${endpoints.GetMobileFeePart.url}/${damageType}/${this.order.parentAccountNumber}/${this.billToAccountNumber}` + endpoint: `${endpoints.GetMobileFeePart.url}?${params.toString()}` }); },