icynet-auth-server/src/modules/ssr-front-end/two-factor/two-factor.module.ts

34 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-09-17 07:13:52 +00:00
import { Inject, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { RequestHandler } from 'express';
2022-03-09 20:03:29 +00:00
import { AuthMiddleware } from 'src/middleware/auth.middleware';
2022-09-01 17:19:08 +00:00
import { CSRFMiddleware } from 'src/middleware/csrf.middleware';
2022-03-09 21:10:08 +00:00
import { FlashMiddleware } from 'src/middleware/flash.middleware';
2022-09-01 17:19:08 +00:00
import { UserMiddleware } from 'src/middleware/user.middleware';
2022-09-17 07:13:52 +00:00
import { ValidateCSRFMiddleware } from 'src/middleware/validate-csrf.middleware';
2022-09-09 17:12:22 +00:00
import { AuditModule } from 'src/modules/objects/audit/audit.module';
import { UserTokenModule } from 'src/modules/objects/user-token/user-token.module';
2022-03-09 20:03:29 +00:00
import { UserModule } from 'src/modules/objects/user/user.module';
2022-09-17 07:13:52 +00:00
import { SessionModule } from '../session/session.module';
import { TwoFactorController } from './two-factor.controller';
2022-03-09 20:03:29 +00:00
@Module({
2022-09-17 07:13:52 +00:00
imports: [UserModule, UserTokenModule, AuditModule, SessionModule],
2022-03-09 20:03:29 +00:00
controllers: [TwoFactorController],
})
export class TwoFactorModule implements NestModule {
2022-09-17 07:13:52 +00:00
constructor(@Inject('SESSION') private _session: RequestHandler) {}
2022-03-09 20:03:29 +00:00
configure(consumer: MiddlewareConsumer) {
2022-09-01 17:19:08 +00:00
consumer
2022-09-17 07:13:52 +00:00
.apply(
this._session,
CSRFMiddleware,
UserMiddleware,
AuthMiddleware,
FlashMiddleware,
ValidateCSRFMiddleware,
)
2022-09-01 17:19:08 +00:00
.forRoutes(TwoFactorController);
2022-03-09 20:03:29 +00:00
}
}