import { Module } from '@nestjs/common'; import { APP_GUARD } from '@nestjs/core'; import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler'; import { HealthModule } from './health/health.module'; import { PrismaModule } from './prisma/prisma.module'; import { ProductsModule } from './products/products.module'; import { InventoryModule } from './inventory/inventory.module'; import { RecipesModule } from './recipes/recipes.module'; import { QuickImportModule } from './quick-import/quick-import.module'; import { PantryModule } from './pantry/pantry.module'; import { MealPlanModule } from './meal-plan/meal-plan.module'; import { ReceiptImportModule } from './receipt-import/receipt-import.module'; import { ReceiptAliasModule } from './receipt-alias/receipt-alias.module'; import { AuthModule } from './auth/auth.module'; import { UsersModule } from './users/users.module'; import { UserProductsModule } from './user-products/user-products.module'; import { CategoriesModule } from './categories/categories.module'; import { AiModule } from './ai/ai.module'; import { JwtAuthGuard } from './auth/jwt-auth.guard'; import { RolesGuard } from './auth/roles.guard'; @Module({ imports: [ ThrottlerModule.forRoot([ { name: 'default', ttl: 60_000, // 1 minut limit: 120, // 120 anrop per minut (generellt) }, ]), HealthModule, PrismaModule, ProductsModule, InventoryModule, RecipesModule, QuickImportModule, PantryModule, MealPlanModule, ReceiptImportModule, ReceiptAliasModule, AuthModule, UsersModule, UserProductsModule, CategoriesModule, AiModule, ], providers: [ { provide: APP_GUARD, useClass: ThrottlerGuard, }, { provide: APP_GUARD, useClass: JwtAuthGuard, }, { provide: APP_GUARD, useClass: RolesGuard, }, ], }) export class AppModule {}