Nicolas Cantu bc3c75e15f Add enso docs mirror under services/docv/enso-docs; docv integration docs
- Copy enso/docs tree to services/docv/enso-docs (refresh via cp -a from enso repo)
- Document mirror and refresh command in services/docv/README.md
- Ignore services/docv/target for local Rust workspace
- Track docv-service-integration, API docv.md, and related doc index updates
2026-04-03 17:26:35 +02:00

4.9 KiB
Raw Blame History

Implémentation technique : Dossiers

Zone : 2 — Dossiers
Spec fonctionnelle : SPEC_02_dossiers.md
Référentiel : REFERENTIEL_ECRANS_ACTIONS.md — Zone 2.

1. Vue densemble

  • Périmètre : front (folders liste, sélection, détail, archivés, supprimés, création/édition), back (handlers folders), BDD (folders, folder_parties), paramétrage (folders.*). Ancrage optionnel (back).
  • Espace client enso (docv) : champs réels folder_purpose, operation_type ; UI liste opérations vs blocs « structures type (démo) » — voir MODELE_SOCIETES_ET_DOSSIERS_DOPERATION.md et DOCV_API_ENSO_FRONT_MAP.md.
  • Dépendances : zone 4 (types de dossiers), zone 7 (parties), zone 3 (documents) ; anchoring_client si activé.

2. Écrans (détail technique)

folders.list — Liste des dossiers

  • Route(s) : app/(dashboard)/folders/page.tsx.
  • Front : Liste paginée, filtres (statut, type, recherche), tri ; GET /folders (query: page, status, folder_type_uid, q) ; liens archivés, supprimés, bouton Créer. State : liste, filters, pagination. Paramétrage : folders.list.
  • Back : GET /folders → folder_service::list (office_uid depuis context) → folder_repository (pagination, filtres).
  • BDD : folders (uid, office_uid, name, folder_type_uid, status, description, created_at, archived_at, deleted_at).

folders.select — Sélection de dossier

  • Route(s) : app/(dashboard)/folders/select/page.tsx ou modal FolderSelectModal.
  • Front : Liste/recherche dossiers ; GET /folders (limit, q) ; bouton Valider (retour avec folderUid), Annuler. Paramétrage : folders.select.
  • Back : même GET /folders.
  • BDD : folders.

folders.detail — Détail dun dossier

  • Route(s) : app/(dashboard)/folders/[folderUid]/page.tsx.
  • Front : En-tête (nom, type, statut, dates), onglets ou sections (parties, documents, notes, partages) ; GET /folders/:id ; actions Modifier, Archiver, Supprimer, Ancrage selon action_config ; téléversement document, ajout note, gestion partage (zones 3, 7, 8). Paramétrage : folders.detail.
  • Back : GET /folders/:id, PATCH /folders/:id, POST /folders/:id/archive, POST /folders/:id/restore, DELETE /folders/:id (soft), DELETE /folders/:id/permanent ; folder_service, folder_repository.
  • BDD : folders, folder_parties, documents, notes, folder_shares.

folders.archived — Dossiers archivés

  • Route(s) : app/(dashboard)/folders/archived/page.tsx.
  • Front : GET /folders/archived ; liste ; Restaurer, Consulter détail. Paramétrage : folders.archived.
  • Back : GET /folders/archived → folder_repository où archived_at IS NOT NULL.
  • BDD : folders.

folders.deleted — Dossiers supprimés

  • Route(s) : app/(dashboard)/folders/deleted/page.tsx.
  • Front : GET /folders/deleted ; Restaurer, Supprimer définitivement. Paramétrage : folders.deleted.
  • Back : GET /folders/deleted, POST /folders/:id/restore, DELETE /folders/:id/permanent.
  • BDD : folders (deleted_at).

folders.create, folders.edit — Création / édition de dossier

  • Route(s) : app/(dashboard)/folders/new/page.tsx, folders/[folderUid]/edit/page.tsx ou modal.
  • Front : Formulaire (nom, type de dossier, description, parties liées) ; GET /folder-types, GET /customers pour listes ; POST /folders, PATCH /folders/:id. Validation nom et type requis. Paramétrage : folders.create, folders.edit.
  • Back : folder_service::create, update ; folder_repository, folder_party_repository.
  • BDD : folders, folder_parties.

3. Actions (mapping technique)

Action Déclencheur (UI) Appel / action Back (handler, service) Validation / erreur
18.4 Page liste, filtres, tri, liens GET /folders, GET /folders/archived, /deleted folder_service 403
18.5 Modal sélection, Valider GET /folders, retour context folder_service 404
18.6 Détail dossier, onglets, boutons GET/PATCH /folders/:id, POST archive/restore, DELETE folder_service, anchoring si activé 403, 404
18.7 Page archivés GET /folders/archived, POST restore folder_service 403
18.8 Page supprimés GET /folders/deleted, POST restore, DELETE permanent folder_service 403
18.9 Formulaire création/édition POST /folders, PATCH /folders/:id folder_service Nom et type requis

4. Points dattention

  • Transitions statut : ouvert → archivé (archived_at), → supprimé (deleted_at) ; restauration remet deleted_at/archived_at à NULL.
  • Ancrage : appel back depuis folder_service ou document_service selon périmètre.
  • i18n : folders.*, folders.archived, folders.deleted.