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"; @Module({ imports: [ConfigModule, DbModule, HealthModule, AuthModule, JobsModule, TodosModule, AiModule], }) export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer .apply(BearerMiddleware) .exclude( { path: "health", method: RequestMethod.GET }, // Endpoints publics (signés autrement) ajoutés en Phase 4/6 : // { path: "telegram/webhook", method: RequestMethod.POST }, // { path: "agenda/ical/:secret.ics", method: RequestMethod.GET }, ) .forRoutes("*"); } }