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
This commit is contained in:
@@ -86,12 +86,12 @@ export async function GET() {
|
|||||||
// Build combined results
|
// Build combined results
|
||||||
const results: VersionStats[] = versionStats.map(stat => {
|
const results: VersionStats[] = versionStats.map(stat => {
|
||||||
const extremeStats = extremePositionStats.find(e =>
|
const extremeStats = extremePositionStats.find(e =>
|
||||||
(e.version || 'v1') === (stat.version || 'v1')
|
(e.version || 'unknown') === (stat.version || 'unknown')
|
||||||
)
|
)
|
||||||
|
|
||||||
const trades = Number(stat.trades)
|
const trades = Number(stat.trades)
|
||||||
const wins = Number(stat.wins)
|
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
|
const extremeWins = extremeStats ? Number(extremeStats.wins) : 0
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -105,10 +105,10 @@ export async function GET() {
|
|||||||
avgMAE: stat.avg_mae ? Number(stat.avg_mae) : null,
|
avgMAE: stat.avg_mae ? Number(stat.avg_mae) : null,
|
||||||
extremePositions: {
|
extremePositions: {
|
||||||
count: extremeCount,
|
count: extremeCount,
|
||||||
avgADX: extremeStats?.avg_adx ? Number(extremeStats.avg_adx) : null,
|
avgADX: null,
|
||||||
weakADXCount: extremeStats ? Number(extremeStats.weak_adx_count) : 0,
|
weakADXCount: 0,
|
||||||
winRate: extremeCount > 0 ? Math.round((extremeWins / extremeCount) * 100 * 10) / 10 : 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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user