mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-10 15:17:41 +00:00
fix: add validation for missing properties in device status logs
This commit is contained in:
@ -95,7 +95,13 @@ 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,
|
||||
|
@ -107,6 +107,14 @@ 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,
|
||||
|
Reference in New Issue
Block a user