import { Type } from 'class-transformer'; import { IsNumber, IsObject, IsOptional, IsString, Min, ValidateNested, } from 'class-validator'; export class EmissionParamDto { @IsNumber() @Min(0) y0!: number; @IsNumber() @Min(0) yp!: number; @IsNumber() @Min(0) b!: number; } export class EmissionParamsDto { @ValidateNested() @Type(() => EmissionParamDto) hcho!: EmissionParamDto; @ValidateNested() @Type(() => EmissionParamDto) tvoc!: EmissionParamDto; @ValidateNested() @Type(() => EmissionParamDto) benzene!: EmissionParamDto; @ValidateNested() @Type(() => EmissionParamDto) toluene!: EmissionParamDto; @ValidateNested() @Type(() => EmissionParamDto) xylene!: EmissionParamDto; } export class CreateMaterialDto { @IsString() name!: string; @IsString() category!: string; @IsOptional() @IsString() brand?: string; @IsOptional() @IsString() manufacturer?: string; @IsOptional() @IsString() spec?: string; @IsOptional() @IsString() envGrade?: string; @IsOptional() @IsString() usageUnit?: string; @IsObject() @ValidateNested() @Type(() => EmissionParamsDto) emissionParams!: EmissionParamsDto; }