From c0ac9fda4283dddc5b820775a9fdd855bd10fa35 Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Tue, 16 Dec 2025 20:34:27 +0100 Subject: [PATCH] fix: Bug #88 Extended - Use real Prisma IDs in execute endpoint Main trade execution endpoint (TradingView signals) was creating synthetic IDs (trade-${Date.now()}) instead of using real database IDs returned by createTrade(). This caused identical failure pattern as smart-entry-timer: - SL verification couldn't find trades in database - Active recovery attempts failed (no record found) - Emergency shutdown failed (no record found for update) - Position left unprotected after system gave up Fix in app/api/trading/execute/route.ts: - Line 1044: Capture createTrade() return value as savedTrade - Line 1127+: Update activeTrade.id = savedTrade.id (real Prisma ID) - Added logging for database ID verification - Added fallback handling for database save failures Impact: All database operations (SL verification, recovery, emergency close) now work correctly for TradingView signal trades. Related: Bug #88 Phase 1 (smart-entry-timer fix, commit 674743c) --- app/api/trading/execute/route.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/api/trading/execute/route.ts b/app/api/trading/execute/route.ts index 0f5b764..3cde9dc 100644 --- a/app/api/trading/execute/route.ts +++ b/app/api/trading/execute/route.ts @@ -1034,12 +1034,13 @@ export async function POST(request: NextRequest): Promise