diff --git a/src/building/controllers/building.controller.ts b/src/building/controllers/building.controller.ts index dc4dbd7..9843c8e 100644 --- a/src/building/controllers/building.controller.ts +++ b/src/building/controllers/building.controller.ts @@ -18,6 +18,7 @@ import { GetBuildingChildDto } from '../dtos/get.building.dto'; import { UpdateBuildingNameDto } from '../dtos/update.building.dto'; import { CheckCommunityTypeGuard } from 'src/guards/community.type.guard'; import { CheckUserBuildingGuard } from 'src/guards/user.building.guard'; +import { BuildingPermissionGuard } from 'src/guards/building.permission.guard'; @ApiTags('Building Module') @Controller({ @@ -43,7 +44,7 @@ export class BuildingController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, BuildingPermissionGuard) @Get(':buildingUuid') async getBuildingByUuid(@Param('buildingUuid') buildingUuid: string) { try { @@ -59,7 +60,7 @@ export class BuildingController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, BuildingPermissionGuard) @Get('child/:buildingUuid') async getBuildingChildByUuid( @Param('buildingUuid') buildingUuid: string, @@ -79,7 +80,7 @@ export class BuildingController { } } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, BuildingPermissionGuard) @Get('parent/:buildingUuid') async getBuildingParentByUuid(@Param('buildingUuid') buildingUuid: string) { try { @@ -122,7 +123,7 @@ export class BuildingController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, BuildingPermissionGuard) @Put('rename/:buildingUuid') async renameBuildingByUuid( @Param('buildingUuid') buildingUuid: string, diff --git a/src/community/community.module.ts b/src/community/community.module.ts index 742e3ad..e27627e 100644 --- a/src/community/community.module.ts +++ b/src/community/community.module.ts @@ -10,6 +10,7 @@ import { UserSpaceRepositoryModule } from '@app/common/modules/user-space/user.s import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; import { UserRepository } from '@app/common/modules/user/repositories'; +import { SpacePermissionService } from '@app/common/helper/services'; @Module({ imports: [ @@ -26,7 +27,8 @@ import { UserRepository } from '@app/common/modules/user/repositories'; SpaceTypeRepository, UserSpaceRepository, UserRepository, + SpacePermissionService, ], - exports: [CommunityService], + exports: [CommunityService, SpacePermissionService], }) export class CommunityModule {} diff --git a/src/community/controllers/community.controller.ts b/src/community/controllers/community.controller.ts index 3fd2233..c7fd248 100644 --- a/src/community/controllers/community.controller.ts +++ b/src/community/controllers/community.controller.ts @@ -20,6 +20,7 @@ import { import { GetCommunityChildDto } from '../dtos/get.community.dto'; import { UpdateCommunityNameDto } from '../dtos/update.community.dto'; import { CheckUserCommunityGuard } from 'src/guards/user.community.guard'; +import { CommunityPermissionGuard } from 'src/guards/community.permission.guard'; @ApiTags('Community Module') @Controller({ @@ -46,7 +47,7 @@ export class CommunityController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, CommunityPermissionGuard) @Get(':communityUuid') async getCommunityByUuid(@Param('communityUuid') communityUuid: string) { try { @@ -62,7 +63,7 @@ export class CommunityController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, CommunityPermissionGuard) @Get('child/:communityUuid') async getCommunityChildByUuid( @Param('communityUuid') communityUuid: string, diff --git a/src/floor/controllers/floor.controller.ts b/src/floor/controllers/floor.controller.ts index a42db7b..304d4a2 100644 --- a/src/floor/controllers/floor.controller.ts +++ b/src/floor/controllers/floor.controller.ts @@ -18,6 +18,7 @@ import { GetFloorChildDto } from '../dtos/get.floor.dto'; import { UpdateFloorNameDto } from '../dtos/update.floor.dto'; import { CheckBuildingTypeGuard } from 'src/guards/building.type.guard'; import { CheckUserFloorGuard } from 'src/guards/user.floor.guard'; +import { FloorPermissionGuard } from 'src/guards/floor.permission.guard'; @ApiTags('Floor Module') @Controller({ @@ -43,7 +44,7 @@ export class FloorController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, FloorPermissionGuard) @Get(':floorUuid') async getFloorByUuid(@Param('floorUuid') floorUuid: string) { try { @@ -58,7 +59,7 @@ export class FloorController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, FloorPermissionGuard) @Get('child/:floorUuid') async getFloorChildByUuid( @Param('floorUuid') floorUuid: string, @@ -78,7 +79,7 @@ export class FloorController { } } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, FloorPermissionGuard) @Get('parent/:floorUuid') async getFloorParentByUuid(@Param('floorUuid') floorUuid: string) { try { @@ -122,7 +123,7 @@ export class FloorController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, FloorPermissionGuard) @Put('rename/:floorUuid') async renameFloorByUuid( @Param('floorUuid') floorUuid: string, diff --git a/src/room/controllers/room.controller.ts b/src/room/controllers/room.controller.ts index 221fb39..f59300b 100644 --- a/src/room/controllers/room.controller.ts +++ b/src/room/controllers/room.controller.ts @@ -16,6 +16,7 @@ import { AddRoomDto, AddUserRoomDto } from '../dtos/add.room.dto'; import { UpdateRoomNameDto } from '../dtos/update.room.dto'; import { CheckUnitTypeGuard } from 'src/guards/unit.type.guard'; import { CheckUserRoomGuard } from 'src/guards/user.room.guard'; +import { RoomPermissionGuard } from 'src/guards/room.permission.guard'; @ApiTags('Room Module') @Controller({ @@ -41,7 +42,7 @@ export class RoomController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, RoomPermissionGuard) @Get(':roomUuid') async getRoomByUuid(@Param('roomUuid') roomUuid: string) { try { @@ -56,7 +57,7 @@ export class RoomController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, RoomPermissionGuard) @Get('parent/:roomUuid') async getRoomParentByUuid(@Param('roomUuid') roomUuid: string) { try { @@ -98,7 +99,7 @@ export class RoomController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, RoomPermissionGuard) @Put('rename/:roomUuid') async renameRoomByUuid( @Param('roomUuid') roomUuid: string, diff --git a/src/unit/controllers/unit.controller.ts b/src/unit/controllers/unit.controller.ts index f0f3775..89ca053 100644 --- a/src/unit/controllers/unit.controller.ts +++ b/src/unit/controllers/unit.controller.ts @@ -18,6 +18,7 @@ import { GetUnitChildDto } from '../dtos/get.unit.dto'; import { UpdateUnitNameDto } from '../dtos/update.unit.dto'; import { CheckFloorTypeGuard } from 'src/guards/floor.type.guard'; import { CheckUserUnitGuard } from 'src/guards/user.unit.guard'; +import { UnitPermissionGuard } from 'src/guards/unit.permission.guard'; @ApiTags('Unit Module') @Controller({ @@ -43,7 +44,7 @@ export class UnitController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, UnitPermissionGuard) @Get(':unitUuid') async getUnitByUuid(@Param('unitUuid') unitUuid: string) { try { @@ -58,7 +59,7 @@ export class UnitController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, UnitPermissionGuard) @Get('child/:unitUuid') async getUnitChildByUuid( @Param('unitUuid') unitUuid: string, @@ -75,7 +76,7 @@ export class UnitController { } } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, UnitPermissionGuard) @Get('parent/:unitUuid') async getUnitParentByUuid(@Param('unitUuid') unitUuid: string) { try { @@ -117,7 +118,7 @@ export class UnitController { } @ApiBearerAuth() - @UseGuards(JwtAuthGuard) + @UseGuards(JwtAuthGuard, UnitPermissionGuard) @Put('rename/:unitUuid') async renameUnitByUuid( @Param('unitUuid') unitUuid: string,