From 68d2d3b53dc9dc1afb227213a17d60c06632839f Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:13:02 -0600 Subject: [PATCH] fix: improve device retrieval logic in addDeviceStatusToFirebase method --- .../services/devices-status.service.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 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 3c431e3..6f83d99 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 @@ -131,10 +131,19 @@ export class DeviceStatusFirebaseService { async addDeviceStatusToFirebase( addDeviceStatusDto: AddDeviceStatusDto, - deviceCache: Map, + deviceCache?: Map, ): Promise { try { - const device = deviceCache.get(addDeviceStatusDto.deviceTuyaUuid); + let device; + + if (deviceCache) { + device = deviceCache.get(addDeviceStatusDto.deviceTuyaUuid); + } else { + device = await this.getDeviceByDeviceTuyaUuid( + addDeviceStatusDto.deviceTuyaUuid, + ); + } + if (!device?.uuid) { console.log( `⛔ Skipping Firebase update for unknown device: ${addDeviceStatusDto.deviceTuyaUuid}`, @@ -142,7 +151,6 @@ export class DeviceStatusFirebaseService { return null; } - // Ensure product info and uuid are attached addDeviceStatusDto.deviceUuid = device.uuid; addDeviceStatusDto.productUuid = device.productDevice?.uuid; addDeviceStatusDto.productType = device.productDevice?.prodType;