mvp-ticket/backend/src/app.module.ts

37 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-04-06 00:10:00 +02:00
import { MiddlewareConsumer, Module, RequestMethod } from '@nestjs/common';
2024-04-04 17:02:42 +02:00
import { AppController } from './app.controller';
import { AppService } from './app.service';
2024-04-05 23:35:03 +02:00
import { ConfigModule } from '@nestjs/config';
import { DatabaseModule } from './modules/database-module/database.module';
import { CspMiddleware } from './middleware/csp-middleware/csp.middleware';
import { SecurityHeadersMiddleware } from './middleware/security-middleware/security.middleware';
import { HttpsRedirectMiddleware } from './middleware/https-middlware/https-redirect.middleware';
2024-05-04 00:16:49 +02:00
import { AuthModule } from './modules/auth-module/auth.module';
import { AccessTokenGuard } from './modules/auth-module/common/guards';
2024-05-20 09:39:34 +02:00
import { CorsMiddleware } from './middleware/cors-middleware/cors.middlware';
2024-04-04 17:02:42 +02:00
@Module({
2024-04-05 23:35:03 +02:00
imports: [
ConfigModule.forRoot({
isGlobal: true,
}),
DatabaseModule,
2024-05-04 00:16:49 +02:00
AuthModule,
2024-04-05 23:35:03 +02:00
],
2024-04-04 17:02:42 +02:00
controllers: [AppController],
2024-05-04 00:16:49 +02:00
providers: [AppService, { provide: 'APP_GUARD', useClass: AccessTokenGuard }],
2024-04-04 17:02:42 +02:00
})
2024-04-06 00:10:00 +02:00
export class AppModule {
configure(consumer: MiddlewareConsumer) {
consumer
// TODO: Redirect via Reverse Proxy all HTTP requests to HTTPS
2024-05-20 09:39:34 +02:00
.apply(
CspMiddleware,
SecurityHeadersMiddleware,
HttpsRedirectMiddleware,
CorsMiddleware
)
2024-04-06 00:10:00 +02:00
.forRoutes({ path: '*', method: RequestMethod.ALL });
}
}