import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { createOracleConfig } from './core/configs/typeorm.oracle.config'; import { createPostgresConfig } from './core/configs/typeorm.postgres.config'; import { LogisticModule } from './logistic/logistic.module'; import { OrdersPaymentModule } from './orders-payment/orders-payment.module'; import { ProductsModule } from './products/products.module'; import { AuthModule } from './auth/auth/auth.module'; import { DataConsultModule } from './data-consult/data-consult.module'; import { OrdersModule } from './orders/modules/orders.module'; import { OcorrencesController } from './crm/occurrences/ocorrences.controller'; import { OccurrencesModule } from './crm/occurrences/occurrences.module'; import { ReasonTableModule } from './crm/reason-table/reason-table.module'; import { NegotiationsModule } from './crm/negotiations/negotiations.module'; import { HttpModule } from '@nestjs/axios'; import { LogisticController } from './logistic/logistic.controller'; import { LogisticService } from './logistic/logistic.service'; import { LoggerModule } from './Log/logger.module'; import jwtConfig from './auth/jwt.config'; import { UsersModule } from './auth/users/users.module'; @Module({ imports: [ UsersModule, ConfigModule.forRoot({ isGlobal: true, load: [jwtConfig] }), TypeOrmModule.forRootAsync({ name: 'oracle', inject: [ConfigService], useFactory: createOracleConfig, }), TypeOrmModule.forRootAsync({ name: 'postgres', inject: [ConfigService], useFactory: createPostgresConfig, }), LogisticModule, OrdersPaymentModule, HttpModule, OrdersModule, NegotiationsModule, OccurrencesModule, ReasonTableModule, LoggerModule, DataConsultModule, ProductsModule, AuthModule, OrdersModule, ], controllers: [OcorrencesController, LogisticController ], providers: [ LogisticService, ], }) export class AppModule {}