← back to Ken
src/app/api/bankroll/route.js
27 lines
import { NextResponse } from 'next/server';
const { query } = require('../../../lib/db');
export const dynamic = 'force-dynamic';
export async function GET() {
try {
const [ledger, summary] = await Promise.all([
query('SELECT * FROM bankroll_ledger ORDER BY ts DESC LIMIT 200'),
query(`
SELECT
(SELECT balance_after FROM bankroll_ledger ORDER BY ts DESC LIMIT 1) as current_balance,
(SELECT COALESCE(SUM(amount), 0) FROM bankroll_ledger WHERE event_type = 'deposit') as total_deposits,
(SELECT COALESCE(SUM(amount), 0) FROM bankroll_ledger WHERE event_type = 'trade_pnl') as total_pnl,
(SELECT COALESCE(SUM(ABS(amount)), 0) FROM bankroll_ledger WHERE event_type = 'fee') as total_fees
`),
]);
return NextResponse.json({
ledger: ledger.rows,
summary: summary.rows[0] || {},
});
} catch (err) {
return NextResponse.json({ error: err.message }, { status: 500 });
}
}