diff --git a/src/global-methods.js b/src/global-methods.js index c0823f29a..1156aec20 100644 --- a/src/global-methods.js +++ b/src/global-methods.js @@ -5,7 +5,13 @@ import httpStatusCodes from "http-status-codes"; export default { callHttpClient({ method, endpoint, payload }) { return new Promise((resolve, reject) => { - const apiGatewayUrl = applicationConfig.CONSUMER_APIGATEWAY_URL; + let apiGatewayUrl = applicationConfig.CONSUMER_APIGATEWAY_URL; + + if (endpoint.includes("order")) { + apiGatewayUrl = "https://localhost:44346"; + } + + // const apiGatewayUrl = applicationConfig.CONSUMER_APIGATEWAY_URL; const payloadAndAnalyticsData = Object.assign({}, payload, { AppName: "FixMyGlass", diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 724b13f7d..145df2e2b 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -12,7 +12,7 @@ import router from "@/router"; the user has an existing order and they come back in from the Safelite.com CTA. */ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHeritageOrder = false) { - + console.log("B") // If the user is coming in via the Safelite.Com CTA if (toRoute.query[queryStrings.START_TYPE] === 'fmg') { // If they have an existing order, return 'heritage' for the page name. @@ -40,7 +40,7 @@ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHerita Used to navigate to the heritage funnel with the correct query string and url. */ -export async function navigateToHeritageFunnel() { +export async function navigateToHeritageFunnel(suppressConceptFunnel = false) { // Create the order (or save existing order) when navigating to Heritage Funnel. await saveOrder(); @@ -49,6 +49,7 @@ export async function navigateToHeritageFunnel() { { corid: store.getters.order.referralCorrelationId, src: "concept-funnel", + suppressConceptFunnel: suppressConceptFunnel } ); } diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index 543a02bef..73a43acb3 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -77,7 +77,7 @@ import { required } from "@/helpers/validation-rules"; import { errorMessages } from "@/constants/error-messages"; import { damageLocationsCms } from "@/constants/damage-locations-cms.js"; import { damageLocationsSelected } from "@/constants/damage-locations-selected.js"; -import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; +// import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; import store from "@/store"; import baseMixin from "@/mixins/base-mixin"; @@ -279,14 +279,6 @@ export default { }, navigateForward(partsData){ - - // Temporary easter egg to navigate to heritage funnel. - const vehicleYearsToShowHeritageFunnel = [ 2001, 2002, 2010, 2016 ]; - if (vehicleYearsToShowHeritageFunnel.includes(store.getters.vehicle.year)) { - navigateToHeritageFunnel(); - return; - } - // If vin already exists, navigate directly to vin-lookup if(this.$store.getters.vehicle.vin){ this.$router.navigate(this.navigationScenarios.CLICKED_FORWARD_WITH_VIN, this.$route); diff --git a/src/layouts/vehicle-year/vehicle-year.vue b/src/layouts/vehicle-year/vehicle-year.vue index 96f62409c..6986eee71 100644 --- a/src/layouts/vehicle-year/vehicle-year.vue +++ b/src/layouts/vehicle-year/vehicle-year.vue @@ -43,6 +43,8 @@ export default { const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage); const yearQuestionInitialDataPromise = yearQuestion.methods.loadInitialData(); + console.log("A") + // Log experiment exposure const logExperimentExposurePromise = baseMixin.methods.dispatchNonBlockingStoreAction(storeActions.LOG_EXPERIMENT_EXPOSURE, { diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index c3a1bbc33..5defba476 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -116,6 +116,7 @@ import { storeMutations } from "@/constants/store-mutations"; import { errorMessages } from "@/constants/error-messages"; import { required, regex } from "@/helpers/validation-rules"; import { Form, defineRule } from "vee-validate"; +import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; // DEFINE VALIDATION RULES defineRule("zip-required", required(errorMessages.ZIP_REQUIRED)); @@ -127,6 +128,7 @@ defineRule("vin-format", regex(/^[A-HJ-NPR-Z0-9]{17}$/, errorMessages.VIN_FORMAT export default { name: "vin-lookup", async beforeRouteEnter(to, from, next) { + console.log("C") // Call APIs const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage); @@ -180,19 +182,23 @@ export default { this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route); }, async forwardButtonAction() { + console.log("1") const zipValidation = await this.validateZip(this.zip); if (!zipValidation.data.isServiceable) { + console.log("2") this.customAlertData.zip = this.zip; this.$refs.funnelFooter.removeLoader(); this.noServiceZip = true; return; } const vinLookup = await this.lookupVin(this.vin).catch(() => { + console.log("3") this.$refs.funnelFooter.removeLoader(); this.noMatchAlert = true; return; }); if (vinLookup.data.carId !== store.getters.vehicle.carId) { + console.log("4") this.customAlertData.vehicleInfo = vinLookup.data.vehicle; this.$refs.funnelFooter.removeLoader(); this.foundWindshieldAlert = true; @@ -213,6 +219,14 @@ export default { this.navigateForward(partsData); }, navigateForward(partsData){ + console.log("5") + // Temporary easter egg to navigate to heritage funnel. + const vehicleYearsToShowHeritageFunnel = [ 2001, 2002, 2010, 2016 ]; + if (vehicleYearsToShowHeritageFunnel.includes(store.getters.vehicle.year)) { + navigateToHeritageFunnel(); + return; + } + if(partsData.data.partsOrQuestions[0].partQuestions && partsData.data.partsOrQuestions[0].partQuestions.length > 0){ this.$router.navigateAfterSave(this.navigationScenarios.CONTINUING_WITH_PARTS_QUESTION, this.$route, {}, {}, partsData.data); return; diff --git a/src/router/index.js b/src/router/index.js index 1d46eec5f..7b03fd097 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -212,6 +212,9 @@ function navigateToUrl(url, optionalQuery = {}) { ///////////////////////////////////////////////////// if (externalUrl.search.indexOf("corid=") != -1) externalUrl.search = externalUrl.search + '&experiments=CollectEmailOnQuote=CollectEmailOnQuote_V1=YesCollectEmail_TEST1=true,RemoveServiceAreaPage=ServAreaRemoval_V7=ServAreaNoRemove_V7_TEST=true,VINeducationV2=VINeducation_V2=NoShowVINmodalV2_CONTROL=true,ServicePackages=ServicePackages_V1=NoShowPackages_CONTROL=true,PhotoUploadRedesign=PhotoUploadRedesign_V1=CurrentPhotoUpload_CONTROL=true,ScheduleDetailsServiceType=ScheduleBeforeServiceType_V1=ServTypeThenSched_CONTROL=true'; + + // TODO REMOVE + externalUrl.search += ",ConceptFunnel=ConceptFunnel_V1=ConceptFunnel_TEST=true" ///////////// END TEMP CODE ///////////////////////// window.location.assign(externalUrl); diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 999bc1184..792f2f9bd 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -59,7 +59,8 @@ const routingTable = [ }, { scenario: navigationScenarios.CLICKED_FORWARD_WITH_VIN, - destinationFmgPageValue: fmgPageValues.VIN_LOOKUP, + // destinationFmgPageValue: fmgPageValues.VIN_LOOKUP, + destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP, }, { scenario: navigationScenarios.SELECTED_DAMAGE_WITH_SINGLE_PART, diff --git a/src/store/index.js b/src/store/index.js index 6bda6ab13..6a9db85c9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -15,7 +15,7 @@ const getDefaultState = () => { model: null, style: null, carId: null, - category: null, + category: null, vin: null, imageUrl: null, imageVifNumber: null, @@ -200,6 +200,7 @@ export const mutations = { // Misc Mutations updateStateWithOrderInformation(state, orderInformation) { + console.log(orderInformation) state.order.referralNumber = orderInformation.referralNumber; state.order.referralDate = orderInformation.referralDate; state.order.referralCorrelationId = orderInformation.referralCorrelationId; @@ -215,6 +216,9 @@ export const mutations = { imageUrl: orderInformation.vehicle?.imageUrl, imageVifNumber: orderInformation.vehicle?.imageVifNumber, imageColor: orderInformation.vehicle?.imageVifColor, + registration: { + zipCode: orderInformation.zipCode // TODO CSR-416 make sure customer vs service is different + } }); state.order.damage.glassToReplace = orderInformation.glassToReplace; @@ -223,10 +227,12 @@ export const mutations = { state.order.lineItems.glassParts = orderInformation.parts; state.order.accountNumber = orderInformation.accountNumber; - state.order.serviceLocation.zipCode = orderInformation.zipCode; + state.order.serviceLocation.zip = orderInformation.zipCode; // TODO CSR-416 make sure customer vs service is different state.order.payment.isInsurance = orderInformation.IsInsuranceOrder; state.order.payment.insuranceCoverage.isVerified = orderInformation?.insuranceInfo.coverageVerified; + + state.order.customer.emailAddress = orderInformation.emailAddress } } @@ -463,6 +469,7 @@ export const actions = { saveOrder(context) { const vehicle = context.getters.vehicle; const damage = context.getters.damage; + const order = context.state.order; return globalMethods.callHttpClient({ method: endpoints.SaveOrder.method, @@ -474,14 +481,28 @@ export const actions = { make: vehicle.make, model: vehicle.model, style: vehicle.style, - vin: vehicle.vin + vin: vehicle.vin, + registration: { + firstName: vehicle.registration.firstName, + lastName: vehicle.registration.lastName, + licensePlate: vehicle.registration.licensePlate, + zipCode: vehicle.registration.zipCode + }, }, - numberOfChips: damage.numberOfChips, - zipCode: 43215, // TODO CSR-416, should not be hardcoded (state.order.serviceLocation.zipCode) - glassToReplace: damage.glassToReplace, - referralNumber: context.state.order.referralNumber, - referralDate: context.state.order.referralDate, - accountNumber: context.state.order.accountNumber + damage: { + numberOfChips: damage.numberOfChips, + glassToReplace: damage.glassToReplace, + isRepair: damage.isRepair + }, + customer: { + emailAddress: order.customer.emailAddress, + }, + serviceLocation: { + zipCode: order.serviceLocation.zip + }, + referralNumber: order.referralNumber, + referralDate: order.referralDate, + accountNumber: order.accountNumber }, }); },