import { Module } from '@nestjs/common'; import { DeviceService } from './services/device.service'; import { DeviceController } from './controllers/device.controller'; import { ConfigModule } from '@nestjs/config'; import { ProductRepositoryModule } from '@app/common/modules/product/product.repository.module'; import { ProductRepository } from '@app/common/modules/product/repositories'; import { DeviceRepositoryModule } from '@app/common/modules/device'; import { DeviceRepository } from '@app/common/modules/device/repositories'; import { PermissionTypeRepository } from '@app/common/modules/permission/repositories'; import { SpaceRepository } from '@app/common/modules/space/repositories'; import { DeviceUserPermissionRepository } from '@app/common/modules/device/repositories'; import { UserRepository } from '@app/common/modules/user/repositories'; import { DeviceStatusFirebaseModule } from '@app/common/firebase/devices-status/devices-status.module'; import { SpaceModule } from 'src/space/space.module'; import { TuyaService } from '@app/common/integrations/tuya/services/tuya.service'; import { SceneService } from 'src/scene/services'; import { SceneIconRepository, SceneRepository, } from '@app/common/modules/scene/repositories'; import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories'; import { AutomationRepository } from '@app/common/modules/automation/repositories'; import { ProjectRepository } from '@app/common/modules/project/repositiories'; import { DeviceProjectController } from './controllers/device-project.controller'; import { CommunityRepository } from '@app/common/modules/community/repositories'; import { DeviceSpaceOrCommunityController } from './controllers/device-space-community.controller'; @Module({ imports: [ ConfigModule, SpaceModule, ProductRepositoryModule, DeviceRepositoryModule, DeviceStatusFirebaseModule, ], controllers: [ DeviceController, DeviceProjectController, DeviceSpaceOrCommunityController, ], providers: [ DeviceService, ProductRepository, DeviceUserPermissionRepository, PermissionTypeRepository, SpaceRepository, ProjectRepository, DeviceRepository, UserRepository, TuyaService, SceneService, SceneIconRepository, SceneRepository, SceneDeviceRepository, AutomationRepository, CommunityRepository, ], exports: [DeviceService], }) export class DeviceModule {}