import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { BlameRequestType } from 'src/Types&Enums/blame-request-management/blameRequestType.enum'; export class ClaimListItemV2Dto { @ApiProperty({ description: 'Claim case ID' }) claimRequestId: string; @ApiProperty({ description: 'Public ID shared across blame+claim', example: 'A14235' }) publicId: string; @ApiProperty({ description: 'Overall case status', example: 'WAITING_FOR_DAMAGE_EXPERT' }) status: string; @ApiProperty({ description: 'Workflow step', example: 'USER_SUBMISSION_COMPLETE' }) currentStep: string; @ApiProperty({ description: 'Whether the claim is locked by another expert', example: false }) locked: boolean; @ApiPropertyOptional({ description: 'Actor who locked this claim' }) lockedBy?: { actorId: string; actorName: string; }; @ApiPropertyOptional({ description: 'Vehicle info from snapshot' }) vehicle?: { carName?: string; carModel?: string; carType?: string; }; @ApiPropertyOptional({ description: 'Blame file type from linked blame case', enum: BlameRequestType, example: BlameRequestType.THIRD_PARTY, }) blameRequestType?: BlameRequestType; @ApiPropertyOptional({ description: 'CAR_BODY only: first-step flags — accident involved another car (`car`) and/or fixed object (`object`)', example: { car: true, object: false }, }) carBodyFirstForm?: { car?: boolean; object?: boolean }; @ApiProperty({ description: 'Submission date', example: '2026-02-22T10:00:00.000Z' }) createdAt: string; @ApiPropertyOptional({ description: 'True when the claim is in the expert factor validation queue (all factors uploaded).', }) awaitingFactorValidation?: boolean; } export class GetClaimListV2ResponseDto { @ApiProperty({ type: [ClaimListItemV2Dto] }) list: ClaimListItemV2Dto[]; @ApiProperty({ description: 'Total count' }) total: number; }