mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-27 08:34:54 +00:00
Add SceneDeviceRepository and update deleteScene method
This commit is contained in:
@ -39,6 +39,7 @@ import { SuccessResponseDto } from '@app/common/dto/success.response.dto';
|
|||||||
import { HttpStatusCode } from 'axios';
|
import { HttpStatusCode } from 'axios';
|
||||||
import { ConvertedAction } from '@app/common/integrations/tuya/interfaces';
|
import { ConvertedAction } from '@app/common/integrations/tuya/interfaces';
|
||||||
import { DeviceService } from 'src/device/services';
|
import { DeviceService } from 'src/device/services';
|
||||||
|
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SceneService {
|
export class SceneService {
|
||||||
@ -46,6 +47,7 @@ export class SceneService {
|
|||||||
private readonly spaceRepository: SpaceRepository,
|
private readonly spaceRepository: SpaceRepository,
|
||||||
private readonly sceneIconRepository: SceneIconRepository,
|
private readonly sceneIconRepository: SceneIconRepository,
|
||||||
private readonly sceneRepository: SceneRepository,
|
private readonly sceneRepository: SceneRepository,
|
||||||
|
private readonly sceneDeviceRepository: SceneDeviceRepository,
|
||||||
private readonly tuyaService: TuyaService,
|
private readonly tuyaService: TuyaService,
|
||||||
@Inject(forwardRef(() => DeviceService))
|
@Inject(forwardRef(() => DeviceService))
|
||||||
private readonly deviceService: DeviceService,
|
private readonly deviceService: DeviceService,
|
||||||
@ -449,13 +451,18 @@ export class SceneService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async deleteScene(params: SceneParamDto): Promise<BaseResponseDto> {
|
async deleteScene(params: SceneParamDto): Promise<BaseResponseDto> {
|
||||||
try {
|
|
||||||
const { sceneUuid } = params;
|
const { sceneUuid } = params;
|
||||||
|
try {
|
||||||
const scene = await this.findScene(sceneUuid);
|
const scene = await this.findScene(sceneUuid);
|
||||||
const space = await this.getSpaceByUuid(scene.space.uuid);
|
const space = await this.getSpaceByUuid(scene.space.uuid);
|
||||||
|
|
||||||
await this.delete(scene.sceneTuyaUuid, space.spaceTuyaUuid);
|
await this.delete(scene.sceneTuyaUuid, space.spaceTuyaUuid);
|
||||||
await this.sceneRepository.delete({ uuid: sceneUuid });
|
await this.sceneDeviceRepository.delete({
|
||||||
|
scene: { uuid: sceneUuid },
|
||||||
|
});
|
||||||
|
await this.sceneRepository.delete({
|
||||||
|
uuid: sceneUuid,
|
||||||
|
});
|
||||||
return new SuccessResponseDto({
|
return new SuccessResponseDto({
|
||||||
message: `Scene with ID ${sceneUuid} deleted successfully`,
|
message: `Scene with ID ${sceneUuid} deleted successfully`,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user