Squash merge develop → master. - Fiche parent éditable (co-parent, PATCH fiche, GET /parents) - Fiche AM 3 onglets (PATCH fiche, rattacher/détacher enfants) - Table enfants_assistantes_maternelles + enum garde/sans_garde - Migration SQL + BDD.sql canonique - Correctifs recette : @Get() parents, DTO fiche AM, fix NIR Co-authored-by: Cursor <cursoragent@cursor.com>
163 lines
4.4 KiB
Markdown
163 lines
4.4 KiB
Markdown
|
||
# ENUMS.md — Référentiel des valeurs énumérées (Sprint 1)
|
||
|
||
Ce document recense **toutes les valeurs énumérées** utilisées dans la base P’titsPas, leur **sens fonctionnel**, les **colonnes concernées** et les **transitions** attendues côté métier / API.
|
||
|
||
> Objectif : garantir la **cohérence** entre la DB, le backend (NestJS) et le frontend (Flutter).
|
||
> Toute nouvelle valeur ou renommage **doit** être ajouté ici **avant** migration DB.
|
||
|
||
---
|
||
|
||
## Conventions générales
|
||
|
||
- Les valeurs ENUM sont **en minuscules** et **sans espace** (snake_case si nécessaire).
|
||
- Côté DB, elles sont implémentées via **types ENUM PostgreSQL** *ou* via `CHECK` (selon ce qui est en place dans `01_init.sql`).
|
||
- Côté API, ces valeurs sont **renvoyées telles quelles** et **documentées** dans l’OpenAPI / DTO.
|
||
|
||
---
|
||
|
||
## 1) Rôle utilisateur — `role`
|
||
|
||
**Tables/colonnes** : `utilisateurs.role`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `super_admin` | Compte technique initial / administration globale |
|
||
| `gestionnaire` | Gestion / validation des comptes, supervision |
|
||
| `parent` | Parent ou co-parent |
|
||
| `am` | Assistante maternelle |
|
||
|
||
---
|
||
|
||
## 2) Statut utilisateur — `statut`
|
||
|
||
**Tables/colonnes** : `utilisateurs.statut`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `en_attente` | Compte créé mais non validé |
|
||
| `accepte` | Compte validé et actif |
|
||
| `rejete` | Demande refusée (peut être recréée ultérieurement) |
|
||
|
||
---
|
||
|
||
## 3) Statut enfant — `statut`
|
||
|
||
**Tables/colonnes** : `enfants.statut`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `a_naitre` | Enfant à naître (date prévue renseignée) |
|
||
| `sans_garde` | Enfant né, pas encore placé chez une AM (défaut à l'inscription) |
|
||
| `garde` | Enfant placé chez une AM (`enfants_assistantes_maternelles` actif) |
|
||
| `scolarise` | Enfant scolarisé, garde potentiellement périscolaire |
|
||
|
||
**Contraintes associées** :
|
||
- `a_naitre` → **`date_prevue_naissance` obligatoire**
|
||
- `sans_garde` / `garde` / `scolarise` → **`date_naissance` obligatoire**
|
||
|
||
**Transitions** (API admin #131) :
|
||
- Rattachement AM ↔ enfant → `garde` (sauf `a_naitre` / `scolarise`)
|
||
- Détachement sans autre placement actif → `sans_garde`
|
||
|
||
---
|
||
|
||
## 4) Statut dossier — `statut`
|
||
|
||
**Tables/colonnes** : `dossiers.statut`
|
||
**Valeurs autorisées (MVP)** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `envoye` | Dossier soumis par le parent (état initial) |
|
||
| `en_cours` | Échanges en cours entre parent et AM |
|
||
| `clos` | Dossier clôturé (contrat généré ou abandon) |
|
||
|
||
---
|
||
|
||
## 5) Statut contrat — `statut`
|
||
|
||
**Tables/colonnes** : `contrats.statut`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `brouillon` | Contrat en préparation |
|
||
| `valide` | Contrat finalisé (signatures complètes) |
|
||
| `archive` | Contrat obsolète / terminé |
|
||
|
||
---
|
||
|
||
## 6) Statut avenant — `statut`
|
||
|
||
**Tables/colonnes** : `avenants_contrats.statut`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `propose` | Avenant proposé (en attente d’accord) |
|
||
| `valide` | Avenant accepté et appliqué |
|
||
| `rejete` | Avenant refusé |
|
||
|
||
---
|
||
|
||
## 7) Type d’événement — `type`
|
||
|
||
**Tables/colonnes** : `evenements.type`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `absence_enfant` | Enfant absent |
|
||
| `conge_am` | Congé de l’assistante maternelle |
|
||
| `conge_parent` | Congé du parent |
|
||
| `arret_maladie_am` | Arrêt maladie AM |
|
||
| `evenement_rpe` | Événement RPE |
|
||
|
||
---
|
||
|
||
## 8) Statut d’événement — `statut`
|
||
|
||
**Tables/colonnes** : `evenements.statut`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `propose` | Événement proposé |
|
||
| `valide` | Événement validé |
|
||
| `rejete` | Événement refusé |
|
||
|
||
---
|
||
|
||
## 9) Statut de validation compte — `statut`
|
||
|
||
**Tables/colonnes** : `validations.statut`
|
||
**Valeurs autorisées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `accepte` | Compte validé |
|
||
| `rejete` | Compte refusé |
|
||
|
||
---
|
||
|
||
## 10) Type de notification — `type`
|
||
|
||
**Tables/colonnes** : `notifications.type`
|
||
**Valeurs proposées** :
|
||
|
||
| Valeur | Description |
|
||
|---|---|
|
||
| `nouveau_message` | Nouveau message sur un dossier |
|
||
| `validation_compte` | Résultat de la validation de compte |
|
||
| `maj_contrat` | Contrat mis à jour (avenant / signature) |
|
||
| `evenement_a_venir` | Rappel d’un événement proche |
|
||
|
||
---
|
||
|
||
**Mainteneur** : Équipe BDD
|
||
**Dernière mise à jour** : Sprint 1 — Ticket 9 (ENUMS)
|