feat: partage dirigé entre utilisateurs #196
- create_share/shared_with + validation des destinataires
- gate auth sur /s/{token} (+pdf, raw) : 404 opaque hors créateur/admin/destinataires
- GET /api/shares scopé (non-admin = créés + reçus), révocation créateur/admin
- UI : dialogue dirigé/public + destinataires, dashboard « partagé par X »
- i18n FR/EN, tests test_directed_shares.py (9), fiche feature
This commit is contained in:
+29
-1
@@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
|
||||
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
> **En cours de développement** : les changements à venir sont listés dans la section
|
||||
> [Unreleased](#unreleased). La dernière version livrée est **2.65.2**.
|
||||
> [Unreleased](#unreleased). La dernière version livrée est **2.66.0**.
|
||||
|
||||
---
|
||||
|
||||
@@ -14,6 +14,34 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
---
|
||||
|
||||
## [2.66.0] — 2026-10-10
|
||||
|
||||
### Ajouté
|
||||
|
||||
- **#196 — Partage dirigé entre utilisateurs**
|
||||
- Un utilisateur peut partager un document à un ou plusieurs comptes
|
||||
précis (champ destinataires dans le dialogue de partage, noms séparés
|
||||
par des virgules) : les pages `/s/{token}` (+ PDF, téléchargement brut)
|
||||
exigent alors une session et n'acceptent que le créateur, les admins et
|
||||
les destinataires — 404 opaque sinon (l'existence d'un token dirigé
|
||||
n'est pas confirmable de l'extérieur).
|
||||
- Dashboard : les partages reçus s'affichent avec « Partagé par X » et
|
||||
s'ouvrent en lecture seule via la page de partage ; pas de bouton
|
||||
révoquer pour un destinataire.
|
||||
- Rétrocompatible : les partages publics existants (sans destinataires)
|
||||
restent accessibles anonymement.
|
||||
|
||||
### Sécurité
|
||||
|
||||
- **#196 — `GET /api/shares` scopé** : un utilisateur non-admin ne voit plus
|
||||
TOUS les partages de l'instance, mais uniquement ceux qu'il a créés ou
|
||||
reçus (fuite préexistante, intenable avec le partage user-to-user). La
|
||||
révocation d'un partage est réservée à son créateur ou à un admin.
|
||||
- i18n FR/EN (7 nouvelles clés), tests `tests/test_directed_shares.py` (9),
|
||||
fiche `docs/features/directed-shares-196.md`.
|
||||
|
||||
---
|
||||
|
||||
## [2.65.2] — 2026-10-10
|
||||
|
||||
### Corrigé
|
||||
|
||||
Reference in New Issue
Block a user