import { ConfigModule, ConfigService, registerAs } from '@nestjs/config'; import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm'; export const makeTypeOrm = (database: string) => registerAs( 'typeorm', () => ({ type: 'postgres', port: 5432, host: String(process.env.POSTGRES_HOST), username: String(process.env.POSTGRES_USER), password: String(process.env.POSTGRES_PASSWORD), database, } as TypeOrmModuleOptions), ); export const getTypeOrm = (entities?: any[]) => TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (config: ConfigService) => ({ ...config.get('typeorm'), entities, }), });