32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import { Inject, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
|
|
import { RequestHandler } from 'express';
|
|
import { CSRFMiddleware } from 'src/middleware/csrf.middleware';
|
|
import { FlashMiddleware } from 'src/middleware/flash.middleware';
|
|
import { UserMiddleware } from 'src/middleware/user.middleware';
|
|
import { ValidateCSRFMiddleware } from 'src/middleware/validate-csrf.middleware';
|
|
import { AuditModule } from 'src/modules/objects/audit/audit.module';
|
|
import { UserTokenModule } from 'src/modules/objects/user-token/user-token.module';
|
|
import { UserModule } from 'src/modules/objects/user/user.module';
|
|
import { SessionModule } from '../session/session.module';
|
|
import { LoginController } from './login.controller';
|
|
|
|
@Module({
|
|
imports: [UserModule, UserTokenModule, AuditModule, SessionModule],
|
|
controllers: [LoginController],
|
|
})
|
|
export class LoginModule implements NestModule {
|
|
constructor(@Inject('SESSION') private _session: RequestHandler) {}
|
|
|
|
configure(consumer: MiddlewareConsumer) {
|
|
consumer
|
|
.apply(
|
|
this._session,
|
|
CSRFMiddleware,
|
|
FlashMiddleware,
|
|
UserMiddleware,
|
|
ValidateCSRFMiddleware,
|
|
)
|
|
.forRoutes(LoginController);
|
|
}
|
|
}
|