-- Migration pour ajouter les colonnes de statut personnalisable
-- Date: 2025-10-02
-- Description: Ajoute les colonnes pour permettre la personnalisation des textes et couleurs des voyants de statut dans le header

ALTER TABLE maintenance_status 
ADD COLUMN IF NOT EXISTS status_top_text TEXT DEFAULT 'Aucun incident à signaler.',
ADD COLUMN IF NOT EXISTS status_bottom_text TEXT DEFAULT 'Nous serons exceptionnellement fermés le 3 novembre 2025.',
ADD COLUMN IF NOT EXISTS status_top_color TEXT DEFAULT 'emerald',
ADD COLUMN IF NOT EXISTS status_bottom_color TEXT DEFAULT 'sky',
ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS updated_by_staff_id UUID REFERENCES auth.users(id);

-- Trigger pour mettre à jour updated_at automatiquement
CREATE OR REPLACE FUNCTION update_maintenance_status_updated_at()
RETURNS TRIGGER AS $$
BEGIN
    NEW.updated_at = NOW();
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER maintenance_status_updated_at
    BEFORE UPDATE ON maintenance_status
    FOR EACH ROW
    EXECUTE FUNCTION update_maintenance_status_updated_at();

-- Commentaires pour documentation
COMMENT ON COLUMN maintenance_status.status_top_text IS 'Texte affiché dans le voyant du haut du header (ex: incident)';
COMMENT ON COLUMN maintenance_status.status_bottom_text IS 'Texte affiché dans le voyant du bas du header (ex: information)';
COMMENT ON COLUMN maintenance_status.status_top_color IS 'Couleur du voyant du haut (emerald, red, yellow, orange, sky)';
COMMENT ON COLUMN maintenance_status.status_bottom_color IS 'Couleur du voyant du bas (emerald, red, yellow, orange, sky)';
COMMENT ON COLUMN maintenance_status.updated_by_staff_id IS 'ID du membre du staff qui a effectué la dernière modification';