Merge pull request #1068 from Safelite/feature/CSR-1104
CSR-1104 | Query string parameter builder function
This commit is contained in:
commit
6b9eaf9bf4
1 changed files with 21 additions and 4 deletions
|
|
@ -938,12 +938,18 @@ export const actions = {
|
||||||
},
|
},
|
||||||
|
|
||||||
getServiceabilityDetails(context, { serviceZipCode }) {
|
getServiceabilityDetails(context, { serviceZipCode }) {
|
||||||
const lineItems = context.getters.order.lineItems;
|
const lineItemsWithOnlyPartNumbers = context.getters.order.lineItems.supportingItems.map(
|
||||||
const lineItemsToSend = [...lineItems.supportingItems];
|
(lineItem) => ({
|
||||||
const encodedLineItems = encodeURIComponent(JSON.stringify(lineItemsToSend));
|
partNumber: lineItem.partNumber,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
const lineItemsToSend = buildQueryStringParameterFromArrayOfComplexObjects(
|
||||||
|
lineItemsWithOnlyPartNumbers,
|
||||||
|
"lineItems"
|
||||||
|
);
|
||||||
return globalMethods.callHttpClient({
|
return globalMethods.callHttpClient({
|
||||||
method: endpoints.GetServiceabilityDetails.method,
|
method: endpoints.GetServiceabilityDetails.method,
|
||||||
endpoint: `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&lineItems=${encodedLineItems}`,
|
endpoint: `${endpoints.GetServiceabilityDetails.url}?zip=${serviceZipCode}&${lineItemsToSend}`,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1674,3 +1680,14 @@ function getLineItemQueryStringForPricing(lineItems) {
|
||||||
})
|
})
|
||||||
.join("");
|
.join("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) {
|
||||||
|
let queryStringParameter = "";
|
||||||
|
for (let i = 0; i < arrayOfObjects.length; i++) {
|
||||||
|
for (const [key, value] of Object.entries(arrayOfObjects[i])) {
|
||||||
|
queryStringParameter += `${parameterName}[${i}].${key}=${value}&`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Remove trailing &
|
||||||
|
return queryStringParameter.slice(0, -1);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue