Login and register pages uses api functions, new styling and better handling in backend.

This commit is contained in:
2020-03-10 00:19:01 +01:00
parent 43bf312007
commit 9b7894ca7d
5 changed files with 197 additions and 122 deletions

View File

@@ -6,42 +6,50 @@ const router = require("express").Router();
router.get("/", function(req, res) {
res.sendFile(path.join(__dirname + "/../public/index.html"));
});
/*
router.get("/register", function(req, res) {
res.sendFile(path.join(__dirname + "/../public/index.html"));
});
router.post("/register", function(req, res, next) {
console.log("registering user");
User.register(
new User({ username: req.body.username }),
req.body.password,
function(err) {
if (err) {
console.log("error while user register!", err);
return next(err);
}
// router.post("/register", function(req, res, next) {
// User.register(
// new User({ username: req.body.username }),
// req.body.password,
// function(err) {
// if (err) {
// console.log("error while user register!", err);
// if (err.name == "UserExistsError")
// res.status(409).send({ success: false, message: err.message })
// else if (err.name == "MissingUsernameError" || err.name == "MissingPasswordError")
// res.status(400).send({ success: false, message: err.message })
// return next(err);
// }
console.log("user registered!");
// console.log("user registered!", req.body.username);
// res.redirect("/#/")
// }
// );
// });
res.redirect("/");
}
);
});
*/
router.get("/login", function(req, res) {
res.sendFile(path.join(__dirname + "/../public/index.html"));
});
router.post(
"/login",
passport.authenticate("local", {
failureRedirect: "/#/login"
}),
function(req, res) {
res.redirect("/#/update");
}
);
router.post("/login", function(req, res, next) {
passport.authenticate("local", function(err, user, info) {
if (err) {
if (err.name == "MissingUsernameError" || err.name == "MissingPasswordError")
return res.status(400).send({ success: false, message: err.message })
return next(err);
}
if (!user) return res.status(404).send({ success: false, message: "Incorrect username or password" })
console.log("user logged in:", user)
res.redirect("/#/update")
})(req, res, next);
});
router.get("/logout", function(req, res) {
req.logout();