forked from Yara724/api
badane bugs continues
This commit is contained in:
@@ -122,3 +122,39 @@ export function hullExpertiseAssertFields(
|
||||
}
|
||||
return { requireDmgCaseId: true, requireThirdPartyLookups: true };
|
||||
}
|
||||
|
||||
export function collectFanavaranExpertiseReadinessWarnings(
|
||||
payload: Record<string, unknown>,
|
||||
options?: { requireDmgCaseId?: boolean; requireThirdPartyLookups?: boolean },
|
||||
): string[] {
|
||||
const warnings: string[] = [];
|
||||
const sections = Array.isArray(payload.DmgSections)
|
||||
? payload.DmgSections
|
||||
: [];
|
||||
const thirdPartyLookups = options?.requireThirdPartyLookups !== false;
|
||||
if (options?.requireDmgCaseId !== false && !payload.DmgCaseId) {
|
||||
warnings.push("DmgCaseId is required.");
|
||||
}
|
||||
if (thirdPartyLookups) {
|
||||
if (!payload.InspectionPlaceId) {
|
||||
warnings.push("InspectionPlaceId is required.");
|
||||
}
|
||||
if (!payload.DropAmountStatus) {
|
||||
warnings.push("DropAmountStatus is required.");
|
||||
}
|
||||
}
|
||||
if (!sections.length) {
|
||||
warnings.push("At least one DmgSections row is required.");
|
||||
}
|
||||
for (const [index, section] of sections.entries()) {
|
||||
const row = section as Record<string, unknown>;
|
||||
if (!thirdPartyLookups) continue;
|
||||
if (!row.DmgSectionId) {
|
||||
warnings.push(`DmgSections[${index}].DmgSectionId is required.`);
|
||||
}
|
||||
if (!row.AccidentLevel) {
|
||||
warnings.push(`DmgSections[${index}].AccidentLevel is required.`);
|
||||
}
|
||||
}
|
||||
return Array.from(new Set(warnings));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user