[Full-stack] Statut enfant — remplacer « actif » par gardé / sans garde (+ migration BDD) #141

Open
opened 2026-06-21 15:46:21 +00:00 by jmartin · 2 comments
Owner

Contexte

Le type PostgreSQL statut_enfant_type et l’enum backend StatutEnfantType portent aujourd’hui 3 valeurs :

Valeur API Libellé actuel Problème
a_naitre À naître OK
actif Actif Trop vague — ne distingue pas enfant gardé chez une AM vs chez lui sans AM
scolarise Scolarisé OK

Réf. schéma : database/BDD.sql, backend/src/entities/children.entity.ts, docs/10_DATABASE.md.

Objectif métier

Passer à 4 statuts qui reflètent la réalité du Relais :

Valeur API (proposition) Libellé UI (proposition) Signification
a_naitre À naître Enfant pas encore né (date prévue)
garde Gardé Enfant actuellement en garde chez une assistante maternelle
sans_garde Sans garde Enfant chez lui / chez ses responsables, pas placé chez une AM
scolarise Scolarisé Enfant scolarisé (hors garde AM au sens Relais)

Backend

  • Migration SQL ALTER TYPE statut_enfant_type (ajout valeurs + migration données + retrait actif)
  • Enum StatutEnfantType + DTOs Swagger (CreateEnfantsDto, UpdateEnfantsDto, dossier famille #119)
  • Règles métier : auth.service (inscription / reprise #112) — aujourd’hui actif si date naissance, a_naitre sinon
  • Messages d’erreur (Un enfant actif doit avoir une date de naissance → adapter)
  • Tests unitaires

Migration données (à cadrer)

Ancien Proposition par défaut Commentaire
a_naitre a_naitre inchangé
actif sans_garde Valeur par défaut à la migration (libellé « Sans garde »)
scolarise scolarise inchangé

Frontend

  • Inscription parent (étape enfants), reprise #112, validation wizard
  • Dashboard admin : filtres onglet Enfants (#137), fiche enfant (#138), modales #140
  • Libellés accordés au genre si besoin (comme scolarise dans validation_family_wizard.dart)

Documentation

  • docs/10_DATABASE.md, database/docs/ENUMS.md
  • EVOLUTIONS_CDC.md ou CDC § statut enfant si applicable

Critères d’acceptation

  1. Plus aucune référence à actif pour le statut enfant (API + UI + BDD).
  2. Les 4 statuts sont sélectionnables en admin et à l’inscription.
  3. Données existantes migrées sans perte (script + vérif comptages avant/après).
  4. Swagger et tests à jour.

Hors scope

  • Lien automatique statut ↔ contrat AM (futur : statut garde déduit d’un contrat actif ?)
  • Qualification responsable–enfant (#139)

Branche suggérée

feature/141-statut-enfant-garde-sans-garde depuis develop

## Contexte Le type PostgreSQL `statut_enfant_type` et l’enum backend `StatutEnfantType` portent aujourd’hui **3 valeurs** : | Valeur API | Libellé actuel | Problème | |------------|----------------|----------| | `a_naitre` | À naître | OK | | `actif` | Actif | **Trop vague** — ne distingue pas enfant **gardé chez une AM** vs **chez lui sans AM** | | `scolarise` | Scolarisé | OK | Réf. schéma : `database/BDD.sql`, `backend/src/entities/children.entity.ts`, `docs/10_DATABASE.md`. ## Objectif métier Passer à **4 statuts** qui reflètent la réalité du Relais : | Valeur API (proposition) | Libellé UI (proposition) | Signification | |--------------------------|--------------------------|---------------| | `a_naitre` | **À naître** | Enfant pas encore né (date prévue) | | `garde` | **Gardé** | Enfant actuellement en garde chez une assistante maternelle | | `sans_garde` | **Sans garde** | Enfant chez lui / chez ses responsables, **pas** placé chez une AM | | `scolarise` | **Scolarisé** | Enfant scolarisé (hors garde AM au sens Relais) | ## Backend - [ ] Migration SQL `ALTER TYPE statut_enfant_type` (ajout valeurs + migration données + retrait `actif`) - [ ] Enum `StatutEnfantType` + DTOs Swagger (`CreateEnfantsDto`, `UpdateEnfantsDto`, dossier famille #119) - [ ] Règles métier : `auth.service` (inscription / reprise #112) — aujourd’hui `actif` si date naissance, `a_naitre` sinon - [ ] Messages d’erreur (`Un enfant actif doit avoir une date de naissance` → adapter) - [ ] Tests unitaires ### Migration données (à cadrer) | Ancien | Proposition par défaut | Commentaire | |--------|------------------------|-------------| | `a_naitre` | `a_naitre` | inchangé | | `actif` | **`sans_garde`** | **Valeur par défaut** à la migration (libellé « Sans garde ») | | `scolarise` | `scolarise` | inchangé | ## Frontend - [ ] Inscription parent (étape enfants), reprise #112, validation wizard - [ ] Dashboard admin : filtres onglet Enfants (#137), fiche enfant (#138), modales #140 - [ ] Libellés accordés au genre si besoin (comme `scolarise` dans `validation_family_wizard.dart`) ## Documentation - [ ] `docs/10_DATABASE.md`, `database/docs/ENUMS.md` - [ ] `EVOLUTIONS_CDC.md` ou CDC § statut enfant si applicable ## Critères d’acceptation 1. Plus aucune référence à `actif` pour le statut enfant (API + UI + BDD). 2. Les 4 statuts sont sélectionnables en admin et à l’inscription. 3. Données existantes migrées sans perte (script + vérif comptages avant/après). 4. Swagger et tests à jour. ## Hors scope - Lien automatique statut ↔ contrat AM (futur : statut `garde` déduit d’un contrat actif ?) - Qualification responsable–enfant (#139) ## Branche suggérée `feature/141-statut-enfant-garde-sans-garde` depuis `develop`
Author
Owner

Décision produit (validée) : libellé UI Sans garde pour la valeur API sans_garde (enfant chez lui / chez ses responsables, pas placé chez une AM).

**Décision produit (validée)** : libellé UI **`Sans garde`** pour la valeur API `sans_garde` (enfant chez lui / chez ses responsables, pas placé chez une AM).
Author
Owner

Migration / valeur par défaut : les enfants actuellement en statut actif seront migrés vers sans_garde (« Sans garde ») par défaut — sauf règle métier ultérieure liée à un contrat AM actif.

**Migration / valeur par défaut** : les enfants actuellement en statut `actif` seront migrés vers **`sans_garde`** (« Sans garde ») par défaut — sauf règle métier ultérieure liée à un contrat AM actif.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jmartin/petitspas#141
No description provided.