diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 594227f7b..f99ea660d 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -192,6 +192,10 @@ const endpoints = { url: "/account/api/v1/account/bill-to-account-number", method: "GET", }, + AddDonationPart: { + url: "/order/api/v1/order/add-donation-part", + method: "POST", + }, }; export { endpoints }; diff --git a/src/store/index.js b/src/store/index.js index 36a459d80..97a31068e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1899,96 +1899,48 @@ export const actions = { pageNameToLog: pageNameToLog, }); }, - submitDonationPartToSV2( + async submitDonationPartToSV2( context, { payload: { donationAmount, submittedOrder }, pageNameToLog } ) { - donationAmount = parseInt(donationAmount); - /* Request contract - { - "donationAmount": 5, - "savedSessionId": "96b1a16e-410a-4d08-8421-fe36e82b2275", - "paymentInfo": { - "parentAccountNumber": 167132, - "billToAccountNumber": 87291, - "providerNumber": "005819", - "carId": "CR00069266", - "make": "Acura", - "model": "MDX", - "year": 2020, - "eon": "S1820397", - "zipCode": "43015", - "state": "OH", - "referralNumber": "1821895", - "referralDate": "2025-03-20T16:27:38.93", - "referralSequenceNumber": "1821895", - "serviceZipCode": "43015", - "isReplacement": true, - "deductible": 0, - "coverageStatus": null, - "coverageSubStatus": null, - "serverData": "ZtCNOF1tCLQBAx2NRKHE/n/fqD8zUxRfYtDuTu7uUiPpeg7i6TmwXwggssX5KsXVQbeft+PN+vXYfBFJytLVYgbafNDR0JH3izVTIOh7KGTeB6YaPuCJmodF4SfgVVDHD9LEmEH9wNzM9j3pFjgfXehOFH11SH9dNwTkXIbsGzAeu64DRyJsDdpamM/BPOxlJj60S/R8vnUM8mjyM7B9a63NskFI6BCVIh5mxDE4cSMUgb4zFtwvDgTPxJSwXqKShtoY6ryB8n5UPNkG/Z5tjVuJ7/8RV7WrURM7PN7xLfp6pVEeipWyeFnVEK33G9JOuB6yH75jPO6vMCYRNi0p0pg6laasFDy3hmfuy2W/N0qtcJLVa5N0bUMFFuPQusyEeqsEZ/zx1Srlvsk7i0DF8pTyBcm3JTF5BOWm60wg3ntEOqfRuQqzFc5updILwLAIp39CwJG/fs5Mj3HCDcUKwYlK70fAARtJwFu7wI0vqW5bUSUvJkvm1JRPlyWJ8JNY4Oq1apYqhZS9bps5ofgiOYJbBhPEboEnVukoTkQiYjgbMtBwVGKGL2nNEd77osoEg1KXhEQS+0KD3PoUu/bZkGub6FNGE6iKeFPt9gDSs+S21s22rVSaZkgaoC6SkufPpN6aV78Jx69nMIDd4go4pj2IJX4kS1pD1NEOSWjN4bgVKAtV6/bxBvhNJwnqUE+mE8eAmULsezub4LMhPqA58y/ZlO44jt/qkAw9nuVDRPBve+TdJTotID5dIqJJd6/vkDoHTVaSrbkCBbdG6d9By8AEbKuVrQS/+VurUnYEd2TGahPbOyRdNlud8RB4+4af0ZRFmiKkr6ppa5IbHbTIZ2qtyeOSbIOkv8O7xK/GL6e6Iaaz0wDHaQZC4Ea8FczjpFOlQgixfYcYJBb/W2db+uRvZ3lftVyJ/d082CGbYplOa+aTxymVcQSjBRbXzs6GZ2ytDqRYcRe94F9x/XSVj7g+mih7VS+YH0eOEp0ViTuWP8B1dVnOV5yTkdMbr8n9Q82G4v5brtQdiMDMY3HS6mxPb1IiKiqFX6Jgju8sIMxkJFZQ3iIkAJuOqUYkG1ZW7s4uI6hT46bRqzYaQA18CFu56qaMblOBFuxlJIsYsnMePh2xAH89oay5Kc88xwT2T/4+dzYQ0CqhQ4MTBB7nXelav2rMCjaLQ/V/a5r1TnLr2n0GbvODQeNl97qzi5lDYKlnuF8nOfOqZNOsPSsrsk3UZJJYZwNxDZaweHIeeg5P2ZW5agswPx/U5DkU1MzE1VAQ+DQAenaE2SLo4dSPBHMmt2gLpgu0LaCuzTR2IL/EM+Tpdn/Pcv1E7lPJIycIIwO7QGJcVkwCx8CJ/WCo6xDMq+9zjSVbqAaL5MzySZCeFCMyZxvEk7qXig6rflB3K3Jay4qSFjBxBXhOEuT6zKXyhR41IXRtZRmtPkscypFEUXvR5nJV7AQUIbljGEcikOLmSiCEnl8dI2Ny9xCHLOro8UXqVUy8dHGmTRGTE/mS1JNZ3y4XaZSyHcABVWbZcR3KIXVxd6rtUA/pBvWpbq8nH3WWlJGqkoxUVEridtXqcBuzTKg3/i6vLs0/pHGwdM38XizKcIxykvJrur3vEQ==" - } - } - */ + const state = JSON.parse( + window.sessionStorage.getItem(sessionStorageKeyConstants.SUBMITTED_STATE) + ); + const order = state.order; + const payload = { + donationAmount: parseInt(donationAmount), + savedSessionId: state.applicationUser.savedSessionId, + paymentInfo: { + parentAccountNumber: order.payment.parentAccountNumber, + billToAccountNumber: order.payment.billToAccountNumber, + providerNumber: order.serviceLocation.provider.providerNumber, + carId: order.vehicle.carId, + make: order.vehicle.make, + model: order.vehicle.model, + year: order.vehicle.year, + eon: order.eon, + zipCode: order.serviceLocation.zipCode, + state: order.serviceLocation.state, + referralNumber: order.referralNumber, + referralDate: order.referralDate, + referralSequenceNumber: order.referralSequenceNumber, + serviceZipCode: order.serviceLocation.zipCode, + isReplacement: !order.damage.isRepair, + deductible: order.policy.currentDeductible, + coverageStatus: order.payment.insuranceCoverage.coverageStatus, + coverageSubStatus: order.payment.insuranceCoverage.coverageSubStatus, + serverData: order.lineItems.serverData, + }, + }; - /* Uncomment and use when endpoint integration is finalized - return globalMethods.callHttpClient({ + const response = await globalMethods.callHttpClient({ method: endpoints.AddDonationPart.method, endpoint: endpoints.AddDonationPart.url, - payload: { - donationAmount: donationAmount, - savedSessionId: "96b1a16e-410a-4d08-8421-fe36e82b2275", - paymentInfo: { - parentAccountNumber: submittedSessionData.parentAccountNumber, - billToAccountNumber: submittedSessionData.billToAccountNumber, - providerNumber: submittedSessionData.providerNumber, - carId: "CR00069266", - make: "Acura", - model: "MDX", - year: 2020, - eon: "S1820397", - zipCode: "43015", - state: "OH", - referralNumber: "1821895", - referralDate: "2025-03-20T16:27:38.93", - referralSequenceNumber: "1821895", - serviceZipCode: "43015", - isReplacement: true, - deductible: 0, - coverageStatus: null, - coverageSubStatus: null, - serverData: "ZtCNOF1tCLQBAx2NRKHE/n/fqD8zUxRfYtDuTu7uUiPpeg7i6TmwXwggssX5KsXVQbeft+PN+vXYfBFJytLVYgbafNDR0JH3izVTIOh7KGTeB6YaPuCJmodF4SfgVVDHD9LEmEH9wNzM9j3pFjgfXehOFH11SH9dNwTkXIbsGzAeu64DRyJsDdpamM/BPOxlJj60S/R8vnUM8mjyM7B9a63NskFI6BCVIh5mxDE4cSMUgb4zFtwvDgTPxJSwXqKShtoY6ryB8n5UPNkG/Z5tjVuJ7/8RV7WrURM7PN7xLfp6pVEeipWyeFnVEK33G9JOuB6yH75jPO6vMCYRNi0p0pg6laasFDy3hmfuy2W/N0qtcJLVa5N0bUMFFuPQusyEeqsEZ/zx1Srlvsk7i0DF8pTyBcm3JTF5BOWm60wg3ntEOqfRuQqzFc5updILwLAIp39CwJG/fs5Mj3HCDcUKwYlK70fAARtJwFu7wI0vqW5bUSUvJkvm1JRPlyWJ8JNY4Oq1apYqhZS9bps5ofgiOYJbBhPEboEnVukoTkQiYjgbMtBwVGKGL2nNEd77osoEg1KXhEQS+0KD3PoUu/bZkGub6FNGE6iKeFPt9gDSs+S21s22rVSaZkgaoC6SkufPpN6aV78Jx69nMIDd4go4pj2IJX4kS1pD1NEOSWjN4bgVKAtV6/bxBvhNJwnqUE+mE8eAmULsezub4LMhPqA58y/ZlO44jt/qkAw9nuVDRPBve+TdJTotID5dIqJJd6/vkDoHTVaSrbkCBbdG6d9By8AEbKuVrQS/+VurUnYEd2TGahPbOyRdNlud8RB4+4af0ZRFmiKkr6ppa5IbHbTIZ2qtyeOSbIOkv8O7xK/GL6e6Iaaz0wDHaQZC4Ea8FczjpFOlQgixfYcYJBb/W2db+uRvZ3lftVyJ/d082CGbYplOa+aTxymVcQSjBRbXzs6GZ2ytDqRYcRe94F9x/XSVj7g+mih7VS+YH0eOEp0ViTuWP8B1dVnOV5yTkdMbr8n9Q82G4v5brtQdiMDMY3HS6mxPb1IiKiqFX6Jgju8sIMxkJFZQ3iIkAJuOqUYkG1ZW7s4uI6hT46bRqzYaQA18CFu56qaMblOBFuxlJIsYsnMePh2xAH89oay5Kc88xwT2T/4+dzYQ0CqhQ4MTBB7nXelav2rMCjaLQ/V/a5r1TnLr2n0GbvODQeNl97qzi5lDYKlnuF8nOfOqZNOsPSsrsk3UZJJYZwNxDZaweHIeeg5P2ZW5agswPx/U5DkU1MzE1VAQ+DQAenaE2SLo4dSPBHMmt2gLpgu0LaCuzTR2IL/EM+Tpdn/Pcv1E7lPJIycIIwO7QGJcVkwCx8CJ/WCo6xDMq+9zjSVbqAaL5MzySZCeFCMyZxvEk7qXig6rflB3K3Jay4qSFjBxBXhOEuT6zKXyhR41IXRtZRmtPkscypFEUXvR5nJV7AQUIbljGEcikOLmSiCEnl8dI2Ny9xCHLOro8UXqVUy8dHGmTRGTE/mS1JNZ3y4XaZSyHcABVWbZcR3KIXVxd6rtUA/pBvWpbq8nH3WWlJGqkoxUVEridtXqcBuzTKg3/i6vLs0/pHGwdM38XizKcIxykvJrur3vEQ==" - } - }, + payload: payload, logApiCall: true, pageNameToLog: pageNameToLog, }); - */ - - /* Response contract - { - "wasSuccessful": true, - "wasLocked": true - } - */ - let result; - - switch (donationAmount) { - case 1: - result = { wasSuccessful: true, wasLocked: false }; - break; - case 3: - result = { wasSuccessful: false, wasLocked: true }; - break; - case 5: - result = { wasSuccessful: false, wasLocked: false }; - break; - default: - result = { wasSuccessful: null, wasLocked: null }; // Default case if amount doesn't match - } - - return result; + return response.data; }, getPartFromCapabilityQuestionAnswer(context, { payload, pageNameToLog }) { @@ -3302,38 +3254,22 @@ export const actions = { }, addDonationToSubmittedState(context, donationAmount) { - console.log("running addDonationToSubmittedOrder()... donationAmount: ", donationAmount); - const submittedOrder = deepClone(baseMixin.methods.getSubmittedOrder()); const submittedApplicationUser = deepClone(baseMixin.methods.getSubmittedApplicationUser()); - if (donationAmount > 0) { - console.log( - "running addDonationToSubmittedOrder()... adding donation to supportingItems in session storage " - ); - submittedOrder.lineItems.supportingItems.push({ - partNumber: `DONATION_${donationAmount}`, - description: `DONATION $${donationAmount}`, - partType: partTypeStrings.DONATION, - isInsurable: false, - isChildPart: false, - laborAmount: 0, - sellingPrice: donationAmount, - kitPrice: 0, - salesTax: 0, - id: `donation-${donationAmount}`, - }); - } else { - // filter out all donations - console.log( - "running addDonationToSubmittedOrder()... removing all donation items in supportingItems in session storage " - ); + submittedOrder.lineItems.supportingItems.push({ + partNumber: `DONATION_${donationAmount}`, + description: `DONATION $${donationAmount}`, + partType: partTypeStrings.DONATION, + isInsurable: false, + isChildPart: false, + laborAmount: 0, + sellingPrice: donationAmount, + kitPrice: 0, + salesTax: 0, + }); - const nonDonationItems = submittedOrder.lineItems.supportingItems.filter((item) => { - return item.partType !== "DONATION"; - }); - submittedOrder.lineItems.supportingItems = nonDonationItems; - } + addGuidToLineItemsIfNotAlreadyThere(submittedOrder.lineItems.supportingItems); const submittedState = { order: submittedOrder,