testing #199

Merged
nicolas merged 4 commits from testing into main 2026-07-11 19:46:39 +02:00
Owner
No description provided.
- comments, external-refs, exhibits : requireDocAccess sur toutes les routes
- comments : la section doit appartenir au document (POST), resolve scopé au doc
- exhibits : deleteExhibitRef scopé au doc_id (id SERIAL devinable)
- documents : requireDocAccess sur /history et /users ; rôle owner attribuable
  uniquement par un owner ou founder (escalade de privilèges)
- sections : requireSectionInDoc sur validate/reviewers/review-request/freeze ;
  requireDocAccess sur les routes soft-locks
- templates : autorisation sur updates dismiss/reopen (id SERIAL devinable),
  requireDocAccess sur lane/updates/dismiss-banner, requireLegal sur compliance,
  version du template enregistrée au linkage (était 0 → doc marqué obsolète)
- export : try/catch sur la route DOCX (requête pendante sous Express 4),
  import getStyle mort supprimé, tmpdir PDF unique par requête (collision)
- collaboration WS : état par connexion au lieu d'une Map par uid (deux onglets
  du même utilisateur s'écrasaient mutuellement)
- suppression de 4 composants client morts : AdminSettings, AdminSlots,
  TemplateLane, HistoryPanel (remplacés ou retirés, jamais nettoyés)
- Nouveau middleware requireDocRole(minRole) : hiérarchie viewer < commenter
  < editor < owner, founders = owner partout, invités = rôle du lien d'invitation
- getDocRole : repli 'viewer' sur les templates (lisibles par tous, écriture
  déjà réservée aux founders)
- Écriture (editor minimum) : sections (create/content/meta/reorder/delete,
  reviewers, review-request, freeze, rollback, soft-lock release), fields,
  external-refs, exhibits, snapshots (create/restore/rename/prune),
  abonnement template, renommage du document
- Commentaires : création et résolution réservées à commenter minimum
- Gestion des membres : réservée aux owners (POST/DELETE/PATCH alignés),
  rôle 'commenter' accepté à l'ajout (était refusé alors que PATCH l'acceptait)
- WebSocket Yjs : lecture seule au niveau CRDT pour viewer/commenter — les
  trames syncStep2/update sont ignorées côté serveur, syncStep1 et awareness
  (curseurs) restent autorisés ; un viewer ne peut plus altérer le document
  en direct via le protocole de collaboration
- Suppression des endpoints orphelins POST/DELETE /admin/slots et de leurs
  helpers db (UI retirée depuis longtemps, GET conservé pour les slots
  existants en base)
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/docfoundry_ynh!199
No description provided.