const form = document.getElementById("form");
form.addEventListener('submit', formHandler);
const button = document.getElementById("button");
button.addEventListener('submit', formHandler);
const dropdown = document.getElementById("dropdown");
dropdown.addEventListener('onchange', selectField);
async function formHandler(listener) {
listener.preventDefault();
const formData = new FormData(form);
const dropdown_value = dropdown.value;
if (dropdown_value === "") {
document.getElementById('formStatus').innerHTML = "Please select a field to modify";
return;
}
const user = formData.get("user");
const pass = formData.get("pass");
const value = formData.get("value");
const body = {auth: {user: user, pass: pass}, field: dropdown_value, value: value};
let url = 'https://api.account.skynet.ie/ldap/update';
let req;
try {
req = await fetch(url, {
method: 'POST',
body: JSON.stringify(body),
mode: "cors"
});
} catch (e) {
document.getElementById('formStatus').innerHTML = `${e}`;
return;
}
if (req.status !== 200) {
document.getElementById('formStatus').innerHTML = "Failure";
return;
}
let temp = await req.json();
if (temp.result === 'error') {
document.getElementById('formStatus').innerHTML = `${temp.error}`;
} else {
document.getElementById('formStatus').innerHTML = "Success";
}
}
function selectField() {
if (dropdown.value === 'mail') {
document.getElementById('value').type = 'email';
} else {
document.getElementById('value').type = 'text';
}
}