<?php



require_once __DIR__ . '/../../config.php';

// GET /admin/distribuidores/detail.php?id=X
// Header: Authorization: Bearer <token>

requireAdmin();

$id = (int)($_GET['id'] ?? 0);
if (!$id) {
    jsonErr(400, 'ID de distribuidor requerido.');
}

$db = getDB();

$stmt = $db->prepare('
    SELECT i.*, 
           c.nombre as centro_nombre, 
           e.descripcion as estatus_nombre,
           est.nombre as estado_nombre,
           b.nombre as banco_nombre,
           u.nom_usr as usuario_nombre
    FROM inversionista i
    LEFT JOIN centros c ON i.centros_idcd = c.idcd
    LEFT JOIN estatus e ON i.estatus_idestatus = e.idestatus
    LEFT JOIN estados est ON i.estados_idestado = est.idestado
    LEFT JOIN banco b ON i.banco_idbanco = b.idbanco
    LEFT JOIN usuario u ON u.idusuario = i.id_inver
    WHERE i.id_inver = ?
');
$stmt->execute([$id]);
$distribuidor = $stmt->fetch();

if (!$distribuidor) {
    jsonErr(404, 'Distribuidor no encontrado.');
}

// Get red (directos)
$stmt = $db->prepare('
    SELECT COUNT(*) as total FROM inversionista WHERE idprom = ?
');
$stmt->execute([$id]);
$directos = $stmt->fetch()['total'] ?? 0;

// Get transacciones recientes
$stmt = $db->prepare('
    SELECT t.idtransacciones, t.tipo, t.fecha, d.cantidad, d.puntos
    FROM transacciones t
    LEFT JOIN depositos d ON t.idtransacciones = d.transacciones_idtransacciones
    WHERE t.inversionista_id_inver = ?
    ORDER BY t.fecha DESC
    LIMIT 10
');
$stmt->execute([$id]);
$transacciones = $stmt->fetchAll();

// Get banco info
$stmt = $db->prepare('
    SELECT idbanco, numero, tipo FROM bancos WHERE idbanco = ?
');
$stmt->execute([$distribuidor['banco_idbanco'] ?? 0]);
$bancoInfo = $stmt->fetch();

jsonOk([
    'distribuidor' => $distribuidor,
    'directos' => (int)$directos,
    'transaccionesRecientes' => $transacciones,
    'bancoInfo' => $bancoInfo
]);
