apps/recallassess/recallassess-api/src/api/client/participant/dto/participant-query.dto.ts
Query DTO for filtering participants Matches the frontend search/filter model Extends CLPaginationOptions for pagination support (page, limit)
Properties |
|
| Optional participantGroup |
Type : string
|
Decorators :
@Expose()
|
| Optional sq |
Type : string
|
Decorators :
@Expose()
|
| Optional status |
Type : string
|
Decorators :
@Expose()
|
import { CLPaginationOptions } from "@api/shared/dto";
import { ApiPropertyOptional } from "@nestjs/swagger";
import { IsOptional, IsString } from "class-validator";
import { Exclude, Expose } from "class-transformer";
/**
* Query DTO for filtering participants
* Matches the frontend search/filter model
* Extends CLPaginationOptions for pagination support (page, limit)
*/
@Exclude()
export class ParticipantQueryDto extends CLPaginationOptions {
@Expose()
@ApiPropertyOptional({
description: "Search query to filter by name, email, or participant group",
example: "john",
})
@IsOptional()
@IsString()
sq?: string;
@Expose()
@ApiPropertyOptional({
description: "Filter by status",
example: "active",
enum: ["all", "active", "inactive", "pending"],
})
@IsOptional()
@IsString()
status?: string;
@Expose()
@ApiPropertyOptional({
description: "Filter by participant group",
example: "Sales",
})
@IsOptional()
@IsString()
participantGroup?: string;
}