diff --git a/app/api/trades/route.js b/app/api/trades/route.js index 4ba3e1c..8fc231c 100644 --- a/app/api/trades/route.js +++ b/app/api/trades/route.js @@ -11,12 +11,15 @@ function normalizeRows(result) { return []; } -export async function GET() { +export async function GET(req) { const url = process.env.SURREAL_URL; if (!url) { return NextResponse.json({ trades: [], error: 'No DB configured' }); } + const { searchParams } = new URL(req.url); + const strategyFilter = searchParams.get('strategy'); + let client = null; try { @@ -25,7 +28,17 @@ export async function GET() { await client.signin({ username: process.env.SURREAL_USER, password: process.env.SURREAL_PASS }); await client.use({ namespace: 'kalbot', database: 'kalbot' }); - const result = await client.query('SELECT * FROM paper_positions ORDER BY entryTime DESC LIMIT 50'); + let query = 'SELECT * FROM paper_positions'; + const vars = {}; + + if (strategyFilter) { + query += ' WHERE strategy = $strategy'; + vars.strategy = strategyFilter; + } + + query += ' ORDER BY entryTime DESC LIMIT 50'; + + const result = await client.query(query, vars); const trades = normalizeRows(result); return NextResponse.json({ trades });