diff --git a/WD7UVN_SzTGUI_2023242.Client.JS/wwwroot/services.js b/WD7UVN_SzTGUI_2023242.Client.JS/wwwroot/services.js new file mode 100644 index 0000000..9b3e8ee --- /dev/null +++ b/WD7UVN_SzTGUI_2023242.Client.JS/wwwroot/services.js @@ -0,0 +1,128 @@ +let services = []; +getServices(); + +async function getServices() +{ + await fetch('https://localhost:5001/api/Service') + .then(x => x.json()) + .then(y => { + services = y; + console.log(services); + display(); + }); +} + +function display() +{ + document.getElementById('resultarea').innerHTML = ''; + + services.forEach(t => { + document.getElementById('resultarea').innerHTML += + '' + + t.id + + '' + + t.name + + '' + + '' + + '' + + '' + + ''; + }); + + document.getElementById('resultarea').innerHTML += + '' + + '' + + 'Add new' + + '' + + ''; +} + +function updateService(id) +{ + let service_id = document.getElementById('in_id').value; + let service_maintainer_id = document.getElementById('in_maintainer_id').value; + let service_name = document.getElementById('in_name').value; + let service_version = document.getElementById('in_version').value; + let service_account = document.getElementById('in_account').value; + let service_notes = document.getElementById('in_notes').value; + let service_domain = document.getElementById('in_domain').value; + let service_ip = document.getElementById('in_ip').value; + let service_port = document.getElementById('in_port').value; + + fetch ('https://localhost:5001/api/Service/' + id, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + id: service_id, + maintainer_id: service_maintainer_id, + name: service_name, + version: service_version, + account: service_account, + notes: service_notes, + service_domain: service_domain, + ip: service_ip, + port: service_port + }) + }) +} + +function addService() +{ + let service_id = document.getElementById('in_id').value; + let service_maintainer_id = document.getElementById('in_maintainer_id').value; + let service_name = document.getElementById('in_name').value; + let service_version = document.getElementById('in_version').value; + let service_account = document.getElementById('in_account').value; + let service_notes = document.getElementById('in_notes').value; + let service_domain = document.getElementById('in_domain').value; + let service_ip = document.getElementById('in_ip').value; + let service_port = document.getElementById('in_port').value; + + fetch('https://localhost:5001/api/Service', { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + id: service_id, + maintainer_id: service_maintainer_id, + name: service_name, + version: service_version, + account: service_account, + notes: service_notes, + service_domain: service_domain, + ip: service_ip, + port: service_port + }) + }) + .then(response => response) + .then(data => { + console.log("Success: ", data) + + document.getElementById('addresult').innerHTML = ''; + document.getElementById('addresult').innerHTML += + '

Added service ' + service_name + ' successfully

'; + + getServices(); + }) + .catch(error => { + console.error("Error: ", error); + + document.getElementById('addresult').innerHTML = ''; + document.getElementById('addresult').innerHTML += + '

Failed to add service ' + service_name + '

'; + }); +} + +function deleteService(id) +{ + fetch('https://localhost:5001/api/Service/' + id, { + method: 'DELETE', + headers: { 'Content-Type': 'application/json' }, + }) + .then(response => response) + .then(data => + { + console.log("Success: ", data) + getServices(); + }) + .catch(error => console.error("Error: ", error)); +} \ No newline at end of file