import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { IsDateString, IsEnum, IsInt, IsNumber, IsOptional, IsString, Max, Min, } from 'class-validator'; import { VarroaMethod } from '../../../generated/prisma'; export class CreateVarroaMeasurementDto { @ApiProperty() @IsString() colonyId!: string; @ApiProperty() @IsDateString() date!: string; @ApiProperty({ enum: VarroaMethod }) @IsEnum(VarroaMethod) method!: VarroaMethod; @ApiPropertyOptional() @IsOptional() @IsInt() @Min(0) durationMinutes?: number; @ApiPropertyOptional() @IsOptional() @IsInt() @Min(0) miteCount?: number; @ApiPropertyOptional({ description: 'Sample size in bees (powdered sugar, washing); the percentage is mites / sample * 100.', minimum: 1, maximum: 2000, }) @IsOptional() @IsInt() @Min(1) @Max(2000) sampleBees?: number; @ApiPropertyOptional() @IsOptional() @IsNumber() @Min(0) calculatedValue?: number; @ApiPropertyOptional() @IsOptional() @IsString() assessment?: string; @ApiPropertyOptional() @IsOptional() @IsString() notes?: string; }