<?php
require_once __DIR__ . '/../../config/database.php';
require_once __DIR__ . '/../../includes/helpers.php';

require_post();
$data = json_input();
require_fields($data, ['id']);

$pdo = getConnection();

try {
    $id = (int)$data['id'];

    // Verificar si la categoría está en uso por algún gasto operativo
    $stmt = $pdo->prepare("SELECT COUNT(*) FROM gastos_operativos WHERE categoria_id = ?");
    $stmt->execute([$id]);
    $count = (int)$stmt->fetchColumn();

    if ($count > 0) {
        json_error("No se puede eliminar la categoría porque tiene " . $count . " gasto(s) operativo(s) asociado(s).");
    }

    // Si no está en uso, se procede a eliminarla
    $stmt = $pdo->prepare("DELETE FROM categorias_gastos WHERE id = ?");
    $stmt->execute([$id]);

    json_success([], 'Categoría eliminada con éxito');
} catch (Exception $e) {
    json_error("Error al eliminar categoría: " . $e->getMessage());
}
?>
