forked from Yara724/api
36 lines
1.5 KiB
TypeScript
36 lines
1.5 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: Readonly<
|
|
Record<string, ClaimRequiredDocumentType>
|
|
> = {
|
|
nationalCertificate: ClaimRequiredDocumentType.NATIONAL_CARD,
|
|
NationalCertificate: ClaimRequiredDocumentType.NATIONAL_CARD,
|
|
drivingLicense: ClaimRequiredDocumentType.DAMAGED_DRIVING_LICENSE_FRONT,
|
|
DrivingLicense: ClaimRequiredDocumentType.DAMAGED_DRIVING_LICENSE_FRONT,
|
|
carGreenCard: ClaimRequiredDocumentType.CAR_GREEN_CARD,
|
|
CarGreenCard: ClaimRequiredDocumentType.CAR_GREEN_CARD,
|
|
carCertificate: ClaimRequiredDocumentType.DAMAGED_CAR_CARD_FRONT,
|
|
CarCertificate: ClaimRequiredDocumentType.DAMAGED_CAR_CARD_FRONT,
|
|
plate: ClaimRequiredDocumentType.DAMAGED_METAL_PLATE,
|
|
carPlate: ClaimRequiredDocumentType.DAMAGED_METAL_PLATE,
|
|
CarPlate: 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;
|
|
}
|