48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
|
|
import { ThrottlerModule } from '@nestjs/throttler';
|
|
import { AppController } from './app.controller';
|
|
import { AppService } from './app.service';
|
|
import { CSRFMiddleware } from './middleware/csrf.middleware';
|
|
import { UserMiddleware } from './middleware/user.middleware';
|
|
import { ConfigurationModule } from './modules/config/config.module';
|
|
import { LoginModule } from './modules/features/login/login.module';
|
|
import { OAuth2Module } from './modules/features/oauth2/oauth2.module';
|
|
import { RegisterModule } from './modules/features/register/register.module';
|
|
import { TwoFactorModule } from './modules/features/two-factor/two-factor.module';
|
|
import { DatabaseModule } from './modules/objects/database/database.module';
|
|
import { EmailModule } from './modules/objects/email/email.module';
|
|
import { OAuth2ClientModule } from './modules/objects/oauth2-client/oauth2-client.module';
|
|
import { OAuth2TokenModule } from './modules/objects/oauth2-token/oauth2-token.module';
|
|
import { UploadModule } from './modules/objects/upload/upload.module';
|
|
import { UserModule } from './modules/objects/user/user.module';
|
|
import { UtilityModule } from './modules/utility/utility.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
ThrottlerModule.forRoot({
|
|
ttl: 10,
|
|
limit: 10,
|
|
}),
|
|
ConfigurationModule,
|
|
UtilityModule,
|
|
DatabaseModule,
|
|
EmailModule,
|
|
UserModule,
|
|
UploadModule,
|
|
OAuth2ClientModule,
|
|
OAuth2TokenModule,
|
|
LoginModule,
|
|
RegisterModule,
|
|
OAuth2Module,
|
|
TwoFactorModule,
|
|
],
|
|
controllers: [AppController],
|
|
providers: [AppService, CSRFMiddleware],
|
|
})
|
|
export class AppModule implements NestModule {
|
|
configure(consumer: MiddlewareConsumer) {
|
|
consumer.apply(CSRFMiddleware).forRoutes('*');
|
|
consumer.apply(UserMiddleware).forRoutes('*');
|
|
}
|
|
}
|