chore(repo): update AppDatabase module

This commit is contained in:
Francesco Spilla 2025-02-10 14:34:21 +01:00
parent 2735fa4791
commit 851153c8e1
3 changed files with 6 additions and 7 deletions

View File

@ -11,13 +11,12 @@ const dataSources: DataSource[] = [];
const typeormModules = [ const typeormModules = [
TypeOrmModule.forRootAsync({ TypeOrmModule.forRootAsync({
name: 'ebitemp-api', dataSourceFactory: typeormTransactionalDataSourceFactory(dataSources),
dataSourceFactory: typeormTransactionalDataSourceFactory('ebitemp-api', dataSources),
useFactory: async (dbConfig: DatabaseConfig) => { useFactory: async (dbConfig: DatabaseConfig) => {
// const entities = await import('./path/to/entities'); // const entities = await import('./path/to/entities');
const entities = {}; const entities = {};
const config = await typeormModuleOptionsFactory('ebitemp-api', dbConfig, [ const config = await typeormModuleOptionsFactory(dbConfig, [
typeormEntitiesFromImport(entities), typeormEntitiesFromImport(entities),
]); ]);
return config; return config;

View File

@ -7,7 +7,7 @@ export const typeormDataSourceFactory = (dataSources: DataSource[]) => async (op
}; };
export const typeormTransactionalDataSourceFactory = export const typeormTransactionalDataSourceFactory =
(name: string, dataSources: DataSource[]) => async (options?: DataSourceOptions) => { (dataSources: DataSource[], name?: string) => async (options?: DataSourceOptions) => {
const tt = await import('typeorm-transactional'); const tt = await import('typeorm-transactional');
const dataSource = tt.addTransactionalDataSource({ name: name, dataSource: new DataSource(options!) }); const dataSource = tt.addTransactionalDataSource({ name: name, dataSource: new DataSource(options!) });
dataSources.push(dataSource); dataSources.push(dataSource);

View File

@ -2,9 +2,9 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { DatabaseConfig } from '../database.config'; import { DatabaseConfig } from '../database.config';
export const typeormModuleOptionsFactory = async ( export const typeormModuleOptionsFactory = async (
name: string,
databaseConfig: DatabaseConfig, databaseConfig: DatabaseConfig,
entities: any[] entities: any[],
name?: string
): Promise<TypeOrmModuleOptions> => { ): Promise<TypeOrmModuleOptions> => {
return { return {
name: name, name: name,
@ -19,6 +19,6 @@ export const typeormModuleOptionsFactory = async (
logging: process.env['NODE_ENV'] !== 'production', logging: process.env['NODE_ENV'] !== 'production',
options: { options: {
...(!databaseConfig.secure ? { trustServerCertificate: true } : {}), ...(!databaseConfig.secure ? { trustServerCertificate: true } : {}),
} },
}; };
}; };