tenant-admin.guard.ts 548 B

12345678910111213141516
  1. import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
  2. import { UserRole } from '../user/user-role.enum';
  3. @Injectable()
  4. export class TenantAdminGuard implements CanActivate {
  5. canActivate(context: ExecutionContext): boolean {
  6. const request = context.switchToHttp().getRequest();
  7. const user = request.user;
  8. return (
  9. user &&
  10. (user.role === UserRole.SUPER_ADMIN ||
  11. user.role === UserRole.TENANT_ADMIN ||
  12. user.isAdmin === true)
  13. );
  14. }
  15. }