From 112f94d376213d4791024ec97df1aaaeceb21074 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Thu, 20 Apr 2023 14:24:11 -0400 Subject: [PATCH 1/4] CSR-1104 | Update pricing call with new query parameter style --- src/store/index.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index abfd830db..88ca0fc2a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1473,8 +1473,13 @@ export const actions = { ? serviceZipCodeCtu : context.getters.order.serviceLocation.zipCodeCtu; + const lineItemsWithOnlyPartNumbers = availableLineItems.map( + (lineItem) => ({ + partNumber: lineItem.partNumber, + }) + ); const availableLineItemsFormattedForRequest = - getLineItemQueryStringForPricing(availableLineItems); + buildQueryStringParameterFromArrayOfComplexObjects(lineItemsWithOnlyPartNumbers, "lineItems"); const vehicle = context.getters.order.vehicle; @@ -1487,7 +1492,7 @@ export const actions = { `&Year=${vehicle.year}` + `&EON=${context.getters.order.eon}` + `&ZipCode=${zipCodeToUse}` + - `${availableLineItemsFormattedForRequest}`; + `&${availableLineItemsFormattedForRequest}`; const lineItemServerData = context.getters.order.lineItems.serverData; From 824bef0fdba22f8cc6989bc3674177781f9543c3 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Thu, 20 Apr 2023 14:27:15 -0400 Subject: [PATCH 2/4] CSR-1104 | Fix formatting --- src/store/index.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 88ca0fc2a..3c51c202e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1473,13 +1473,14 @@ export const actions = { ? serviceZipCodeCtu : context.getters.order.serviceLocation.zipCodeCtu; - const lineItemsWithOnlyPartNumbers = availableLineItems.map( - (lineItem) => ({ - partNumber: lineItem.partNumber, - }) - ); + const lineItemsWithOnlyPartNumbers = availableLineItems.map((lineItem) => ({ + partNumber: lineItem.partNumber, + })); const availableLineItemsFormattedForRequest = - buildQueryStringParameterFromArrayOfComplexObjects(lineItemsWithOnlyPartNumbers, "lineItems"); + buildQueryStringParameterFromArrayOfComplexObjects( + lineItemsWithOnlyPartNumbers, + "lineItems" + ); const vehicle = context.getters.order.vehicle; From 9ce34c57a28a7db503357ea2bcdb914d6abaec28 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 24 Apr 2023 10:26:42 -0400 Subject: [PATCH 3/4] CSR-1104 | Fix child parts not being priced --- src/store/index.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 3c51c202e..a3757b2f9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1472,8 +1472,8 @@ 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 +1675,16 @@ 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) { From 92329cb47057eb49a9cc93a65069c3555b6cfe6e Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 24 Apr 2023 10:29:00 -0400 Subject: [PATCH 4/4] CSR-1104 | Fix Formatting --- src/store/index.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index a3757b2f9..73c5e2333 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1472,7 +1472,8 @@ export const actions = { const ctuToUse = serviceZipCodeCtu ? serviceZipCodeCtu : context.getters.order.serviceLocation.zipCodeCtu; - const flattenedLineItemsWithChildParts = getFlattenedArrayOfLineItemsWithChildParts(availableLineItems); + const flattenedLineItemsWithChildParts = + getFlattenedArrayOfLineItemsWithChildParts(availableLineItems); const lineItemsWithOnlyPartNumbers = flattenedLineItemsWithChildParts.map((lineItem) => ({ partNumber: lineItem.partNumber, })); @@ -1678,10 +1679,13 @@ function addPricesToLineItems(lineItems, pricingLineItems) { function getFlattenedArrayOfLineItemsWithChildParts(lineItems) { let flattenedArray = []; - lineItems.forEach(lineItem => { + lineItems.forEach((lineItem) => { flattenedArray.push(lineItem); if (lineItem.childParts) { - flattenedArray = [...flattenedArray, ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts)]; + flattenedArray = [ + ...flattenedArray, + ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts), + ]; } }); return flattenedArray;