mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-10 15:17:41 +00:00

- Added SchedulerModule and SchedulerService to handle hourly data updates for AQI, occupancy, and energy consumption. - Refactored existing services to remove unused device repository dependencies and streamline procedure execution. - Updated SQL procedures to use correct parameter indexing. - Enhanced error handling and logging for scheduled tasks. - Integrated new repositories for presence sensor and AQI pollutant stats across multiple modules. - Added NestJS schedule package for task scheduling capabilities.
66 lines
2.8 KiB
TypeScript
66 lines
2.8 KiB
TypeScript
import { DeviceRepository } from './../../libs/common/src/modules/device/repositories/device.repository';
|
|
import { Module } from '@nestjs/common';
|
|
import { GroupService } from './services/group.service';
|
|
import { GroupController } from './controllers/group.controller';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { DeviceRepositoryModule } from '@app/common/modules/device';
|
|
import { SpaceRepository } from '@app/common/modules/space/repositories';
|
|
import { ProductRepository } from '@app/common/modules/product/repositories';
|
|
import { DeviceService } from 'src/device/services';
|
|
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
|
import { DeviceStatusFirebaseService } from '@app/common/firebase/devices-status/services/devices-status.service';
|
|
import { SceneService } from 'src/scene/services';
|
|
import { TuyaService } from '@app/common/integrations/tuya/services/tuya.service';
|
|
import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
|
import { DeviceStatusLogRepository } from '@app/common/modules/device-status-log/repositories';
|
|
import {
|
|
SceneIconRepository,
|
|
SceneRepository,
|
|
} from '@app/common/modules/scene/repositories';
|
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
|
import {
|
|
PowerClampHourlyRepository,
|
|
PowerClampDailyRepository,
|
|
PowerClampMonthlyRepository,
|
|
} from '@app/common/modules/power-clamp/repositories';
|
|
import { SqlLoaderService } from '@app/common/helper/services/sql-loader.service';
|
|
import { OccupancyService } from '@app/common/helper/services/occupancy.service';
|
|
import { CommunityRepository } from '@app/common/modules/community/repositories';
|
|
import { AqiDataService } from '@app/common/helper/services/aqi.data.service';
|
|
import { PresenceSensorDailySpaceRepository } from '@app/common/modules/presence-sensor/repositories';
|
|
import { AqiSpaceDailyPollutantStatsRepository } from '@app/common/modules/aqi/repositories';
|
|
@Module({
|
|
imports: [ConfigModule, DeviceRepositoryModule],
|
|
controllers: [GroupController],
|
|
providers: [
|
|
GroupService,
|
|
DeviceRepository,
|
|
SpaceRepository,
|
|
DeviceRepository,
|
|
ProductRepository,
|
|
DeviceService,
|
|
SceneDeviceRepository,
|
|
DeviceStatusFirebaseService,
|
|
SceneService,
|
|
TuyaService,
|
|
ProjectRepository,
|
|
DeviceStatusLogRepository,
|
|
SceneIconRepository,
|
|
SceneRepository,
|
|
AutomationRepository,
|
|
PowerClampService,
|
|
PowerClampHourlyRepository,
|
|
PowerClampDailyRepository,
|
|
PowerClampMonthlyRepository,
|
|
SqlLoaderService,
|
|
OccupancyService,
|
|
CommunityRepository,
|
|
AqiDataService,
|
|
PresenceSensorDailySpaceRepository,
|
|
AqiSpaceDailyPollutantStatsRepository,
|
|
],
|
|
exports: [GroupService],
|
|
})
|
|
export class GroupModule {}
|