feat(#205): renommer absences_garde → evenements_agenda

Migration live + BDD.sql from-scratch, module Nest / API
/evenements-agenda, FK cartes id_evenement. Front stub path aligné.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-01 17:07:54 +02:00
co-authored by Cursor
parent 0842f66df8
commit 2114748d44
25 changed files with 353 additions and 247 deletions
+15 -15
View File
@@ -35,13 +35,13 @@ DO $$ BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'statut_avenant_type') THEN
CREATE TYPE statut_avenant_type AS ENUM ('propose', 'accepte', 'refuse');
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'type_absence_garde_type') THEN
CREATE TYPE type_absence_garde_type AS ENUM (
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'type_evenement_agenda_type') THEN
CREATE TYPE type_evenement_agenda_type AS ENUM (
'absence_enfant', 'conge_am', 'arret_maladie_am'
);
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'statut_absence_garde_type') THEN
CREATE TYPE statut_absence_garde_type AS ENUM (
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'statut_evenement_agenda_type') THEN
CREATE TYPE statut_evenement_agenda_type AS ENUM (
'en_attente', 'accepte', 'refuse'
);
END IF;
@@ -322,32 +322,32 @@ CREATE TABLE avenants_contrats (
);
-- ==========================================================
-- Table : absences_garde (vérité métier absences/congés/arrêt)
-- Table : evenements_agenda (vérité métier agenda (absences/congés/arrêt + futurs types))
-- 1 ligne = 1 période ; rattachement = placement AM↔enfant (#193)
-- ==========================================================
CREATE TABLE absences_garde (
CREATE TABLE evenements_agenda (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
id_placement UUID NOT NULL
REFERENCES enfants_assistantes_maternelles(id) ON DELETE CASCADE,
type type_absence_garde_type NOT NULL,
type type_evenement_agenda_type NOT NULL,
date_debut DATE NOT NULL,
date_fin DATE NOT NULL,
statut statut_absence_garde_type NOT NULL DEFAULT 'en_attente',
statut statut_evenement_agenda_type NOT NULL DEFAULT 'en_attente',
expire_at TIMESTAMPTZ NOT NULL,
cree_par UUID REFERENCES utilisateurs(id) ON DELETE SET NULL,
id_card_instance UUID,
motif TEXT,
cree_le TIMESTAMPTZ NOT NULL DEFAULT now(),
modifie_le TIMESTAMPTZ NOT NULL DEFAULT now(),
CONSTRAINT chk_absences_garde_dates CHECK (date_fin >= date_debut)
CONSTRAINT chk_evenements_agenda_dates CHECK (date_fin >= date_debut)
);
CREATE INDEX idx_absences_garde_placement_dates
ON absences_garde (id_placement, date_debut, date_fin);
CREATE INDEX idx_absences_garde_placement_type_statut
ON absences_garde (id_placement, type, statut);
CREATE INDEX idx_absences_garde_expire_at
ON absences_garde (expire_at)
CREATE INDEX idx_evenements_agenda_placement_dates
ON evenements_agenda (id_placement, date_debut, date_fin);
CREATE INDEX idx_evenements_agenda_placement_type_statut
ON evenements_agenda (id_placement, type, statut);
CREATE INDEX idx_evenements_agenda_expire_at
ON evenements_agenda (expire_at)
WHERE statut IN ('en_attente', 'refuse');
-- ==========================================================