<?php
declare(strict_types=1);

require_once __DIR__ . '/../config/helpers.php';
require_once __DIR__ . '/../config/indicacoes_helpers.php';
require_once __DIR__ . '/../config/carteira_helpers.php';

$data = input_json();
$idMotorista = (int) ($data['id_motorista'] ?? ($_GET['id_motorista'] ?? 0));

if ($idMotorista <= 0) {
    json_fail('Motorista nao informado.');
}

try {
    $pdo = db();
    $promocao = usuario_garantir_motorista($idMotorista, $pdo);
    $usuario = indicacoes_usuario_base($idMotorista);
    if (!$usuario || $usuario['tipo'] !== 'motorista') {
        json_fail('Motorista nao encontrado.', 404);
    }

    $carteira = carteira_resumo_motorista($idMotorista, $pdo);
    $carteira['conta_completa'] = indicacoes_conta_completa($usuario);
    $carteira['extrato'] = carteira_extrato_motorista($idMotorista, 60, $pdo);
    $carteira['resgates'] = carteira_retiradas_motorista($idMotorista, 30, $pdo);

    json_ok([
        'tipo_convertido_motorista' => $promocao['foi_promovido'],
        'indicador_removido' => $promocao['indicador_removido'],
        'carteira' => $carteira,
    ]);
} catch (Throwable $e) {
    json_fail('Erro ao carregar carteira.', 500, ['error' => $e->getMessage()]);
}
