SSR-1632 Update getServiceabilityDetails for API Changes
This commit is contained in:
parent
dc357dbc36
commit
edd1dcc4f8
2 changed files with 36 additions and 7 deletions
|
|
@ -43,3 +43,24 @@ export function getTaxLineItemQueryString(lineItems, parameterName) {
|
|||
+ `&${parameterName}[${index}].kitPrice=${lineItem.kitPrice}`).join('&');
|
||||
return queryString.length !== 0 ? `&${queryString}` : '';
|
||||
}
|
||||
|
||||
export function buildURLSearchParams(data) {
|
||||
const params = new URLSearchParams();
|
||||
Object.entries(data).forEach(([key, value]) => {
|
||||
if (Array.isArray(value)) {
|
||||
value.forEach((arrayValue, index) => {
|
||||
if (typeof value === 'object') {
|
||||
Object.entries(arrayValue).forEach(([objectKey, objectValue]) => {
|
||||
params.append(`${key}[${index}].${objectKey}`, `${objectValue}`);
|
||||
});
|
||||
} else {
|
||||
params.append(`${key}[${index}]`, `${value}`);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
params.append(key, `${value}`);
|
||||
}
|
||||
});
|
||||
|
||||
return params;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import bailoutCode from '@/constants/bailoutCode';
|
|||
import partNumberStrings from '@/constants/part-number-strings';
|
||||
import { findLineItemIndex, getLineItemsFlattened } from '@/helpers/line-items-helper';
|
||||
import {
|
||||
buildQueryStringParameterFromArrayOfComplexObjects,
|
||||
buildQueryStringParameterFromArrayOfComplexObjects, buildURLSearchParams,
|
||||
getLineItemQueryString,
|
||||
getPartNumbersListForQueryString,
|
||||
getTaxLineItemQueryString
|
||||
|
|
@ -1276,18 +1276,26 @@ export const useMainStore = defineStore({
|
|||
},
|
||||
|
||||
getServiceabilityDetails({ serviceZipCode }) {
|
||||
const lineItems = getLineItemQueryString(this.order.lineItems.supportingItems, 'lineItems');
|
||||
|
||||
const { vehicle } = this.order;
|
||||
const { vehicle, damage, parentAccountNumber, referralSequenceNumber, lineItems } = this.order;
|
||||
const { carId } = vehicle;
|
||||
const { damage } = this.order;
|
||||
const glassArray = convertGlassPieceNamingForApi(damage.glassToReplace);
|
||||
const lineItemParts = [...lineItems.glassParts, ...lineItems.supportingItems].map((part) => ({
|
||||
partNumber: part.partNumber,
|
||||
recalibrationType: part.recalibrationType
|
||||
}));
|
||||
|
||||
const glassPieces = buildQueryStringParameterFromArrayOfComplexObjects(glassArray, 'glassPieces');
|
||||
const params = buildURLSearchParams({
|
||||
parentAccountNumber,
|
||||
referralSequenceNumber,
|
||||
zip: serviceZipCode,
|
||||
carId,
|
||||
glassPieces: glassArray,
|
||||
lineItems: lineItemParts
|
||||
});
|
||||
|
||||
return globalMethods.callHttpClient({
|
||||
method: endpoints.GetServiceabilityDetails.method,
|
||||
endpoint: `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&carId=${carId}${lineItems}&${glassPieces}`
|
||||
endpoint: `${endpoints.GetServiceabilityDetails.url}?${params.toString()}`
|
||||
});
|
||||
},
|
||||
lookupVehicleByVin(vin) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue