Merge pull request #1074 from Safelite/feature/CSR-1104

CSR-1104 | Change how priceOrderItems sends lineItems to endpoint
This commit is contained in:
scottkiener 2023-04-24 10:42:16 -04:00 committed by GitHub
commit 9c36ee944c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1472,8 +1472,9 @@ export const actions = {
const ctuToUse = serviceZipCodeCtu
? serviceZipCodeCtu
: context.getters.order.serviceLocation.zipCodeCtu;
const lineItemsWithOnlyPartNumbers = availableLineItems.map((lineItem) => ({
const flattenedLineItemsWithChildParts =
getFlattenedArrayOfLineItemsWithChildParts(availableLineItems);
const lineItemsWithOnlyPartNumbers = flattenedLineItemsWithChildParts.map((lineItem) => ({
partNumber: lineItem.partNumber,
}));
const availableLineItemsFormattedForRequest =
@ -1675,16 +1676,19 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
});
return lineItems;
}
function getLineItemQueryStringForPricing(lineItems) {
return lineItems
.map((lineItem) => {
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
if (lineItem.childParts) {
queryStringSnippet += getLineItemQueryStringForPricing(lineItem.childParts);
}
return queryStringSnippet;
})
.join("");
function getFlattenedArrayOfLineItemsWithChildParts(lineItems) {
let flattenedArray = [];
lineItems.forEach((lineItem) => {
flattenedArray.push(lineItem);
if (lineItem.childParts) {
flattenedArray = [
...flattenedArray,
...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts),
];
}
});
return flattenedArray;
}
function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) {