Feat: Filter trades by strategy query param

This commit is contained in:
2026-03-15 16:50:58 -07:00
parent b35fcfe13f
commit c16ef77beb

View File

@@ -11,12 +11,15 @@ function normalizeRows(result) {
return []; return [];
} }
export async function GET() { export async function GET(req) {
const url = process.env.SURREAL_URL; const url = process.env.SURREAL_URL;
if (!url) { if (!url) {
return NextResponse.json({ trades: [], error: 'No DB configured' }); return NextResponse.json({ trades: [], error: 'No DB configured' });
} }
const { searchParams } = new URL(req.url);
const strategyFilter = searchParams.get('strategy');
let client = null; let client = null;
try { try {
@@ -25,7 +28,17 @@ export async function GET() {
await client.signin({ username: process.env.SURREAL_USER, password: process.env.SURREAL_PASS }); await client.signin({ username: process.env.SURREAL_USER, password: process.env.SURREAL_PASS });
await client.use({ namespace: 'kalbot', database: 'kalbot' }); 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); const trades = normalizeRows(result);
return NextResponse.json({ trades }); return NextResponse.json({ trades });