57 lines
2.0 KiB
TypeScript
57 lines
2.0 KiB
TypeScript
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
|
import { Module } from '@nestjs/common';
|
|
import dataBaseConfig from './config/mikro-orm.config';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { UserModule } from './modules/users/user.module';
|
|
import { UtilsModule } from './modules/utils/utils.module';
|
|
import { AuthModule } from './modules/auth/auth.module';
|
|
import { UploaderModule } from './modules/uploader/uploader.module';
|
|
import { AdminModule } from './modules/admin/admin.module';
|
|
import { ThrottlerModule } from '@nestjs/throttler';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
import { RestaurantsModule } from './modules/restaurants/restaurants.module';
|
|
import { FoodModule } from './modules/foods/food.module';
|
|
import { CartModule } from './modules/cart/cart.module';
|
|
import { RolesModule } from './modules/roles/roles.module';
|
|
import { PaymentsModule } from './modules/payments/payments.module';
|
|
import { DeliveryModule } from './modules/delivery/delivery.module';
|
|
import { OrdersModule } from './modules/orders/orders.module';
|
|
import { CouponModule } from './modules/coupons/coupon.module';
|
|
import { ReviewModule } from './modules/review/review.module';
|
|
import { NotificationsModule } from './modules/notifications/notifications.module';
|
|
import { EventEmitterModule } from '@nestjs/event-emitter';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({ isGlobal: true, cache: true }),
|
|
MikroOrmModule.forRootAsync(dataBaseConfig),
|
|
UserModule,
|
|
UtilsModule,
|
|
AuthModule,
|
|
UploaderModule,
|
|
AdminModule,
|
|
ThrottlerModule.forRoot([
|
|
{
|
|
ttl: 60, // time window in seconds
|
|
limit: 5, // max requests per window
|
|
},
|
|
]),
|
|
ScheduleModule.forRoot(),
|
|
RestaurantsModule,
|
|
FoodModule,
|
|
CartModule,
|
|
RolesModule,
|
|
PaymentsModule,
|
|
DeliveryModule,
|
|
OrdersModule,
|
|
CouponModule,
|
|
ReviewModule,
|
|
NotificationsModule,
|
|
EventEmitterModule.forRoot(),
|
|
],
|
|
controllers: [],
|
|
providers: [],
|
|
// exports: [CacheService],
|
|
})
|
|
export class AppModule {}
|