aboutsummaryrefslogtreecommitdiff
path: root/auth/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'auth/index.js')
-rw-r--r--auth/index.js18
1 files changed, 14 insertions, 4 deletions
diff --git a/auth/index.js b/auth/index.js
index 1ea6290..40062cc 100644
--- a/auth/index.js
+++ b/auth/index.js
@@ -4,14 +4,24 @@ const db = require("../db");
const app = express.Router();
-// TODO: Change passwords
-// TODO: Login (+ Frontend, cookie, etc)
-
function checkUser(req, res, next) {
if (req.session.loggedIn) next();
else res.redirect("/auth");
}
+function checkAdmin(req, res, next) {
+ if (!req.session.loggedIn) res.redirect("/auth");
+
+ try {
+ db.query("SELECT is_admin FROM users WHERE id = ?", [req.session.uid]).then((ret) => {
+ if (ret[0].is_admin == 1) next();
+ else res.redirect("/");
+ });
+ } catch (e) {
+ res.redirect("/");
+ }
+}
+
app.use(
"/",
(req, res, next) => {
@@ -81,4 +91,4 @@ app.get("/api/list", checkUser, async (req, res) => {
app.get("/api/status", (req, res) => res.json({ loggedIn: req.session.loggedIn }));
-module.exports = { auth: app, checkUser };
+module.exports = { auth: app, checkUser, checkAdmin };