CEO updated
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
document.addEventListener("DOMContentLoaded", async function () {
|
||||
let pathToFile = '';
|
||||
let serverIp = '';
|
||||
await window.electronAPI.readFile('ipConfig.json')
|
||||
.then(result => {
|
||||
const jsonData = JSON.parse(result.content);
|
||||
serverIp = jsonData.ip;
|
||||
})
|
||||
|
||||
function updateFileName() {
|
||||
const fileNameElement = document.getElementById('fileName');
|
||||
@@ -18,7 +24,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
|
||||
const {id} = loginData;
|
||||
|
||||
fetch('http://localhost:5000/users', {
|
||||
fetch(`http://${serverIp}/users`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'x-api-key': 'uc_api'
|
||||
@@ -66,32 +72,58 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
event.preventDefault();
|
||||
console.log('Submit button clicked');
|
||||
|
||||
if (pathToFile === '' || pathToFile.length === 0) {
|
||||
const fileInput = document.getElementById('fileInput');
|
||||
if (!fileInput.files.length) {
|
||||
await window.electronAPI.showAlert('File not chosen!')
|
||||
.then(() => console.log('Alert window opened'))
|
||||
.catch(error => console.error('Error changing content:', error));
|
||||
return
|
||||
.catch(error => console.error('Error showing alert:', error));
|
||||
return;
|
||||
}
|
||||
|
||||
const form = document.getElementById('userDestForm');
|
||||
const checkboxes = form.querySelectorAll('input[name="users"]');
|
||||
const selectedUserIds = [];
|
||||
const selectedUserIds = Array.from(checkboxes)
|
||||
.filter(checkbox => checkbox.checked)
|
||||
.map(checkbox => checkbox.value);
|
||||
|
||||
checkboxes.forEach(checkbox => {
|
||||
if (checkbox.checked) {
|
||||
selectedUserIds.push(checkbox.value);
|
||||
}
|
||||
});
|
||||
|
||||
if (selectedUserIds === []) {
|
||||
if (!selectedUserIds.length) {
|
||||
await window.electronAPI.showAlert('No user selected!')
|
||||
.then(() => console.log('Alert window opened'))
|
||||
.catch(error => console.error('Error changing content:', error));
|
||||
.catch(error => console.error('Error showing alert:', error));
|
||||
return;
|
||||
}
|
||||
|
||||
//TODO: logic to send files
|
||||
const uploadData = {
|
||||
filePath: fileInput.files[0].path,
|
||||
users: []
|
||||
};
|
||||
|
||||
for (const userId of selectedUserIds) {
|
||||
try {
|
||||
const ipResponse = await fetch(`http://${serverIp}/backup_schemes/${userId}`);
|
||||
if (!ipResponse.ok) {
|
||||
throw new Error(`Failed to fetch IP address for user ${userId}: status ${ipResponse.status}`);
|
||||
}
|
||||
const { data: destIp } = await ipResponse.json();
|
||||
uploadData.users.push({
|
||||
userId,
|
||||
destIp,
|
||||
destPort: 3000, // Static destination port
|
||||
fileName: fileInput.files[0].name
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error fetching user data:', error);
|
||||
}
|
||||
}
|
||||
|
||||
window.electronAPI.writeFile('usersDestTemp.json', JSON.stringify(uploadData))
|
||||
.then(() => {
|
||||
console.log('File saved successfully');
|
||||
fadeOut('sending_file_confirmation.html');
|
||||
})
|
||||
.catch(error => console.error('Failed to save file:', error));
|
||||
});
|
||||
|
||||
|
||||
fetchUsersAndCreateCheckboxes().then(() => console.log('Page rendered'))
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user