import { ClaimRequiredDocumentType } from "src/Types&Enums/claim-request-management/required-document-type.enum"; const REQUIRED_VALUES = new Set( 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; }