import {DynamicModule, Module} from '@nestjs/common'; import {TypeOrmSQLConfigService} from './type-orm-SQL-config.service'; import {RedisModule} from './redis'; export interface DatabaseModuleConfig { host: string; port: number; username: string; password: string; database: string; migrationsFullPath: string; } @Module({}) export class DatabaseModule { static register(options: DatabaseModuleConfig): DynamicModule { return { module: DatabaseModule, imports: [RedisModule], providers: [ { provide: TypeOrmSQLConfigService, useValue: new TypeOrmSQLConfigService(options) } ], exports: [ TypeOrmSQLConfigService, RedisModule ] } } }