mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-23 12:27:54 +00:00
Added all community endpoints
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { SpaceType } from '@app/common/constants/space-type.enum';
|
||||
import { SpacePermissionService } from '@app/common/helper/services/space.permission.service';
|
||||
import { RoleType } from '@app/common/constants/role.type.enum';
|
||||
import { CommunityPermissionService } from '@app/common/helper/services/community.permission.service';
|
||||
import {
|
||||
BadRequestException,
|
||||
CanActivate,
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
|
||||
@Injectable()
|
||||
export class CommunityPermissionGuard implements CanActivate {
|
||||
constructor(private readonly permissionService: SpacePermissionService) {}
|
||||
constructor(private readonly permissionService: CommunityPermissionService) {}
|
||||
|
||||
async canActivate(context: ExecutionContext): Promise<boolean> {
|
||||
const req = context.switchToHttp().getRequest();
|
||||
@@ -18,6 +18,17 @@ export class CommunityPermissionGuard implements CanActivate {
|
||||
const { communityUuid } = req.params;
|
||||
const { user } = req;
|
||||
|
||||
if (
|
||||
user &&
|
||||
user.roles &&
|
||||
user.roles.some(
|
||||
(role) =>
|
||||
role.type === RoleType.ADMIN || role.type === RoleType.SUPER_ADMIN,
|
||||
)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!communityUuid) {
|
||||
throw new BadRequestException('communityUuid is required');
|
||||
}
|
||||
@@ -25,7 +36,6 @@ export class CommunityPermissionGuard implements CanActivate {
|
||||
await this.permissionService.checkUserPermission(
|
||||
communityUuid,
|
||||
user.uuid,
|
||||
SpaceType.COMMUNITY,
|
||||
);
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user