lil/app/middlewares.js

1import db from "./db.js"; 2 3export const userSessionRequired = (req, res, next) => { 4 const token = req.headers["x-auth-token"]; 5 6 if (token) { 7 const user = db.get( 8 `SELECT id, username, api_token, created_at, status FROM users where api_token=@api_token`, 9 { 10 api_token: token, 11 } 12 ); 13 if (user) { 14 res.locals.user = user; 15 res.locals.not_browser = true; 16 } 17 } 18 19 // TODO: check headers for tokens as well. 20 if (!res.locals.user) { 21 return next({ statusCode: 403, message: "Access denied. Please login" }); 22 } 23 next(); 24}; 25 26export const ifLoggedInGoHome = (req, res, next) => { 27 if (res.locals.user) { 28 return res.redirect("/list"); 29 } 30 next(); 31};