CREATE DATABASE IF NOT EXISTS hsmobile_keys CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE hsmobile_keys;
CREATE TABLE IF NOT EXISTS admins (
 id INT AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(80) UNIQUE NOT NULL,
 password_hash VARCHAR(255) NOT NULL,
 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS license_keys (
 id INT AUTO_INCREMENT PRIMARY KEY,
 license_key VARCHAR(80) UNIQUE NOT NULL,
 customer_name VARCHAR(160) DEFAULT '',
 device_id VARCHAR(64) DEFAULT NULL,
 status ENUM('active','disabled') NOT NULL DEFAULT 'active',
 expires_at DATETIME NOT NULL,
 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
 last_used_at DATETIME DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS activation_logs (
 id BIGINT AUTO_INCREMENT PRIMARY KEY,
 license_key VARCHAR(80),
 device_id VARCHAR(64),
 ip_address VARCHAR(45),
 result VARCHAR(30),
 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
 INDEX(license_key), INDEX(device_id)
);

CREATE TABLE IF NOT EXISTS trial_devices (
 id BIGINT AUTO_INCREMENT PRIMARY KEY,
 device_id VARCHAR(64) UNIQUE NOT NULL,
 started_at DATETIME NOT NULL,
 expires_at DATETIME NOT NULL,
 last_seen_at DATETIME NULL,
 ip_address VARCHAR(45) DEFAULT NULL,
 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
 INDEX(expires_at)
);
