Merge pull request #1820 from Safelite/feature/csr-1978

Add `isGlassPart` field to schedule requests to match api changes
This commit is contained in:
chloeherdsafelite 2024-04-09 15:03:15 -04:00 committed by GitHub
commit dff0443906
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1487,17 +1487,9 @@ export const actions = {
const order = context.state.order; const order = context.state.order;
const vehicle = context.state.order.vehicle; const vehicle = context.state.order.vehicle;
const payment = context.state.order.payment; const payment = context.state.order.payment;
let lineItems = [
...(order.lineItems.supportingItems ?? []), const lineItems = getFlattenedLineItemsWithGlassPartTag(order.lineItems);
...(order.lineItems.vaps ?? []),
...getFlattenedArrayOfLineItemsWithChildParts(order.lineItems.glassParts),
];
lineItems = lineItems.map((lineItem) => {
return {
partNumber: lineItem.partNumber,
partType: lineItem.partType,
};
});
const glassPieces = order.damage.glassToReplace const glassPieces = order.damage.glassToReplace
? convertGlassPieceToBackEndCompatibleFormat(order.damage.glassToReplace) ? convertGlassPieceToBackEndCompatibleFormat(order.damage.glassToReplace)
: []; : [];
@ -1556,17 +1548,7 @@ export const actions = {
const order = context.state.order; const order = context.state.order;
const vehicle = context.state.order.vehicle; const vehicle = context.state.order.vehicle;
const payment = context.state.order.payment; const payment = context.state.order.payment;
let lineItems = [ const lineItems = getFlattenedLineItemsWithGlassPartTag(order.lineItems);
...(order.lineItems.supportingItems ?? []),
...(order.lineItems.vaps ?? []),
...getFlattenedArrayOfLineItemsWithChildParts(order.lineItems.glassParts),
];
lineItems = lineItems.map((lineItem) => {
return {
partNumber: lineItem.partNumber,
partType: lineItem.partType,
};
});
const glassPieces = order.damage.glassToReplace const glassPieces = order.damage.glassToReplace
? convertGlassPieceToBackEndCompatibleFormat(order.damage.glassToReplace) ? convertGlassPieceToBackEndCompatibleFormat(order.damage.glassToReplace)
: []; : [];
@ -2882,6 +2864,28 @@ function getFlattenedArrayOfLineItemsWithChildParts(lineItems) {
return flattenedArray; return flattenedArray;
} }
function getFlattenedLineItemsWithGlassPartTag(lineItems) {
const nonGlassLineItems = [...(lineItems.supportingItems ?? []), ...(lineItems.vaps ?? [])];
const mappedNonGlassLineItems = nonGlassLineItems.map((lineItem) => {
return {
partNumber: lineItem.partNumber,
partType: lineItem.partType,
isGlassPart: false,
};
});
const glassLineItems = [...getFlattenedArrayOfLineItemsWithChildParts(lineItems.glassParts)];
const mappedGlassLineItems = glassLineItems.map((lineItem) => {
return {
partNumber: lineItem.partNumber,
partType: lineItem.partType,
isGlassPart: true,
};
});
return [...mappedNonGlassLineItems, ...mappedGlassLineItems];
}
function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) { function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) {
let queryStringParameter = ""; let queryStringParameter = "";
for (let i = 0; i < arrayOfObjects.length; i++) { for (let i = 0; i < arrayOfObjects.length; i++) {