-- #migration

-- Crédits parcours gratuits par utilisateur
CREATE TABLE IF NOT EXISTS parcours_credits (
  id          INT AUTO_INCREMENT PRIMARY KEY,
  user_id     VARCHAR(40) NOT NULL,
  reason      ENUM('first_essentiel','renew_essentiel','prospect_to_essentiel') NOT NULL,
  used_at     DATETIME NULL,
  parcours_id VARCHAR(20) NULL,
  created_at  DATETIME DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Parcours suivis par les utilisateurs
CREATE TABLE IF NOT EXISTS user_parcours (
  id           INT AUTO_INCREMENT PRIMARY KEY,
  user_id      VARCHAR(40) NOT NULL,
  parcours_id  VARCHAR(20) NOT NULL,
  status       ENUM('active','completed','abandoned') DEFAULT 'active',
  is_free      TINYINT(1) DEFAULT 0,
  credit_id    INT NULL,
  price_paid   DECIMAL(8,2) NULL,
  started_at   DATETIME DEFAULT CURRENT_TIMESTAMP,
  completed_at DATETIME NULL,
  rating       TINYINT NULL,
  UNIQUE KEY unique_user_parcours (user_id, parcours_id),
  INDEX idx_user_id (user_id),
  INDEX idx_parcours_id (parcours_id),
  INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
