File

apps/recallassess/recallassess-api/src/api/client/knowledge-review/dto/submit-knowledge-review.dto.ts

Index

Properties

Properties

answers
Type : SubmitKnowledgeReviewAnswerDto[]
Decorators :
@Expose()
@IsArray()
@ValidateNested({each: true})
@Type(undefined)
course_id
Type : number
Decorators :
@Expose()
@IsInt()
Optional course_module_page_id
Type : number | null
Decorators :
@Expose()
@IsOptional()
@IsInt()
knowledge_review_id
Type : number
Decorators :
@Expose()
@IsInt()
import { IsArray, IsInt, IsOptional, IsString, ValidateNested } from "class-validator";
import { Exclude, Expose, Type } from "class-transformer";

@Exclude()
export class SubmitKnowledgeReviewAnswerDto {
  @Expose()
  @IsInt()
  knowledge_review_question_id!: number;

  @Expose()
  @IsOptional()
  @IsInt()
  knowledge_review_answer_id?: number; // For MULTIPLE_CHOICE questions

  @Expose()
  @IsOptional()
  @IsString()
  answer_text?: string; // For TEXT_INPUT questions
}

@Exclude()
export class SubmitKnowledgeReviewDto {
  @Expose()
  @IsInt()
  knowledge_review_id!: number;

  @Expose()
  @IsInt()
  course_id!: number;

  @Expose()
  @IsArray()
  @ValidateNested({ each: true })
  @Type(() => SubmitKnowledgeReviewAnswerDto)
  answers!: SubmitKnowledgeReviewAnswerDto[];

  @Expose()
  @IsOptional()
  @IsInt()
  course_module_page_id?: number | null; // Optional: for embedded quizzes, pass page ID; for standalone KR, omit or pass null
}

results matching ""

    No results matching ""