Files
dsc-api/src/app.module.ts
T
2025-01-26 11:01:08 +03:30

37 lines
1.4 KiB
TypeScript

import { CacheModule } from "@nestjs/cache-manager";
import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common";
import { ConfigModule } from "@nestjs/config";
import { ThrottlerModule } from "@nestjs/throttler";
import { TypeOrmModule } from "@nestjs/typeorm";
import { cacheConfig } from "./configs/cache.config";
import { rateLimitConfig } from "./configs/rateLimit.config";
import { databaseConfigs } from "./configs/typeorm.config";
import { HTTPLogger } from "./core/middlewares/logger.middleware";
import { AnnoucementsModule } from "./modules/announcements/announcement.module";
import { AuthModule } from "./modules/auth/auth.module";
import { DanakServicesModule } from "./modules/danak-services/danak-services.module";
import { TicketsModule } from "./modules/tickets/tickets.module";
import { UsersModule } from "./modules/users/users.module";
@Module({
imports: [
ThrottlerModule.forRootAsync(rateLimitConfig()),
ConfigModule.forRoot({ cache: true, isGlobal: true }),
CacheModule.registerAsync(cacheConfig()),
TypeOrmModule.forRootAsync(databaseConfigs()),
UsersModule,
TicketsModule,
AuthModule,
DanakServicesModule,
AnnoucementsModule,
],
controllers: [],
providers: [],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(HTTPLogger).forRoutes("*");
}
}