Replace JwtAuthGuard with PermissionsGuard and add specific permissions

This commit is contained in:
faris Aljohari
2024-12-16 00:19:34 -06:00
parent 64027d3a16
commit d169999675
13 changed files with 158 additions and 80 deletions

View File

@ -16,10 +16,11 @@ import {
UpdateAutomationDto, UpdateAutomationDto,
UpdateAutomationStatusDto, UpdateAutomationStatusDto,
} from '../dtos/automation.dto'; } from '../dtos/automation.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum'; import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
import { AutomationParamDto, SpaceParamDto } from '../dtos'; import { AutomationParamDto, SpaceParamDto } from '../dtos';
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Automation Module') @ApiTags('Automation Module')
@Controller({ @Controller({
@ -30,7 +31,8 @@ export class AutomationController {
constructor(private readonly automationService: AutomationService) {} constructor(private readonly automationService: AutomationService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('AUTOMATION_ADD')
@Post() @Post()
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.AUTOMATION.ACTIONS.ADD_AUTOMATION_SUMMARY, summary: ControllerRoute.AUTOMATION.ACTIONS.ADD_AUTOMATION_SUMMARY,
@ -48,7 +50,8 @@ export class AutomationController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('AUTOMATION_VIEW')
@Get(':spaceUuid') @Get(':spaceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.AUTOMATION.ACTIONS.GET_AUTOMATION_BY_SPACE_SUMMARY, summary: ControllerRoute.AUTOMATION.ACTIONS.GET_AUTOMATION_BY_SPACE_SUMMARY,
@ -63,7 +66,8 @@ export class AutomationController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('AUTOMATION_VIEW')
@Get('details/:automationUuid') @Get('details/:automationUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.AUTOMATION.ACTIONS.GET_AUTOMATION_DETAILS_SUMMARY, summary: ControllerRoute.AUTOMATION.ACTIONS.GET_AUTOMATION_DETAILS_SUMMARY,
@ -78,7 +82,8 @@ export class AutomationController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('AUTOMATION_DELETE')
@Delete(':automationUuid') @Delete(':automationUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.AUTOMATION.ACTIONS.DELETE_AUTOMATION_SUMMARY, summary: ControllerRoute.AUTOMATION.ACTIONS.DELETE_AUTOMATION_SUMMARY,
@ -94,7 +99,8 @@ export class AutomationController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('AUTOMATION_UPDATE')
@Put(':automationUuid') @Put(':automationUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.AUTOMATION.ACTIONS.UPDATE_AUTOMATION_SUMMARY, summary: ControllerRoute.AUTOMATION.ACTIONS.UPDATE_AUTOMATION_SUMMARY,
@ -118,7 +124,8 @@ export class AutomationController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('AUTOMATION_UPDATE')
@Put('status/:automationUuid') @Put('status/:automationUuid')
@ApiOperation({ @ApiOperation({
summary: summary:

View File

@ -15,11 +15,12 @@ import { AddCommunityDto } from '../dtos/add.community.dto';
import { GetCommunityParams } from '../dtos/get.community.dto'; import { GetCommunityParams } from '../dtos/get.community.dto';
import { UpdateCommunityNameDto } from '../dtos/update.community.dto'; import { UpdateCommunityNameDto } from '../dtos/update.community.dto';
// import { CheckUserCommunityGuard } from 'src/guards/user.community.guard'; // import { CheckUserCommunityGuard } from 'src/guards/user.community.guard';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { PaginationRequestGetListDto } from '@app/common/dto/pagination.request.dto'; import { PaginationRequestGetListDto } from '@app/common/dto/pagination.request.dto';
import { ProjectParam } from '../dtos'; import { ProjectParam } from '../dtos';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Community Module') @ApiTags('Community Module')
@Controller({ @Controller({
@ -30,7 +31,8 @@ export class CommunityController {
constructor(private readonly communityService: CommunityService) {} constructor(private readonly communityService: CommunityService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('COMMUNITY_ADD')
@Post() @Post()
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.COMMUNITY.ACTIONS.CREATE_COMMUNITY_SUMMARY, summary: ControllerRoute.COMMUNITY.ACTIONS.CREATE_COMMUNITY_SUMMARY,
@ -44,7 +46,8 @@ export class CommunityController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('COMMUNITY_VIEW')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.COMMUNITY.ACTIONS.GET_COMMUNITY_BY_ID_SUMMARY, summary: ControllerRoute.COMMUNITY.ACTIONS.GET_COMMUNITY_BY_ID_SUMMARY,
description: description:
@ -58,7 +61,8 @@ export class CommunityController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('COMMUNITY_VIEW')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.COMMUNITY.ACTIONS.LIST_COMMUNITY_SUMMARY, summary: ControllerRoute.COMMUNITY.ACTIONS.LIST_COMMUNITY_SUMMARY,
description: ControllerRoute.COMMUNITY.ACTIONS.LIST_COMMUNITY_DESCRIPTION, description: ControllerRoute.COMMUNITY.ACTIONS.LIST_COMMUNITY_DESCRIPTION,
@ -72,7 +76,8 @@ export class CommunityController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('COMMUNITY_UPDATE')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.COMMUNITY.ACTIONS.UPDATE_COMMUNITY_SUMMARY, summary: ControllerRoute.COMMUNITY.ACTIONS.UPDATE_COMMUNITY_SUMMARY,
description: ControllerRoute.COMMUNITY.ACTIONS.UPDATE_COMMUNITY_DESCRIPTION, description: ControllerRoute.COMMUNITY.ACTIONS.UPDATE_COMMUNITY_DESCRIPTION,
@ -86,7 +91,8 @@ export class CommunityController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('COMMUNITY_DELETE')
@Delete('/:communityUuid') @Delete('/:communityUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.COMMUNITY.ACTIONS.DELETE_COMMUNITY_SUMMARY, summary: ControllerRoute.COMMUNITY.ACTIONS.DELETE_COMMUNITY_SUMMARY,

View File

@ -28,15 +28,15 @@ import {
GetSceneFourSceneDeviceDto, GetSceneFourSceneDeviceDto,
} from '../dtos/control.device.dto'; } from '../dtos/control.device.dto';
import { CheckRoomGuard } from 'src/guards/room.guard'; import { CheckRoomGuard } from 'src/guards/room.guard';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { CheckDeviceGuard } from 'src/guards/device.guard'; import { CheckDeviceGuard } from 'src/guards/device.guard';
import { SuperAdminRoleGuard } from 'src/guards/super.admin.role.guard';
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum'; import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
import { CheckFourAndSixSceneDeviceTypeGuard } from 'src/guards/scene.device.type.guard'; import { CheckFourAndSixSceneDeviceTypeGuard } from 'src/guards/scene.device.type.guard';
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { DeviceSceneParamDto } from '../dtos/device.param.dto'; import { DeviceSceneParamDto } from '../dtos/device.param.dto';
import { DeleteSceneFromSceneDeviceDto } from '../dtos/delete.device.dto'; import { DeleteSceneFromSceneDeviceDto } from '../dtos/delete.device.dto';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Device Module') @ApiTags('Device Module')
@Controller({ @Controller({
@ -46,7 +46,8 @@ import { DeleteSceneFromSceneDeviceDto } from '../dtos/delete.device.dto';
export class DeviceController { export class DeviceController {
constructor(private readonly deviceService: DeviceService) {} constructor(private readonly deviceService: DeviceService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(SuperAdminRoleGuard, CheckDeviceGuard) @UseGuards(PermissionsGuard, CheckDeviceGuard)
@Permissions('ASSIGN_DEVICE_TO_SPACE')
@Post() @Post()
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.ADD_DEVICE_TO_USER_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.ADD_DEVICE_TO_USER_SUMMARY,
@ -63,7 +64,8 @@ export class DeviceController {
}; };
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get('user/:userUuid') @Get('user/:userUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_USER_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_USER_SUMMARY,
@ -74,7 +76,8 @@ export class DeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VIEW_DEVICE_IN_SPACE')
@Get('space/:spaceUuid') @Get('space/:spaceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_SPACE_UUID_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_SPACE_UUID_SUMMARY,
@ -85,7 +88,8 @@ export class DeviceController {
return await this.deviceService.getDevicesBySpaceUuid(spaceUuid); return await this.deviceService.getDevicesBySpaceUuid(spaceUuid);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard, CheckRoomGuard) @UseGuards(PermissionsGuard, CheckRoomGuard)
@Permissions('UPDATE_DEVICE_IN_SUBSPACE')
@Put('space') @Put('space')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_IN_ROOM_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_IN_ROOM_SUMMARY,
@ -108,7 +112,8 @@ export class DeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get(':deviceUuid') @Get(':deviceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_DETAILS_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_DETAILS_SUMMARY,
@ -125,7 +130,8 @@ export class DeviceController {
); );
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_UPDATE')
@Put(':deviceUuid') @Put(':deviceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_SUMMARY,
@ -149,7 +155,8 @@ export class DeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get(':deviceUuid/functions') @Get(':deviceUuid/functions')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_INSTRUCTION_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_INSTRUCTION_SUMMARY,
@ -162,7 +169,8 @@ export class DeviceController {
return await this.deviceService.getDeviceInstructionByDeviceId(deviceUuid); return await this.deviceService.getDeviceInstructionByDeviceId(deviceUuid);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get(':deviceUuid/functions/status') @Get(':deviceUuid/functions/status')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_STATUS_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_STATUS_SUMMARY,
@ -173,7 +181,8 @@ export class DeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_SINGLE_CONTROL')
@Post(':deviceUuid/control') @Post(':deviceUuid/control')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.CONTROL_DEVICE_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.CONTROL_DEVICE_SUMMARY,
@ -186,7 +195,8 @@ export class DeviceController {
return await this.deviceService.controlDevice(controlDeviceDto, deviceUuid); return await this.deviceService.controlDevice(controlDeviceDto, deviceUuid);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('FIRMWARE_CONTROL')
@Post(':deviceUuid/firmware/:firmwareVersion') @Post(':deviceUuid/firmware/:firmwareVersion')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_FIRMWARE_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_FIRMWARE_SUMMARY,
@ -203,7 +213,8 @@ export class DeviceController {
); );
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get('gateway/:gatewayUuid/devices') @Get('gateway/:gatewayUuid/devices')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_IN_GATEWAY_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_IN_GATEWAY_SUMMARY,
@ -214,7 +225,8 @@ export class DeviceController {
return await this.deviceService.getDevicesInGateway(gatewayUuid); return await this.deviceService.getDevicesInGateway(gatewayUuid);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get() @Get()
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_ALL_DEVICES_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_ALL_DEVICES_SUMMARY,
@ -225,7 +237,8 @@ export class DeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get('report-logs/:deviceUuid') @Get('report-logs/:deviceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_LOGS_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_LOGS_SUMMARY,
@ -238,7 +251,8 @@ export class DeviceController {
return await this.deviceService.getDeviceLogs(deviceUuid, query); return await this.deviceService.getDeviceLogs(deviceUuid, query);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_BATCH_CONTROL')
@Post('control/batch') @Post('control/batch')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.BATCH_CONTROL_DEVICES_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.BATCH_CONTROL_DEVICES_SUMMARY,
@ -251,7 +265,8 @@ export class DeviceController {
return await this.deviceService.batchControlDevices(batchControlDevicesDto); return await this.deviceService.batchControlDevices(batchControlDevicesDto);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_BATCH_CONTROL')
@Get('status/batch') @Get('status/batch')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.BATCH_STATUS_DEVICES_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.BATCH_STATUS_DEVICES_SUMMARY,
@ -264,7 +279,8 @@ export class DeviceController {
return await this.deviceService.batchStatusDevices(batchStatusDevicesDto); return await this.deviceService.batchStatusDevices(batchStatusDevicesDto);
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_DELETE')
@Post('factory/reset/:deviceUuid') @Post('factory/reset/:deviceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.BATCH_FACTORY_RESET_DEVICES_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.BATCH_FACTORY_RESET_DEVICES_SUMMARY,
@ -279,7 +295,8 @@ export class DeviceController {
); );
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_VIEW')
@Get(':powerClampUuid/power-clamp/status') @Get(':powerClampUuid/power-clamp/status')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_POWER_CLAMP_STATUS_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_POWER_CLAMP_STATUS_SUMMARY,
@ -294,7 +311,8 @@ export class DeviceController {
); );
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard, CheckFourAndSixSceneDeviceTypeGuard) @UseGuards(PermissionsGuard, CheckFourAndSixSceneDeviceTypeGuard)
@Permissions('DEVICE_SINGLE_CONTROL')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.ADD_SCENE_TO_DEVICE_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.ADD_SCENE_TO_DEVICE_SUMMARY,
description: ControllerRoute.DEVICE.ACTIONS.ADD_SCENE_TO_DEVICE_DESCRIPTION, description: ControllerRoute.DEVICE.ACTIONS.ADD_SCENE_TO_DEVICE_DESCRIPTION,
@ -317,7 +335,8 @@ export class DeviceController {
}; };
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard, CheckFourAndSixSceneDeviceTypeGuard) @UseGuards(PermissionsGuard, CheckFourAndSixSceneDeviceTypeGuard)
@Permissions('DEVICE_VIEW')
@Get(':deviceUuid/scenes') @Get(':deviceUuid/scenes')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.DEVICE.ACTIONS.GET_SCENES_BY_DEVICE_SUMMARY, summary: ControllerRoute.DEVICE.ACTIONS.GET_SCENES_BY_DEVICE_SUMMARY,
@ -334,7 +353,8 @@ export class DeviceController {
); );
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DEVICE_DELETE')
@Delete(':deviceUuid/scenes') @Delete(':deviceUuid/scenes')
@ApiOperation({ @ApiOperation({
summary: summary:

View File

@ -1,9 +1,10 @@
import { GroupService } from '../services/group.service'; import { GroupService } from '../services/group.service';
import { Controller, Get, UseGuards, Param, Req } from '@nestjs/common'; import { Controller, Get, UseGuards, Param, Req } from '@nestjs/common';
import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum'; import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
import { ControllerRoute } from '@app/common/constants/controller-route'; // Assuming this is where the routes are defined import { ControllerRoute } from '@app/common/constants/controller-route'; // Assuming this is where the routes are defined
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Group Module') @ApiTags('Group Module')
@Controller({ @Controller({
@ -14,7 +15,8 @@ export class GroupController {
constructor(private readonly groupService: GroupService) {} constructor(private readonly groupService: GroupService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VIEW_DEVICE_WIZARD')
@Get(':spaceUuid') @Get(':spaceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.GROUP.ACTIONS.GET_GROUPS_BY_SPACE_UUID_SUMMARY, summary: ControllerRoute.GROUP.ACTIONS.GET_GROUPS_BY_SPACE_UUID_SUMMARY,
@ -26,7 +28,8 @@ export class GroupController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VIEW_DEVICE_WIZARD')
@Get(':spaceUuid/devices/:groupName') @Get(':spaceUuid/devices/:groupName')
@ApiOperation({ @ApiOperation({
summary: summary:

View File

@ -16,11 +16,12 @@ import {
AddSceneTapToRunDto, AddSceneTapToRunDto,
UpdateSceneTapToRunDto, UpdateSceneTapToRunDto,
} from '../dtos/scene.dto'; } from '../dtos/scene.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum'; import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
import { SceneParamDto } from '../dtos'; import { SceneParamDto } from '../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Scene Module') @ApiTags('Scene Module')
@Controller({ @Controller({
@ -31,7 +32,8 @@ export class SceneController {
constructor(private readonly sceneService: SceneService) {} constructor(private readonly sceneService: SceneService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_ADD')
@Post('tap-to-run') @Post('tap-to-run')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.CREATE_TAP_TO_RUN_SCENE_SUMMARY, summary: ControllerRoute.SCENE.ACTIONS.CREATE_TAP_TO_RUN_SCENE_SUMMARY,
@ -45,7 +47,8 @@ export class SceneController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_DELETE')
@Delete('tap-to-run/:sceneUuid') @Delete('tap-to-run/:sceneUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.DELETE_TAP_TO_RUN_SCENE_SUMMARY, summary: ControllerRoute.SCENE.ACTIONS.DELETE_TAP_TO_RUN_SCENE_SUMMARY,
@ -59,7 +62,8 @@ export class SceneController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_CONTROL')
@Post('tap-to-run/:sceneUuid/trigger') @Post('tap-to-run/:sceneUuid/trigger')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.TRIGGER_TAP_TO_RUN_SCENE_SUMMARY, summary: ControllerRoute.SCENE.ACTIONS.TRIGGER_TAP_TO_RUN_SCENE_SUMMARY,
@ -71,7 +75,8 @@ export class SceneController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_VIEW')
@Get('tap-to-run/:sceneUuid') @Get('tap-to-run/:sceneUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.GET_TAP_TO_RUN_SCENE_SUMMARY, summary: ControllerRoute.SCENE.ACTIONS.GET_TAP_TO_RUN_SCENE_SUMMARY,
@ -84,7 +89,8 @@ export class SceneController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_UPDATE')
@Put('tap-to-run/:sceneUuid') @Put('tap-to-run/:sceneUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.UPDATE_TAP_TO_RUN_SCENE_SUMMARY, summary: ControllerRoute.SCENE.ACTIONS.UPDATE_TAP_TO_RUN_SCENE_SUMMARY,
@ -102,7 +108,8 @@ export class SceneController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_ADD')
@Post('icon') @Post('icon')
async addSceneIcon(@Body() addSceneIconDto: AddSceneIconDto) { async addSceneIcon(@Body() addSceneIconDto: AddSceneIconDto) {
const tapToRunScene = await this.sceneService.addSceneIcon(addSceneIconDto); const tapToRunScene = await this.sceneService.addSceneIcon(addSceneIconDto);
@ -114,7 +121,8 @@ export class SceneController {
}; };
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_VIEW')
@Get('icon') @Get('icon')
async getAllIcons() { async getAllIcons() {
const icons = await this.sceneService.getAllIcons(); const icons = await this.sceneService.getAllIcons();

View File

@ -4,8 +4,9 @@ import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { SpaceModelService } from '../services'; import { SpaceModelService } from '../services';
import { CreateSpaceModelDto } from '../dtos'; import { CreateSpaceModelDto } from '../dtos';
import { ProjectParam } from 'src/community/dtos'; import { ProjectParam } from 'src/community/dtos';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Model Module') @ApiTags('Space Model Module')
@Controller({ @Controller({
@ -16,7 +17,8 @@ export class SpaceModelController {
constructor(private readonly spaceModelService: SpaceModelService) {} constructor(private readonly spaceModelService: SpaceModelService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_MODULE_ADD')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE_MODEL.ACTIONS.CREATE_SPACE_MODEL_SUMMARY, summary: ControllerRoute.SPACE_MODEL.ACTIONS.CREATE_SPACE_MODEL_SUMMARY,
description: description:

View File

@ -1,10 +1,11 @@
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { Controller, Get, Param, UseGuards } from '@nestjs/common'; import { Controller, Get, Param, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { GetSpaceParam } from '../dtos'; import { GetSpaceParam } from '../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { SpaceDeviceService } from '../services'; import { SpaceDeviceService } from '../services';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module') @ApiTags('Space Module')
@Controller({ @Controller({
@ -15,7 +16,8 @@ export class SpaceDeviceController {
constructor(private readonly spaceDeviceService: SpaceDeviceService) {} constructor(private readonly spaceDeviceService: SpaceDeviceService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VIEW_DEVICE_IN_SPACE')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE_DEVICES.ACTIONS.LIST_SPACE_DEVICE_SUMMARY, summary: ControllerRoute.SPACE_DEVICES.ACTIONS.LIST_SPACE_DEVICE_SUMMARY,
description: description:

View File

@ -1,11 +1,12 @@
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { Controller, Get, Param, Query, UseGuards } from '@nestjs/common'; import { Controller, Get, Param, Query, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { SpaceSceneService } from '../services'; import { SpaceSceneService } from '../services';
import { GetSceneDto } from '../../scene/dtos'; import { GetSceneDto } from '../../scene/dtos';
import { GetSpaceParam } from '../dtos'; import { GetSpaceParam } from '../dtos';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module') @ApiTags('Space Module')
@Controller({ @Controller({
@ -16,7 +17,8 @@ export class SpaceSceneController {
constructor(private readonly sceneService: SpaceSceneService) {} constructor(private readonly sceneService: SpaceSceneService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SCENES_VIEW')
@ApiOperation({ @ApiOperation({
summary: summary:
ControllerRoute.SPACE_SCENE.ACTIONS.GET_TAP_TO_RUN_SCENE_BY_SPACE_SUMMARY, ControllerRoute.SPACE_SCENE.ACTIONS.GET_TAP_TO_RUN_SCENE_BY_SPACE_SUMMARY,

View File

@ -3,8 +3,9 @@ import { Controller, Delete, Param, Post, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { SpaceUserService } from '../services'; import { SpaceUserService } from '../services';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { UserSpaceParam } from '../dtos'; import { UserSpaceParam } from '../dtos';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module') @ApiTags('Space Module')
@Controller({ @Controller({
@ -16,7 +17,8 @@ export class SpaceUserController {
@ApiBearerAuth() @ApiBearerAuth()
@Post('/:userUuid') @Post('/:userUuid')
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('ASSIGN_USER_TO_SPACE')
@ApiOperation({ @ApiOperation({
summary: summary:
ControllerRoute.SPACE_USER.ACTIONS.ASSOCIATE_SPACE_USER_DESCRIPTION, ControllerRoute.SPACE_USER.ACTIONS.ASSOCIATE_SPACE_USER_DESCRIPTION,
@ -31,7 +33,8 @@ export class SpaceUserController {
@ApiBearerAuth() @ApiBearerAuth()
@Delete('/:userUuid') @Delete('/:userUuid')
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DELETE_USER_FROM_SPACE')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE_USER.ACTIONS.DISSOCIATE_SPACE_USER_SUMMARY, summary: ControllerRoute.SPACE_USER.ACTIONS.DISSOCIATE_SPACE_USER_SUMMARY,
description: description:

View File

@ -11,10 +11,11 @@ import {
Put, Put,
UseGuards, UseGuards,
} from '@nestjs/common'; } from '@nestjs/common';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { AddSpaceDto, CommunitySpaceParam, UpdateSpaceDto } from '../dtos'; import { AddSpaceDto, CommunitySpaceParam, UpdateSpaceDto } from '../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { GetSpaceParam } from '../dtos/get.space.param'; import { GetSpaceParam } from '../dtos/get.space.param';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module') @ApiTags('Space Module')
@Controller({ @Controller({
@ -25,7 +26,8 @@ export class SpaceController {
constructor(private readonly spaceService: SpaceService) {} constructor(private readonly spaceService: SpaceService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_ADD')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE.ACTIONS.CREATE_SPACE_SUMMARY, summary: ControllerRoute.SPACE.ACTIONS.CREATE_SPACE_SUMMARY,
description: ControllerRoute.SPACE.ACTIONS.CREATE_SPACE_DESCRIPTION, description: ControllerRoute.SPACE.ACTIONS.CREATE_SPACE_DESCRIPTION,
@ -42,7 +44,8 @@ export class SpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_VIEW')
@ApiOperation({ @ApiOperation({
summary: summary:
ControllerRoute.SPACE.ACTIONS.GET_COMMUNITY_SPACES_HIERARCHY_SUMMARY, ControllerRoute.SPACE.ACTIONS.GET_COMMUNITY_SPACES_HIERARCHY_SUMMARY,
@ -57,7 +60,8 @@ export class SpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_DELETE')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE.ACTIONS.DELETE_SPACE_SUMMARY, summary: ControllerRoute.SPACE.ACTIONS.DELETE_SPACE_SUMMARY,
description: ControllerRoute.SPACE.ACTIONS.DELETE_SPACE_DESCRIPTION, description: ControllerRoute.SPACE.ACTIONS.DELETE_SPACE_DESCRIPTION,
@ -68,7 +72,8 @@ export class SpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_UPDATE')
@Put('/:spaceUuid') @Put('/:spaceUuid')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE.ACTIONS.UPDATE_SPACE_SUMMARY, summary: ControllerRoute.SPACE.ACTIONS.UPDATE_SPACE_SUMMARY,
@ -82,7 +87,8 @@ export class SpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_VIEW')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE.ACTIONS.GET_SPACE_SUMMARY, summary: ControllerRoute.SPACE.ACTIONS.GET_SPACE_SUMMARY,
description: ControllerRoute.SPACE.ACTIONS.GET_SPACE_DESCRIPTION, description: ControllerRoute.SPACE.ACTIONS.GET_SPACE_DESCRIPTION,
@ -93,7 +99,8 @@ export class SpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_VIEW')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE.ACTIONS.GET_HEIRARCHY_SUMMARY, summary: ControllerRoute.SPACE.ACTIONS.GET_HEIRARCHY_SUMMARY,
description: ControllerRoute.SPACE.ACTIONS.GET_HEIRARCHY_DESCRIPTION, description: ControllerRoute.SPACE.ACTIONS.GET_HEIRARCHY_DESCRIPTION,
@ -107,7 +114,8 @@ export class SpaceController {
//should it be post? //should it be post?
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SPACE_MEMBER_ADD')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SPACE.ACTIONS.CREATE_INVITATION_CODE_SPACE_SUMMARY, summary: ControllerRoute.SPACE.ACTIONS.CREATE_INVITATION_CODE_SPACE_SUMMARY,
description: description:

View File

@ -1,5 +1,4 @@
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { import {
Controller, Controller,
Delete, Delete,
@ -12,6 +11,8 @@ import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { DeviceSubSpaceParam, GetSubSpaceParam } from '../../dtos'; import { DeviceSubSpaceParam, GetSubSpaceParam } from '../../dtos';
import { SubspaceDeviceService } from 'src/space/services'; import { SubspaceDeviceService } from 'src/space/services';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module') @ApiTags('Space Module')
@Controller({ @Controller({
@ -22,7 +23,8 @@ export class SubSpaceDeviceController {
constructor(private readonly subspaceDeviceService: SubspaceDeviceService) {} constructor(private readonly subspaceDeviceService: SubspaceDeviceService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VIEW_DEVICE_IN_SUBSPACE')
@ApiOperation({ @ApiOperation({
summary: summary:
ControllerRoute.SUBSPACE_DEVICE.ACTIONS.LIST_SUBSPACE_DEVICE_SUMMARY, ControllerRoute.SUBSPACE_DEVICE.ACTIONS.LIST_SUBSPACE_DEVICE_SUMMARY,
@ -37,7 +39,8 @@ export class SubSpaceDeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('ASSIGN_DEVICE_TO_SUBSPACE')
@ApiOperation({ @ApiOperation({
summary: summary:
ControllerRoute.SUBSPACE_DEVICE.ACTIONS.ASSOCIATE_SUBSPACE_DEVICE_SUMMARY, ControllerRoute.SUBSPACE_DEVICE.ACTIONS.ASSOCIATE_SUBSPACE_DEVICE_SUMMARY,
@ -53,7 +56,8 @@ export class SubSpaceDeviceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('DELETE_DEVICE_FROM_SUBSPACE')
@ApiOperation({ @ApiOperation({
summary: summary:
ControllerRoute.SUBSPACE_DEVICE.ACTIONS ControllerRoute.SUBSPACE_DEVICE.ACTIONS

View File

@ -14,8 +14,9 @@ import { SubSpaceService } from '../../services';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { AddSubspaceDto, GetSpaceParam, GetSubSpaceParam } from '../../dtos'; import { AddSubspaceDto, GetSpaceParam, GetSubSpaceParam } from '../../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { PaginationRequestGetListDto } from '@app/common/dto/pagination.request.dto'; import { PaginationRequestGetListDto } from '@app/common/dto/pagination.request.dto';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module') @ApiTags('Space Module')
@Controller({ @Controller({
@ -26,7 +27,8 @@ export class SubSpaceController {
constructor(private readonly subSpaceService: SubSpaceService) {} constructor(private readonly subSpaceService: SubSpaceService) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SUBSPACE_ADD')
@Post() @Post()
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SUBSPACE.ACTIONS.CREATE_SUBSPACE_SUMMARY, summary: ControllerRoute.SUBSPACE.ACTIONS.CREATE_SUBSPACE_SUMMARY,
@ -40,7 +42,8 @@ export class SubSpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SUBSPACE_VIEW')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SUBSPACE.ACTIONS.LIST_SUBSPACES_SUMMARY, summary: ControllerRoute.SUBSPACE.ACTIONS.LIST_SUBSPACES_SUMMARY,
description: ControllerRoute.SUBSPACE.ACTIONS.LIST_SUBSPACES_DESCRIPTION, description: ControllerRoute.SUBSPACE.ACTIONS.LIST_SUBSPACES_DESCRIPTION,
@ -54,7 +57,8 @@ export class SubSpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SUBSPACE_VIEW')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SUBSPACE.ACTIONS.GET_SUBSPACE_SUMMARY, summary: ControllerRoute.SUBSPACE.ACTIONS.GET_SUBSPACE_SUMMARY,
description: ControllerRoute.SUBSPACE.ACTIONS.GET_SUBSPACE_DESCRIPTION, description: ControllerRoute.SUBSPACE.ACTIONS.GET_SUBSPACE_DESCRIPTION,
@ -65,7 +69,8 @@ export class SubSpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SUBSPACE_UPDATE')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SUBSPACE.ACTIONS.UPDATE_SUBSPACE_SUMMARY, summary: ControllerRoute.SUBSPACE.ACTIONS.UPDATE_SUBSPACE_SUMMARY,
description: ControllerRoute.SUBSPACE.ACTIONS.UPDATE_SUBSPACE_DESCRIPTION, description: ControllerRoute.SUBSPACE.ACTIONS.UPDATE_SUBSPACE_DESCRIPTION,
@ -79,7 +84,8 @@ export class SubSpaceController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('SUBSPACE_DELETE')
@ApiOperation({ @ApiOperation({
summary: ControllerRoute.SUBSPACE.ACTIONS.DELETE_SUBSPACE_SUMMARY, summary: ControllerRoute.SUBSPACE.ACTIONS.DELETE_SUBSPACE_SUMMARY,
description: ControllerRoute.SUBSPACE.ACTIONS.DELETE_SUBSPACE_DESCRIPTION, description: ControllerRoute.SUBSPACE.ACTIONS.DELETE_SUBSPACE_DESCRIPTION,

View File

@ -15,9 +15,10 @@ import {
AddDoorLockOnlineMultipleDto, AddDoorLockOnlineMultipleDto,
AddDoorLockOnlineOneTimeDto, AddDoorLockOnlineOneTimeDto,
} from '../dtos/temp-pass.dto'; } from '../dtos/temp-pass.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum'; import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
import { ControllerRoute } from '@app/common/constants/controller-route'; import { ControllerRoute } from '@app/common/constants/controller-route';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Visitor Password Module') @ApiTags('Visitor Password Module')
@Controller({ @Controller({
@ -30,7 +31,8 @@ export class VisitorPasswordController {
) {} ) {}
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VISITOR_PASSWORD_ADD')
@Post('temporary-password/online/multiple-time') @Post('temporary-password/online/multiple-time')
@ApiOperation({ @ApiOperation({
summary: summary:
@ -58,7 +60,8 @@ export class VisitorPasswordController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VISITOR_PASSWORD_ADD')
@Post('temporary-password/online/one-time') @Post('temporary-password/online/one-time')
@ApiOperation({ @ApiOperation({
summary: summary:
@ -86,7 +89,8 @@ export class VisitorPasswordController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VISITOR_PASSWORD_ADD')
@Post('temporary-password/offline/one-time') @Post('temporary-password/offline/one-time')
@ApiOperation({ @ApiOperation({
summary: summary:
@ -114,7 +118,8 @@ export class VisitorPasswordController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VISITOR_PASSWORD_ADD')
@Post('temporary-password/offline/multiple-time') @Post('temporary-password/offline/multiple-time')
@ApiOperation({ @ApiOperation({
summary: summary:
@ -143,7 +148,8 @@ export class VisitorPasswordController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VISITOR_PASSWORD_VIEW')
@Get() @Get()
@ApiOperation({ @ApiOperation({
summary: summary:
@ -156,7 +162,8 @@ export class VisitorPasswordController {
} }
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(JwtAuthGuard) @UseGuards(PermissionsGuard)
@Permissions('VISITOR_PASSWORD_VIEW')
@Get('/devices') @Get('/devices')
@ApiOperation({ @ApiOperation({
summary: summary: