import { Transform, Type } from 'class-transformer'; import { Equals, IsBoolean, IsISO8601, IsNumber, IsOptional, IsString, Max, MaxLength, Min, } from 'class-validator'; export class CreateInspectionSignatureDto { @Transform(({ value }) => value === true || value === 'true') @IsBoolean() @Equals(true) consentAccepted!: boolean; @IsOptional() @IsISO8601({ strict: true }) clientSignedAt?: string; @IsOptional() @Type(() => Number) @IsNumber({ maxDecimalPlaces: 6 }) @Min(-90) @Max(90) latitude?: number; @IsOptional() @Type(() => Number) @IsNumber({ maxDecimalPlaces: 6 }) @Min(-180) @Max(180) longitude?: number; @IsOptional() @Type(() => Number) @IsNumber({ maxDecimalPlaces: 3 }) @Min(0) @Max(100000) accuracyM?: number; @IsOptional() @IsString() @MaxLength(200) deviceLabel?: string; }