<?php
/**
 * API - Activar/Desactivar usuario administrador
 * Fecha: 3 de febrero de 2026
 */

require_once '../config/config.php';

// Verificar autenticación
requireAuthentication();

header('Content-Type: application/json; charset=utf-8');
header('Cache-Control: no-cache, no-store, must-revalidate');

try {
    $db = Database::getInstance();
    
    // Leer datos del request
    $input = json_decode(file_get_contents('php://input'), true);
    $userId = $input['user_id'] ?? null;
    $isActive = $input['is_active'] ?? null;
    
    if (!$userId) {
        throw new Exception('ID de usuario requerido');
    }
    
    // No permitir desactivar el propio usuario
    if ($userId == $_SESSION['user_id']) {
        throw new Exception('No puedes desactivar tu propio usuario');
    }
    
    // Actualizar estado
    $db->execute(
        "UPDATE admin_users SET is_active = ? WHERE id = ?",
        [$isActive ? 1 : 0, $userId]
    );
    
    echo json_encode([
        'success' => true,
        'message' => 'Estado actualizado correctamente'
    ]);
    
} catch (Exception $e) {
    error_log('Error toggling admin user status: ' . $e->getMessage());
    http_response_code(500);
    echo json_encode([
        'success' => false,
        'error' => $e->getMessage()
    ]);
}
