Removing payment store

This commit is contained in:
Michaela Brydon 2024-03-08 11:57:32 -05:00
parent 0db6eb1090
commit 1f422a93ca

View file

@ -1,105 +0,0 @@
import { defineStore } from 'pinia';
import { endpoints } from '@/constants/endpoints';
import globalMethods from '@/global-methods';
import applicationConfig from '@/constants/application-config';
import coverageStatuses from '@/constants/coverage-statuses';
import { useMainStore } from '@/store';
const paymentStoreId = 'payment';
function getLineItemQueryStringForPricing(lineItems) {
return lineItems.map((lineItem, index) => {
let queryStringSnippet = `&LineItems[${index}].partNumber=${lineItem.partNumber}`;
if (lineItem.childParts) {
queryStringSnippet += getLineItemQueryStringForPricing(lineItem.childParts);
}
return queryStringSnippet;
}).join('');
}
function getPricedLineItems(lineItems, pricingLineItems) {
return lineItems.map((lineItem) => {
const updatedLineItem = lineItem;
updatedLineItem.childParts = lineItem.childParts.map((childItem) => getPricedLineItems(childItem, pricingLineItems));
const lineItemIndex = pricingLineItems.findIndex((pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber);
if (lineItemIndex > -1) {
const pricedLineItem = pricingLineItems[lineItemIndex];
updatedLineItem.laborAmount = pricedLineItem.laborAmount;
updatedLineItem.sellingPrice = pricedLineItem.sellingPrice;
updatedLineItem.kitPrice = pricedLineItem.kitPrice;
}
return updatedLineItem;
});
}
const usePaymentStore = defineStore({
id: paymentStoreId,
state: () => ({
deductible: null,
coverageStatus: coverageStatuses.PENDING,
isITAC: false,
isNoComp: false,
baseServiceLineItems: null,
supportingItems: null
}),
getters: {},
actions: {
setBaseServiceLineItems() {
this.baseServiceLineItems = [];
},
async getPriceOrderItems(availableLineItems) {
const { zipCode, zipCodeCtu } = useMainStore().order.serviceLocation;
const availableLineItemsFormattedForRequest = getLineItemQueryStringForPricing(availableLineItems);
const deductibleToUse = this.currentDeductible ?? 0;
let queryString =
`ParentAccountNumber=${useMainStore().order.accountNumber}`
+ `&CTU=${zipCodeCtu}`
+ `&Deductible=${deductibleToUse}`
+ `&ZipCode=${zipCode}`
+ `${availableLineItemsFormattedForRequest}`;
const lineItemServerData = useMainStore().lineItems?.serverData;
queryString += lineItemServerData ? `&ServerData=${encodeURIComponent(lineItemServerData)}` : '';
const response = await globalMethods
.callHttpClient({
method: endpoints.GetInsurancePriceOrderItems.method,
endpoint: `${endpoints.GetInsurancePriceOrderItems.url}?${queryString}`
}).catch((error) => {
console.error(error);
throw error;
});
if (response.data?.lineItems) {
const returnedAvailableLineItems = getPricedLineItems(availableLineItems, response.data.lineItems);
return returnedAvailableLineItems;
}
return availableLineItems;
},
async setSupportingItems() {
const glassPartsArray = useMainStore().lineItems.glassParts ?? [];
const { carId } = useMainStore().vehicle;
const { isRepair, numberOfChips } = useMainStore().damage;
this.supportingItems = await globalMethods
.callHttpClient({
method: endpoints.GetSupportingItems.method,
endpoint: endpoints.GetSupportingItems.url,
payload: {
carId,
damageType: isRepair ? 'Repair' : 'Replace',
parentAccountNumber: applicationConfig.CASH_PARENT_ACCOUNT_NUMBER,
parts: glassPartsArray,
numberOfRepairChips: isRepair ? numberOfChips : 0
}
});
}
},
persist: true
});
export { usePaymentStore };