27 lines
751 B
TypeScript
27 lines
751 B
TypeScript
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,
|
|
}),
|
|
});
|