diff --git a/src/webserver/middleware/mustBeAdmin.js b/src/webserver/middleware/mustBeAdmin.js index 4ee3bb6..50e9c71 100644 --- a/src/webserver/middleware/mustBeAdmin.js +++ b/src/webserver/middleware/mustBeAdmin.js @@ -1,30 +1,31 @@ const establishedDatabase = require("../../database/database"); +// eslint-disable-next-line consistent-return const mustBeAdmin = (req, res, next) => { const database = establishedDatabase; if (req.loggedInUser === undefined) { - return res.status(401).send({ + res.status(401).send({ success: false, message: "You must be logged in." }); } + database .get( `SELECT admin FROM user WHERE user_name IS ?`, req.loggedInUser.username ) .then(isAdmin => { - console.log(isAdmin, req.loggedInUser); - if (isAdmin.admin == 0) { + if (isAdmin.admin === 0) { return res.status(401).send({ success: false, message: "You must be logged in as a admin." }); } - }); - return next(); + return next(); + }); }; module.exports = mustBeAdmin; diff --git a/src/webserver/middleware/mustBeAuthenticated.js b/src/webserver/middleware/mustBeAuthenticated.js index 6af925b..9a470db 100644 --- a/src/webserver/middleware/mustBeAuthenticated.js +++ b/src/webserver/middleware/mustBeAuthenticated.js @@ -1,3 +1,4 @@ +// eslint-disable-next-line consistent-return const mustBeAuthenticated = (req, res, next) => { if (req.loggedInUser === undefined) { return res.status(401).send({ @@ -5,7 +6,8 @@ const mustBeAuthenticated = (req, res, next) => { message: "You must be logged in." }); } - return next(); + + next(); }; module.exports = mustBeAuthenticated; diff --git a/src/webserver/middleware/mustHaveAccountLinkedToPlex.js b/src/webserver/middleware/mustHaveAccountLinkedToPlex.js index d7006d8..49e4849 100644 --- a/src/webserver/middleware/mustHaveAccountLinkedToPlex.js +++ b/src/webserver/middleware/mustHaveAccountLinkedToPlex.js @@ -1,33 +1,36 @@ const establishedDatabase = require("../../database/database"); +/* eslint-disable consistent-return */ const mustHaveAccountLinkedToPlex = (req, res, next) => { const database = establishedDatabase; const { loggedInUser } = req; - if (loggedInUser === undefined) { + if (loggedInUser === null) { return res.status(401).send({ success: false, message: "You must have your account linked to a plex account." }); } + database .get( `SELECT plex_userid FROM settings WHERE user_name IS ?`, loggedInUser.username ) .then(row => { - const plexUserId = row?.plex_userid; - - if (plexUserId === null || plexUserId === undefined) { + const plexUserId = row.plex_userid; + if (plexUserId === null) { return res.status(403).send({ success: false, message: "No plex account user id found for your user. Please authenticate your plex account at /user/authenticate." }); } + req.loggedInUser.plexUserId = plexUserId; - return next(); + next(); }); }; +/* eslint-enable consistent-return */ module.exports = mustHaveAccountLinkedToPlex; diff --git a/src/webserver/middleware/reqTokenToUser.js b/src/webserver/middleware/reqTokenToUser.js index 0b92cef..bde99f6 100644 --- a/src/webserver/middleware/reqTokenToUser.js +++ b/src/webserver/middleware/reqTokenToUser.js @@ -11,22 +11,18 @@ const reqTokenToUser = (req, res, next) => { const cookieAuthToken = req.cookies.authorization; const headerAuthToken = req.headers.authorization; - if (cookieAuthToken || headerAuthToken) { - try { - const token = Token.fromString( - cookieAuthToken || headerAuthToken, - secret - ); - req.loggedInUser = token.user; - } catch (error) { - req.loggedInUser = undefined; - } - } else { - // guest session - console.debug("No auth token in header or cookie."); + if (!(cookieAuthToken || headerAuthToken)) { + return next(); } - next(); + try { + const token = Token.fromString(cookieAuthToken || headerAuthToken, secret); + req.loggedInUser = token.user; + } catch (error) { + req.loggedInUser = null; + } + + return next(); }; module.exports = reqTokenToUser;