import { Transform } from 'class-transformer'; import { IsBoolean, IsEnum, IsOptional, IsString, IsUUID, MaxLength } from 'class-validator'; import { AssetInformationStatus, AssetOperationalStatus } from '../../database/entities'; export class ListAssetTreeQueryDto { @IsOptional() @IsString() @MaxLength(200) search?: string; @IsOptional() @IsUUID('4') typeId?: string; @IsOptional() @IsEnum(AssetInformationStatus) status?: AssetInformationStatus; @IsOptional() @IsEnum(AssetOperationalStatus) operationalStatus?: AssetOperationalStatus; @IsOptional() @IsUUID('4') operationalAreaId?: string; @IsOptional() @IsUUID('4') operatorCompanyId?: string; @IsOptional() @Transform(({ value }) => value === 'true' ? true : value === 'false' ? false : value) @IsBoolean() needsValidation?: boolean; @IsOptional() @Transform(({ value }) => value === 'true' ? true : value === 'false' ? false : value) @IsBoolean() hasGeometry?: boolean; }