filter/sort, file, person

This commit is contained in:
Philipinho
2026-03-08 03:15:49 +00:00
parent ac03a54ae6
commit 674b0ec64a
12 changed files with 982 additions and 59 deletions
@@ -1,4 +1,5 @@
import { IsNotEmpty, IsObject, IsOptional, IsString, IsUUID } from 'class-validator';
import { IsNotEmpty, IsObject, IsOptional, IsString, IsUUID, IsArray, ValidateNested } from 'class-validator';
import { Type } from 'class-transformer';
export class UpdateRowDto {
@IsUUID()
@@ -27,6 +28,27 @@ export class RowIdDto {
baseId: string;
}
class FilterDto {
@IsUUID()
propertyId: string;
@IsString()
@IsNotEmpty()
operator: string;
@IsOptional()
value?: unknown;
}
class SortDto {
@IsUUID()
propertyId: string;
@IsString()
@IsNotEmpty()
direction: string;
}
export class ListRowsDto {
@IsUUID()
baseId: string;
@@ -34,6 +56,18 @@ export class ListRowsDto {
@IsOptional()
@IsUUID()
viewId?: string;
@IsOptional()
@IsArray()
@ValidateNested({ each: true })
@Type(() => FilterDto)
filters?: FilterDto[];
@IsOptional()
@IsArray()
@ValidateNested({ each: true })
@Type(() => SortDto)
sorts?: SortDto[];
}
export class ReorderRowDto {