forked from Yara724/api
Preserve damage history and current vehicle price, restore depreciation mapping, normalize inquiry/report output, and support resumable expert review with paginated case retrieval.
69 lines
2.4 KiB
TypeScript
69 lines
2.4 KiB
TypeScript
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||
|
||
export class ClaimListItemV2Dto {
|
||
@ApiProperty({ description: 'Claim case ID', example: '507f1f77bcf86cd799439011' })
|
||
claimRequestId: string;
|
||
|
||
@ApiProperty({ description: 'Public ID shared across blame and claim', example: 'A14235' })
|
||
publicId: string;
|
||
|
||
@ApiProperty({ description: 'Claim request number', example: 'CL12345' })
|
||
requestNo: string;
|
||
|
||
@ApiProperty({
|
||
description:
|
||
"ClaimCaseStatus. New V2–V5 priced-only claims become COMPLETED after expert work. Factor claims use INSURER_REVIEW_MIXED_FACTORS_PENDING (priced-line acceptance before factor uploads), OWNER_REPAIR_FACTOR_UPLOAD_PENDING, and EXPERT_VALIDATING_REPAIR_FACTORS. V5 then waits at WAITING_FOR_FILE_MAKER_APPROVAL. Legacy DB rows may still use WAITING_FOR_INSURER_APPROVAL or INSURER_REVIEW_AWAITING_OWNER_SIGN.",
|
||
example: "COMPLETED",
|
||
})
|
||
status: string;
|
||
|
||
@ApiProperty({ description: 'Claim damage determination status', example: 'PENDING' })
|
||
claimStatus: string;
|
||
|
||
@ApiProperty({ description: 'Current workflow step', example: 'USER_SUBMISSION_COMPLETE' })
|
||
currentStep: string;
|
||
|
||
@ApiProperty({ description: 'Creation date', example: '2026-02-22T10:00:00.000Z' })
|
||
createdAt: string;
|
||
|
||
@ApiProperty({ description: 'Blame request ID this claim originated from' })
|
||
blameRequestId?: string;
|
||
|
||
@ApiPropertyOptional({
|
||
description: 'Blame file type: THIRD_PARTY or CAR_BODY',
|
||
example: 'THIRD_PARTY',
|
||
})
|
||
blameType?: string;
|
||
|
||
@ApiPropertyOptional({
|
||
description: 'How the blame file was initiated: IN_PERSON or LINK',
|
||
example: 'IN_PERSON',
|
||
})
|
||
creationMethod?: string;
|
||
|
||
@ApiPropertyOptional({
|
||
description: 'Calculated combined blame and claim lifecycle status',
|
||
example: 'WAITING_FOR_DAMAGE_EXPERT',
|
||
})
|
||
unifiedFileStatus?: string;
|
||
}
|
||
|
||
export class GetMyClaimsV2ResponseDto {
|
||
@ApiProperty({ description: 'List of user claims', type: [ClaimListItemV2Dto] })
|
||
list: ClaimListItemV2Dto[];
|
||
|
||
@ApiProperty({ description: 'Total count after search filter', example: 5 })
|
||
total: number;
|
||
|
||
@ApiPropertyOptional({
|
||
description: 'Current page when `page` or `limit` query params were sent',
|
||
})
|
||
page?: number;
|
||
|
||
@ApiPropertyOptional({ description: 'Page size when paginating' })
|
||
limit?: number;
|
||
|
||
@ApiPropertyOptional({ description: 'Total pages when paginating' })
|
||
totalPages?: number;
|
||
}
|