# 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) | | `actif` | Enfant pris en charge / en cours de garde | | `scolarise` | Enfant scolarisé, garde potentiellement périscolaire | **Contraintes associées** : - `a_naitre` → **`date_prevue_naissance` obligatoire** - `actif`/`scolarise` → **`date_naissance` obligatoire** --- ## 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)