import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { ThrottlerModule } from '@nestjs/throttler'; import { APP_GUARD } from '@nestjs/core'; import { UserOrIpThrottlerGuard } from './common/user-or-ip-throttler.guard'; import { PrismaModule } from './prisma/prisma.module'; import { AuthModule } from './auth/auth.module'; import { UsersModule } from './users/users.module'; import { VendorsModule } from './vendors/vendors.module'; import { OrdersModule } from './orders/orders.module'; import { ReviewsModule } from './reviews/reviews.module'; import { HealthController } from './health/health.controller'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), ThrottlerModule.forRoot([{ ttl: 60_000, limit: 120 }]), PrismaModule, AuthModule, UsersModule, VendorsModule, OrdersModule, ReviewsModule, ], controllers: [HealthController], providers: [{ provide: APP_GUARD, useClass: UserOrIpThrottlerGuard }], }) export class AppModule {}