Merge pull request #2029 from Safelite/feature/csr-2149
Update calls for service location page
This commit is contained in:
commit
a71f5562dc
2 changed files with 37 additions and 6 deletions
|
|
@ -50,3 +50,11 @@ export function getItemsWithoutRecalParts(lineItems) {
|
|||
|
||||
return childrenFiltered;
|
||||
}
|
||||
|
||||
export function getTopLevelPartsWithRecal(lineItems) {
|
||||
if (!lineItems) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return lineItems.filter((li) => isRecalPartOrHasChildRecalPart(li));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ import {
|
|||
coverageTypeValue,
|
||||
coverageTypeEnum,
|
||||
} from "@/constants/insurance";
|
||||
import { containsRecalParts } from "@/helpers/recal-helper";
|
||||
import { containsRecalParts, getTopLevelPartsWithRecal } from "@/helpers/recal-helper";
|
||||
import { externalParameterStatus } from "@/constants/external-parameters";
|
||||
import { experimentSettings } from "@/constants/experiments";
|
||||
import experimentMixin from "@/mixins/experiment-mixin.js";
|
||||
|
|
@ -1622,16 +1622,19 @@ export const actions = {
|
|||
},
|
||||
|
||||
getServiceabilityDetails(context, { payload: { serviceZipCode }, pageNameToLog }) {
|
||||
const lineItemsWithOnlyPartNumbers = context.getters.order.lineItems.supportingItems?.map(
|
||||
const escapeRecalibrationType = (rt) => rt.split("&").join("%26");
|
||||
|
||||
const partialLineItemsObjects = context.getters.order.lineItems.glassParts?.map(
|
||||
(lineItem) => ({
|
||||
partNumber: lineItem.partNumber,
|
||||
recalibrationType: lineItem.recalibrationType ? escapeRecalibrationType(lineItem.recalibrationType) : undefined,
|
||||
})
|
||||
);
|
||||
|
||||
var lineItems = null;
|
||||
if (lineItemsWithOnlyPartNumbers) {
|
||||
if (partialLineItemsObjects) {
|
||||
lineItems = buildQueryStringParameterFromArrayOfComplexObjects(
|
||||
lineItemsWithOnlyPartNumbers,
|
||||
partialLineItemsObjects,
|
||||
"lineItems"
|
||||
);
|
||||
}
|
||||
|
|
@ -1646,7 +1649,12 @@ export const actions = {
|
|||
"glassPieces"
|
||||
);
|
||||
|
||||
var endPoint = `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&carId=${carId}`;
|
||||
const parentAccountNumber =
|
||||
context.getters.order.payment.parentAccountNumber ??
|
||||
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER;
|
||||
const referralSequenceNumber = context.getters.order.referralSequenceNumber;
|
||||
|
||||
var endPoint = `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&carId=${carId}&parentAccountNumber=${parentAccountNumber}&referralSequenceNumber=${referralSequenceNumber}`;
|
||||
if (lineItems) {
|
||||
endPoint += `&${lineItems}`;
|
||||
}
|
||||
|
|
@ -1665,11 +1673,26 @@ export const actions = {
|
|||
|
||||
getProviders(context, { payload: { serviceZipCode }, pageNameToLog }) {
|
||||
const damageType = context.getters.damage.isRepair ? "Repair" : "Replace";
|
||||
const accountNumber =
|
||||
context.getters.order.payment.parentAccountNumber ??
|
||||
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER;
|
||||
const carId = context.getters.order.vehicle.carId;
|
||||
const partsWithRecal = getTopLevelPartsWithRecal(
|
||||
context.getters.order.lineItems.glassParts
|
||||
);
|
||||
const windshieldPartWithRecal = partsWithRecal?.length > 0 ? partsWithRecal[0] : null;
|
||||
|
||||
const shopRadiusInMiles = 100;
|
||||
|
||||
let url = `${endpoints.GetProviders.url}/${serviceZipCode}/${damageType}/${shopRadiusInMiles}/${accountNumber}/true/${carId}`;
|
||||
|
||||
if (windshieldPartWithRecal) {
|
||||
url += `/${windshieldPartWithRecal.partNumber}`;
|
||||
}
|
||||
|
||||
return globalMethods.callHttpClient({
|
||||
method: endpoints.GetProviders.method,
|
||||
endpoint: `${endpoints.GetProviders.url}/${serviceZipCode}/${damageType}/${shopRadiusInMiles}`,
|
||||
endpoint: url,
|
||||
logApiCall: true,
|
||||
pageNameToLog: pageNameToLog,
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue