import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import config from './config'; import { AuthenticationModule } from './auth/auth.module'; import { UserModule } from './users/user.module'; import { GroupModule } from './group/group.module'; import { DeviceModule } from './device/device.module'; import { UserDevicePermissionModule } from './user-device-permission/user-device-permission.module'; import { CommunityModule } from './community/community.module'; import { SeederModule } from '@app/common/seed/seeder.module'; import { UserNotificationModule } from './user-notification/user-notification.module'; import { DeviceMessagesSubscriptionModule } from './device-messages/device-messages.module'; import { SceneModule } from './scene/scene.module'; import { DoorLockModule } from './door-lock/door.lock.module'; import { APP_INTERCEPTOR } from '@nestjs/core'; import { LoggingInterceptor } from './interceptors/logging.interceptor'; import { AutomationModule } from './automation/automation.module'; import { RegionModule } from './region/region.module'; import { TimeZoneModule } from './timezone/timezone.module'; import { VisitorPasswordModule } from './vistor-password/visitor-password.module'; import { ScheduleModule } from './schedule/schedule.module'; import { SpaceModule } from './space/space.module'; import { ProductModule } from './product'; import { ProjectModule } from './project'; import { SpaceModelModule } from './space-model'; import { InviteUserModule } from './invite-user/invite-user.module'; import { PermissionModule } from './permission/permission.module'; @Module({ imports: [ ConfigModule.forRoot({ load: config, }), AuthenticationModule, UserModule, InviteUserModule, CommunityModule, SpaceModule, SpaceModelModule, GroupModule, DeviceModule, DeviceMessagesSubscriptionModule, UserDevicePermissionModule, UserNotificationModule, SeederModule, SceneModule, AutomationModule, DoorLockModule, RegionModule, TimeZoneModule, VisitorPasswordModule, ScheduleModule, ProductModule, ProjectModule, PermissionModule, ], providers: [ { provide: APP_INTERCEPTOR, useClass: LoggingInterceptor, }, ], }) export class AppModule {}