import { ApiProperty } from "@nestjs/swagger"; import { TypeOfDamage } from "src/Types&Enums/claim-request-management/type-of-damage.enum"; import { DaghiOption } from "src/Types&Enums/claim-request-management/daghi-option.enum"; export class CarPartDamageDto { @ApiProperty({ type: String }) side: string; @ApiProperty({ type: String }) part: string; } export class DaghiDetailsDto { @ApiProperty({ required: true, enum: DaghiOption, description: "Daghi option: ارزش لوازم بازیافتی, تحویل داغی, فاقد ارزش, با احتساب داغی", }) option: DaghiOption; @ApiProperty({ required: false, type: String, description: "Price field required when option is 'ارزش لوازم بازیافتی'", }) price?: string; @ApiProperty({ required: false, type: String, description: "Branch ID required when option is 'تحویل داغی'", }) branchId?: string; } export class PartsList { @ApiProperty({ required: true, type: String }) partId: string; @ApiProperty({ required: true, type: CarPartDamageDto }) carPartDamage: CarPartDamageDto; @ApiProperty({ required: true, type: String }) typeOfDamage: TypeOfDamage; @ApiProperty({ required: true, type: String }) price: string; @ApiProperty({ required: true, type: String }) salary: string; @ApiProperty({ required: true, type: String }) totalPayment: string; @ApiProperty({ required: true, type: DaghiDetailsDto }) daghi: DaghiDetailsDto; @ApiProperty({ required: true, type: Boolean }) factorNeeded: boolean; } export class ClaimSubmitReplyDto { @ApiProperty({ required: true }) description: string; @ApiProperty({ required: true, type: [PartsList] }) parts: PartsList[]; } export class ResendCarPartsDto { @ApiProperty({ required: true }) partId: string; @ApiProperty({ required: true }) partName: string; @ApiProperty({ required: false }) side?: string; } class InPersonDocuments { NationalCertificate: string; CarCertificate: string; DrivingLicense: string; CarGreenCard: string; } export class ClaimSubmitResendDto { @ApiProperty({ required: true }) resendDescription: string; @ApiProperty({ required: true, examples: InPersonDocuments }) resendDocuments: InPersonDocuments[]; @ApiProperty({ required: true, type: [ResendCarPartsDto] }) resendCarParts: ResendCarPartsDto[]; }