index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import express from "express";
  2. import { io } from "../app.js";
  3. import { Login, submitLogin } from "../controllers/login.js";
  4. import { Register, submitRegister } from "../controllers/register.js";
  5. import { Dashboard, searchDashboard } from "../controllers/dashboard.js";
  6. import { Apps } from "../controllers/apps.js";
  7. import { Users } from "../controllers/users.js";
  8. import { Images } from "../controllers/images.js";
  9. import { Account } from "../controllers/account.js";
  10. import { Settings } from "../controllers/settings.js";
  11. import { Networks } from "../controllers/networks.js";
  12. import { Volumes } from "../controllers/volumes.js";
  13. import { Syslogs } from "../controllers/syslogs.js";
  14. export const router = express.Router();
  15. const auth = (req, res, next) => {
  16. if (req.session.role == "admin") {
  17. next();
  18. } else {
  19. res.redirect("/login");
  20. }
  21. };
  22. router.get("/login", Login);
  23. router.post("/login", submitLogin);
  24. router.get("/register", Register);
  25. router.post("/register", submitRegister);
  26. router.get("/", auth, Dashboard);
  27. router.post("/", auth, searchDashboard);
  28. router.post("/:search", auth, searchDashboard);
  29. router.get("/apps", auth, Apps);
  30. router.get("/apps/:page", auth, Apps);
  31. router.get("/users", auth, Users);
  32. router.get("/images", auth, Images);
  33. router.get("/networks", auth, Networks);
  34. router.get("/volumes", auth, Volumes);
  35. router.get("/syslogs", auth, Syslogs);
  36. router.get("/account", Account);
  37. router.get("/settings", auth, Settings);
  38. router.get("/logout", (req, res) => {
  39. const sessionId = req.session.id;
  40. req.session.destroy(() => {
  41. io.to(sessionId).disconnectSockets();
  42. res.redirect("/login");
  43. });
  44. });