<?php
session_start();
include '../includes/session_control.php';
header('Content-Type: application/json; charset=utf-8');

require_once __DIR__ . '/../cotizaciones/api/_node.php';
require_once __DIR__ . '/../includes/user_activity_log.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') exit;

$payload = [
    'id' => intval($_POST['id'] ?? 0),
    'field' => $_POST['field'] ?? '',
    'value' => $_POST['value'] ?? null,
    'idGasto' => intval($_POST['idGasto'] ?? 0),
];

$token = cpn_node_token_or_fail();
$url = cpn_node_api_base() . '/api/gastos/items/update';
$resp = cpn_node_request('POST', $url, $token, $payload);

if (!($resp['ok'] ?? false)) {
    http_response_code(intval($resp['_http'] ?? 500));
    echo json_encode(['success' => false, 'msg' => $resp['error']['message'] ?? 'Error en API']);
    exit;
}

cpn_activity_log_event(
    'Gastos',
    'gastos.item_update_field',
    'Actualizó ítem del gasto #' . (int)$payload['idGasto'] . ' (detalle #' . (int)$payload['id'] . ')',
    'gasto_item',
    (int)$payload['id'],
    ['idGasto' => (int)$payload['idGasto'], 'field' => (string)$payload['field']]
);

echo json_encode($resp['data'] ?? ['success' => false]);
exit;
