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

- Introduced AqiModule with AqiService and AqiController for handling AQI data. - Added DTOs for AQI requests: GetAqiDailyBySpaceDto and GetAqiPollutantBySpaceDto. - Implemented AqiDataService for managing AQI sensor historical data. - Updated existing modules to include AqiDataService where necessary. - Defined new routes for AQI data retrieval in ControllerRoute.
177 lines
6.1 KiB
TypeScript
177 lines
6.1 KiB
TypeScript
import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module';
|
|
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import {
|
|
SpaceController,
|
|
SpaceDeviceController,
|
|
SpaceUserController,
|
|
SubSpaceController,
|
|
SubSpaceDeviceController,
|
|
SpaceSceneController,
|
|
} from './controllers';
|
|
import {
|
|
SpaceDeviceService,
|
|
SpaceLinkService,
|
|
SpaceSceneService,
|
|
SpaceService,
|
|
SpaceUserService,
|
|
SubspaceDeviceService,
|
|
SubSpaceService,
|
|
} from './services';
|
|
import {
|
|
SpaceRepository,
|
|
SpaceLinkRepository,
|
|
TagRepository,
|
|
InviteSpaceRepository,
|
|
SpaceProductAllocationRepository,
|
|
} from '@app/common/modules/space/repositories';
|
|
import { CommunityRepository } from '@app/common/modules/community/repositories';
|
|
import {
|
|
UserRepository,
|
|
UserSpaceRepository,
|
|
} from '@app/common/modules/user/repositories';
|
|
import {
|
|
DeviceRepository,
|
|
DeviceUserPermissionRepository,
|
|
} from '@app/common/modules/device/repositories';
|
|
import { TuyaService } from '@app/common/integrations/tuya/services/tuya.service';
|
|
import { ProductRepository } from '@app/common/modules/product/repositories';
|
|
import { SceneService } from '../scene/services';
|
|
import {
|
|
SceneIconRepository,
|
|
SceneRepository,
|
|
} from '@app/common/modules/scene/repositories';
|
|
import { DeviceService } from 'src/device/services';
|
|
import { DeviceStatusFirebaseService } from '@app/common/firebase/devices-status/services/devices-status.service';
|
|
import { DeviceStatusLogRepository } from '@app/common/modules/device-status-log/repositories';
|
|
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
|
import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
|
import {
|
|
SpaceModelProductAllocationRepoitory,
|
|
SpaceModelRepository,
|
|
SubspaceModelProductAllocationRepoitory,
|
|
SubspaceModelRepository,
|
|
TagModelRepository,
|
|
} from '@app/common/modules/space-model';
|
|
import { CommunityModule } from 'src/community/community.module';
|
|
import { ValidationService } from './services';
|
|
import {
|
|
SubspaceProductAllocationRepository,
|
|
SubspaceRepository,
|
|
} from '@app/common/modules/space/repositories/subspace.repository';
|
|
import { TagService } from './services/tag';
|
|
import {
|
|
SpaceModelService,
|
|
SubSpaceModelService,
|
|
} from 'src/space-model/services';
|
|
import { UserService, UserSpaceService } from 'src/users/services';
|
|
import { UserDevicePermissionService } from 'src/user-device-permission/services';
|
|
import { PermissionTypeRepository } from '@app/common/modules/permission/repositories';
|
|
import { CqrsModule } from '@nestjs/cqrs';
|
|
import { DisableSpaceHandler } from './handlers';
|
|
import { RegionRepository } from '@app/common/modules/region/repositories';
|
|
import { TimeZoneRepository } from '@app/common/modules/timezone/repositories';
|
|
import {
|
|
InviteUserRepository,
|
|
InviteUserSpaceRepository,
|
|
} from '@app/common/modules/Invite-user/repositiories';
|
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
|
import { TagService as NewTagService } from 'src/tags/services/tags.service';
|
|
import { NewTagRepository } from '@app/common/modules/tag/repositories/tag-repository';
|
|
import { SpaceModelProductAllocationService } from 'src/space-model/services/space-model-product-allocation.service';
|
|
import { SubspaceModelProductAllocationService } from 'src/space-model/services/subspace/subspace-model-product-allocation.service';
|
|
import { SpaceProductAllocationService } from './services/space-product-allocation.service';
|
|
import { SubspaceProductAllocationService } from './services/subspace/subspace-product-allocation.service';
|
|
import { SpaceValidationController } from './controllers/space-validation.controller';
|
|
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 { AqiDataService } from '@app/common/helper/services/aqi.data.service';
|
|
|
|
export const CommandHandlers = [DisableSpaceHandler];
|
|
|
|
@Module({
|
|
imports: [ConfigModule, SpaceRepositoryModule, CommunityModule, CqrsModule],
|
|
controllers: [
|
|
SpaceController,
|
|
SpaceUserController,
|
|
SpaceDeviceController,
|
|
SubSpaceController,
|
|
SubSpaceDeviceController,
|
|
SpaceSceneController,
|
|
SpaceValidationController,
|
|
],
|
|
providers: [
|
|
ValidationService,
|
|
TagModelRepository,
|
|
TagRepository,
|
|
SpaceService,
|
|
TuyaService,
|
|
TagService,
|
|
ProductRepository,
|
|
SubSpaceService,
|
|
SpaceDeviceService,
|
|
SpaceLinkService,
|
|
SubspaceDeviceService,
|
|
SpaceRepository,
|
|
SubspaceRepository,
|
|
DeviceRepository,
|
|
CommunityRepository,
|
|
SpaceLinkRepository,
|
|
UserSpaceRepository,
|
|
UserRepository,
|
|
SpaceUserService,
|
|
SpaceSceneService,
|
|
DeviceService,
|
|
SceneService,
|
|
SceneIconRepository,
|
|
SceneRepository,
|
|
DeviceService,
|
|
DeviceStatusFirebaseService,
|
|
DeviceStatusLogRepository,
|
|
SceneDeviceRepository,
|
|
SpaceModelService,
|
|
SubSpaceModelService,
|
|
ProjectRepository,
|
|
SpaceModelRepository,
|
|
SubspaceModelRepository,
|
|
UserSpaceService,
|
|
UserDevicePermissionService,
|
|
DeviceUserPermissionRepository,
|
|
PermissionTypeRepository,
|
|
InviteSpaceRepository,
|
|
...CommandHandlers,
|
|
UserService,
|
|
RegionRepository,
|
|
TimeZoneRepository,
|
|
InviteUserRepository,
|
|
InviteUserSpaceRepository,
|
|
AutomationRepository,
|
|
TagService,
|
|
NewTagService,
|
|
SpaceModelProductAllocationRepoitory,
|
|
SubspaceModelProductAllocationRepoitory,
|
|
NewTagRepository,
|
|
SpaceModelProductAllocationService,
|
|
SubspaceModelProductAllocationService,
|
|
SpaceProductAllocationService,
|
|
SubspaceProductAllocationService,
|
|
SpaceProductAllocationRepository,
|
|
SubspaceProductAllocationRepository,
|
|
PowerClampHourlyRepository,
|
|
PowerClampDailyRepository,
|
|
PowerClampMonthlyRepository,
|
|
PowerClampService,
|
|
SqlLoaderService,
|
|
OccupancyService,
|
|
AqiDataService,
|
|
],
|
|
exports: [SpaceService],
|
|
})
|
|
export class SpaceModule {}
|