import { NextResponse } from 'next/server'; import Surreal from 'surrealdb'; export const dynamic = 'force-dynamic'; function normalizeRows(result) { if (!Array.isArray(result) || !result.length) return []; const first = result[0]; if (Array.isArray(first)) return first; if (first && typeof first === 'object' && Array.isArray(first.result)) return first.result; return []; } export async function GET() { const url = process.env.SURREAL_URL; if (!url) { return NextResponse.json({ trades: [], error: 'No DB configured' }); } let client = null; try { client = new Surreal(); await client.connect(url); 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'); const trades = normalizeRows(result); return NextResponse.json({ trades }); } catch (e) { return NextResponse.json({ trades: [], error: e.message }); } finally { try { await client?.close?.(); } catch { // ignore } } }