From d1fa15cff1cfbd6716799fc60f6578353abae2ec Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Sat, 11 May 2024 21:01:39 +0300 Subject: [PATCH] Update role types in enums and role guards --- libs/common/src/constants/role.type.enum.ts | 3 ++- src/guards/admin.role.guard.ts | 5 ++++- src/guards/user.role.guard.ts | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libs/common/src/constants/role.type.enum.ts b/libs/common/src/constants/role.type.enum.ts index 34b3929..72bf14e 100644 --- a/libs/common/src/constants/role.type.enum.ts +++ b/libs/common/src/constants/role.type.enum.ts @@ -1,4 +1,5 @@ export enum RoleType { - USER = 'USER', + SUPER_ADMIN = 'SUPER_ADMIN', ADMIN = 'ADMIN', + USER = 'USER', } diff --git a/src/guards/admin.role.guard.ts b/src/guards/admin.role.guard.ts index 0c3b259..fc26067 100644 --- a/src/guards/admin.role.guard.ts +++ b/src/guards/admin.role.guard.ts @@ -4,7 +4,10 @@ import { AuthGuard } from '@nestjs/passport'; export class AdminRoleGuard extends AuthGuard('jwt') { handleRequest(err, user) { - const isAdmin = user.roles.some((role) => role.type === RoleType.ADMIN); + const isAdmin = user.roles.some( + (role) => + role.type === RoleType.SUPER_ADMIN || role.type === RoleType.ADMIN, + ); if (err || !user) { throw err || new UnauthorizedException(); } else { diff --git a/src/guards/user.role.guard.ts b/src/guards/user.role.guard.ts index b21632a..4864fe0 100644 --- a/src/guards/user.role.guard.ts +++ b/src/guards/user.role.guard.ts @@ -5,7 +5,10 @@ import { AuthGuard } from '@nestjs/passport'; export class UserRoleGuard extends AuthGuard('jwt') { handleRequest(err, user) { const isUserOrAdmin = user.roles.some( - (role) => role.type === RoleType.ADMIN || role.type === RoleType.USER, + (role) => + role.type === RoleType.SUPER_ADMIN || + role.type === RoleType.ADMIN || + role.type === RoleType.USER, ); if (err || !user) { throw err || new UnauthorizedException();