diff --git a/app.js b/app.js index 1e3c914..926be77 100644 --- a/app.js +++ b/app.js @@ -60,6 +60,17 @@ app.get('/signup', (req, res) => { return res.status(status.Ok); }); +app.get('/signup/:name/:email', (req, res) => { + const ignore = ["User not found", "Incorrect password"]; + if (ignore.includes(req.session.errMessage)) req.session.errMessage = ""; + res.render('signup', { + errMessage: req.session.errMessage, + name: req.params.name, + email: req.params.email + }); + return res.status(status.Ok); +}); + app.get('/login', (req, res) => { if (req.session.authenticated) { res.redirect("/home"); diff --git a/src/auth/authentication.js b/src/auth/authentication.js index f70635b..2d0ff1f 100644 --- a/src/auth/authentication.js +++ b/src/auth/authentication.js @@ -96,7 +96,7 @@ module.exports = (users) => { if (req.body.password != req.body.repassword) { req.session.errMessage = "Passwords must match"; res.status(status.BadRequest); - return res.redirect("/signup"); + return res.redirect(`/signup/${req.body.name}/${req.body.email}`); } let strength = passwordStrength(req.body.password); @@ -104,7 +104,7 @@ module.exports = (users) => { if (strength.id < 2) { req.session.errMessage = `Password ${strength.value}`; res.status(status.BadRequest); - return res.redirect("/signup"); + return res.redirect(`/signup/${req.body.name}/${req.body.email}`); } let hashedPassword = await bcrypt.hashSync(req.body.password, salt); diff --git a/src/views/signup.ejs b/src/views/signup.ejs index 212f2a8..d79c1f9 100644 --- a/src/views/signup.ejs +++ b/src/views/signup.ejs @@ -11,13 +11,13 @@ + placeholder="Enter Name" value="<%= typeof name != 'undefined' ? name : '' %>"/>