forked from Yara724/api
43 lines
2.1 KiB
TypeScript
43 lines
2.1 KiB
TypeScript
import { ClaimRequiredDocumentType } from "src/Types&Enums/claim-request-management/required-document-type.enum";
|
|
|
|
const REQUIRED_VALUES = new Set<string>(
|
|
Object.values(ClaimRequiredDocumentType),
|
|
);
|
|
|
|
/**
|
|
* Non-canonical document keys that may still appear on stored
|
|
* `evaluation.damageExpertResend.resendDocuments` → {@link ClaimRequiredDocumentType}.
|
|
*/
|
|
const RESEND_DOCUMENT_KEY_ALIASES = {
|
|
// existing entries
|
|
nationalCertificate: ClaimRequiredDocumentType.NATIONAL_CARD,
|
|
NationalCertificate: ClaimRequiredDocumentType.NATIONAL_CARD,
|
|
national_card: ClaimRequiredDocumentType.NATIONAL_CARD, // ← add
|
|
drivingLicense: ClaimRequiredDocumentType.DAMAGED_DRIVING_LICENSE_FRONT,
|
|
DrivingLicense: ClaimRequiredDocumentType.DAMAGED_DRIVING_LICENSE_FRONT,
|
|
driving_license: ClaimRequiredDocumentType.DAMAGED_DRIVING_LICENSE_FRONT, // ← add
|
|
carGreenCard: ClaimRequiredDocumentType.CAR_GREEN_CARD,
|
|
CarGreenCard: ClaimRequiredDocumentType.CAR_GREEN_CARD,
|
|
car_green_card: ClaimRequiredDocumentType.CAR_GREEN_CARD, // ← add (redundant but safe)
|
|
carCertificate: ClaimRequiredDocumentType.DAMAGED_CAR_CARD_FRONT,
|
|
CarCertificate: ClaimRequiredDocumentType.DAMAGED_CAR_CARD_FRONT,
|
|
car_certificate: ClaimRequiredDocumentType.CAR_CERTIFICATE, // ← add
|
|
plate: ClaimRequiredDocumentType.DAMAGED_METAL_PLATE,
|
|
carPlate: ClaimRequiredDocumentType.DAMAGED_METAL_PLATE,
|
|
CarPlate: ClaimRequiredDocumentType.DAMAGED_METAL_PLATE,
|
|
// capture-phase docs — already in REQUIRED_VALUES so these are just safety nets
|
|
damaged_chassis_number: ClaimRequiredDocumentType.DAMAGED_CHASSIS_NUMBER,
|
|
damaged_engine_photo: ClaimRequiredDocumentType.DAMAGED_ENGINE_PHOTO,
|
|
damaged_metal_plate: ClaimRequiredDocumentType.DAMAGED_METAL_PLATE,
|
|
};
|
|
|
|
/** Normalize a single key to a {@link ClaimRequiredDocumentType} value, or null if unknown. */
|
|
export function canonicalizeResendDocumentKey(
|
|
raw: string,
|
|
): ClaimRequiredDocumentType | null {
|
|
const t = String(raw || "").trim();
|
|
if (!t) return null;
|
|
if (REQUIRED_VALUES.has(t)) return t as ClaimRequiredDocumentType;
|
|
return RESEND_DOCUMENT_KEY_ALIASES[t] ?? null;
|
|
}
|