Files
aurak/server/src/auth/admin.guard.ts
T
Developer 0a9588abb7 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
2026-04-23 17:19:11 +08:00

19 lines
580 B
TypeScript

import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { UserRole } from '../user/user-role.enum';
@Injectable()
export class AdminGuard implements CanActivate {
canActivate(context: ExecutionContext): boolean {
const request = context.switchToHttp().getRequest();
const user = request.user;
// Check if user exists and has admin privileges (Super Admin or Tenant Admin)
return !!(
user &&
(user.role === UserRole.SUPER_ADMIN ||
user.role === UserRole.TENANT_ADMIN ||
user.isAdmin === true)
);
}
}