feat(#193): table absences_garde + drop evenements
Closes #193 Co-authored-by: Julien Martin <julien.martin@ptits-pas.fr>
This commit was merged in pull request #197.
This commit is contained in:
+10
-10
@@ -104,31 +104,31 @@ Ce document recense **toutes les valeurs énumérées** utilisées dans la base
|
||||
|
||||
---
|
||||
|
||||
## 7) Type d’événement — `type`
|
||||
## 7) Type d’absence de garde — `type`
|
||||
|
||||
**Tables/colonnes** : `evenements.type`
|
||||
**Tables/colonnes** : `absences_garde.type`
|
||||
**Valeurs autorisées** :
|
||||
|
||||
| Valeur | Description |
|
||||
|---|---|
|
||||
| `absence_enfant` | Enfant absent |
|
||||
| `absence_enfant` | Absence déclarée par un parent |
|
||||
| `conge_am` | Congé de l’assistante maternelle |
|
||||
| `conge_parent` | Congé du parent |
|
||||
| `arret_maladie_am` | Arrêt maladie AM |
|
||||
| `evenement_rpe` | Événement RPE |
|
||||
|
||||
> Remplace l’ancien enum `type_evenement_type` / table `evenements` (supprimés ticket #193).
|
||||
|
||||
---
|
||||
|
||||
## 8) Statut d’événement — `statut`
|
||||
## 8) Statut d’absence de garde — `statut`
|
||||
|
||||
**Tables/colonnes** : `evenements.statut`
|
||||
**Tables/colonnes** : `absences_garde.statut`
|
||||
**Valeurs autorisées** :
|
||||
|
||||
| Valeur | Description |
|
||||
|---|---|
|
||||
| `propose` | Événement proposé |
|
||||
| `valide` | Événement validé |
|
||||
| `rejete` | Événement refusé |
|
||||
| `en_attente` | En attente de validation / ack |
|
||||
| `accepte` | Accepté / acté (conservé en historique métier) |
|
||||
| `refuse` | Refusé (temporaire ; purge TTL) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -42,10 +42,8 @@ Documenter, de façon unique et partagée, les règles de suppression/mise à jo
|
||||
| **contrats(id_dossier)** → `dossiers(id)` | **CASCADE** | 1:1, contrat détruit si dossier supprimé |
|
||||
| **avenants_contrats(id_contrat)** → `contrats(id)` | **CASCADE** | Avenants détruits avec le contrat |
|
||||
| **avenants_contrats(initie_par)** → `utilisateurs(id)` | **SET NULL** | Historiser l’avenant sans bloquer |
|
||||
| **evenements(id_enfant)** → `enfants(id)` | **CASCADE** | Événements n’ont plus de sens |
|
||||
| **evenements(id_am)** → `utilisateurs(id)` | **SET NULL** | Garder la trace même si AM supprimée |
|
||||
| **evenements(id_parent)** → `parents(id_utilisateur)` | **SET NULL** | Garder la trace si parent supprimé |
|
||||
| **evenements(cree_par)** → `utilisateurs(id)` | **SET NULL** | Conserver l’historique de création |
|
||||
| **absences_garde(id_placement)** → `enfants_assistantes_maternelles(id)` | **CASCADE** | Plus de couple = plus d’absences |
|
||||
| **absences_garde(cree_par)** → `utilisateurs(id)` | **SET NULL** | Conserver la période si user supprimé |
|
||||
| **signalements_bugs(id_utilisateur)** → `utilisateurs(id)` | **SET NULL** | Conserver le ticket même si compte supprimé |
|
||||
| **uploads(id_utilisateur)** → `utilisateurs(id)` | **SET NULL** | Fichier reste référencé sans l’auteur |
|
||||
| **notifications(id_utilisateur)** → `utilisateurs(id)` | **CASCADE** | Notifications propres à l’utilisateur |
|
||||
@@ -79,10 +77,8 @@ Documenter, de façon unique et partagée, les règles de suppression/mise à jo
|
||||
- `avenants_contrats.initie_par` → **SET NULL**
|
||||
|
||||
### Événements
|
||||
- `evenements.id_enfant` → **CASCADE**
|
||||
- `evenements.id_am` → **SET NULL**
|
||||
- `evenements.id_parent` → **SET NULL**
|
||||
- `evenements.cree_par` → **SET NULL**
|
||||
- `absences_garde.id_placement` → **CASCADE**
|
||||
- `absences_garde.cree_par` → **SET NULL**
|
||||
|
||||
### Divers
|
||||
- `signalements_bugs.id_utilisateur` → **SET NULL**
|
||||
@@ -109,11 +105,11 @@ Documenter, de façon unique et partagée, les règles de suppression/mise à jo
|
||||
|
||||
4. **Suppression d’un enfant**
|
||||
- Supprimer `enfants(id=childA)`
|
||||
- Attendu : `enfants_parents` (CASCADE), `dossiers` du childA (CASCADE), `evenements` du childA (CASCADE).
|
||||
- Attendu : `enfants_parents` (CASCADE), `dossiers` du childA (CASCADE), `absences_garde` des placements du childA (CASCADE via EAM).
|
||||
|
||||
5. **Suppression d’un utilisateur AM**
|
||||
- Supprimer `utilisateurs(id=amB)`
|
||||
- Attendu : `evenements.id_am` devient **NULL** (historique conservé).
|
||||
- Attendu : absences liées via placement AM (CASCADE si le lien EAM est retiré).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user