// ===================================================== // 通過 API 創建虛擬應用記錄 // ===================================================== async function createVirtualAppsViaAPI() { console.log('🔧 通過 API 創建虛擬應用記錄...\n'); try { // 等待服務器啟動 console.log('⏳ 等待服務器啟動...'); await new Promise(resolve => setTimeout(resolve, 3000)); // 獲取團隊數據 console.log('📋 獲取團隊數據...'); const teamsResponse = await fetch('http://localhost:3000/api/competitions'); const competitionsData = await teamsResponse.json(); if (!competitionsData.success || !competitionsData.data || competitionsData.data.length === 0) { console.log('❌ 無法獲取競賽數據'); return; } const competition = competitionsData.data[0]; console.log('🎯 選擇競賽:', competition.name); // 獲取競賽的團隊數據 const teamsDataResponse = await fetch(`http://localhost:3000/api/competitions/${competition.id}/teams`); const teamsData = await teamsDataResponse.json(); if (!teamsData.success || !teamsData.data.teams || teamsData.data.teams.length === 0) { console.log('❌ 競賽沒有團隊數據'); return; } const teams = teamsData.data.teams; console.log('✅ 獲取到', teams.length, '個團隊'); // 為每個團隊創建虛擬應用 for (const team of teams) { const virtualAppData = { name: `[團隊評分] ${team.name}`, description: `團隊 ${team.name} 的評分記錄`, creator_id: '00000000-0000-0000-0000-000000000000', // 虛擬創建者ID category: 'team_scoring', type: 'team', app_url: null, icon: 'Users', icon_color: 'from-gray-500 to-gray-600' }; console.log(`📝 創建虛擬應用: ${team.name}...`); try { const response = await fetch('http://localhost:3000/api/apps', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(virtualAppData) }); const data = await response.json(); if (data.success) { console.log(`✅ 虛擬應用創建成功: ${data.app?.id || '未知ID'}`); } else { console.log(`⚠️ 虛擬應用創建失敗: ${data.message}`); } } catch (error) { console.log(`❌ 創建虛擬應用時出錯: ${error.message}`); } } console.log('\n✅ 虛擬應用記錄創建完成!'); } catch (error) { console.error('❌ 創建虛擬應用失敗:', error.message); console.log('\n💡 提示: 請確保開發服務器正在運行 (npm run dev)'); } } // 執行創建 createVirtualAppsViaAPI();