From 3aa704801ece60df73acfc146726f487e9fe0572 Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Fri, 14 Nov 2025 13:28:08 +0100 Subject: [PATCH] fix: resolve TypeScript errors in version comparison API - Fixed extremePositionStats type to match actual SQL query fields - Changed .count to .trades (query returns 'trades' column, not 'count') - Simplified extreme positions metrics (removed missing avg_adx and weak_adx_count) - Fixed version comparison fallback from 'v1' to 'unknown' Technical: - SQL query only returns: version, trades, wins, total_pnl, avg_quality_score - Code was trying to access non-existent fields causing TypeScript errors - Build now succeeds, container deployed --- app/api/analytics/version-comparison/route.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/api/analytics/version-comparison/route.ts b/app/api/analytics/version-comparison/route.ts index 101b80b..4983628 100644 --- a/app/api/analytics/version-comparison/route.ts +++ b/app/api/analytics/version-comparison/route.ts @@ -86,12 +86,12 @@ export async function GET() { // Build combined results const results: VersionStats[] = versionStats.map(stat => { const extremeStats = extremePositionStats.find(e => - (e.version || 'v1') === (stat.version || 'v1') + (e.version || 'unknown') === (stat.version || 'unknown') ) const trades = Number(stat.trades) const wins = Number(stat.wins) - const extremeCount = extremeStats ? Number(extremeStats.count) : 0 + const extremeCount = extremeStats ? Number(extremeStats.trades) : 0 const extremeWins = extremeStats ? Number(extremeStats.wins) : 0 return { @@ -105,10 +105,10 @@ export async function GET() { avgMAE: stat.avg_mae ? Number(stat.avg_mae) : null, extremePositions: { count: extremeCount, - avgADX: extremeStats?.avg_adx ? Number(extremeStats.avg_adx) : null, - weakADXCount: extremeStats ? Number(extremeStats.weak_adx_count) : 0, + avgADX: null, + weakADXCount: 0, winRate: extremeCount > 0 ? Math.round((extremeWins / extremeCount) * 100 * 10) / 10 : 0, - avgPnL: extremeStats?.avg_pnl ? Number(extremeStats.avg_pnl) : 0, + avgPnL: extremeStats?.total_pnl ? Number(extremeStats.total_pnl) / extremeCount : 0, } } })