[BDD] Table absences_garde (périodes par placement) + drop evenements #193

Closed
opened 2026-09-24 09:02:34 +00:00 by jmartin · 0 comments
Owner

Contexte

Premier ticket du chantier absences / congés / maladie (Epic #165).

La vérité métier des absences n’est pas dans le module Cartes. Les cartes collectent / orchestrent ; le stockage canonique = table dédiée par couple AM↔enfant (id_placement).

La table legacy evenements (mal conçue, non utilisée en API) est à supprimer.

À faire

  • Créer absences_garde :
    • id, id_placement (FK enfants_assistantes_maternelles)
    • type : absence_enfant | conge_am | arret_maladie_am
    • date_debut, date_fin (1 ligne = 1 période, pas 1 ligne/jour)
    • statut : en_attente | accepte | refuse
    • expire_at TIMESTAMPTZ NOT NULL
    • cree_par, timestamps ; id_card_instance nullable (pour plus tard)
    • motif créateur optionnel
  • Index : (id_placement, date_debut, date_fin), (id_placement, type, statut)
  • Migration SQL + alignement database/BDD.sql + entité TypeORM
  • DROP table evenements (+ enums associés si orphelins) + retirer entité Evenement
  • Annulation métier = DELETE physique (pas de soft-delete / pas de statut annule)

Hors scope

  • API REST (→ ticket API absences / #172)
  • Module Cartes, WS, jobs de purge (tickets suivants)
  • Sondages / types optionnels

Done when

  • Migration applicable sur develop
  • evenements absente du schéma de référence
  • Entité AbsencesGarde (nom final à caler) présente ; plus d’entité Evenement

Références

  • Epic #165 · Milestone 0.2.0
  • Plan noyau cartes / back Absences
## Contexte Premier ticket du chantier **absences / congés / maladie** (Epic [#165](https://git.ptits-pas.fr/jmartin/petitspas/issues/165)). La vérité métier des absences **n’est pas** dans le module Cartes. Les cartes collectent / orchestrent ; le stockage canonique = table dédiée par **couple AM↔enfant** (`id_placement`). La table legacy `evenements` (mal conçue, non utilisée en API) est **à supprimer**. ## À faire - Créer `absences_garde` : - `id`, `id_placement` (FK `enfants_assistantes_maternelles`) - `type` : `absence_enfant` | `conge_am` | `arret_maladie_am` - `date_debut`, `date_fin` (**1 ligne = 1 période**, pas 1 ligne/jour) - `statut` : `en_attente` | `accepte` | `refuse` - **`expire_at` TIMESTAMPTZ NOT NULL** - `cree_par`, timestamps ; `id_card_instance` nullable (pour plus tard) - motif créateur optionnel - Index : `(id_placement, date_debut, date_fin)`, `(id_placement, type, statut)` - Migration SQL + alignement `database/BDD.sql` + entité TypeORM - **DROP** table `evenements` (+ enums associés si orphelins) + retirer entité `Evenement` - Annulation métier = **DELETE** physique (pas de soft-delete / pas de statut `annule`) ## Hors scope - API REST (→ ticket API absences / #172) - Module Cartes, WS, jobs de purge (tickets suivants) - Sondages / types optionnels ## Done when - Migration applicable sur develop - `evenements` absente du schéma de référence - Entité `AbsencesGarde` (nom final à caler) présente ; plus d’entité Evenement ### Références - Epic #165 · Milestone 0.2.0 - Plan noyau cartes / back Absences
jmartin added this to the 0.2.0 milestone 2026-09-24 09:02:34 +00:00
jmartin added the enhancementbackenddatabasev0.2.0 labels 2026-09-24 09:02:34 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jmartin/petitspas#193