Factorise createParentDossier (actif + mail MDP) depuis l’inscription publique qui reste en_attente + mail pending. Miroir #156 AM. Co-authored-by: Cursor <cursoragent@cursor.com>
2.5 KiB
2.5 KiB
Mini-spec API — POST /parents/dossier (#129)
Contrat pour le plan front (wizard création dossier famille staff).
Miroir de #156 (POST /assistantes-maternelles/dossier).
Endpoint
| Méthode | POST |
| URL | {base}/parents/dossier |
| Auth | Bearer JWT |
| Rôles | gestionnaire, administrateur, super_admin |
| Content-Type | application/json |
Ne pas appeler POST /auth/register/parent depuis le dashboard.
Body (JSON)
Aligné RegisterParentCompletDto, sans CGU/privacy obligatoires (acceptées serveur).
Parent 1 (obligatoire)
| Champ | Type | Obligatoire | Notes |
|---|---|---|---|
email |
string | oui | unique |
prenom |
string | oui | |
nom |
string | oui | |
telephone |
string | oui | 0X… ou +33… |
adresse |
string | non | |
code_postal |
string | non | |
ville |
string | non |
Co-parent (optionnel)
co_parent_email, co_parent_prenom, co_parent_nom, co_parent_telephone,
co_parent_meme_adresse, co_parent_adresse, co_parent_code_postal, co_parent_ville.
Si co-parent fourni : e-mail distinct ; mêmes règles téléphone / adresse que register.
Enfants (≥ 1)
| Champ | Type | Notes |
|---|---|---|
enfants |
EnfantInscriptionDto[] |
prenom, nom, date_naissance / date_previsionnelle_naissance, genre, photo_base64, photo_filename, etc. |
Présentation
| Champ | Type | Obligatoire |
|---|---|---|
presentation_dossier |
string | non (max 2000) |
Réponses
201 Created
{
"message": "Dossier famille créé et validé. Un e-mail de création de mot de passe a été envoyé.",
"numero_dossier": "2026-000043",
"parent_user_id": "uuid-pivot",
"co_parent_user_id": "uuid-ou-null",
"statut": "actif",
"enfant_ids": ["uuid", "..."]
}
Effets serveur : user(s) parent actif, fiches parents, enfants + foyer, n° dossier,
e-mail création MDP pour chaque compte sans MDP (pas d’accusé « en attente »).
Erreurs
| Code | Cas |
|---|---|
| 400 | Validation DTO / métier (enfants vides, dates, etc.) |
| 401 | Token manquant / invalide |
| 403 | Rôle non staff |
| 409 | Conflit e-mail (pivot et/ou co-parent) |
Front
UserService.createParentDossier(body)→ cet endpoint- Wizard create basé sur
ValidationFamilyWizard - Ne pas envoyer
acceptation_cgu/acceptation_privacy(optionnels)
Branche
feature/129-creation-dossier-parent