File

apps/recallassess/recallassess-api/src/api/admin/assessment/controllers/assessment-answer.controller.ts

Prefix

api/admin/assessment/answer

Index

Methods

Methods

Async addAnswer
addAnswer(createAnswerDto: AssessmentAnswerAddDto)
Decorators :
@Post()
Parameters :
Name Type Optional
createAnswerDto AssessmentAnswerAddDto No
Async deleteAnswer
deleteAnswer(id: number)
Decorators :
@Delete(':id')
Parameters :
Name Type Optional
id number No
Returns : Promise<void>
Async getAnswersByQuestion
getAnswersByQuestion(questionId: number, courseId: number, assessmentId: number)
Decorators :
@Get('question/:questionId')
Parameters :
Name Type Optional
questionId number No
courseId number No
assessmentId number No
Async reorderAnswers
reorderAnswers(answers: literal type[])
Decorators :
@Put('reorder')
Parameters :
Name Type Optional
answers literal type[] No
Returns : Promise<void>
Async saveAnswer
saveAnswer(id: number, updateAnswerDto: AssessmentAnswerSaveDto)
Decorators :
@Put(':id')
Parameters :
Name Type Optional
id number No
updateAnswerDto AssessmentAnswerSaveDto No
import { Body, Controller, Delete, Get, Param, ParseIntPipe, Post, Put, Query } from "@nestjs/common";
import { AssessmentAnswerDto } from "./../dto/quiz/assessment-answer.dto";
import { AssessmentAnswerAddDto } from "./../dto/quiz/assessment-answer-create.dto";
import { AssessmentAnswerListDto } from "./../dto/quiz/assessment-answer-list.dto";
import { AssessmentAnswerSaveDto } from "./../dto/quiz/assessment-answer-update.dto";
import { AssessmentAnswerService } from "./../services/assessment-answer.service";

@Controller("api/admin/assessment/answer")
export class AssessmentAnswerController {
  constructor(private readonly assessmentAnswerService: AssessmentAnswerService) {}

  @Get("question/:questionId")
  async getAnswersByQuestion(
    @Param("questionId", ParseIntPipe) questionId: number,
    @Query("courseId", ParseIntPipe) courseId: number,
    @Query("assessmentId", ParseIntPipe) assessmentId: number,
  ): Promise<AssessmentAnswerListDto[]> {
    return this.assessmentAnswerService.getAnswersByQuestion(questionId, courseId, assessmentId);
  }

  @Post()
  async addAnswer(@Body() createAnswerDto: AssessmentAnswerAddDto): Promise<AssessmentAnswerDto> {
    return this.assessmentAnswerService.addAnswer(createAnswerDto);
  }

  @Put(":id")
  async saveAnswer(
    @Param("id", ParseIntPipe) id: number,
    @Body() updateAnswerDto: AssessmentAnswerSaveDto,
  ): Promise<AssessmentAnswerDto> {
    return this.assessmentAnswerService.saveAnswer(id, updateAnswerDto);
  }

  @Delete(":id")
  async deleteAnswer(@Param("id", ParseIntPipe) id: number): Promise<void> {
    return this.assessmentAnswerService.deleteAnswer(id);
  }

  @Put("reorder")
  async reorderAnswers(@Body() answers: { id: number; sort_order: number }[]): Promise<void> {
    return this.assessmentAnswerService.reorderAnswers(answers);
  }
}

results matching ""

    No results matching ""