app.module.ts
1.2 KB
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from '../users/users.module';
import { PrismaService } from 'libs/private-api/config/prisma.service';
import { AuthModule } from '../auth/auth.module';
import { DescryptMiddleware } from './middlewares/decrypt.middleware';
import { PrivateModule } from '@app/private';
import { ConfigModule } from '@nestjs/config';
import { ThrottlerModule } from '@nestjs/throttler';
@Module({
imports: [
PrivateModule,
UsersModule,
AuthModule,
ConfigModule.forRoot({
isGlobal: true,
// envFilePath: [`${process.cwd()}/environment/.env.${process.env.NODE_ENV}`],
// envFilePath: [`../../../environment/.env.dev`],
}),
ThrottlerModule.forRoot([
{
ttl: Number(process.env.RATE_LIMIT_INTERVAL),
limit: Number(process.env.RATE_LIMIT_REQUEST),
},
]),
],
controllers: [AppController],
providers: [AppService, PrismaService],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(DescryptMiddleware).forRoutes('*');
}
}