-- ============================================================
-- BBOSS COMPANY LTD — Universal License System
-- Base de données MySQL — À importer sur OVH
-- ============================================================

CREATE DATABASE IF NOT EXISTS bboss_licenses
  DEFAULT CHARACTER SET utf8mb4
  DEFAULT COLLATE utf8mb4_unicode_ci;

USE bboss_licenses;

-- ────────────────────────────────────────────────────────────
-- TABLE : licences
-- ────────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS licences (
  id            INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  licence_key   VARCHAR(32)  NOT NULL UNIQUE,          -- BBOSS-STB-DEMO-XXXX-XXXX-XXXX
  bot_id        VARCHAR(20)  NOT NULL,                  -- STB | BEP | TM | ...
  type          ENUM('demo','real') NOT NULL,
  status        ENUM('active','suspended','expired','deleted') NOT NULL DEFAULT 'active',

  -- Client
  client_name   VARCHAR(120) DEFAULT NULL,
  client_email  VARCHAR(180) DEFAULT NULL,
  notes         TEXT         DEFAULT NULL,

  -- Durée
  duration_label VARCHAR(20) NOT NULL,                  -- 1mois|3mois|6mois|1an|illimite
  expires_at    DATETIME     DEFAULT NULL,              -- NULL = illimitée

  -- Machine binding
  machine_id    VARCHAR(128) DEFAULT NULL,              -- Hash du PC actif
  machine_label VARCHAR(200) DEFAULT NULL,              -- Info lisible (hostname + OS)
  machine_bound_at DATETIME  DEFAULT NULL,

  -- Suivi
  created_at    DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
  last_seen_at  DATETIME     DEFAULT NULL,
  last_ip       VARCHAR(45)  DEFAULT NULL,
  check_count   INT UNSIGNED DEFAULT 0,

  INDEX idx_key    (licence_key),
  INDEX idx_bot    (bot_id),
  INDEX idx_status (status),
  INDEX idx_email  (client_email)
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────────────────
-- TABLE : audit_log
-- ────────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS audit_log (
  id          INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  action      VARCHAR(60)  NOT NULL,       -- generate|activate|suspend|delete|reset_machine|validate
  licence_key VARCHAR(32)  DEFAULT NULL,
  bot_id      VARCHAR(20)  DEFAULT NULL,
  detail      TEXT         DEFAULT NULL,
  ip          VARCHAR(45)  DEFAULT NULL,
  created_at  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_key    (licence_key),
  INDEX idx_action (action)
) ENGINE=InnoDB;
-- ↑ hash bcrypt de "Admin2024!" — changez-le depuis le panel
