diff --git a/src/expert-insurer/expert-insurer.service.ts b/src/expert-insurer/expert-insurer.service.ts index 5fab25d..e5e3571 100644 --- a/src/expert-insurer/expert-insurer.service.ts +++ b/src/expert-insurer/expert-insurer.service.ts @@ -55,6 +55,7 @@ import { extractExpertNamesFromBlame, extractExpertNamesFromClaim, } from "./helper/insurer.helper"; +import { buildEnrichedDamagedParts } from "src/expert-claim/dto/claim-damaged-part.enricher"; @Injectable() export class ExpertInsurerService { @@ -580,6 +581,28 @@ export class ExpertInsurerService { claim: Record, blameForContext: Record | null, ): Promise> { + // Add at the top of buildInsurerClaimDetail, before the return: + const carType = (claim as any).vehicle?.carType as + | ClaimVehicleTypeV2 + | undefined; + const selectedNorm = normalizeDamageSelectedParts( + (claim as any).damage?.selectedParts, + carType, + (claim as any).damage?.selectedOuterParts, + ); + + const damagedParts = buildEnrichedDamagedParts({ + selectedParts: selectedNorm, + damagedPartsData: (claim as any).media?.damagedParts, + evaluationBlock: (claim as any).evaluation, + expertAddedParts: (claim as any).damage?.expertAddedParts ?? [], + getDamagedPartCaptureBlob, + hasDamagedPartCapture, + catalogLikeKeyFromPart, + buildFileLink, + }); + + // Then add damagedParts to the return object const requiredDocs = claim.requiredDocuments as any; const requiredDocumentsStatus: Record = {}; if (requiredDocs) { @@ -614,32 +637,6 @@ export class ExpertInsurerService { }; } - const carTypeExpert = (claim.vehicle as any)?.carType as - | ClaimVehicleTypeV2 - | undefined; - const selectedNormExpert = normalizeDamageSelectedParts( - (claim.damage as any)?.selectedParts, - carTypeExpert, - (claim.damage as any)?.selectedOuterParts, - ); - const damagedPartsDataExpert = (claim.media as any)?.damagedParts; - const damagedParts = selectedNormExpert.map((sp, index) => - this.insurerDamagedPartRowFromCapture( - sp, - index, - damagedPartsDataExpert, - selectedNormExpert, - ), - ); - const selectedPartsNormalized = selectedNormExpert.map((sp, index) => - this.insurerDamagedPartRowFromCapture( - sp, - index, - damagedPartsDataExpert, - selectedNormExpert, - ), - ); - const videoCaptureIdRaw = (claim.media as any)?.videoCaptureId; let videoCapture: | { id: string; fileName?: string; path?: string; url?: string } @@ -724,7 +721,6 @@ export class ExpertInsurerService { : undefined, carAngles, damagedParts, - selectedPartsNormalized, videoCapture, evaluation: evaluationEnriched, userRating: claim.userRating,