async function checkDuplicate() { var url='https://lab.ilot.io/api/v4/projects/99/issues'; var email = document.getElementById("email").value; const response = await fetch(url, { headers: { 'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv', 'Content-Type': 'application/json', }, }) const result = await response.json(); let index = result .findIndex(item => item.title === email); if (index !== -1) { return true; } else { return false; } } async function createIssue() { var baseurl = 'https://lab.ilot.io/api/v4/projects/99/issues?&labels=Request'; var emptyfield = document.getElementById("emptyfield").value; var mathspamtrap = document.getElementById("math-spam-trap").value; var agreetoterms = document.getElementById("agree-to-terms").checked; var email = document.getElementById("email").value; if(!agreetoterms) { alert("Registration requires agreement of Code of Conduct"); return false; } if(!email) { alert("Email cannot be empty"); return false; } if(emptyfield) { alert("Empty field should be empty"); return false; } if(mathspamtrap != "9") { alert("Wrong math answer"); return false; } if(await checkDuplicate(email) === true) { alert("This email address has already requested an account"); return false; } var name = document.getElementById("name").value; var name = name.replace (/^/,'Name: '); var aboutme = document.getElementById("about-me").value; var aboutme = aboutme.replace (/^/,'About me: '); var aboutme = aboutme.replace(/\r?\n/g, "%0A%0A"); var howfound = document.getElementById("how-found").value; var howfound = howfound.replace (/^/,'How I found ilot: '); var howfound = howfound.replace(/\r?\n/g, "%0A%0A"); // add back on oc is setup // var ocuser = document.getElementById("oc-user").value; // var ocuser = ocuser.replace (/^/,'OpenCollective Profile: '); // var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound + "%0A%0A" + ocuser; var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound; var url = baseurl.concat("&title=", email, "&description=", description); console.log('Description:', description); fetch(url, { method: 'POST', headers: { 'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv', 'Content-Type': 'application/json', }, }) .then(response => response.json()) .then(result => { console.log('Success:', result); alert("Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io"); }) .catch(error => { console.error('Error:', error) }); }