Merge pull request #165 from SyncrowIOT/fix-add-scene-issue

Update AutomationService to use SceneRepository for scene details
This commit is contained in:
faris Aljohari
2024-12-02 01:15:11 -06:00
committed by GitHub

View File

@ -33,6 +33,7 @@ import {
import { TuyaService } from '@app/common/integrations/tuya/services/tuya.service';
import { ConvertedAction } from '@app/common/integrations/tuya/interfaces';
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
import { SceneRepository } from '@app/common/modules/scene/repositories';
@Injectable()
export class AutomationService {
@ -43,6 +44,7 @@ export class AutomationService {
private readonly deviceService: DeviceService,
private readonly tuyaService: TuyaService,
private readonly sceneDeviceRepository: SceneDeviceRepository,
private readonly sceneRepository: SceneRepository,
) {
const accessKey = this.configService.get<string>('auth-config.ACCESS_KEY');
const secretKey = this.configService.get<string>('auth-config.SECRET_KEY');
@ -245,8 +247,14 @@ export class AutomationService {
action.actionExecutor !== ActionExecutorEnum.DEVICE_ISSUE &&
action.actionExecutor !== ActionExecutorEnum.DELAY
) {
const scene = await this.sceneRepository.findOne({
where: {
uuid: action.entityId,
},
});
if (scene.uuid) {
const sceneDetails = await this.getTapToRunSceneDetailsTuya(
action.entityId,
scene.sceneTuyaUuid,
);
if (sceneDetails.id) {
@ -255,6 +263,7 @@ export class AutomationService {
}
}
}
}
const conditions = responseData.conditions.map((condition) => ({
...condition,