From d62f1c2c03ad20650856637e5a451edb2b6b933d Mon Sep 17 00:00:00 2001 From: flifloo Date: Tue, 28 Apr 2020 23:16:19 +0200 Subject: [PATCH] Add logout to route --- app.js | 2 ++ routes/login.js | 20 ++++++++++++-------- routes/logout.js | 12 ++++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 routes/logout.js diff --git a/app.js b/app.js index e72211c..3768b2d 100644 --- a/app.js +++ b/app.js @@ -10,6 +10,7 @@ require("./cli"); let indexRoute = require("./routes/index"); let uploadRoute = require("./routes/upload"); let loginRoute = require("./routes/login"); +let logoutRoute = require("./routes/logout"); let imagesRoute = require("./routes/images"); let listRoute = require("./routes/list"); let removeRoute = require("./routes/remove"); @@ -44,6 +45,7 @@ app.use(morgan("dev")) .use("/", indexRoute) .use("/upload", uploadRoute) .use("/login", loginRoute) + .use("/logout", logoutRoute) .use("/images", imagesRoute) .use("/list", listRoute) .use("/remove", removeRoute) diff --git a/routes/login.js b/routes/login.js index 1efc515..1193d57 100644 --- a/routes/login.js +++ b/routes/login.js @@ -4,15 +4,19 @@ let passwordHash = require('password-hash'); router.get("/", (req, res) => { - let fail = false; - if ("fail" in req.query) { - fail = true; + if (req.session.login) { + res.redirect("/"); + } else { + let fail = false; + if ("fail" in req.query) { + fail = true; + } + let path = null; + if ("path" in req.query) { + path = req.query.path; + } + res.render("login", {title: "login", fail: fail, path: path}); } - let path = null; - if ("path" in req.query) { - path = req.query.path; - } - res.render("login", {title: "login", fail: fail, path: path}); }); router.post("/", (req, res) => { diff --git a/routes/logout.js b/routes/logout.js new file mode 100644 index 0000000..f4d5fc3 --- /dev/null +++ b/routes/logout.js @@ -0,0 +1,12 @@ +let router = require("express").Router(); + + +router.get("/", (req, res) => { + req.session.login = false; + req.session.save(); + res.redirect("/login"); +}); + + +module.exports = router; +