diff --git a/backend/server.js b/backend/server.js index 0999ceb..5586778 100644 --- a/backend/server.js +++ b/backend/server.js @@ -18,6 +18,16 @@ app.use((req, res, next) => { }) +app.use((req, res, next) => { + + const authenticatedUser = verifyAuthToken(req.cookies.auth_token); + + if(authenticatedUser){ + res.locals.user = getUser(authenticatedUser.user_id) + } + next() +}) + const frontendPath = { views: path.join(__dirname, "..", "frontend", "views"), public: path.join(__dirname, "..", "frontend", "public") @@ -86,13 +96,12 @@ function getUser(userid){ } app.get('/users/:id/settings', (req, res) => { - let authenticatedUser = verifyAuthToken(req.cookies.auth_token) let userId = Number(req.params.id); - if(authenticatedUser){ - if(authenticatedUser.user_id === userId){ + if(res.locals.user){ + if(res.locals.user.user_id === userId){ res.render("user_settings", {id: userId}) }else { - res.redirect(`/users/${authenticatedUser.user_id}/settings`) + res.redirect(`/users/${res.locals.user.user_id}/settings`) } }else { res.redirect("/") @@ -100,7 +109,7 @@ app.get('/users/:id/settings', (req, res) => { }) app.get('/register', (req, res) => { - if(verifyAuthToken(req.cookies.auth_token)){ + if(res.locals.user){ res.redirect("/"); return; } @@ -109,11 +118,9 @@ app.get('/register', (req, res) => { }) app.get('/', (req, res) => { - const authenticatedUser = verifyAuthToken(req.cookies.auth_token); - if(authenticatedUser){ - const user = getUser(authenticatedUser.user_id) + if(res.locals.user){ const footer = ""; - res.render("dashboard", {user: user, footer: footer}) + res.render("dashboard", {user: res.locals.user, footer: footer}) }else{ res.render("invalid_login") } @@ -126,9 +133,10 @@ app.get('/logout', (req, res) => { app.get('/login', (req, res) => { if(req.query.invalid === "yes"){ - res.render("login_incorrect") + let invalidMessage = "Username or password incorrect" + res.render("login", {invalid_login: true, invalid_message: invalidMessage}) }else{ - res.render("login") + res.render("login", {invalid_login: false, invalid_message: ""}) } }) diff --git a/frontend/views/invalid_login.ejs b/frontend/views/invalid_login.ejs deleted file mode 100644 index 8a990a4..0000000 --- a/frontend/views/invalid_login.ejs +++ /dev/null @@ -1,14 +0,0 @@ - - -
- - -Please login before you can access the control panel.
-Register here
- - \ No newline at end of file diff --git a/frontend/views/login.ejs b/frontend/views/login.ejs index acb60cb..2ff7840 100644 --- a/frontend/views/login.ejs +++ b/frontend/views/login.ejs @@ -13,6 +13,7 @@<%= invalid_message %>