diff options
| author | Bobby <[email protected]> | 2022-06-25 17:42:17 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2022-06-25 17:42:17 +0530 |
| commit | 806e6d2d78ef90f48727b86870bc75077b2474fe (patch) | |
| tree | fc68bfa3dd06738c9be94083c9e3083154fa3c87 | |
| parent | a908904bf66d7c17f6d37671e0e8fd2e84c72072 (diff) | |
| download | thatcomputerscientist-806e6d2d78ef90f48727b86870bc75077b2474fe.tar.xz thatcomputerscientist-806e6d2d78ef90f48727b86870bc75077b2474fe.zip | |
fix redirect when not logged in to account
| -rw-r--r-- | routes/account.routes.js | 66 |
1 files changed, 38 insertions, 28 deletions
diff --git a/routes/account.routes.js b/routes/account.routes.js index 16acddac..5e2b97d9 100644 --- a/routes/account.routes.js +++ b/routes/account.routes.js @@ -8,38 +8,48 @@ const { isEmailValid } = require("../functions/validate"); const nodemailer = require("nodemailer"); router.get("/", (req, res) => { - const username = jwt.decode(req.cookies.token).username; - const connection = mysql.createConnection(connectionString); - connection.connect(); - const sql = "SELECT * FROM Profiles WHERE username = ?"; - connection.query(sql, [username], (err, results, fields) => { - if (err) { - res.status(500).render("error", { - error: err, - }); - } else { - if (results.length > 0) { - const user = results[0]; - renderRoute(req, res, "account", "My Account", true, { - user: { - ...user, - avatar: md5(user.gravatarEmail || user.email || ""), - url: - user.public == 1 - ? `${req.protocol + "://" + req.get("host")}/profile/${ - user.username - }` - : "", - }, - }); + jwt.verify( + req.cookies.token, + process.env.AUTHORIZATION_STRING, + (err, decoded) => { + if (err) { + res.redirect("/"); } else { - renderRoute(req, res, "account", "My Account", true, { - user: null, + const username = jwt.decode(req.cookies.token).username; + const connection = mysql.createConnection(connectionString); + connection.connect(); + const sql = "SELECT * FROM Profiles WHERE username = ?"; + connection.query(sql, [username], (err, results, fields) => { + if (err) { + res.status(500).render("error", { + error: err, + }); + } else { + if (results.length > 0) { + const user = results[0]; + renderRoute(req, res, "account", "My Account", true, { + user: { + ...user, + avatar: md5(user.gravatarEmail || user.email || ""), + url: + user.public == 1 + ? `${req.protocol + "://" + req.get("host")}/profile/${ + user.username + }` + : "", + }, + }); + } else { + renderRoute(req, res, "account", "My Account", true, { + user: null, + }); + } + } }); + connection.end(); } } - }); - connection.end(); + ); }); router.post("/sendVerificationEmail", (req, res) => { |
