-- Migration à exécuter UNE FOIS si ta base est encore sur le tout premier
-- schéma (une seule "boutique", pas de notion de client du tout — table
-- admin_users sans colonne client_id).
--
-- ⚠️ Adapte les 3 lignes ci-dessous avec les infos de TON client existant
-- avant d'exécuter le script :
SET @client_name   = 'Boulangerie Durdu Jérôme';
SET @client_slug   = 'durdu-jerome';
SET @client_domain = 'ecranboulangeriedurdujerome.durdu.fr';

-- 1) Table des clients
CREATE TABLE IF NOT EXISTS clients (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(150) NOT NULL,
    slug VARCHAR(100) NOT NULL UNIQUE,
    domain VARCHAR(255) DEFAULT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2) Créer le client correspondant à ton installation actuelle
INSERT INTO clients (name, slug, domain) VALUES (@client_name, @client_slug, @client_domain);
SET @client_id = LAST_INSERT_ID();

-- 3) Ajouter les colonnes manquantes à admin_users et rattacher les comptes existants à ce client
ALTER TABLE admin_users ADD COLUMN client_id INT DEFAULT NULL AFTER id;
ALTER TABLE admin_users ADD COLUMN is_superadmin TINYINT(1) NOT NULL DEFAULT 0 AFTER client_id;
UPDATE admin_users SET client_id = @client_id WHERE client_id IS NULL;
ALTER TABLE admin_users ADD FOREIGN KEY (client_id) REFERENCES clients(id) ON DELETE CASCADE;

-- 4) Ajouter la colonne client_id à videos et rattacher les vidéos existantes à ce client
ALTER TABLE videos ADD COLUMN client_id INT DEFAULT NULL AFTER id;
UPDATE videos SET client_id = @client_id WHERE client_id IS NULL;
ALTER TABLE videos MODIFY client_id INT NOT NULL;
ALTER TABLE videos ADD FOREIGN KEY (client_id) REFERENCES clients(id) ON DELETE CASCADE;

-- 5) Table du journal de diffusion
CREATE TABLE IF NOT EXISTS video_plays (
    id INT AUTO_INCREMENT PRIMARY KEY,
    client_id INT NOT NULL,
    video_id INT DEFAULT NULL,
    video_name VARCHAR(255) NOT NULL,
    played_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (client_id) REFERENCES clients(id) ON DELETE CASCADE,
    FOREIGN KEY (video_id) REFERENCES videos(id) ON DELETE SET NULL,
    INDEX idx_client_day (client_id, played_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 6) Vérifie l'id attribué à ton client (à utiliser à l'étape suivante, côté fichiers) :
SELECT id AS "Ton client_id, note-le" FROM clients WHERE slug = @client_slug;
