github-actions[bot]
Deploy Backend from GitHub Actions Commit: ca37b2a1c9dd5c702619ea7ae7b3260d2fb5663d
b185a6d | import { | |
| Controller, | |
| Get, | |
| Post, | |
| Body, | |
| Param, | |
| Query, | |
| Put, | |
| Delete, | |
| UseGuards, | |
| } from "@nestjs/common"; | |
| import { QuizzesService } from "./quizzes.service"; | |
| import { ApiTags, ApiOperation, ApiBearerAuth } from "@nestjs/swagger"; | |
| import { JwtAuthGuard } from "../auth/jwt-auth.guard"; | |
| import { RolesGuard } from "../auth/roles.guard"; | |
| import { Roles } from "../auth/roles.decorator"; | |
| import { CreateQuizDto } from "./dto/create-quiz.dto"; | |
| import { UpdateQuizDto } from "./dto/update-quiz.dto"; | |
| ("Quizzes & Interactive Systems") | |
| ("quizzes") | |
| (JwtAuthGuard, RolesGuard) | |
| () | |
| export class QuizzesController { | |
| constructor(private quizzesService: QuizzesService) {} | |
| () | |
| ("admin") | |
| ({ summary: "Create a new quiz or matching game" }) | |
| async createQuiz(() dto: CreateQuizDto) { | |
| return this.quizzesService.createQuiz(dto); | |
| } | |
| () | |
| ({ | |
| summary: "List all quizzes, optionally filtered by ConceptNode ID", | |
| }) | |
| async getQuizzes(("nodeId") nodeId?: string) { | |
| return this.quizzesService.getQuizzes(nodeId); | |
| } | |
| (":id") | |
| ({ summary: "Get single quiz details" }) | |
| async getQuizById(("id") id: string) { | |
| return this.quizzesService.getQuizById(id); | |
| } | |
| (":id") | |
| ("admin") | |
| ({ summary: "Update a quiz" }) | |
| async updateQuiz(("id") id: string, () dto: UpdateQuizDto) { | |
| return this.quizzesService.updateQuiz(id, dto); | |
| } | |
| (":id") | |
| ("admin") | |
| ({ summary: "Delete a quiz by ID" }) | |
| async deleteQuiz(("id") id: string) { | |
| return this.quizzesService.deleteQuiz(id); | |
| } | |
| } | |