forked from Yara724/api
Require structured inquiry participant inputs
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
||||
import {
|
||||
ApiHideProperty,
|
||||
ApiProperty,
|
||||
ApiPropertyOptional,
|
||||
} from "@nestjs/swagger";
|
||||
import { Type } from "class-transformer";
|
||||
import {
|
||||
IsBoolean,
|
||||
@@ -69,11 +73,6 @@ export class InquiryParticipantInputDto {
|
||||
@IsString()
|
||||
fullName?: string;
|
||||
|
||||
@ApiPropertyOptional()
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
phoneNumber?: string;
|
||||
|
||||
@ApiPropertyOptional({
|
||||
description: "Required for a driver who has a licence.",
|
||||
})
|
||||
@@ -117,27 +116,31 @@ export class InquiryVehicleInputDto {
|
||||
@IsString()
|
||||
@MaxLength(17)
|
||||
vin?: string;
|
||||
|
||||
@ApiPropertyOptional({
|
||||
description: "Whether the vehicle is newly purchased/registered.",
|
||||
})
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
isNewCar?: boolean;
|
||||
}
|
||||
|
||||
/** New role-complete contract mixed into every inquiry DTO. Legacy fields remain during rollout. */
|
||||
/** Structured role-complete contract mixed into every inquiry DTO. */
|
||||
export class InquiryParticipantFieldsDto {
|
||||
@ApiPropertyOptional({ type: InquiryParticipantInputDto })
|
||||
@IsOptional()
|
||||
@ApiProperty({ type: InquiryParticipantInputDto })
|
||||
@ValidateNested()
|
||||
@Type(() => InquiryParticipantInputDto)
|
||||
driver?: InquiryParticipantInputDto;
|
||||
driver: InquiryParticipantInputDto;
|
||||
|
||||
@ApiPropertyOptional({ type: InquiryParticipantInputDto })
|
||||
@IsOptional()
|
||||
@ApiProperty({ type: InquiryParticipantInputDto })
|
||||
@ValidateNested()
|
||||
@Type(() => InquiryParticipantInputDto)
|
||||
vehicleOwner?: InquiryParticipantInputDto;
|
||||
vehicleOwner: InquiryParticipantInputDto;
|
||||
|
||||
@ApiPropertyOptional({ type: InquiryParticipantInputDto })
|
||||
@IsOptional()
|
||||
@ApiProperty({ type: InquiryParticipantInputDto })
|
||||
@ValidateNested()
|
||||
@Type(() => InquiryParticipantInputDto)
|
||||
thirdPartyPolicyholder?: InquiryParticipantInputDto;
|
||||
thirdPartyPolicyholder: InquiryParticipantInputDto;
|
||||
|
||||
@ApiPropertyOptional({ type: InquiryParticipantInputDto })
|
||||
@IsOptional()
|
||||
@@ -145,9 +148,48 @@ export class InquiryParticipantFieldsDto {
|
||||
@Type(() => InquiryParticipantInputDto)
|
||||
carBodyPolicyholder?: InquiryParticipantInputDto;
|
||||
|
||||
@ApiPropertyOptional({ type: InquiryVehicleInputDto })
|
||||
@IsOptional()
|
||||
@ApiProperty({ type: InquiryVehicleInputDto })
|
||||
@ValidateNested()
|
||||
@Type(() => InquiryVehicleInputDto)
|
||||
vehicle?: InquiryVehicleInputDto;
|
||||
vehicle: InquiryVehicleInputDto;
|
||||
|
||||
/** Internal normalized projections; rejected as request input by the resolver. */
|
||||
@ApiHideProperty()
|
||||
nationalCodeOfDriver?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
driverBirthday?: any;
|
||||
|
||||
@ApiHideProperty()
|
||||
driverLicense?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
licenseType?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
nationalCodeOfInsurer?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
insurerBirthday?: any;
|
||||
|
||||
@ApiHideProperty()
|
||||
insurerLicense?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
driverIsInsurer?: boolean;
|
||||
|
||||
@ApiHideProperty()
|
||||
userNoCertificate?: boolean;
|
||||
|
||||
@ApiHideProperty()
|
||||
plate?: any;
|
||||
|
||||
@ApiHideProperty()
|
||||
plateId?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
vin?: string;
|
||||
|
||||
@ApiHideProperty()
|
||||
isNewCar?: boolean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user