icynet-auth-server/src/app.module.ts

39 lines
1.5 KiB
TypeScript

import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { CSRFMiddleware } from './middleware/csrf.middleware';
import { FlashMiddleware } from './middleware/flash.middleware';
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 { DatabaseModule } from './modules/objects/database/database.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: [
UtilityModule,
DatabaseModule,
UserModule,
UploadModule,
OAuth2ClientModule,
OAuth2TokenModule,
LoginModule,
RegisterModule,
OAuth2Module,
],
controllers: [AppController],
providers: [AppService, CSRFMiddleware],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(CSRFMiddleware).forRoutes('*');
consumer
.apply(FlashMiddleware)
.forRoutes('login', 'register', 'login/verify');
}
}