apps/recallassess/recallassess-api/src/api/client/learning-group/dto/learning-group-query.dto.ts
Query DTO for filtering learning groups (license allocations) Matches the frontend search/filter model Extends CLPaginationOptions for pagination support (page, limit)
Properties |
| 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 learning groups (license allocations)
* Matches the frontend search/filter model
* Extends CLPaginationOptions for pagination support (page, limit)
*/
@Exclude()
export class LearningGroupQueryDto extends CLPaginationOptions {
@Expose()
@ApiPropertyOptional({
description: "Search query to filter by course name, group name, or description",
example: "sales",
})
@IsOptional()
@IsString()
sq?: string;
@Expose()
@ApiPropertyOptional({
description: "Filter by status",
example: "active",
enum: ["all", "active", "completed", "pending"],
})
@IsOptional()
@IsString()
status?: string;
}