-- Estructura de la tabla usuarios
CREATE TABLE IF NOT EXISTS usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    role VARCHAR(20) DEFAULT 'user', -- 'user' o 'admin'
    plan_id VARCHAR(50) DEFAULT NULL, -- 'mensual', 'semestral', 'anual'
    subscription_status VARCHAR(20) DEFAULT 'inactive', -- 'active', 'inactive', 'cancelled'
    subscription_expires_at DATETIME DEFAULT NULL,
    session_token VARCHAR(255) DEFAULT NULL, -- Control de sesiones simultáneas
    reset_token VARCHAR(255) DEFAULT NULL,
    reset_expires_at DATETIME DEFAULT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Alta manual del primer usuario administrador (Contraseña por defecto: Admin1234*)
-- ¡Por favor cambia la contraseña inmediatamente al iniciar sesión!
INSERT INTO usuarios (username, email, password, role, subscription_status, subscription_expires_at)
VALUES (
    'admin_genesis', 
    'admin@electro-genesis.com', 
    '$2y$10$w3G9NHeApeO7S5/2YJUpSuHqK3K09V2BovjO0WfXgN3t8gXb93h7y', -- Hash de 'Admin1234*'
    'admin', 
    'active', 
    '2036-12-31 23:59:59'
) ON DUPLICATE KEY UPDATE role='admin';
