Apparence
F6 — Preuves (evidence files)
| Attribut | Contenu |
|---|---|
| Objectif | Attacher une preuve (capture d'écran, PDF) à une anomalie ou à une exécution |
| Description | Upload d'un fichier stocké côté serveur, avec un aperçu accessible via une URL. Chemin logique structuré ([anomalies/]org/campagne/…) |
| Utilisateurs | admin + testeur |
| Contraintes fichier | Taille ≤ 5 Mo ; types autorisés : image (JPEG, PNG, GIF, WebP) ou PDF |
| Règles métier | RG-08, RG-33 |
| Limitations | Le cycle de vie du fichier doit être géré : supprimer une preuve doit supprimer le fichier stocké. Impossible d'attacher une preuve à un run « synthétique » |
| Critères d'acceptation | Quand je joins une image ≤ 5 Mo à une anomalie alors elle est visible en aperçu |
🛠️ Détails techniques (v2)
| Attribut | Contenu |
|---|---|
| Stockage | Convex File Storage ; métadonnées dans evidence_files (dont storageId) ; URL via ctx.storage.getUrl |
| Validations | Schéma Zod : taille ≤ 5 Mo ; image/jpeg, image/png, image/gif, image/webp, application/pdf |
| Scénario | Sélection → contrôle taille/type → upload Convex Storage → insertion evidence_files → suppression du fichier si l'insertion échoue (fiabilisé par action-retrier) → URL d'aperçu |
| Limitations (impl.) | Le nettoyage du fichier au retrait de la métadonnée est à la charge de la mutation (oublié en v1) |