diff --git a/drill-and-practice/routes/controllers/authController.js b/drill-and-practice/routes/controllers/authController.js index 5bb94f9..97d2c1d 100644 --- a/drill-and-practice/routes/controllers/authController.js +++ b/drill-and-practice/routes/controllers/authController.js @@ -62,4 +62,9 @@ const login = async ({ request, response, state, render }) => { response.redirect("/topics"); }; -export { showLogin, showRegister, register, login }; +const logout = async ({ response, state }) => { + await state.session.set("user", null); + response.redirect("/"); +}; + +export { showLogin, showRegister, register, login, logout }; diff --git a/drill-and-practice/routes/routes.js b/drill-and-practice/routes/routes.js index 7cfb64c..5fff9f4 100644 --- a/drill-and-practice/routes/routes.js +++ b/drill-and-practice/routes/routes.js @@ -16,6 +16,7 @@ router.get("/auth/login", authController.showLogin); router.get("/auth/register", authController.showRegister); router.post("/auth/login", authController.login); router.post("/auth/register", authController.register); +router.get("/logout", authController.logout); // topicController routes (topics) router.get("/topics", topicController.listTopics); diff --git a/drill-and-practice/views/layouts/layout.eta b/drill-and-practice/views/layouts/layout.eta index 640087f..1f7de78 100644 --- a/drill-and-practice/views/layouts/layout.eta +++ b/drill-and-practice/views/layouts/layout.eta @@ -11,7 +11,7 @@ <% if (it.user) { %>