35 lines
1.2 KiB
TypeScript
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*');
|
|
}
|
|
}
|