API HTTP Convex
Cette page cartographie les deux handlers HTTP Next.js et les routes enregistrées parconvex/http.ts et les modules convex/http/*. Elle décrit les chemins
réellement présents, sans remplacer les validateurs et règles d’autorisation des
fonctions appelées.
Handlers Next.js
Sources :
web/src/app/api/feedback/route.tsweb/src/app/adsterra-frame/[snippetId]/route.ts
Architecture du routeur
convex/http.ts :
- crée le
httpRouterConvex ; - monte les routes de
@convex-dev/authviaauth.addHttpRoutes(http); - monte les modules auth, clubs, litiges, ligues, matchs, mercato, système, opérations, uploads et utilisateurs ;
- monte le webhook Stripe ;
- expose l’échange OAuth Convex.
pathPrefix puis analysent les segments du
chemin dans le handler.
Authentification, CORS et sécurité
- Les routes qui appellent
resolveCurrentSessionUserouresolveActorUserIdFromRequestrésolvent l’utilisateur depuis les cookies Convex Auth et refusent les comptes bloqués. Les endpoints publics (ex.GET /api/leagues) ne résolvent aucune session : un compte bloqué peut les interroger comme un visiteur anonyme. - Les cookies d’accès et de refresh utilisent les variantes sécurisées
__Host-*sur HTTPS. - Les origines autorisées sont dérivées de
AUTH_ALLOWED_ORIGINS,CORS_ORIGIN,NEXT_PUBLIC_APP_URL,CONVEX_SITE_ORIGINetFRONTEND_URL. - Un
actorUserIdtransmis dans un body ne remplace pas l’identité de session ; les routes sensibles vérifient la cohérence de l’acteur. - Les routes
/api/ops/*d’écriture utilisent l’en-têtex-admin-key, comparé en temps constant àCONVEX_OPS_ADMIN_KEY. - Les mutations Convex restent la dernière frontière d’autorisation : exposer un chemin HTTP ne contourne pas leurs contrôles métier.
Santé, webhooks et intégrations
Les routes fournies directement par
@convex-dev/auth sont montées par la
bibliothèque et ne sont pas redéfinies dans les modules CEL.
Auth et compte
Clubs et mercato
Ligues
Lecture
Administration
Matchs
Lecture
Résultats, planning et statistiques
Administration des matchs
Litiges
Uploads et opérations
Les dossiers applicatifs acceptés par
/api/uploads sont profiles, clubs,
leagues et disputes. Les formats détectés sont JPEG, PNG, GIF et WEBP.
Convention de maintenance
Toute modification deconvex/http.ts ou convex/http/*.ts doit actualiser
cette page. Les détails de payload ne doivent être documentés que lorsqu’ils
sont confirmés par les validateurs et appels Convex du handler.