From 7945d1a7292b87b881f98f927e8b5627495b0a27 Mon Sep 17 00:00:00 2001 From: enlineawork Date: Tue, 8 Sep 2026 20:02:24 -0300 Subject: [PATCH] feat(inventory): extend inventory browser filters --- .../dto/inventory-browser-query.dto.ts | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/api-v3/src/asset-master/dto/inventory-browser-query.dto.ts b/api-v3/src/asset-master/dto/inventory-browser-query.dto.ts index 1b038aa..cc2a102 100644 --- a/api-v3/src/asset-master/dto/inventory-browser-query.dto.ts +++ b/api-v3/src/asset-master/dto/inventory-browser-query.dto.ts @@ -1,4 +1,16 @@ -import { IsOptional, IsString, IsUUID, MaxLength } from 'class-validator'; +import { Transform, Type } from 'class-transformer'; +import { + IsBoolean, + IsEnum, + IsInt, + IsOptional, + IsString, + IsUUID, + Max, + MaxLength, + Min, +} from 'class-validator'; +import { AssetInformationStatus, AssetOperationalStatus } from '../../database/entities'; export class InventoryBrowserQueryDto { @IsOptional() @@ -6,7 +18,46 @@ export class InventoryBrowserQueryDto { @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; + + @IsOptional() + @Type(() => Number) + @IsInt() + @Min(1) + page = 1; + + @IsOptional() + @Type(() => Number) + @IsInt() + @Min(1) + @Max(100) + pageSize = 25; }