From 883b827b0d117fcde4cc21651c183ced7f2b4910 Mon Sep 17 00:00:00 2001 From: julien vdb Date: Mon, 27 Jul 2026 00:15:35 +0200 Subject: [PATCH] docs: warn about custom create controllers bypassing files. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Piège rencontré sur la publication d'annonce : ad/post/group/chat-message lisent ctx.request.files. directement. Envoyer files. n'échoue pas, les fichiers sont simplement ignorés. Co-Authored-By: Claude Opus 5 --- CLAUDE.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 416dd7a..7a6bc71 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -72,6 +72,15 @@ Vue par domaine (34 au total, liste exhaustive dans `src/api/`) : Toute nouvelle route/action consommée par le front DOIT être ajoutée à ce fichier (et jamais cochée uniquement dans l'admin, sinon elle sera signalée comme non déclarée). +- ⚠️ **Les controllers `create` custom qui gèrent des fichiers n'utilisent PAS + la convention `files.` de Strapi.** `ad`, `post`, `group` et + `chat-message` lisent directement `ctx.request.files.` (donc un + champ multipart nommé `medias`, `media`… et non `files.medias`), uploadent + eux-mêmes puis rattachent les ids. Envoyer `files.` à l'un d'eux + ne produit **aucune erreur** : l'entité est créée, les fichiers sont + ignorés en silence. Avant de brancher un formulaire avec upload, lire le + controller du content-type visé. Symptôme : « le contenu s'enregistre mais + pas l'image ». - ⚠️ **Une relation peuplée via l'API REST exige `find` sur le content-type cible.** Le sanitizer de l'API REST retire silencieusement les relations peuplées vers un content-type que le rôle n'a pas le droit de lire — pas