0a9588abb7
- 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
19 lines
580 B
TypeScript
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)
|
|
);
|
|
}
|
|
}
|