import { UserObjectionDto } from "src/claim-request-management/dto/user-objection.dto"; import { ClaimRequestManagementModel, SubmitReply, UserComment, UserResendDocuments, PriceDrop, } from "src/claim-request-management/entites/schema/claim-request-management.schema"; export class ClaimPerIdRs { requestDetail: any; bankDamageUserInformation: {}; accidentLocation: {}; blameFile: any; aiImages: any; carPartDamage: any; imageRequired: any; carGreenCard: any; nationalCodeOfInsurer: string; otherParts: any; sheba: any; expertSubmitReply: any; damageExpertResend: any; damageExpertReply: SubmitReply; damageExpertReplyFinal: SubmitReply; lockFile: boolean; videoCaptureId: any; signDetails: UserComment; lockTime: string | number | Date; unlockTime: number | Date; userResendDocuments: UserResendDocuments; objection: UserObjectionDto; dropPrice: PriceDrop; type: string; requiredDocuments: any; constructor(request: ClaimRequestManagementModel) { request.imageRequired.aroundTheCar = request.imageRequired.aroundTheCar.map( (v) => { //@ts-ignore delete v.aiReport; return v; }, ); request.imageRequired.aroundTheCar = request.imageRequired.selectPartOfCar.map((v) => { //@ts-ignore delete v.aiReport; return v; }); this.requestDetail = { createdDate: request.createdAt.toLocaleDateString("fa-IR"), createdTime: request.createdAt.toLocaleTimeString("fa-IR"), status: request.claimStatus, }; delete request.blameFile.actorsChecker; this.bankDamageUserInformation = { fullName: request.fullName, numberOfSheba: request.sheba, }; this.blameFile = request.blameFile; this.videoCaptureId = request?.videoCaptureId; this.damageExpertResend = request.damageExpertResend; this.damageExpertReply = request.damageExpertReply; this.damageExpertReplyFinal = request.damageExpertReplyFinal; this.lockFile = request.lockFile; this.lockTime = request.lockTime; this.unlockTime = request.unlockTime; this.userResendDocuments = request.userResendDocuments; this.objection = request.objection as UserObjectionDto; this.carPartDamage = request.carPartDamage; this.imageRequired = request.imageRequired; this.carGreenCard = request.carGreenCard; this.nationalCodeOfInsurer = request.nationalCodeOfInsurer; this.otherParts = request.otherParts; this.sheba = request.sheba; this.dropPrice = request.priceDrop; this.type = request.blameFile?.type || "THIRD_PARTY"; // Include type field from blameFile this.requiredDocuments = request.requiredDocuments; } }