diff --git a/base.njk b/base.njk index 3d6f790..de86b86 100644 --- a/base.njk +++ b/base.njk @@ -13,8 +13,12 @@
-
diff --git a/routes/handlers.js b/routes/handlers.js index 59a7366..5a2f169 100644 --- a/routes/handlers.js +++ b/routes/handlers.js @@ -1,4 +1,5 @@ import nunjucks from "nunjucks"; +import { cookie } from "../auth/cookie.js"; import { mapRepoFromStorageToUi } from "../utils/index.js"; import { getQueryParams } from "../utils/queryParams.js"; import { sortByType } from "../utils/sorting.js"; @@ -20,6 +21,7 @@ export const index = async (token, request, response) => { const template = nunjucks.render("index.njk", { orgs, + loggedIn: true }); return response.end(template); @@ -51,7 +53,17 @@ export const org = async (token, request, response, {org}) => { org, ...reposForUi, repos: sortByType(reposForUi.repos, sortDirection, sortBy), + loggedIn: true, }); return response.end(template); } + +export const logout = async (token, request, response) => { + response.writeHead(302, { + "Location": "/", + ...cookie("Token", "", "/", new Date(0)), + }); + + return response.end(); +}; diff --git a/routes/index.js b/routes/index.js index a1e2c99..2c0bc1b 100644 --- a/routes/index.js +++ b/routes/index.js @@ -1,9 +1,10 @@ -import { index, org } from "./handlers.js"; +import { index, org, logout } from "./handlers.js"; import { match } from "./match.js"; const pathHandlers = { "/": index, "/{org}": org, + "/logout": logout, }; export const handleRoutes = async (token, request, response) => {