src/sales-force/sales-force.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DataSource } from 'typeorm';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { join } from 'path';
import { SalesForceModule } from './sales-force/sales-force.module';
import { SalesForce } from './entities/sales-force.entity';
import { LinkedDistributorsChartModule } from './linked-distributors-chart/linked-distributors-chart.module';
import { SalesForceTypeModule } from './sales-force-type/sales-force-type.module';
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => ({
type: 'postgres',
host: configService.get('PGHOST'),
username: configService.get('PGUSER'),
password: configService.get('PGPASSWORD'),
database: configService.get('PGDATABASE'),
port: Number(configService.get('PGPORT')),
schema: configService.get('PGSCHEMA_SALES_FORCE'),
entities: [join(__dirname,'/../sales-force/entities/*.entity.{js,ts}')],
logging: false,
// autoLoadEntities: true,
synchronize: true,
migrations: [__dirname + '/migrations/*.ts'],
cli: {
migrationsDir: '/migrations',
},
}),
dataSourceFactory: async (options) => {
const dataSource = await new DataSource(options).initialize();
return dataSource;
},
}),
TypeOrmModule.forFeature([
SalesForce,
]),
SalesForceModule,
LinkedDistributorsChartModule,
SalesForceTypeModule
],
// providers: [SalesForceService],
// exports:[SalesForceService],
// controllers: [SalesForceController]
})
export class SalesForceMasterModule {}