Files
petitspas/database/docs/ENUMS.md
T
jmartin 7a3ba178ec feat(#193): table absences_garde + drop evenements
Propagation depuis develop.

Co-authored-by: Julien Martin <julien.martin@ptits-pas.fr>
2026-09-24 09:10:01 +00:00

163 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 PtitsPas, 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 lOpenAPI / 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 daccord) |
| `valide` | Avenant accepté et appliqué |
| `rejete` | Avenant refusé |
---
## 7) Type dabsence de garde — `type`
**Tables/colonnes** : `absences_garde.type`
**Valeurs autorisées** :
| Valeur | Description |
|---|---|
| `absence_enfant` | Absence déclarée par un parent |
| `conge_am` | Congé de lassistante maternelle |
| `arret_maladie_am` | Arrêt maladie AM |
> Remplace lancien enum `type_evenement_type` / table `evenements` (supprimés ticket #193).
---
## 8) Statut dabsence de garde — `statut`
**Tables/colonnes** : `absences_garde.statut`
**Valeurs autorisées** :
| Valeur | Description |
|---|---|
| `en_attente` | En attente de validation / ack |
| `accepte` | Accepté / acté (conservé en historique métier) |
| `refuse` | Refusé (temporaire ; purge TTL) |
---
## 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 dun événement proche |
---
**Mainteneur** : Équipe BDD
**Dernière mise à jour** : Sprint 1 — Ticket 9 (ENUMS)