File

apps/recallassess/recallassess-api/src/api/client/learning-group/dto/learning-group-query.dto.ts

Description

Query DTO for filtering learning groups (license allocations) Matches the frontend search/filter model Extends CLPaginationOptions for pagination support (page, limit)

Index

Properties

Properties

Optional sq
Type : string
Decorators :
@Expose()
@ApiPropertyOptional({description: 'Search query to filter by course name, group name, or description', example: 'sales'})
@IsOptional()
@IsString()
Optional status
Type : string
Decorators :
@Expose()
@ApiPropertyOptional({description: 'Filter by status', example: 'active', enum: undefined})
@IsOptional()
@IsString()
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;
}

results matching ""

    No results matching ""