import { MiddlewareConsumer, Module, NestModule, RequestMethod, } from '@nestjs/common'; import { FlashMiddleware } from 'src/middleware/flash.middleware'; import { ValidateCSRFMiddleware } from 'src/middleware/validate-csrf.middleware'; import { UserTokenModule } from 'src/modules/objects/user-token/user-token.module'; import { UserModule } from 'src/modules/objects/user/user.module'; import { LoginController } from './login.controller'; @Module({ imports: [UserModule, UserTokenModule], controllers: [LoginController], }) export class LoginModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer .apply(ValidateCSRFMiddleware) .forRoutes({ path: 'login*', method: RequestMethod.POST }); consumer.apply(FlashMiddleware).forRoutes('login*'); } }