<?php
require_once dirname(__FILE__) . '/../config.php';

// Endpoint de diagnostico — ELIMINAR despues de resolver el problema
// Acepta token via header Authorization O via ?token=XXX en la URL (solo para diagnostico)

// Si viene token por GET, inyectarlo en _SERVER para que auth() lo encuentre
if (!empty($_GET['token'])) {
    $_SERVER['HTTP_AUTHORIZATION'] = 'Bearer ' . trim($_GET['token']);
}

$jwt   = auth();
$idinv = isset($jwt['idinv']) ? (int)$jwt['idinv'] : 0;
$db    = getDB();

// Detectar que metodo encontro el header
$metodo = 'ninguno';
if (!empty($_GET['token']))                              $metodo = 'GET ?token=';
elseif (!empty($_SERVER['HTTP_AUTHORIZATION']))          $metodo = 'HTTP_AUTHORIZATION';
elseif (!empty($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) $metodo = 'REDIRECT_HTTP_AUTHORIZATION';
elseif (function_exists('apache_request_headers')) {
    $hdrs = apache_request_headers();
    if (!empty($hdrs['Authorization']) || !empty($hdrs['authorization'])) $metodo = 'apache_request_headers';
}

// Verificar cuantos directos tiene este id_inver
$stmtCount = $db->prepare('SELECT COUNT(*) FROM inversionista WHERE idprom = ?');
$stmtCount->execute(array($idinv));
$total = (int)$stmtCount->fetchColumn();

// Traer los primeros 5 directos
$stmtList = $db->prepare(
    'SELECT id_inver, nombre, appat, apmat, referencia, idprom
     FROM inversionista WHERE idprom = ? LIMIT 5'
);
$stmtList->execute(array($idinv));
$directos = $stmtList->fetchAll();

// Verificar que el id_inver existe en la tabla
$stmtExiste = $db->prepare('SELECT id_inver, idprom, nombre FROM inversionista WHERE id_inver = ? LIMIT 1');
$stmtExiste->execute(array($idinv));
$propioInv = $stmtExiste->fetch();

jsonOk(array(
    'metodo_auth'      => $metodo,
    'jwt_payload'      => $jwt,
    'idinv_usado'      => $idinv,
    'propio_registro'  => $propioInv,
    'total_directos'   => $total,
    'muestra_directos' => $directos,
));
