API staff pour foyer mono-parent : compte actif, liens + enfants, mail création MDP. Mini-specs front/back dans docs/tmp. Co-authored-by: Cursor <cursoragent@cursor.com>
74 lines
2.0 KiB
Markdown
74 lines
2.0 KiB
Markdown
# Mini-spec API — POST /parents/:id/co-parent (#135)
|
||
|
||
Contrat back pour l’ajout d’un **2ᵉ parent** sur un foyer mono-parent (staff).
|
||
|
||
## Endpoint
|
||
|
||
| | |
|
||
|--|--|
|
||
| **Méthode** | `POST` |
|
||
| **URL** | `{base}/api/v1/parents/{parentUserId}/co-parent` |
|
||
| **Auth** | Bearer JWT |
|
||
| **Rôles** | `gestionnaire`, `administrateur`, `super_admin` |
|
||
| **Succès** | **201** |
|
||
|
||
`parentUserId` = UUID du **parent pivot** (déjà dans le dossier).
|
||
|
||
Ne **pas** appeler `POST /auth/register/parent` ni `POST /parents/dossier`.
|
||
|
||
---
|
||
|
||
## Body (JSON)
|
||
|
||
| Champ | Type | Obligatoire | Notes |
|
||
|-------|------|-------------|--------|
|
||
| `email` | string | oui | unique |
|
||
| `prenom` | string | oui | |
|
||
| `nom` | string | oui | |
|
||
| `telephone` | string | oui | `0X…` ou `+33…` |
|
||
| `meme_adresse` | bool | non | défaut **true** → copie adresse du pivot |
|
||
| `adresse` | string | si `meme_adresse=false` | |
|
||
| `code_postal` | string | si `meme_adresse=false` | |
|
||
| `ville` | string | si `meme_adresse=false` | |
|
||
|
||
---
|
||
|
||
## Comportement 201
|
||
|
||
- User co-parent **actif** + token création MDP
|
||
- Fiche `parents` + liens pivot ↔ co-parent + même `numero_dossier`
|
||
- Enfants du foyer rattachés au co-parent
|
||
- E-mail **création MDP** (pas mail « en attente »)
|
||
|
||
```json
|
||
{
|
||
"message": "Co-parent ajouté au foyer. 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-co",
|
||
"statut": "actif"
|
||
}
|
||
```
|
||
|
||
## Erreurs
|
||
|
||
| Code | Cas |
|
||
|------|-----|
|
||
| 400 | Déjà un co-parent / 2 responsables / validation adresse |
|
||
| 401 | Token invalide |
|
||
| 403 | Rôle non staff |
|
||
| 404 | Pivot introuvable |
|
||
| 409 | Email déjà pris |
|
||
|
||
## Réemploi édition identité
|
||
|
||
| Endpoint | Usage |
|
||
|----------|--------|
|
||
| `GET /dossiers/:numero` | Préremplir wizard edit |
|
||
| `PATCH /parents/:id/fiche` | Sauver identité pivot / co-parent existant |
|
||
| `PATCH /assistantes-maternelles/:id/fiche` | Édition AM |
|
||
|
||
## Branche
|
||
|
||
`feature/135-edition-dossier`
|