Merge branch 'develop' into feature/digital/SSR-418.2
This commit is contained in:
commit
0408831f25
1 changed files with 32 additions and 4 deletions
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue