More robust handling of vehicle YMMS lookup errors

This commit is contained in:
Alex Humphries 2024-12-20 13:58:31 -05:00
parent dd6ba9b00a
commit 009f219415
2 changed files with 62 additions and 8 deletions

View file

@ -65,10 +65,28 @@ const bailoutMessage = Object.freeze({
code: bailoutCode.SafeliteNotTheProvider,
message: 'User selected to continue a referral where a TPA shop was previously selected.'
}),
vehicleYMMSLookupError: (year, make, model, style, error) => ({
code: bailoutCode.VehicleYMMSLookupError,
message: `An error occurred looking up Year: ${year}, Make: ${make}, Model: ${model}, Style: ${style}. Error: ${getItemData(error)}`
}),
vehicleYMMSLookupError: (year, make, model, style, error) => {
let message;
if(!year) {
message = `An error occured looking up vehicle years. Error: ${getItemData(error)}`;
}
else if (!make) {
message = `An error occured looking up vehicle makes for Year: ${year}. Error: ${getItemData(error)}`;
}
else if (!model) {
message = `An error occured looking up vehicle models for Year: ${year}, Make: ${make}. Error: ${getItemData(error)}`;
}
else if (!style) {
message = `An error occured looking up vehicle styles for Year: ${year}, Make: ${make}, Model: ${model}. Error: ${getItemData(error)}`;
}
else {
message = `An error occurred looking up a vehicle with Year: ${year}, Make: ${make}, Model: ${model}, Style: ${style}. Error: ${getItemData(error)}`
}
return {
code: bailoutCode.VehicleYMMSLookupError,
message: message
}
},
});
export default bailoutMessage;

View file

@ -218,16 +218,52 @@ export default {
});
},
async updateYearValues() {
return useMainStore().getVehicleYears();
return this.mainStore.getVehicleYears().then((response) => {
return response;
},
(error) => {
this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(null, null, null, null, error));
this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT,
this.$route
);
});
},
async updateMakeValues() {
return this.mainStore.getVehicleMakes();
return this.mainStore.getVehicleMakes().then((response) => {
return response;
},
(error) => {
this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, null, null, null, error));
this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT,
this.$route
);
});
},
async updateModelValues() {
return this.mainStore.getVehicleModels();
return this.mainStore.getVehicleModels().then((response) => {
return response;
},
(error) => {
this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, null, null, error));
this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT,
this.$route
);
});
},
async updateStyleValues() {
return this.mainStore.getVehicleStyles();
return this.mainStore.getVehicleStyles().then((response) => {
return response;
},
(error) => {
this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, this.mainStore.vehicle.model, null, error));
this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT,
this.$route
);
});
}
}
};