forked from Yara724/api
98 lines
2.4 KiB
TypeScript
98 lines
2.4 KiB
TypeScript
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[];
|
|
}
|