Fixed scene

This commit is contained in:
hannathkadher
2024-11-02 19:36:56 +04:00
parent 2b6168058a
commit 7e9894b1d3
22 changed files with 672 additions and 413 deletions
+46 -55
View File
@@ -8,24 +8,24 @@ import {
Param,
Post,
Put,
Query,
UseGuards,
} from '@nestjs/common';
import { ApiTags, ApiBearerAuth } from '@nestjs/swagger';
import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger';
import {
AddSceneIconDto,
AddSceneTapToRunDto,
GetSceneDto,
UpdateSceneTapToRunDto,
} from '../dtos/scene.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
import { DeleteSceneParamDto, SceneParamDto, SpaceParamDto } from '../dtos';
import { SceneParamDto } from '../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { ControllerRoute } from '@app/common/constants/controller-route';
@ApiTags('Scene Module')
@Controller({
version: EnableDisableStatusEnum.ENABLED,
path: 'scene',
path: ControllerRoute.SCENE.ROUTE,
})
export class SceneController {
constructor(private readonly sceneService: SceneService) {}
@@ -33,81 +33,72 @@ export class SceneController {
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Post('tap-to-run')
async addTapToRunScene(@Body() addSceneTapToRunDto: AddSceneTapToRunDto) {
const tapToRunScene =
await this.sceneService.addTapToRunScene(addSceneTapToRunDto);
return {
statusCode: HttpStatus.CREATED,
success: true,
message: 'Scene added successfully',
data: tapToRunScene,
};
@ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.CREATE_TAP_TO_RUN_SCENE_SUMMARY,
description:
ControllerRoute.SCENE.ACTIONS.CREATE_TAP_TO_RUN_SCENE_DESCRIPTION,
})
async addTapToRunScene(
@Body() addSceneTapToRunDto: AddSceneTapToRunDto,
): Promise<BaseResponseDto> {
return await this.sceneService.createScene(addSceneTapToRunDto);
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Get('tap-to-run/:spaceUuid')
async getTapToRunSceneByUnit(
@Param() param: SpaceParamDto,
@Query() inHomePage: GetSceneDto,
) {
const tapToRunScenes = await this.sceneService.getTapToRunSceneBySpace(
param.spaceUuid,
inHomePage,
);
return tapToRunScenes;
@Delete('tap-to-run/:sceneUuid')
@ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.DELETE_TAP_TO_RUN_SCENE_SUMMARY,
description:
ControllerRoute.SCENE.ACTIONS.DELETE_TAP_TO_RUN_SCENE_DESCRIPTION,
})
async deleteTapToRunScene(
@Param() param: SceneParamDto,
): Promise<BaseResponseDto> {
return await this.sceneService.deleteScene(param);
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Delete('tap-to-run/:spaceUuid/:sceneUuid')
async deleteTapToRunScene(@Param() param: DeleteSceneParamDto) {
await this.sceneService.deleteScene(param);
return {
statusCode: HttpStatus.OK,
message: 'Scene Deleted Successfully',
};
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Post('tap-to-run/trigger/:sceneUuid')
@Post('tap-to-run/:sceneUuid/trigger')
@ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.TRIGGER_TAP_TO_RUN_SCENE_SUMMARY,
description:
ControllerRoute.SCENE.ACTIONS.TRIGGER_TAP_TO_RUN_SCENE_DESCRIPTION,
})
async triggerTapToRunScene(@Param() param: SceneParamDto) {
await this.sceneService.triggerTapToRunScene(param.sceneUuid);
return {
statusCode: HttpStatus.CREATED,
success: true,
message: 'Scene trigger successfully',
};
return await this.sceneService.triggerTapToRunScene(param.sceneUuid);
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Get('tap-to-run/details/:sceneUuid')
async getTapToRunSceneDetails(@Param() param: SceneParamDto) {
const tapToRunScenes = await this.sceneService.getTapToRunSceneDetails(
param.sceneUuid,
);
return tapToRunScenes;
@Get('tap-to-run/:sceneUuid')
@ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.GET_TAP_TO_RUN_SCENE_SUMMARY,
description: ControllerRoute.SCENE.ACTIONS.GET_TAP_TO_RUN_SCENE_DESCRIPTION,
})
async getTapToRunSceneDetails(
@Param() param: SceneParamDto,
): Promise<BaseResponseDto> {
return await this.sceneService.getSceneByUuid(param.sceneUuid);
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Put('tap-to-run/:sceneUuid')
@ApiOperation({
summary: ControllerRoute.SCENE.ACTIONS.UPDATE_TAP_TO_RUN_SCENE_SUMMARY,
description:
ControllerRoute.SCENE.ACTIONS.UPDATE_TAP_TO_RUN_SCENE_DESCRIPTION,
})
async updateTapToRunScene(
@Body() updateSceneTapToRunDto: UpdateSceneTapToRunDto,
@Param() param: SceneParamDto,
) {
const tapToRunScene = await this.sceneService.updateTapToRunScene(
return await this.sceneService.updateTapToRunScene(
updateSceneTapToRunDto,
param.sceneUuid,
);
return {
statusCode: HttpStatus.CREATED,
success: true,
message: 'Scene updated successfully',
data: tapToRunScene,
};
}
@ApiBearerAuth()