feat: implement QuestionBank CRUD with pagination and template query

- Add pagination support to findAll (page, limit query params)
- Add findByTemplateId method to service
- Add GET /by-template/:templateId endpoint to controller
- Service already includes CRUD for QuestionBank and QuestionBankItem
This commit is contained in:
Developer
2026-04-23 17:19:11 +08:00
commit 0a9588abb7
492 changed files with 112453 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
import { Controller, Get, Post, Request, UseGuards } from '@nestjs/common';
import { AuthService } from './auth.service';
import { LocalAuthGuard } from './local-auth.guard';
import { CombinedAuthGuard } from './combined-auth.guard';
import { Public } from './public.decorator';
@Controller('auth')
export class AuthController {
constructor(private authService: AuthService) {}
@Public()
@UseGuards(LocalAuthGuard)
@Post('login')
async login(@Request() req) {
return this.authService.login(req.user);
}
@UseGuards(CombinedAuthGuard)
@Get('profile')
getProfile(@Request() req) {
return req.user;
}
@UseGuards(CombinedAuthGuard)
@Get('api-key')
async getApiKey(@Request() req) {
const apiKey = await this.authService.getOrCreateApiKey(req.user.id);
return { apiKey };
}
@UseGuards(CombinedAuthGuard)
@Post('api-key/regenerate')
async regenerateApiKey(@Request() req) {
const apiKey = await this.authService.regenerateApiKey(req.user.id);
return { apiKey };
}
}