import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { APP_GUARD } from '@nestjs/core'; import { JwtModule } from '@nestjs/jwt'; // Common imports import { PrismaModule } from '../common/database/prisma.module'; import { RolesGuard } from '../common/guards/roles.guard'; // Feature modules // import { AuthModule } from '../modules/auth/auth.module'; // import { HostModule } from '../modules/host/host.module'; // Add more modules as you create them @Module({ imports: [ // Global configuration (env variables) ConfigModule.forRoot({ isGlobal: true, envFilePath: '.env', }), // JWT for authentication JwtModule.register({ global: true, secret: process.env.JWT_SECRET || 'default_secret', signOptions: { expiresIn: '1d' }, }), // Database PrismaModule, // App modules // AuthModule, // HostModule, ], providers: [ // Global guards { provide: APP_GUARD, useClass: RolesGuard, }, ], }) export class AppModule {}