import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { APP_GUARD } from '@nestjs/core'; // Core Modules import { PrismaModule } from './prisma/prisma.module'; import { ClaudeModule } from './modules/claude/claude.module'; // Feature Modules import { AuthModule } from './modules/auth/auth.module'; import { CampaignsModule } from './modules/campaigns/campaigns.module'; import { CharactersModule } from './modules/characters/characters.module'; import { TranslationsModule } from './modules/translations/translations.module'; import { EquipmentModule } from './modules/equipment/equipment.module'; // Guards import { JwtAuthGuard } from './modules/auth/guards/jwt-auth.guard'; import { RolesGuard } from './modules/auth/guards/roles.guard'; @Module({ imports: [ // Configuration ConfigModule.forRoot({ isGlobal: true, envFilePath: '.env', }), // Core PrismaModule, ClaudeModule, // Features AuthModule, CampaignsModule, CharactersModule, TranslationsModule, EquipmentModule, ], providers: [ // Global JWT Auth Guard { provide: APP_GUARD, useClass: JwtAuthGuard, }, // Global Roles Guard { provide: APP_GUARD, useClass: RolesGuard, }, ], }) export class AppModule {}