-- ---------------------------------------------------------------------------
-- Migration 009: Abonnement gratuit (Free) avec limite de démo
-- ---------------------------------------------------------------------------

-- Ajouter l'abonnement Free
INSERT INTO `subscriptions` (`name_i18n_key`, `max_bots`, `api_credit_limit_cents`, `price_monthly`) 
VALUES ('Free', 1, 0, 0.00)
ON DUPLICATE KEY UPDATE `name_i18n_key` = 'Free';

-- Ajouter une colonne pour la limite de démo en secondes par mois
ALTER TABLE `subscriptions` 
ADD COLUMN IF NOT EXISTS `demo_limit_seconds` INT NOT NULL DEFAULT 0 
COMMENT 'Limite de temps démo par mois (0 = illimité)';

-- Définir les limites de démo par plan
-- Free: 5 minutes (300 secondes) par mois
-- Starter: 30 minutes (1800 secondes)
-- Pro: illimité (0)
-- Enterprise: illimité (0)
UPDATE `subscriptions` SET `demo_limit_seconds` = 300 WHERE `name_i18n_key` = 'Free';
UPDATE `subscriptions` SET `demo_limit_seconds` = 1800 WHERE `name_i18n_key` LIKE '%Starter%';
UPDATE `subscriptions` SET `demo_limit_seconds` = 0 WHERE `name_i18n_key` LIKE '%Pro%';
UPDATE `subscriptions` SET `demo_limit_seconds` = 0 WHERE `name_i18n_key` LIKE '%Enterprise%';

-- Table pour tracker l'usage de démo par utilisateur
CREATE TABLE IF NOT EXISTS `user_demo_usage` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `user_id` INT NOT NULL,
    `month` VARCHAR(7) NOT NULL COMMENT 'Format YYYY-MM',
    `total_seconds` INT NOT NULL DEFAULT 0,
    `call_count` INT NOT NULL DEFAULT 0,
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uq_user_demo_month` (`user_id`, `month`),
    KEY `idx_user_demo_user_id` (`user_id`),
    CONSTRAINT `fk_user_demo_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
