diff --git a/src/device/controllers/device.controller.ts b/src/device/controllers/device.controller.ts index 28392aa..905212f 100644 --- a/src/device/controllers/device.controller.ts +++ b/src/device/controllers/device.controller.ts @@ -11,7 +11,7 @@ import { Req, Put, } from '@nestjs/common'; -import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; import { AddDeviceDto, AddSceneToFourSceneDeviceDto, @@ -32,17 +32,22 @@ 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 { CheckFourAndSixSceneDeviceTypeGuard } from 'src/guards/scene.device.type.guard'; +import { ControllerRoute } from '@app/common/constants/controller-route'; @ApiTags('Device Module') @Controller({ version: EnableDisableStatusEnum.ENABLED, - path: 'device', + path: ControllerRoute.DEVICE.ROUTE, }) export class DeviceController { constructor(private readonly deviceService: DeviceService) {} @ApiBearerAuth() @UseGuards(SuperAdminRoleGuard, CheckDeviceGuard) @Post() + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.ADD_DEVICE_TO_USER_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.ADD_DEVICE_TO_USER_DESCRIPTION, + }) async addDeviceUser(@Body() addDeviceDto: AddDeviceDto) { const device = await this.deviceService.addDeviceUser(addDeviceDto); @@ -56,6 +61,10 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get('user/:userUuid') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_USER_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_USER_DESCRIPTION, + }) async getDevicesByUser(@Param('userUuid') userUuid: string) { return await this.deviceService.getDevicesByUser(userUuid); } @@ -63,12 +72,22 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get('space/:spaceUuid') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_SPACE_UUID_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_BY_SPACE_UUID_DESCRIPTION, + }) async getDevicesByUnitId(@Param('spaceUuid') spaceUuid: string) { return await this.deviceService.getDevicesBySpaceUuid(spaceUuid); } @ApiBearerAuth() @UseGuards(JwtAuthGuard, CheckRoomGuard) @Put('space') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_IN_ROOM_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_IN_ROOM_DESCRIPTION, + }) async updateDeviceInRoom( @Body() updateDeviceInSpaceDto: UpdateDeviceInSpaceDto, ) { @@ -87,6 +106,10 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get(':deviceUuid') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_DETAILS_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_DETAILS_DESCRIPTION, + }) async getDeviceDetailsByDeviceId( @Param('deviceUuid') deviceUuid: string, @Req() req: any, @@ -100,6 +123,10 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Put(':deviceUuid') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_DESCRIPTION, + }) async updateDevice( @Param('deviceUuid') deviceUuid: string, @Body() updateDeviceDto: UpdateDeviceDto, @@ -120,6 +147,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get(':deviceUuid/functions') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_INSTRUCTION_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_INSTRUCTION_DESCRIPTION, + }) async getDeviceInstructionByDeviceId( @Param('deviceUuid') deviceUuid: string, ) { @@ -128,6 +160,10 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get(':deviceUuid/functions/status') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_STATUS_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_STATUS_DESCRIPTION, + }) async getDevicesInstructionStatus(@Param('deviceUuid') deviceUuid: string) { return await this.deviceService.getDevicesInstructionStatus(deviceUuid); } @@ -135,6 +171,10 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Post(':deviceUuid/control') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.CONTROL_DEVICE_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.CONTROL_DEVICE_DESCRIPTION, + }) async controlDevice( @Body() controlDeviceDto: ControlDeviceDto, @Param('deviceUuid') deviceUuid: string, @@ -144,6 +184,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Post(':deviceUuid/firmware/:firmwareVersion') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_FIRMWARE_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.UPDATE_DEVICE_FIRMWARE_DESCRIPTION, + }) async updateDeviceFirmware( @Param('deviceUuid') deviceUuid: string, @Param('firmwareVersion') firmwareVersion: number, @@ -156,12 +201,21 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get('gateway/:gatewayUuid/devices') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_IN_GATEWAY_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.GET_DEVICES_IN_GATEWAY_DESCRIPTION, + }) async getDevicesInGateway(@Param('gatewayUuid') gatewayUuid: string) { return await this.deviceService.getDevicesInGateway(gatewayUuid); } @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get() + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_ALL_DEVICES_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.GET_ALL_DEVICES_DESCRIPTION, + }) async getAllDevices() { return await this.deviceService.getAllDevices(); } @@ -169,6 +223,10 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get('report-logs/:deviceUuid') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_LOGS_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.GET_DEVICE_LOGS_DESCRIPTION, + }) async getBuildingChildByUuid( @Param('deviceUuid') deviceUuid: string, @Query() query: GetDeviceLogsDto, @@ -178,6 +236,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Post('control/batch') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.BATCH_CONTROL_DEVICES_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.BATCH_CONTROL_DEVICES_DESCRIPTION, + }) async batchControlDevices( @Body() batchControlDevicesDto: BatchControlDevicesDto, ) { @@ -186,6 +249,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get('status/batch') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.BATCH_STATUS_DEVICES_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.BATCH_STATUS_DEVICES_DESCRIPTION, + }) async batchStatusDevices( @Query() batchStatusDevicesDto: BatchStatusDevicesDto, ) { @@ -194,6 +262,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Post('factory/reset/:deviceUuid') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.BATCH_FACTORY_RESET_DEVICES_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.BATCH_FACTORY_RESET_DEVICES_DESCRIPTION, + }) async batchFactoryResetDevices( @Body() batchFactoryResetDevicesDto: BatchFactoryResetDevicesDto, ) { @@ -204,6 +277,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get(':powerClampUuid/power-clamp/status') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_POWER_CLAMP_STATUS_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.GET_POWER_CLAMP_STATUS_DESCRIPTION, + }) async getPowerClampInstructionStatus( @Param('powerClampUuid') powerClampUuid: string, ) { @@ -213,6 +291,10 @@ export class DeviceController { } @ApiBearerAuth() @UseGuards(JwtAuthGuard, CheckFourAndSixSceneDeviceTypeGuard) + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.ADD_SCENE_TO_DEVICE_SUMMARY, + description: ControllerRoute.DEVICE.ACTIONS.ADD_SCENE_TO_DEVICE_DESCRIPTION, + }) @Post(':deviceUuid/scenes') async addSceneToSceneDevice( @Param('deviceUuid') deviceUuid: string, @@ -233,6 +315,11 @@ export class DeviceController { @ApiBearerAuth() @UseGuards(JwtAuthGuard, CheckFourAndSixSceneDeviceTypeGuard) @Get(':deviceUuid/scenes') + @ApiOperation({ + summary: ControllerRoute.DEVICE.ACTIONS.GET_SCENES_BY_DEVICE_SUMMARY, + description: + ControllerRoute.DEVICE.ACTIONS.GET_SCENES_BY_DEVICE_DESCRIPTION, + }) async getScenesBySceneDevice( @Param('deviceUuid') deviceUuid: string, @Query() getSceneFourSceneDeviceDto: GetSceneFourSceneDeviceDto,