-- ============================================================================
-- Migration 004 — Réorganisation du menu CZJ en 13 entrées (façon ChoralDB) :
-- extension des types de rencontres, messagerie interne, table des églises
-- exploitable en gestion (Paramètres).
-- ============================================================================

-- --------------------------------------------------------------------------
-- 1. Rencontres : extension des types (Assemblée générale, rencontre
--    zonale, camp biblique, lundi de Pâques...) — le Conseil Zonal reste
--    aussi un type de rencontre, en plus de sa gestion spécialisée du
--    barème (table conseil_zonal, inchangée).
-- --------------------------------------------------------------------------

ALTER TABLE reunions MODIFY COLUMN type_reunion
    ENUM('bureau','generale','priere','conseil_zonal','assemblee_generale',
         'rencontre_zonale','camp_biblique','lundi_paques','autre') NOT NULL;

-- --------------------------------------------------------------------------
-- 2. Messagerie interne (basique : CZJ <-> CLJ <-> COZ)
-- --------------------------------------------------------------------------

CREATE TABLE messages (
    id                  INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    expediteur_id       INT UNSIGNED NOT NULL,
    destinataire_type   ENUM('CLJ','CZJ','COZ') NOT NULL,
    destinataire_id     INT UNSIGNED NULL,  -- NULL = diffusion à tous les destinataires de ce type
    sujet               VARCHAR(200) NOT NULL,
    contenu             TEXT NOT NULL,
    date_envoi          TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    lu                  BOOLEAN NOT NULL DEFAULT FALSE,
    FOREIGN KEY (expediteur_id) REFERENCES users(id)
) ENGINE=InnoDB;
