document.addEventListener("DOMContentLoaded", async function () { async function performUploads() { try { const uploadFile = await window.electronAPI.readFile('usersDestTemp.json'); const uploadData = JSON.parse(uploadFile.content); const uploadPromises = uploadData.users.map(async (user) => { try { const formData = new FormData(); const file = await fetch(uploadData.filePath).then(response => response.blob()); formData.append('file', file); formData.append('idUser', user.userId); formData.append('nameOfFile', user.fileName); await timeout(5000); // Timeout to simulate delay or wait const url = `http://${user.destIp}:${user.destPort}/upload`; const uploadResponse = await fetch(url, { method: 'POST', body: formData }); if (!uploadResponse.ok) { throw new Error(`HTTP error during file upload to ${user.userId}: status ${uploadResponse.status}`); } return {userId: user.userId, success: true, message: `Upload successful for user ${user.userId}`}; } catch (error) { console.error(`Failed to upload for user ${user.userId}:`, error); return {userId: user.userId, success: false, message: `Upload failed for user ${user.userId}`}; } }); const results = await Promise.all(uploadPromises); results.forEach(result => { if (result.success) { console.log(result.message); } }); console.log('All files processed. Check the console for detailed results.'); } catch (error) { console.error('An error occurred during uploads:', error); } finally { await window.electronAPI.deleteFile('usersDestTemp.json'); } } function timeout(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } await performUploads(); await timeout(10000); fadeOut('main_menu.html'); });