import { Global, Module } from '@nestjs/common';
import { EncryptionModule } from 'src/modules/encryption/encryption.module';
import { SettingsModule } from 'src/modules/settings/settings.module';
import { DatabaseModule } from 'src/modules/database/database.module';
import { CertificateModule } from 'src/modules/certificate/certificate.module';
import { DatabaseRecommendationModule } from 'src/modules/database-recommendation/database-recommendation.module';
import { EventEmitterModule } from '@nestjs/event-emitter';
import { RedisModule } from 'src/modules/redis/redis.module';
import { AnalyticsModule } from 'src/modules/analytics/analytics.module';
import { SshModule } from 'src/modules/ssh/ssh.module';
import { NestjsFormDataModule } from 'nestjs-form-data';
import { FeatureModule } from 'src/modules/feature/feature.module';
import { AuthModule } from 'src/modules/auth/auth.module';
import { SessionModule } from 'src/modules/session/session.module';
import { ServerModule } from 'src/modules/server/server.module';
import { ConstantsModule } from 'src/modules/constants/constants.module';
import { DatabaseDiscoveryModule } from 'src/modules/database-discovery/database-discovery.module';
import { TagModule } from 'src/modules/tag/tag.module';
@Global()
@Module({
imports: [
ConstantsModule.register(),
EventEmitterModule.forRoot(),
DatabaseDiscoveryModule,
TagModule,
AnalyticsModule,
EncryptionModule.register(),
SettingsModule.register(),
CertificateModule.register(),
DatabaseModule.register(),
RedisModule.register(),
DatabaseRecommendationModule.register(),
SshModule,
NestjsFormDataModule,
FeatureModule.register(),
AuthModule.register(),
SessionModule.register(),
ServerModule.register(),
],
exports: [
ConstantsModule,
EncryptionModule,
DatabaseDiscoveryModule,
TagModule,
SettingsModule,
CertificateModule,
DatabaseModule,
DatabaseRecommendationModule,
RedisModule,
SshModule,
NestjsFormDataModule,
FeatureModule,
SessionModule,
ServerModule,
],
})
export class CoreModule {}