-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -262,29 +295,48 @@
window.closeAddNode = () => document.getElementById('add-node-modal').classList.add('hidden');
// EDIT LOGIK
- window.editNode = (id, name, ip) => {
- document.getElementById('edit-node-id').value = id;
- document.getElementById('edit-node-name').value = name;
- document.getElementById('edit-node-ip').value = ip;
- document.getElementById('edit-node-modal').classList.remove('hidden');
+ // Ruft alle Daten ab, bevor das Modal öffnet
+ window.editNode = async (id) => {
+ try {
+ const res = await fetch(`/api/node/${id}`);
+ const node = await res.json();
+
+ document.getElementById('edit-node-id').value = node.id;
+ document.getElementById('edit-node-name').value = node.name;
+ document.getElementById('edit-node-ip').value = node.ip;
+ document.getElementById('edit-node-user').value = node.user;
+ document.getElementById('edit-node-password').value = node.sudo_password;
+ document.getElementById('edit-node-os').value = node.os;
+ document.getElementById('edit-node-arch').value = node.arch;
+ document.getElementById('edit-node-status').value = node.status;
+ document.getElementById('edit-node-docker').checked = node.docker_installed === 1;
+
+ document.getElementById('edit-node-modal').classList.remove('hidden');
+ } catch (e) { alert("Fehler beim Laden der Node-Daten"); }
};
window.closeEditNode = () => document.getElementById('edit-node-modal').classList.add('hidden');
window.updateNode = async function() {
const id = document.getElementById('edit-node-id').value;
- const name = document.getElementById('edit-node-name').value;
- const ip = document.getElementById('edit-node-ip').value;
+ const payload = {
+ name: document.getElementById('edit-node-name').value,
+ ip: document.getElementById('edit-node-ip').value,
+ user: document.getElementById('edit-node-user').value,
+ sudo_password: document.getElementById('edit-node-password').value,
+ os: document.getElementById('edit-node-os').value,
+ arch: document.getElementById('edit-node-arch').value,
+ status: document.getElementById('edit-node-status').value,
+ docker_installed: document.getElementById('edit-node-docker').checked ? 1 : 0
+ };
try {
const res = await fetch(`/api/node/${id}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify({ name, ip })
+ body: JSON.stringify(payload)
});
if(res.ok) {
- document.getElementById(`node-name-${id}`).textContent = name;
- document.getElementById(`node-ip-${id}`).textContent = ip;
- closeEditNode();
+ location.reload(); // Einfachste Methode, um alle Badges zu aktualisieren
}
} catch (e) { alert("Fehler beim Speichern"); }
};