<?php
declare(strict_types=1);
require_once dirname(__FILE__) . '/../config.php';

if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
    jsonErr(405, 'Metodo no permitido.');
}

$jwt   = auth();
$idinv = (int)$jwt['idinv'];
$db    = getDB();

$hace6meses = date('Y-m-d', strtotime('-6 months'));

try {
    $stmt = $db->prepare(
        'SELECT t.idtransacciones,
                t.fechat                AS fechat,
                t.tipostr_idtipostr     AS tipostr_idtipostr,
                COALESCE(d.puntos, 0)   AS puntos,
                COALESCE(d.cantidad, 0) AS total,
                t.statusentrega         AS statusentrega
         FROM transacciones t
         JOIN depositos d ON t.idtransacciones = d.transacciones_idtransacciones
         WHERE t.inversionista_id_inver = ?
           AND t.fechat >= ?
         ORDER BY t.idtransacciones DESC'
    );
    $stmt->execute([$idinv, $hace6meses]);
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

    $transacciones = [];
    foreach ($rows as $r) {
        $transacciones[] = [
            'idtransacciones'   => (int)$r['idtransacciones'],
            'fechat'            => $r['fechat'],
            'tipostr_idtipostr' => (int)$r['tipostr_idtipostr'],
            'puntos'            => (int)$r['puntos'],
            'total'             => (float)$r['total'],
            'statusentrega'     => $r['statusentrega'] ?? '',
        ];
    }

    jsonOk(['transacciones' => $transacciones]);

} catch (Throwable $e) {
    http_response_code(500);
    echo json_encode([
        'success' => false,
        'message' => 'Error interno: ' . $e->getMessage(),
    ], JSON_UNESCAPED_UNICODE);
    exit;
}
