import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { DatabaseModule } from './database/database.module'; import { AIModule } from './ai/ai.module'; import { SupabaseModule } from './supabase/supabase.module'; import { TTSModule } from './tts/tts.module'; import { CoursesModule } from './courses/courses.module'; import { DebatesModule } from './debate/debates.module'; import { FlashcardsModule } from './flashcards/flashcards.module'; import { QuizzesModule } from './quizzes/quizzes.module'; import { UsersModule } from './users/users.module'; import { PhilosofunModule } from './philosofun/philosofun.module'; import { AuthModule } from './auth/auth.module'; import { AppController } from './app.controller'; import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler'; import { APP_GUARD } from '@nestjs/core'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, }), ThrottlerModule.forRoot([{ ttl: 60000, limit: 100, // 100 requests per minute by default }]), DatabaseModule, AIModule, SupabaseModule, TTSModule, CoursesModule, DebatesModule, FlashcardsModule, QuizzesModule, UsersModule, PhilosofunModule, AuthModule, ], controllers: [AppController], providers: [ { provide: APP_GUARD, useClass: ThrottlerGuard, }, ], }) export class AppModule {}