Skip to content
Snippets Groups Projects
Commit a0f82cfe authored by Markus Klose's avatar Markus Klose
Browse files

Username already exists Registration check

parent 8179eaaf
No related branches found
No related tags found
1 merge request!5Redirect
...@@ -18,7 +18,17 @@ router.post('/', async(req, res) => { ...@@ -18,7 +18,17 @@ router.post('/', async(req, res) => {
name: req.body.name, name: req.body.name,
password: hashedPass password: hashedPass
}) })
User.findOne({name: req.body.name})
var query = User.find({
"name" : req.body.name
});
query.count(function(err, count) {
if (count !== 0) {
res.sendStatus(401);
}
else {
console.log("Count is", count)
user.save() user.save()
.then(user => { .then(user => {
res.sendStatus(200); res.sendStatus(200);
...@@ -28,6 +38,8 @@ router.post('/', async(req, res) => { ...@@ -28,6 +38,8 @@ router.post('/', async(req, res) => {
message: 'Error occured' message: 'Error occured'
}) })
}) })
}
})
}) })
}); });
......
...@@ -24,15 +24,15 @@ ...@@ -24,15 +24,15 @@
event.preventDefault(); event.preventDefault();
var username = document.getElementById("username").value; var username = document.getElementById("username");
var password = document.getElementById("password").value; var password = document.getElementById("password");
var myHeaders = new Headers(); var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json"); myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({ var raw = JSON.stringify({
"name": username, "name": username.value.trim(),
"password": password "password": password.value.trim()
}); });
var requestOptions = { var requestOptions = {
...@@ -43,8 +43,30 @@ ...@@ -43,8 +43,30 @@
}; };
fetch("http://localhost:3000/login", requestOptions) fetch("http://localhost:3000/login", requestOptions)
.then(response => response.text()) .then(response => response.json())
.then(result => console.log(result)) .then((result) => {
// Statuscode abrufen mit JSON dingens
var status = result.status;
var token = result.token;
// Weiterleitung an Chatroom, bei erfolreicher Anmeldung
if (status == 200) {
window.location.href = "/chatroom";
}
//
else {
username.value = "";
password.value = "";
var loginFailed = document.createElement('div');
loginFailed.setAttribute("id", "loginFailed");
loginFailed.textContent = "Login fehlgeschlagen, bitte versuche es erneut";
document.body.appendChild(loginFailed);
}
console.log(result)
})
.catch(error => console.log('error', error)); .catch(error => console.log('error', error));
} }
</script> </script>
......
...@@ -50,7 +50,6 @@ ...@@ -50,7 +50,6 @@
fetch("http://localhost:3000/register", requestOptions) fetch("http://localhost:3000/register", requestOptions)
.then((response) => { .then((response) => {
if(response.status == 200){ if(response.status == 200){
console.log("200");
if (document.getElementById("divLeer")) { if (document.getElementById("divLeer")) {
console.log("drinne"); console.log("drinne");
...@@ -76,6 +75,15 @@ ...@@ -76,6 +75,15 @@
document.body.appendChild(button); document.body.appendChild(button);
} }
else if (response.status == 401) {
username.value = "";
password.value = "";
var divVergeben = document.createElement('div');
divVergeben.textContent = "Der Nutzername ist bereits vergeben, bitte versuche es erneut.";
document.body.appendChild(divVergeben);
}
}) })
.catch(error => console.log('error', error)); .catch(error => console.log('error', error));
...@@ -92,68 +100,6 @@ ...@@ -92,68 +100,6 @@
} }
} }
/* // Check if input Login and Password are empty
//
if (username.value.trim().length && password.value.trim().length === 0) {
username.value = "";
password.value = "";
var div = document.createElement('div');
div.textContent = "Bitte fülle beide Felder aus";
document.body.appendChild(div);
}
console.log(username, password);
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"name": username.value.trim(),
"password": password.value.trim()
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("http://localhost:3000/register", requestOptions)
.then((response) => {
if(response.status == 200){
console.log("200");
var div = document.createElement('div');
div.textContent = "Erfolgreich registriert!";
document.body.appendChild(div);
const button = document.createElement("button");
button.innerText = "Zum Login";
button.type = "submit";
button.name = "button";
button.classList.add("button");
button.addEventListener("click", () => {
window.location.href = "/login";
});
document.body.appendChild(button);
}
})
.catch(error => console.log('error', error));
} */
</script> </script>
</body> </body>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment