icynet-auth-server/src/modules/features/settings/settings.module.ts

35 lines
1.2 KiB
TypeScript

import {
MiddlewareConsumer,
Module,
NestModule,
RequestMethod,
} from '@nestjs/common';
import { AuthMiddleware } from 'src/middleware/auth.middleware';
import { FlashMiddleware } from 'src/middleware/flash.middleware';
import { ValidateCSRFMiddleware } from 'src/middleware/validate-csrf.middleware';
import { ConfigurationModule } from 'src/modules/config/config.module';
import { UserModule } from 'src/modules/objects/user/user.module';
import { OAuth2Module } from '../oauth2/oauth2.module';
import { SettingsController } from './settings.controller';
import { SettingsService } from './settings.service';
@Module({
controllers: [SettingsController],
imports: [ConfigurationModule, UserModule, OAuth2Module],
providers: [SettingsService],
})
export class SettingsModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(ValidateCSRFMiddleware)
.forRoutes(
{ path: '/account*', method: RequestMethod.POST },
{ path: '/account*', method: RequestMethod.PATCH },
{ path: '/account*', method: RequestMethod.DELETE },
);
consumer.apply(AuthMiddleware).forRoutes('account*');
consumer.apply(FlashMiddleware).forRoutes('account*');
}
}