<?php
ob_start();
require_once '../auth.php';
require_once '../config.php';

header('Content-Type: application/json; charset=utf-8');

// 1. Verificar Sesión
if (!isLoggedIn()) {
    echo json_encode(['success' => false, 'message' => 'No autorizado']);
    exit;
}

// 2. Verificar Rol Admin
if (($_SESSION['role'] ?? '') !== 'admin') {
    echo json_encode(['success' => false, 'message' => 'Acceso restringido a administradores']);
    exit;
}

try {
    $rawData = file_get_contents('php://input');
    $data = json_decode($rawData, true);

    if (!$data || !isset($data['password'])) {
        echo json_encode(['success' => false, 'message' => 'Contraseña requerida']);
        exit;
    }

    $password = trim($data['password']);
    $userId = $_SESSION['user_id'];

    $pdo = getDBConnection();
    if (!$pdo) {
        echo json_encode(['success' => false, 'message' => 'Error de conexión']);
        exit;
    }

    // 3. Verificar Contraseña del Administrador Actual
    $stmt = $pdo->prepare("SELECT password FROM users WHERE id = :id");
    $stmt->execute([':id' => $userId]);
    $user = $stmt->fetch(PDO::FETCH_ASSOC);

    if ($user && password_verify($password, $user['password'])) {
        // 4. Ejecutar Purga (Borrar Todo)
        $pdo->exec("DELETE FROM mediciones");

        // Opcional: También borrar mensajes de prueba
        $pdo->exec("DELETE FROM mensajes_prueba");

        echo json_encode(['success' => true, 'message' => 'Base de datos purgada correctamente']);
    } else {
        echo json_encode(['success' => false, 'message' => 'Contraseña incorrecta']);
    }

} catch (Exception $e) {
    error_log("Purge Error: " . $e->getMessage());
    echo json_encode(['success' => false, 'message' => 'Error al procesar la purga: ' . $e->getMessage()]);
}
ob_end_flush();
?>