From a83424f45b0b3517171dde2d1018e07c83a80fe6 Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Wed, 25 Jun 2025 05:29:28 -0600 Subject: [PATCH] fix: remove unnecessary validation for missing properties in device status logs --- .../devices-status/services/devices-status.service.ts | 7 ------- .../src/helper/services/tuya.web.socket.service.ts | 11 +++-------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/libs/common/src/firebase/devices-status/services/devices-status.service.ts b/libs/common/src/firebase/devices-status/services/devices-status.service.ts index 7bbdd87..a4f7aad 100644 --- a/libs/common/src/firebase/devices-status/services/devices-status.service.ts +++ b/libs/common/src/firebase/devices-status/services/devices-status.service.ts @@ -95,13 +95,6 @@ export class DeviceStatusFirebaseService { for (const item of batch) { const device = deviceMap.get(item.deviceTuyaUuid); if (!device?.uuid) continue; - if (!Array.isArray(item.log?.properties)) { - console.warn( - `🚨 Missing properties for device: ${item.deviceTuyaUuid}`, - ); - console.log('🔍 Problematic item:', JSON.stringify(item, null, 2)); - continue; - } const logs = item.log.properties.map((property) => this.deviceStatusLogRepository.create({ deviceId: device.uuid, diff --git a/libs/common/src/helper/services/tuya.web.socket.service.ts b/libs/common/src/helper/services/tuya.web.socket.service.ts index 3bc3bc8..9d56240 100644 --- a/libs/common/src/helper/services/tuya.web.socket.service.ts +++ b/libs/common/src/helper/services/tuya.web.socket.service.ts @@ -51,6 +51,9 @@ export class TuyaWebSocketService { this.client.message(async (ws: WebSocket, message: any) => { try { const { devId, status, logData } = this.extractMessageData(message); + if (!Array.isArray(logData?.properties)) { + return; + } if (this.sosHandlerService.isSosTriggered(status)) { await this.sosHandlerService.handleSosEventFirebase(devId, logData); } else { @@ -107,14 +110,6 @@ export class TuyaWebSocketService { console.log(`🔁 Processing batch of size: ${batch.length}`); try { - batch.forEach((item, index) => { - if (!Array.isArray(item?.logData?.properties)) { - console.warn( - `❌ Item #${index + 1} has invalid or missing 'properties':`, - ); - console.log(JSON.stringify(item, null, 2)); - } - }); await this.deviceStatusFirebaseService.addBatchDeviceStatusToOurDb( batch?.map((item) => ({ deviceTuyaUuid: item.devId,