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 vehicle = context.state.order.vehicle;
const payment = context.state.order.payment;
let lineItems = [
...(order.lineItems.supportingItems ?? []),
...(order.lineItems.vaps ?? []),
...getFlattenedArrayOfLineItemsWithChildParts(order.lineItems.glassParts),
];
lineItems = lineItems.map((lineItem) => {
return {
partNumber: lineItem.partNumber,
partType: lineItem.partType,
};
});
const lineItems = getFlattenedLineItemsWithGlassPartTag(order.lineItems);
const glassPieces = order.damage.glassToReplace
? convertGlassPieceToBackEndCompatibleFormat(order.damage.glassToReplace)
: [];
@ -1556,17 +1548,7 @@ export const actions = {
const order = context.state.order;
const vehicle = context.state.order.vehicle;
const payment = context.state.order.payment;
let lineItems = [
...(order.lineItems.supportingItems ?? []),
...(order.lineItems.vaps ?? []),
...getFlattenedArrayOfLineItemsWithChildParts(order.lineItems.glassParts),
];
lineItems = lineItems.map((lineItem) => {
return {
partNumber: lineItem.partNumber,
partType: lineItem.partType,
};
});
const lineItems = getFlattenedLineItemsWithGlassPartTag(order.lineItems);
const glassPieces = order.damage.glassToReplace
? convertGlassPieceToBackEndCompatibleFormat(order.damage.glassToReplace)
: [];
@ -2882,6 +2864,28 @@ function getFlattenedArrayOfLineItemsWithChildParts(lineItems) {
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) {
let queryStringParameter = "";
for (let i = 0; i < arrayOfObjects.length; i++) {