// ===================================================== // 調試競賽數據 API // ===================================================== import { NextRequest, NextResponse } from 'next/server'; import { DatabaseServiceBase } from '@/lib/services/database-service'; export async function GET(request: NextRequest) { try { const { searchParams } = new URL(request.url); const competitionId = searchParams.get('competitionId') || '07e2303e-9647-11f0-b5d9-6e36c63cdb98'; console.log('🔍 開始調試競賽數據...'); console.log('競賽ID:', competitionId); // 1. 檢查競賽是否存在 const competitionCheck = await DatabaseServiceBase.safeQuery( 'SELECT * FROM competitions WHERE id = ?', [competitionId] ); console.log('📊 競賽檢查結果:', competitionCheck); // 2. 檢查競賽應用關聯 const competitionAppsCheck = await DatabaseServiceBase.safeQuery( 'SELECT * FROM competition_apps WHERE competition_id = ?', [competitionId] ); console.log('📊 競賽應用關聯檢查結果:', competitionAppsCheck); // 3. 檢查所有應用程式 const allAppsCheck = await DatabaseServiceBase.safeQuery( 'SELECT id, name, is_active FROM apps WHERE is_active = 1 LIMIT 10', [] ); console.log('📊 所有應用程式檢查結果:', allAppsCheck); // 4. 檢查競賽規則 const competitionRulesCheck = await DatabaseServiceBase.safeQuery( 'SELECT * FROM competition_rules WHERE competition_id = ?', [competitionId] ); console.log('📊 競賽規則檢查結果:', competitionRulesCheck); // 5. 檢查評審 const judgesCheck = await DatabaseServiceBase.safeQuery( 'SELECT id, name, title, department FROM judges WHERE is_active = 1 LIMIT 5', [] ); console.log('📊 評審檢查結果:', judgesCheck); return NextResponse.json({ success: true, message: '調試數據獲取成功', data: { competition: competitionCheck, competitionApps: competitionAppsCheck, allApps: allAppsCheck, competitionRules: competitionRulesCheck, judges: judgesCheck } }); } catch (error) { console.error('❌ 調試競賽數據失敗:', error); return NextResponse.json({ success: false, message: '調試競賽數據失敗', error: error instanceof Error ? error.message : '未知錯誤' }, { status: 500 }); } }