DigitalConsumer.ISS/src/helpers/policy-vehicle-helper.js
2026-04-20 09:45:11 -04:00

45 lines
1.6 KiB
JavaScript

import endorsementOptions from '@/constants/endorsement-options';
import endorsementCodes_LibertyMutual from '@/constants/endorsement-codes';
export function noCoverageForSelectedVehicle(vehicle) {
return (vehicle?.coverages?.length ?? 0) === 0;
}
export function deductibleForSelectedVehicle(vehicle) {
if (!vehicle) {
return undefined;
}
return vehicle.coverages?.length ?? false
? vehicle?.coverages[0].deductible
: 0;
}
export function endorsementsForSelectedVehicle(vehicle) {
if (vehicle?.endorsements?.length > 0) {
return vehicle.endorsements;
}
return [];
}
export function endorsementCodesForSelectedVehicle(vehicle) {
if (vehicle?.endorsements?.length === 1) {
switch (true) {
case vehicle.endorsements.includes(endorsementOptions.EDUCATOR):
return endorsementCodes_LibertyMutual.EDUCATOR;
case vehicle.endorsements.includes(endorsementOptions.PARKING_GUARD):
return endorsementCodes_LibertyMutual.PARKING_GUARD;
}
}
else if (vehicle?.endorsements?.length > 1) {
let codes = [];
if (vehicle.endorsements.includes(endorsementOptions.EDUCATOR)) {
codes.push(endorsementCodes_LibertyMutual.EDUCATOR);
}
if (vehicle.endorsements.includes(endorsementOptions.PARKING_GUARD)) {
codes.push(endorsementCodes_LibertyMutual.PARKING_GUARD);
}
return codes.join(',');
}
return "";
}
export function repairWaivedForSelectedVehicle(vehicle) {
return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false;
}