import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { HealthModule } from './health/health.module'; import { ApisModule } from './modules/apis/apis.module'; import { UploadsModule } from './modules/uploads/uploads.module'; import { DocsGenerationModule } from './modules/docs-generation/docs-generation.module'; import { CategoriesModule } from './modules/categories/categories.module'; import { SeederModule } from './modules/seeder/seeder.module'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), TypeOrmModule.forRootAsync({ inject: [ConfigService], useFactory: (config: ConfigService) => ({ type: 'postgres', host: config.get('DATABASE_HOST', 'localhost'), port: config.get('DATABASE_PORT', 5432), username: config.get('DATABASE_USER', 'datacat'), password: config.get('DATABASE_PASSWORD', 'datacat'), database: config.get('DATABASE_NAME', 'datacat'), entities: [__dirname + '/**/*.entity{.ts,.js}'], synchronize: config.get('NODE_ENV') !== 'production', logging: config.get('NODE_ENV') === 'development', }), }), HealthModule, ApisModule, UploadsModule, DocsGenerationModule, CategoriesModule, SeederModule, ], }) export class AppModule {}