import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { APP_GUARD } from '@nestjs/core'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PrismaModule } from './prisma/prisma.module'; import { AuthModule } from './auth/auth.module'; import { UsersModule } from './users/users.module'; import { VipsModule } from './vips/vips.module'; import { DriversModule } from './drivers/drivers.module'; import { VehiclesModule } from './vehicles/vehicles.module'; import { EventsModule } from './events/events.module'; import { FlightsModule } from './flights/flights.module'; import { JwtAuthGuard } from './auth/guards/jwt-auth.guard'; @Module({ imports: [ // Load environment variables ConfigModule.forRoot({ isGlobal: true, envFilePath: '.env', }), // Core modules PrismaModule, AuthModule, // Feature modules UsersModule, VipsModule, DriversModule, VehiclesModule, EventsModule, FlightsModule, ], controllers: [AppController], providers: [ AppService, // Apply JWT auth guard globally (unless @Public() is used) { provide: APP_GUARD, useClass: JwtAuthGuard, }, ], }) export class AppModule {}