完成評審評分機制
This commit is contained in:
83
scripts/create-virtual-apps-api.js
Normal file
83
scripts/create-virtual-apps-api.js
Normal file
@@ -0,0 +1,83 @@
|
||||
// =====================================================
|
||||
// 通過 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();
|
Reference in New Issue
Block a user