Update role types in enums and role guards

This commit is contained in:
faris Aljohari
2024-05-11 21:01:39 +03:00
parent c30a21b04f
commit d1fa15cff1
3 changed files with 10 additions and 3 deletions

View File

@ -1,4 +1,5 @@
export enum RoleType { export enum RoleType {
USER = 'USER', SUPER_ADMIN = 'SUPER_ADMIN',
ADMIN = 'ADMIN', ADMIN = 'ADMIN',
USER = 'USER',
} }

View File

@ -4,7 +4,10 @@ import { AuthGuard } from '@nestjs/passport';
export class AdminRoleGuard extends AuthGuard('jwt') { export class AdminRoleGuard extends AuthGuard('jwt') {
handleRequest(err, user) { 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) { if (err || !user) {
throw err || new UnauthorizedException(); throw err || new UnauthorizedException();
} else { } else {

View File

@ -5,7 +5,10 @@ import { AuthGuard } from '@nestjs/passport';
export class UserRoleGuard extends AuthGuard('jwt') { export class UserRoleGuard extends AuthGuard('jwt') {
handleRequest(err, user) { handleRequest(err, user) {
const isUserOrAdmin = user.roles.some( 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) { if (err || !user) {
throw err || new UnauthorizedException(); throw err || new UnauthorizedException();