Description
Both LessonsController and QuizzesController use @UseGuards(JwtAuthGuard, RolesGuard) on their admin-only endpoints. However neither LessonsModule nor QuizzesModule imports PassportModule or JwtModule. This means the JWT strategy is not available in these modules and the guards will fail with a NestJS dependency injection error when those endpoints are hit.
Proposed Actions
Expected Outcome
- Admin-protected endpoints in
LessonsController and QuizzesController resolve guards without DI errors
- JWT authentication works correctly on
POST /lessons, PATCH /lessons/:id, DELETE /lessons/:id, POST /quizzes, PATCH /quizzes/:id
Complexity
Trivial
Description
Both
LessonsControllerandQuizzesControlleruse@UseGuards(JwtAuthGuard, RolesGuard)on their admin-only endpoints. However neitherLessonsModulenorQuizzesModuleimportsPassportModuleorJwtModule. This means the JWT strategy is not available in these modules and the guards will fail with a NestJS dependency injection error when those endpoints are hit.Proposed Actions
PassportModuleandJwtModule.register(...)to theimportsarray ofLessonsModulePassportModuleandJwtModule.register(...)to theimportsarray ofQuizzesModuleJwtModulefromAuthModuleand simply importAuthModuleinto feature modules that need auth guards — removing the need to re-register JWT in each moduleExpected Outcome
LessonsControllerandQuizzesControllerresolve guards without DI errorsPOST /lessons,PATCH /lessons/:id,DELETE /lessons/:id,POST /quizzes,PATCH /quizzes/:idComplexity
Trivial