docs(ideai): met à jour le ticket #51 après le packaging Docker
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
issueRef: "#51"
|
issueRef: "#51"
|
||||||
version: 1
|
version: 3
|
||||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||||
updatedAt: 1784412007538
|
updatedAt: 1784450081385
|
||||||
---
|
---
|
||||||
|
Endpoints `POST /shares`, `GET /shares/inbox`, `POST /shares/{id}/accept|decline|revoke` implémentés, protégés par le middleware Bearer. Acceptation crée une copie `synced_resources` (nouveaux IDs) pour le destinataire sans jamais modifier la ressource source de l'émetteur — relu et confirmé correct. Gestion des conflits : 404 si partage/destinataire introuvable ou révocation par non-émetteur, 409 si acceptation d'un partage révoqué ou déjà répondu. Emails destinataires inconnus retournés dans `unresolvedEmails` sans échouer toute la requête. Tests unitaires avec fakes en mémoire verts (24/24 sur toute la suite serveur), `dart analyze` clean. Non vérifié : aucun test de bout en bout contre un vrai PostgreSQL (pas d'accès Docker dans le sandbox Main).
|
||||||
@ -2,15 +2,15 @@
|
|||||||
id: "850ce975-99c3-4ee4-8d39-759ecc55139c"
|
id: "850ce975-99c3-4ee4-8d39-759ecc55139c"
|
||||||
number: 51
|
number: 51
|
||||||
title: "[Server] Partage ciblé de programmes et séances entre comptes"
|
title: "[Server] Partage ciblé de programmes et séances entre comptes"
|
||||||
status: "open"
|
status: "qa"
|
||||||
priority: "low"
|
priority: "low"
|
||||||
sprint: null
|
sprint: null
|
||||||
links: [{"target":"#46","kind":"relatesTo"},{"target":"#48","kind":"dependsOn"},{"target":"#49","kind":"dependsOn"}]
|
links: [{"target":"#46","kind":"relatesTo"},{"target":"#48","kind":"dependsOn"},{"target":"#49","kind":"dependsOn"}]
|
||||||
agentRefs: []
|
agentRefs: []
|
||||||
createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||||
createdAt: 1784412007538
|
createdAt: 1784412007538
|
||||||
updatedAt: 1784412007538
|
updatedAt: 1784450081385
|
||||||
version: 1
|
version: 3
|
||||||
---
|
---
|
||||||
Implémenter le domaine de partage ciblé : `Share`, destinataires par compte utilisateur, statut `pending|accepted|declined|revoked`, payload snapshot autonome de Program ou WorkoutTemplate. Endpoints : `POST /shares`, `GET /shares/inbox`, `POST /shares/{id}/accept`, `POST /shares/{id}/decline`, `POST /shares/{id}/revoke`. À l'acceptation, créer une copie importable dans l'espace du destinataire, sans lien public ouvert.
|
Implémenter le domaine de partage ciblé : `Share`, destinataires par compte utilisateur, statut `pending|accepted|declined|revoked`, payload snapshot autonome de Program ou WorkoutTemplate. Endpoints : `POST /shares`, `GET /shares/inbox`, `POST /shares/{id}/accept`, `POST /shares/{id}/decline`, `POST /shares/{id}/revoke`. À l'acceptation, créer une copie importable dans l'espace du destinataire, sans lien public ouvert.
|
||||||
@ -577,11 +577,11 @@
|
|||||||
"issueRef": "#51",
|
"issueRef": "#51",
|
||||||
"path": "51",
|
"path": "51",
|
||||||
"title": "[Server] Partage ciblé de programmes et séances entre comptes",
|
"title": "[Server] Partage ciblé de programmes et séances entre comptes",
|
||||||
"status": "open",
|
"status": "qa",
|
||||||
"priority": "low",
|
"priority": "low",
|
||||||
"sprint": null,
|
"sprint": null,
|
||||||
"assignedAgentIds": [],
|
"assignedAgentIds": [],
|
||||||
"updatedAt": 1784412007538
|
"updatedAt": 1784450081385
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"issueRef": "#52",
|
"issueRef": "#52",
|
||||||
|
|||||||
Reference in New Issue
Block a user