Création de la feature API V1

This commit is contained in:
ocroguennec committed 2026-07-14 16:22:34 +02:00
1 parent f9c5316303
commit c843464ccd
14 files changed
+1263

No files matched your search

+14
View File
@@ -52,6 +52,10 @@ import secteursInvRouter from './routes/secteurs-inv.js';
import associationsInvRouter from './routes/associations-inv.js';
import notificationsRouter from './routes/notifications.js';
import ticketsRouter from './routes/tickets.js';
import apiKeysRouter from './routes/apiKeys.js';
import v1Router from './routes/v1/index.js';
import { requireApiKey } from './middleware/apiKey.js';
import { swaggerSpec, swaggerUi } from './swagger.js';
import db from './db/index.js';
import { getSmtpConfig } from './utils/mailer.js';
@@ -104,6 +108,15 @@ app.get('/api/app-info', (_, res) => {
app.use('/api/auth', authLimiter, authRouter);
// ── API publique v1 (lecture seule, authentification par clé API) ────────
// Montée ici, avant les routes internes ci-dessous : la ligne
// `app.use('/api', requireAuth, associationsInvRouter)` plus bas capte tout
// préfixe /api/* avec le JWT interne, ce qui intercepterait /api/v1/* et
// /api/docs si elles étaient montées après.
app.use('/api/docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
app.get('/api/openapi.json', (_, res) => res.json(swaggerSpec));
app.use('/api/v1', requireApiKey, v1Router);
// All routes below require authentication
app.use('/api/investisseurs', requireAuth, investisseursRouter);
app.use('/api/plateformes', requireAuth, plateformesRouter);
@@ -142,6 +155,7 @@ app.use('/api/secteurs-inv', requireAuth, secteursInvRouter);
app.use('/api', requireAuth, associationsInvRouter);
app.use('/api/notifications', notificationsRouter);
app.use('/api/tickets', requireAuth, ticketsRouter);
app.use('/api/api-keys', requireAuth, apiKeysRouter);
app.use(errorHandler);