-- Migration 007: Ajout du système de calendrier et texte direct pour les règles
-- Permet la planification temporelle des règles (dates, jours, heures)

ALTER TABLE `ai_rules`
    ADD COLUMN `rule_name` VARCHAR(100) NULL COMMENT 'Nom lisible de la règle' AFTER `bot_id`,
    ADD COLUMN `rule_text` TEXT NULL COMMENT 'Texte direct de la règle (prioritaire sur instruction_i18n_key)' AFTER `instruction_i18n_key`,
    ADD COLUMN `rule_type` ENUM('instruction', 'promo', 'fermeture', 'horaire', 'custom') NOT NULL DEFAULT 'instruction' COMMENT 'Type de règle' AFTER `rule_text`,
    ADD COLUMN `is_active` TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'Règle activée ou non' AFTER `rule_type`,
    ADD COLUMN `start_date` DATE NULL COMMENT 'Date de début de validité' AFTER `is_active`,
    ADD COLUMN `end_date` DATE NULL COMMENT 'Date de fin de validité' AFTER `start_date`,
    ADD COLUMN `days_of_week` VARCHAR(20) NULL COMMENT 'Jours actifs: 1=Lun, 2=Mar... ex: 1,2,3,4,5' AFTER `end_date`,
    ADD COLUMN `start_time` TIME NULL COMMENT 'Heure de début (ex: 09:00:00)' AFTER `days_of_week`,
    ADD COLUMN `end_time` TIME NULL COMMENT 'Heure de fin (ex: 18:00:00)' AFTER `start_time`,
    ADD COLUMN `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP AFTER `end_time`,
    ADD COLUMN `updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER `created_at`;

-- Index pour les requêtes de filtrage par calendrier
CREATE INDEX `idx_ai_rules_is_active` ON `ai_rules` (`is_active`);
CREATE INDEX `idx_ai_rules_rule_type` ON `ai_rules` (`rule_type`);
CREATE INDEX `idx_ai_rules_dates` ON `ai_rules` (`start_date`, `end_date`);
