mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-25 23:27:55 +00:00
Refactor user role handling to use single role object
This commit is contained in:
@@ -7,11 +7,12 @@ export class AdminRoleGuard extends AuthGuard('jwt') {
|
||||
if (err || !user) {
|
||||
throw err || new UnauthorizedException();
|
||||
} else {
|
||||
const isAdmin = user.roles.some(
|
||||
(role) =>
|
||||
role.type === RoleType.SUPER_ADMIN || role.type === RoleType.ADMIN,
|
||||
);
|
||||
if (!isAdmin) {
|
||||
if (
|
||||
!(
|
||||
user.role.type === RoleType.ADMIN ||
|
||||
user.role.type === RoleType.SUPER_ADMIN
|
||||
)
|
||||
) {
|
||||
throw new BadRequestException('Only admin role can access this route');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@ export class CommunityPermissionGuard implements CanActivate {
|
||||
|
||||
if (
|
||||
user &&
|
||||
user.roles &&
|
||||
user.roles.some(
|
||||
(role) =>
|
||||
role.type === RoleType.ADMIN || role.type === RoleType.SUPER_ADMIN,
|
||||
user.role &&
|
||||
!(
|
||||
user.role.type === RoleType.ADMIN ||
|
||||
user.role.type === RoleType.SUPER_ADMIN
|
||||
)
|
||||
) {
|
||||
return true;
|
||||
|
||||
@@ -7,10 +7,7 @@ export class SuperAdminRoleGuard extends AuthGuard('jwt') {
|
||||
if (err || !user) {
|
||||
throw err || new UnauthorizedException();
|
||||
} else {
|
||||
const isSuperAdmin = user.roles.some(
|
||||
(role) => role.type === RoleType.SUPER_ADMIN,
|
||||
);
|
||||
if (!isSuperAdmin) {
|
||||
if (!(user.role.type === RoleType.SUPER_ADMIN)) {
|
||||
throw new BadRequestException(
|
||||
'Only super admin role can access this route',
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user