Files
fiberops-api-admin/src/support/dto/list-query.dto.ts
2026-04-13 09:43:35 +08:00

41 lines
779 B
TypeScript

import { IsOptional, IsString, IsInt, Min, IsIn } from 'class-validator';
import { Type } from 'class-transformer';
export class TicketListQueryDto {
@IsOptional()
@IsString()
search?: string;
@IsOptional()
@IsIn(['open', 'in_progress', 'waiting_tenant', 'resolved', 'closed'])
status?: string;
@IsOptional()
@IsIn(['billing', 'technical', 'account', 'general', 'feature_request'])
category?: string;
@IsOptional()
@IsIn(['low', 'normal', 'high', 'urgent'])
priority?: string;
@IsOptional()
@IsString()
tenantId?: string;
@IsOptional()
@IsString()
assignedToId?: string;
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(1)
page?: number = 1;
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(1)
limit?: number = 20;
}