Merge branch 'develop' into feature/digital/SSR-418.2

This commit is contained in:
Jason Wheeler 2023-05-19 16:19:12 -04:00
commit 0408831f25

View file

@ -553,13 +553,30 @@ export const useMainStore = defineStore({
return availableLineItems;
},
getServiceabilityDetails({ serviceZipCode }) {
const lineItemsToSend = this.order.lineItems.supportingItems;
const encodedLineItems = encodeURIComponent(JSON.stringify(lineItemsToSend));
const lineItemsWithOnlyPartNumbers = this.order.lineItems.glassParts.map(
(glassPart) => ({
partNumber: glassPart.partNumber,
})
);
const lineItems = buildQueryStringParameterFromArrayOfComplexObjects(
lineItemsWithOnlyPartNumbers,
"lineItems"
);
const vehicle = this.order.vehicle;
const carId = vehicle.carId;
const damage = this.order.damage;
const glassArray = convertGlassPieceNamingForApi(damage.glassToReplace);
const glassPieces = buildQueryStringParameterFromArrayOfComplexObjects(
glassArray,
"glassPieces"
);
return globalMethods.callHttpClient({
method: endpoints.GetServiceabilityDetails.method,
endpoint: `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&lineItems=${encodedLineItems}`
endpoint: `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&carId=${carId}&${lineItems}&${glassPieces}`,
});
},
@ -1380,3 +1397,14 @@ function getLineItemQueryStringForPricing(lineItems){
}).join('');
}
function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) {
let queryStringParameter = "";
for (let i = 0; i < arrayOfObjects.length; i++) {
for (const [key, value] of Object.entries(arrayOfObjects[i])) {
queryStringParameter += `${parameterName}[${i}].${key}=${value}&`;
}
}
// Remove trailing &
return queryStringParameter.slice(0, -1);
}