web-service/apps/freeblox-web-service/src/app.module.ts

31 lines
986 B
TypeScript

import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { natsClient } from '@freeblox/shared';
import { ClientsModule } from '@nestjs/microservices';
import { AuthModule } from './services/auth/auth.module';
import { CatalogModule } from './services/catalog/catalog.module';
import { UserMiddleware } from './middleware/user.middleware';
import { AssetsModule } from './services/assets/assets.module';
import { ThrottlerModule } from '@nestjs/throttler';
@Module({
imports: [
ClientsModule.register([natsClient('auth')]),
ThrottlerModule.forRoot({
ttl: 60,
limit: 10,
}),
AuthModule,
CatalogModule,
AssetsModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(UserMiddleware).forRoutes('*');
}
}