58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
import bailoutCode from '@/constants/bailoutCode';
|
|
|
|
function getItemData(data) {
|
|
if (data === undefined || data == null) {
|
|
return 'null';
|
|
}
|
|
|
|
if (typeof data === 'string') {
|
|
return data;
|
|
}
|
|
|
|
return JSON.stringify(data);
|
|
}
|
|
|
|
const bailoutMessage = Object.freeze({
|
|
unknown: (error) => ({
|
|
code: bailoutCode.Unknown,
|
|
message: `An unknown bailout occurred: ${getItemData(error)}`
|
|
}),
|
|
saveSessionError: (error) => ({
|
|
code: bailoutCode.SaveSessionError,
|
|
message: `An error occurred during save session: ${getItemData(error)}`
|
|
}),
|
|
vehicleNotFound: (vin) => ({
|
|
code: bailoutCode.VehicleNotFound,
|
|
message: `Failed to find vehicle in system with vin: ${vin}`
|
|
}),
|
|
vehicleLookupError: (vin, error) => ({
|
|
code: bailoutCode.VehicleLookupError,
|
|
message: `An error occurred looking up Vin: ${vin}. Error: ${getItemData(error)}`
|
|
}),
|
|
coverageStatementInvalidState: () => ({
|
|
code: bailoutCode.CoverageStatementInvalidState,
|
|
message: 'Coverage Statement has entered an invalid state'
|
|
}),
|
|
doNotSeeMyShop: () => ({
|
|
code: bailoutCode.DoNotSeeMyShop,
|
|
message: 'User does not see their shop.'
|
|
}),
|
|
pricingResponseError: (lineItems, error) => ({
|
|
code: bailoutCode.PricingResponseError,
|
|
message: `An error occurred in getPriceOrderItems. Line Items: ${getItemData(lineItems)} Error: ${getItemData(error)}`
|
|
}),
|
|
TPANotEnabled: () => ({
|
|
code: bailoutCode.TPANotEnabled,
|
|
message: 'User selected TPA when TPA is not enabled for this client'
|
|
}),
|
|
RequestCallback: () => ({
|
|
code: bailoutCode.RequestCallback,
|
|
message: 'User selected option to receive callback from Safelite'
|
|
}),
|
|
HeavyTruckVehicle: (carId) => ({
|
|
code: bailoutCode.HeavyTruckVehicle,
|
|
message: `User selected a heavy truck vehicle. Car ID: ${carId} `
|
|
})
|
|
});
|
|
|
|
export default bailoutMessage;
|