ordinarthur-os/apps/api/src/app.module.ts
2026-04-16 16:23:01 +02:00

40 lines
1.3 KiB
TypeScript

import { Module, MiddlewareConsumer, NestModule, RequestMethod } from "@nestjs/common";
import { ConfigModule } from "./config/config.module";
import { DbModule } from "./db/db.module";
import { HealthModule } from "./modules/health/health.module";
import { AuthModule } from "./modules/auth/auth.module";
import { BearerMiddleware } from "./modules/auth/bearer.middleware";
import { JobsModule } from "./modules/jobs/jobs.module";
import { TodosModule } from "./modules/todos/todos.module";
import { AiModule } from "./modules/ai/ai.module";
import { HealthTabModule } from "./modules/health-tab/health-tab.module";
import { AgendaModule } from "./modules/agenda/agenda.module";
import { ProjectsModule } from "./modules/projects/projects.module";
@Module({
imports: [
ConfigModule,
DbModule,
HealthModule,
AuthModule,
JobsModule,
TodosModule,
AiModule,
HealthTabModule,
AgendaModule,
ProjectsModule,
],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(BearerMiddleware)
.exclude(
{ path: "health", method: RequestMethod.GET },
{ path: "agenda/ical/:secret", method: RequestMethod.GET },
{ path: "agenda/google/oauth/callback", method: RequestMethod.GET },
)
.forRoutes("*");
}
}