1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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;
|