<?php
require_once __DIR__ . '/../config/db_auto.php';
require_once __DIR__ . '/system_logger.php';
session_start();
header('Content-Type: application/json');

$logger = SystemLogger::getInstance();

// Validar usuario
if (!isset($_SESSION['user_id'])) {
    $logger->warning('Intento de borrar registro de llamada sin autenticación', 'IP: ' . ($_SERVER['REMOTE_ADDR'] ?? 'N/A'));
    http_response_code(401);
    echo json_encode(['success' => false, 'msg' => 'No autenticado']);
    exit;
}

$data = json_decode(file_get_contents('php://input'), true);
$id = $data['id'] ?? null;

if (!$id) {
    http_response_code(400);
    echo json_encode(['success' => false, 'msg' => 'ID de llamada no proporcionado.']);
    exit;
}

try {
    // Obtener información para el log antes de borrar
    $stmt_info = $pdo->prepare("
        SELECT 
            l.fecha, l.hora, l.motivo,
            CONCAT(a.nombre, ' ', a.ap_paterno, ' ', a.ap_materno) as alumno_nombre,
            a.run as alumno_run
        FROM convivencia_llamadas l
        JOIN alumnos a ON l.alumno_id = a.id
        WHERE l.id = ?
    ");
    $stmt_info->execute([$id]);
    $info = $stmt_info->fetch(PDO::FETCH_ASSOC);

    $stmt = $pdo->prepare("DELETE FROM convivencia_llamadas WHERE id = ?");
    $stmt->execute([$id]);

    if ($info) {
        $detalles = "Llamada ID: $id, Alumno: {$info['alumno_nombre']} (RUN: {$info['alumno_run']}), Fecha: {$info['fecha']} {$info['hora']}, Motivo: {$info['motivo']}";
        $logger->data('Registro de llamada telefónica eliminado', $detalles);
    }

    echo json_encode(['success' => true, 'msg' => 'Registro de llamada eliminado correctamente']);
} catch (Exception $e) {
    $logger->error('Error al borrar registro de llamada telefónica', "Usuario ID: {$_SESSION['user_id']}, Llamada ID: $id, Error: " . $e->getMessage());
    http_response_code(500);
    echo json_encode(['success' => false, 'msg' => 'Error al eliminar: ' . $e->getMessage()]);
}
