mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-24 18:57:54 +00:00
added timeseries
This commit is contained in:
@@ -2,10 +2,15 @@ import { Module } from '@nestjs/common';
|
||||
import { DeviceStatusFirebaseController } from './controllers/devices-status.controller';
|
||||
import { DeviceStatusFirebaseService } from './services/devices-status.service';
|
||||
import { DeviceRepository } from '@app/common/modules/device/repositories';
|
||||
import { DeviceStatusLogRepository } from '@app/common/modules/device-status-log/repositories/device-status.repository';
|
||||
|
||||
@Module({
|
||||
providers: [DeviceStatusFirebaseService, DeviceRepository],
|
||||
providers: [
|
||||
DeviceStatusFirebaseService,
|
||||
DeviceRepository,
|
||||
DeviceStatusLogRepository,
|
||||
],
|
||||
controllers: [DeviceStatusFirebaseController],
|
||||
exports: [DeviceStatusFirebaseService],
|
||||
exports: [DeviceStatusFirebaseService, DeviceStatusLogRepository],
|
||||
})
|
||||
export class DeviceStatusFirebaseModule {}
|
||||
|
||||
@@ -11,6 +11,7 @@ import { TuyaContext } from '@tuya/tuya-connector-nodejs';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { firebaseDataBase } from '../../firebase.config';
|
||||
import { Database, DataSnapshot, get, ref, set } from 'firebase/database';
|
||||
import { DeviceStatusLogRepository } from '@app/common/modules/device-status-log/repositories';
|
||||
@Injectable()
|
||||
export class DeviceStatusFirebaseService {
|
||||
private tuya: TuyaContext;
|
||||
@@ -18,6 +19,7 @@ export class DeviceStatusFirebaseService {
|
||||
constructor(
|
||||
private readonly configService: ConfigService,
|
||||
private readonly deviceRepository: DeviceRepository,
|
||||
private deviceStatusLogRepository: DeviceStatusLogRepository,
|
||||
) {
|
||||
const accessKey = this.configService.get<string>('auth-config.ACCESS_KEY');
|
||||
const secretKey = this.configService.get<string>('auth-config.SECRET_KEY');
|
||||
@@ -175,6 +177,7 @@ export class DeviceStatusFirebaseService {
|
||||
);
|
||||
|
||||
// Update or add status codes
|
||||
|
||||
for (const statusItem of addDeviceStatusDto.status) {
|
||||
statusMap.set(statusItem.code, statusItem.value);
|
||||
}
|
||||
@@ -184,7 +187,15 @@ export class DeviceStatusFirebaseService {
|
||||
code,
|
||||
value,
|
||||
}));
|
||||
const newLog = this.deviceStatusLogRepository.create({
|
||||
deviceUuid: addDeviceStatusDto.deviceUuid,
|
||||
deviceTuyaUuid: addDeviceStatusDto.deviceTuyaUuid,
|
||||
productUuid: addDeviceStatusDto.productUuid,
|
||||
productType: addDeviceStatusDto.productType,
|
||||
status: existingData.status,
|
||||
});
|
||||
|
||||
await this.deviceStatusLogRepository.save(newLog);
|
||||
// Save the updated data to Firebase
|
||||
await set(dataRef, existingData);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user