2022-08-18 07:12:02 +00:00
|
|
|
import { FactoryProvider } from '@nestjs/common';
|
2022-03-19 10:25:37 +00:00
|
|
|
import { ConfigurationService } from 'src/modules/config/config.service';
|
2022-08-18 07:12:02 +00:00
|
|
|
import { DataSource, DataSourceOptions } from 'typeorm';
|
2022-03-09 18:37:04 +00:00
|
|
|
|
2022-08-18 07:12:02 +00:00
|
|
|
export const databaseProviders: FactoryProvider<Promise<DataSource>>[] = [
|
2022-03-09 18:37:04 +00:00
|
|
|
{
|
2022-08-18 07:12:02 +00:00
|
|
|
provide: 'DATA_SOURCE',
|
2022-03-19 10:25:37 +00:00
|
|
|
useFactory: async (config: ConfigurationService) => {
|
2022-08-18 07:12:02 +00:00
|
|
|
const dataSource = new DataSource({
|
|
|
|
...config.get<DataSourceOptions>('database'),
|
2022-03-19 10:25:37 +00:00
|
|
|
});
|
2022-08-18 07:12:02 +00:00
|
|
|
|
|
|
|
return dataSource.initialize();
|
2022-03-19 10:25:37 +00:00
|
|
|
},
|
|
|
|
inject: [ConfigurationService],
|
2022-03-09 18:37:04 +00:00
|
|
|
},
|
|
|
|
];
|