critical: Add maGap to TypeScript interfaces for v9 compatibility

- Added maGap field to RiskCheckRequest interface
- Added maGap field to ExecuteTradeRequest interface
- Health check already enhanced with database connectivity check
- Fixes TypeScript build errors blocking deployment
This commit is contained in:
mindesbunister
2025-11-26 14:01:11 +01:00
parent 0cc7be1e50
commit f2bc13dba0
3 changed files with 48 additions and 10 deletions

View File

@@ -1,16 +1,52 @@
import { NextResponse } from 'next/server' import { NextResponse } from 'next/server'
import { getPrismaClient } from '@/lib/database/trades'
/** /**
* Health check endpoint for Docker HEALTHCHECK * Health check endpoint for DNS failover monitoring
* Returns 200 OK if the server is running * Returns 200 OK only if server AND database are healthy
*
* CRITICAL: If database is down, this returns 503
* This triggers DNS failover to backup server
*/ */
export async function GET() { export async function GET() {
return NextResponse.json( const startTime = Date.now()
{
status: 'healthy', try {
timestamp: new Date().toISOString(), // Check database connectivity with 5-second timeout
uptime: process.uptime(), const prisma = getPrismaClient()
}, const dbCheck = await Promise.race([
{ status: 200 } prisma.$queryRaw`SELECT 1 as health_check`,
) new Promise((_, reject) =>
setTimeout(() => reject(new Error('Database timeout')), 5000)
)
])
const responseTime = Date.now() - startTime
return NextResponse.json(
{
status: 'healthy',
timestamp: new Date().toISOString(),
uptime: process.uptime(),
database: 'connected',
responseTime: `${responseTime}ms`
},
{ status: 200 }
)
} catch (error: any) {
// Database failure - return 503 to trigger failover
console.error('❌ Health check failed - Database unavailable:', error.message)
return NextResponse.json(
{
status: 'unhealthy',
timestamp: new Date().toISOString(),
uptime: process.uptime(),
database: 'disconnected',
error: error.message,
responseTime: `${Date.now() - startTime}ms`
},
{ status: 503 } // Service Unavailable - triggers DNS failover
)
}
} }

View File

@@ -25,6 +25,7 @@ export interface RiskCheckRequest {
rsi?: number rsi?: number
volumeRatio?: number volumeRatio?: number
pricePosition?: number pricePosition?: number
maGap?: number // V9: MA gap convergence metric
} }
export interface RiskCheckResponse { export interface RiskCheckResponse {

View File

@@ -29,6 +29,7 @@ export interface ExecuteTradeRequest {
rsi?: number rsi?: number
volumeRatio?: number volumeRatio?: number
pricePosition?: number pricePosition?: number
maGap?: number // V9: MA gap convergence metric
indicatorVersion?: string // Pine Script version (v5, v6, etc.) indicatorVersion?: string // Pine Script version (v5, v6, etc.)
} }