<?php
// /cotizaciones/api/create_cotizacion_api.php

session_start();
include '../../includes/session_control.php';

header('Content-Type: application/json; charset=UTF-8');
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Expires: 0');

// Verificar usuario autenticado
if (!isset($_SESSION['user'])) {
    http_response_code(401);
    echo json_encode(['error' => 'No autenticado']);
    exit;
}

$idEmpresa = intval($_POST['idEmpresa'] ?? 0);
$idUsuario = intval($_POST['idUsuario'] ?? 0);

// Validar parámetros
if (!$idEmpresa || !$idUsuario) {
    http_response_code(400);
    echo json_encode(['error' => 'Faltan parámetros idEmpresa o idUsuario']);
    exit;
}

require __DIR__ . '/_node.php';
require_once __DIR__ . '/../../includes/user_activity_log.php';

$token = cpn_node_token_or_fail();
$base = cpn_node_api_base();
$url = $base . '/api/cotizaciones';

$payload = [
    'idEmpresa' => $idEmpresa,
    'idUsuario' => $idUsuario,
];

$r = cpn_node_request('POST', $url, $token, $payload);
if (!isset($r['ok']) || $r['ok'] !== true) {
    http_response_code($r['_http'] ?? 500);
    $msg = $r['error']['message'] ?? 'Error creando cotización.';
    $details = $r['error']['details'] ?? ($r['error']['raw'] ?? null);
    echo json_encode(['error' => $msg, 'details' => $details, 'http' => $r['_http'] ?? null]);
    exit;
}

$idCotizacionNueva = $r['data']['idCotizacion'] ?? 0;

if ((int)$idCotizacionNueva > 0) {
    cpn_activity_log_event(
        'Cotizaciones',
        'cotizaciones.create',
        'Creó la cotización #' . (int)$idCotizacionNueva,
        'cotizacion',
        (int)$idCotizacionNueva,
        ['idEmpresa' => $idEmpresa, 'idUsuario' => $idUsuario]
    );
}
echo json_encode(['success' => true, 'idCotizacion' => $idCotizacionNueva]);
