From 79a1d8ba3ca4d14236ab6a1813816a87ddec9097 Mon Sep 17 00:00:00 2001 From: Blomios Date: Sat, 18 Jul 2026 10:33:09 +0200 Subject: [PATCH] =?UTF-8?q?docs(ideai):=20met=20=C3=A0=20jour=20le=20ticke?= =?UTF-8?q?t=20#37=20apr=C3=A8s=20la=20suppression=20en=20cascade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .ideai/tickets/37/carnet.md | 11 ++++++++--- .ideai/tickets/37/issue.md | 8 ++++---- .ideai/tickets/index.json | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.ideai/tickets/37/carnet.md b/.ideai/tickets/37/carnet.md index 06881f6..ef1243a 100644 --- a/.ideai/tickets/37/carnet.md +++ b/.ideai/tickets/37/carnet.md @@ -1,6 +1,11 @@ --- issueRef: "#37" -version: 3 -updatedBy: {"kind":"user"} -updatedAt: 1784330063749 +version: 6 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784363570119 --- +Découpage proposé : +1. [DevBackend] Use cases de suppression avec cascade : deleteExercise (retire l'exercice de tous les programmes qui le référencent, soft delete via metadata.deletedAt déjà existant sur EntityMetadata — pas de nouveau champ nécessaire), deleteProgram (retire le programme de toutes les séances-modèles qui le référencent), deleteWorkoutTemplate (soft delete simple, pas de cascade car rien ne référence une séance-modèle sauf l'historique qui garde son propre snapshot autonome déjà indépendant). S'assurer que listActive()/repositories filtrent bien deletedAt != null partout où c'est déjà censé être le cas. +2. [DevFrontend] Boutons de suppression + confirmations sur les 3 écrans (bibliothèque d'exercices, liste de programmes, liste de séances-modèles), avec les messages de confirmation adaptés (cf. description utilisateur du ticket : cascade expliquée si pertinent). Vérifier que la relance d'une séance dont la séance-modèle source a été supprimée affiche bien le message déjà prévu par la conception initiale ("La séance originale n'existe plus. Une copie va être utilisée.") — c'est déjà censé être géré par le pattern historique existant (ticket #10/#28), à vérifier/compléter si besoin plutôt qu'à recréer. + +Important : l'historique doit rester lisible même après suppression (déjà garanti par le pattern snapshot autonome existant sur WorkoutHistory) — ne pas casser ça. \ No newline at end of file diff --git a/.ideai/tickets/37/issue.md b/.ideai/tickets/37/issue.md index f0ad244..93ff81e 100644 --- a/.ideai/tickets/37/issue.md +++ b/.ideai/tickets/37/issue.md @@ -2,15 +2,15 @@ id: "d472ee06-f4f1-4796-9797-b5d8a65000f3" number: 37 title: "Pouvoir supprimer un programme, une séance ou un exercice" -status: "open" +status: "closed" priority: "high" sprint: null links: [] agentRefs: [{"agentId":"57695b92-24d0-4876-837c-76116e70a6ae","role":"assigned"}] createdBy: {"kind":"user"} -updatedBy: {"kind":"user"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1784329898629 -updatedAt: 1784330063749 -version: 3 +updatedAt: 1784363570119 +version: 6 --- Il faut que l'utilisateur puisse supprimer un exercice qu'il a créé, un programme qu'il a créé ou une séance qu'il a créé. Si on supprime une exerccie, alors il est retiré des programmes dans lequel il se trouve. Si on supprime un programme alors il est supprimé des séances dans lequel il se trouve. Pour l'historique, il faut cependant que les datas soient persistantes, même si un exercice a été supprimé par exemple, il faut quand meme quie l'on puisse garder les données d'affichées. La séance ne pourra par contre pas être relancée, il faudra donc afficher un message qui l'explique. \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index 38fc634..954ace3 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -417,13 +417,13 @@ "issueRef": "#37", "path": "37", "title": "Pouvoir supprimer un programme, une séance ou un exercice", - "status": "open", + "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], - "updatedAt": 1784330063749 + "updatedAt": 1784363570119 }, { "issueRef": "#38",