Endpoint unifié GET /dossiers/:numeroDossier (AM ou famille) #119

Open
opened 2026-03-17 21:31:04 +00:00 by jmartin · 0 comments
Owner

Besoin

Un seul endpoint GET par numéro de dossier qui renvoie le dossier complet, AM ou famille selon le numéro. Clé unique = numéro de dossier (usage : modale de validation, consultation gestionnaire, reprise, etc.).

Option A – Endpoint unifié

  • Route : GET /api/v1/dossiers/:numeroDossier (ou GET /dossiers/:numeroDossier selon préfixe API).
  • Le backend détermine si le numéro appartient à une AM ou à une famille (ex. lookup users / parents / assistantes_maternelles).
  • Réponse avec discriminent :
    • { type: 'family', dossier: { numero_dossier, parents, enfants, presentation } }
    • { type: 'am', dossier: { numero_dossier, user, ... } } (fiche AM complète, champs utiles sans secrets)
  • Rôles : SUPER_ADMIN, ADMINISTRATEUR, GESTIONNAIRE.
  • Réponses : 200 (dossier), 403, 404 (numéro inconnu).

Aucun filtre par statut : on renvoie le dossier s'il existe ; le front affiche Valider/Refuser selon le statut.

Labels suggérés : backend, api, dossiers, gestionnaire


Implémentation

  • Nouveau module ou route : GET /dossiers/:numeroDossier.
  • Service : trouver qui possède ce numero_dossier (famille → parents, AM → users + assistantes_maternelles). Appeler la logique existante dossier-famille ou construire le payload AM, puis retourner { type, dossier }.
  • Réutiliser : la logique actuelle GET /parents/dossier-famille/:numeroDossier peut être appelée en interne pour type: 'family' ; ajouter une branche type: 'am' avec un DTO « dossier AM complet ».
  • DTO(s) : garder DossierFamilleCompletDto pour la famille ; ajouter un DTO pour le dossier AM (user sans secrets + infos AM). Réponse unifiée : { type: 'am' | 'family', dossier: ... }.
## Besoin Un **seul** endpoint **GET par numéro de dossier** qui renvoie le dossier complet, **AM ou famille** selon le numéro. Clé unique = numéro de dossier (usage : modale de validation, consultation gestionnaire, reprise, etc.). **Option A – Endpoint unifié** - **Route** : `GET /api/v1/dossiers/:numeroDossier` (ou `GET /dossiers/:numeroDossier` selon préfixe API). - Le backend détermine si le numéro appartient à une **AM** ou à une **famille** (ex. lookup `users` / `parents` / `assistantes_maternelles`). - **Réponse** avec discriminent : - `{ type: 'family', dossier: { numero_dossier, parents, enfants, presentation } }` - `{ type: 'am', dossier: { numero_dossier, user, ... } }` (fiche AM complète, champs utiles sans secrets) - **Rôles** : SUPER_ADMIN, ADMINISTRATEUR, GESTIONNAIRE. - **Réponses** : 200 (dossier), 403, 404 (numéro inconnu). Aucun filtre par statut : on renvoie le dossier s'il existe ; le front affiche Valider/Refuser selon le statut. **Labels suggérés** : backend, api, dossiers, gestionnaire --- ## Implémentation - **Nouveau module ou route** : `GET /dossiers/:numeroDossier`. - **Service** : trouver qui possède ce `numero_dossier` (famille → `parents`, AM → `users` + `assistantes_maternelles`). Appeler la logique existante dossier-famille ou construire le payload AM, puis retourner `{ type, dossier }`. - **Réutiliser** : la logique actuelle `GET /parents/dossier-famille/:numeroDossier` peut être appelée en interne pour `type: 'family'` ; ajouter une branche `type: 'am'` avec un DTO « dossier AM complet ». - DTO(s) : garder `DossierFamilleCompletDto` pour la famille ; ajouter un DTO pour le dossier AM (user sans secrets + infos AM). Réponse unifiée : `{ type: 'am' | 'family', dossier: ... }`.
jmartin changed title from Endpoint GET dossier famille complet par numéro de dossier to Endpoint unifié GET /dossiers/:numeroDossier (AM ou famille) 2026-03-17 22:09:16 +00:00
Sign in to join this conversation.
No description provided.