From 57fb43f47bee17cf35d2498dcd8cb4ce5414bdfe Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Wed, 20 Mar 2024 13:17:53 +0300 Subject: [PATCH 1/2] Refactor device service to fetch devices by group ID --- src/device/services/device.service.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/device/services/device.service.ts b/src/device/services/device.service.ts index ce13b30..1854cd1 100644 --- a/src/device/services/device.service.ts +++ b/src/device/services/device.service.ts @@ -74,15 +74,19 @@ export class DeviceService { } async getDevicesByGroupId(getDeviceByGroupIdDto: GetDeviceByGroupIdDto) { try { - const response = await this.getDevicesByGroupIdTuya( + const devicesIds = await this.getDevicesByGroupIdTuya( getDeviceByGroupIdDto, ); - + const devicesDetails = await Promise.all( + devicesIds.result.data_list.map(async (device: any) => { + const deviceData = await this.getDevicesByDeviceId(device.dev_id); + return deviceData.result; + }), + ); return { - success: response.success, - devices: response.result.data_list, - count: response.result.count, - msg: response.msg, + success: devicesIds.success, + devices: devicesDetails, + msg: devicesIds.msg, }; } catch (error) { throw new HttpException( @@ -96,12 +100,11 @@ export class DeviceService { getDeviceByGroupIdDto: GetDeviceByGroupIdDto, ): Promise { try { - const path = `/v2.0/cloud/thing/group`; + const path = `/v2.0/cloud/thing/group/${getDeviceByGroupIdDto.groupId}/devices`; const response = await this.tuya.request({ method: 'GET', path, query: { - space_id: getDeviceByGroupIdDto.groupId, page_size: getDeviceByGroupIdDto.pageSize, page_no: getDeviceByGroupIdDto.pageNo, }, From ed210e94c773227f174c210babf096a4e7b21878 Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Sun, 24 Mar 2024 10:51:17 +0300 Subject: [PATCH 2/2] fix some issues --- src/device/services/device.service.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/device/services/device.service.ts b/src/device/services/device.service.ts index 1854cd1..e062076 100644 --- a/src/device/services/device.service.ts +++ b/src/device/services/device.service.ts @@ -74,9 +74,8 @@ export class DeviceService { } async getDevicesByGroupId(getDeviceByGroupIdDto: GetDeviceByGroupIdDto) { try { - const devicesIds = await this.getDevicesByGroupIdTuya( - getDeviceByGroupIdDto, - ); + const devicesIds: GetDevicesByGroupIdInterface = + await this.getDevicesByGroupIdTuya(getDeviceByGroupIdDto); const devicesDetails = await Promise.all( devicesIds.result.data_list.map(async (device: any) => { const deviceData = await this.getDevicesByDeviceId(device.dev_id);