DweebUI/routes/index.js
lllllllillllllillll e99dc8470b removed extra if statements and sqlite queries.
added list.js for sorting tables.
removed Caddy Proxy Manager from docker-compose.yaml
2023-12-17 17:22:15 -08:00

59 lines
No EOL
2 KiB
JavaScript

const express = require("express");
const router = express.Router();
const { Dashboard, AddSite, RemoveSite, RefreshSites, DisableSite, EnableSite } = require("../controllers/dashboard");
const { Login, processLogin, Logout, Register, processRegister } = require("../controllers/auth");
const { Apps, searchApps, Install, Uninstall } = require("../controllers/apps");
const { Images } = require("../controllers/images");
const { Volumes } = require("../controllers/volumes");
const { Networks } = require("../controllers/networks");
const { Users } = require("../controllers/users");
const { Account } = require("../controllers/account");
const { Settings } = require("../controllers/settings");
// Authentication middleware
const authenticate = (req, res, next) => {
if (req.session && req.session.role == "admin") {
console.log(`User ${req.session.user} [${req.session.role}] accessed ${req.originalUrl}`)
next();
} else {
console.log('Not admin')
res.redirect("/login");
}
};
// Dashboard
router.get("/", authenticate, Dashboard);
router.post("/addsite", authenticate, AddSite);
router.post("/removesite", authenticate, RemoveSite);
router.get("/refreshsites", authenticate, RefreshSites);
router.post("/disablesite", authenticate, DisableSite);
router.post("/enablesite", authenticate, EnableSite);
router.get("/images", authenticate, Images);
// Auth
router.get("/login", Login);
router.post("/login", processLogin);
router.get("/register", Register);
router.post("/register", processRegister);
router.get("/logout", Logout);
// Apps page
router.get("/apps", authenticate, Apps);
router.get("/apps/:page", authenticate, Apps);
router.get("/apps/:template/:page", authenticate, Apps);
router.post("/apps", authenticate, searchApps);
// Settings page
router.get("/settings", authenticate, Settings);
router.get("/account", authenticate, Account);
router.post("/install", authenticate, Install);
router.post("/uninstall", authenticate, Uninstall);
router.get("/users", authenticate, Users);
module.exports = router;