import { MikroOrmModule } from '@mikro-orm/nestjs'; import { Module } from '@nestjs/common'; import dataBaseConfig from './config/mikro-orm.config'; import { ConfigModule } from '@nestjs/config'; 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 { EventEmitterModule } from '@nestjs/event-emitter'; import { BusinessModule } from './modules/business/business.module'; import { CatalogueModule } from './modules/catalogue/catalogue.module'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, cache: true }), MikroOrmModule.forRootAsync(dataBaseConfig), UtilsModule, AuthModule, UploaderModule, AdminModule, ThrottlerModule.forRoot([ { ttl: 60, // time window in seconds limit: 5, // max requests per window }, ]), ScheduleModule.forRoot(), EventEmitterModule.forRoot(), BusinessModule, CatalogueModule, ], controllers: [], providers: [], // exports: [CacheService], }) export class AppModule { }