import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ConfigModule } from './config/config.module'; import { ConfigService } from './config/config.service'; import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm'; import { TodosModule } from './todos/todos.module'; @Module({ imports: [ ConfigModule, TypeOrmModule.forRootAsync({ imports: [ConfigModule], useFactory: async ( configService: ConfigService, ): Promise => ({ type: 'postgres', url: configService.databaseUrl, entities: [__dirname + '/**/*.entity{.ts,.js}'], synchronize: true, logging: configService.isLoggingDb ? 'all' : false, }), inject: [ConfigService], }), TodosModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {}