import { Module } from "@nestjs/common"; import { ConfigModule, ConfigService } from "@nestjs/config"; import { TypeOrmModule, TypeOrmModuleOptions } from "@nestjs/typeorm"; import appConfig from "./config/app.config"; import databaseConfig from "./config/database.config"; import { TicketsModule } from "./modules/tickets/tickets.module"; import { SchedulesModule } from "./modules/schedules/schedules.module"; import { PassengersModule } from "./modules/passengers/passengers.module"; import { SeatsModule } from "./modules/seats/seats.module"; import { StationsModule } from "./modules/stations/stations.module"; import { PaymentsModule } from "./modules/payments/payments.module"; import { NotificationsModule } from "./modules/notifications/notifications.module"; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, load: [appConfig, databaseConfig], }), TypeOrmModule.forRootAsync({ inject: [ConfigService], useFactory: (config: ConfigService): TypeOrmModuleOptions => config.get("database")!, }), TicketsModule, SchedulesModule, PassengersModule, SeatsModule, StationsModule, PaymentsModule, NotificationsModule, ], }) export class AppModule {}