mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-26 14:54:55 +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 { ConvertedAction } from '@app/common/integrations/tuya/interfaces';
|
||||
import { DeviceService } from 'src/device/services';
|
||||
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
||||
|
||||
@Injectable()
|
||||
export class SceneService {
|
||||
@ -46,6 +47,7 @@ export class SceneService {
|
||||
private readonly spaceRepository: SpaceRepository,
|
||||
private readonly sceneIconRepository: SceneIconRepository,
|
||||
private readonly sceneRepository: SceneRepository,
|
||||
private readonly sceneDeviceRepository: SceneDeviceRepository,
|
||||
private readonly tuyaService: TuyaService,
|
||||
@Inject(forwardRef(() => DeviceService))
|
||||
private readonly deviceService: DeviceService,
|
||||
@ -449,13 +451,18 @@ export class SceneService {
|
||||
}
|
||||
|
||||
async deleteScene(params: SceneParamDto): Promise<BaseResponseDto> {
|
||||
try {
|
||||
const { sceneUuid } = params;
|
||||
try {
|
||||
const scene = await this.findScene(sceneUuid);
|
||||
const space = await this.getSpaceByUuid(scene.space.uuid);
|
||||
|
||||
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({
|
||||
message: `Scene with ID ${sceneUuid} deleted successfully`,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user