admin.guard.ts 466 B

123456789101112131415
  1. import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
  2. import { Observable } from 'rxjs';
  3. @Injectable()
  4. export class AdminGuard implements CanActivate {
  5. canActivate(
  6. context: ExecutionContext,
  7. ): boolean | Promise<boolean> | Observable<boolean> {
  8. const request = context.switchToHttp().getRequest();
  9. const user = request.user;
  10. // Check if user exists and has admin privileges
  11. return user && user.isAdmin === true;
  12. }
  13. }