From 806e6d2d78ef90f48727b86870bc75077b2474fe Mon Sep 17 00:00:00 2001 From: Bobby Date: Sat, 25 Jun 2022 17:42:17 +0530 Subject: fix redirect when not logged in to account --- routes/account.routes.js | 66 ++++++++++++++++++++++++++++-------------------- 1 file 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) => { -- cgit v1.2.3