From fbb57d3bf9c1a64f35a9bb614af60ff91ed9a37f Mon Sep 17 00:00:00 2001 From: andrewstech Date: Sun, 7 Apr 2024 19:21:29 +0000 Subject: [PATCH] Update admin routes and views --- routes/admin.js | 3 +- routes/adminUser.js | 22 ++++++ util/router.js | 9 +++ util/routes.js | 4 +- views/admin.ejs | 3 +- views/adminUser.ejs | 158 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 195 insertions(+), 4 deletions(-) create mode 100644 routes/adminUser.js create mode 100644 views/adminUser.ejs diff --git a/routes/admin.js b/routes/admin.js index 852d0b4..d8d9c63 100644 --- a/routes/admin.js +++ b/routes/admin.js @@ -14,13 +14,12 @@ module.exports = async (req, res) => { 'authorization': token } }); - console.log(response) data = await response.json(); res.render("admin", {user: user, users: data, message: ''}) } catch (error) { console.log(error) - res.render("admin", {user: user, users: data, message: 'Error fetching bitches. Please try again later.'}) + res.render("admin", {user: user, users: data, message: 'fetching bitches. Please try again later.'}) } } \ No newline at end of file diff --git a/routes/adminUser.js b/routes/adminUser.js new file mode 100644 index 0000000..d36ec44 --- /dev/null +++ b/routes/adminUser.js @@ -0,0 +1,22 @@ +module.exports = async (req, res) => { + let user = req.user; + if (!user.admin){ + return res.redirect("/domains?code=5"); + } + let data = '' + try { + const response = await fetch(`${ENDPOINT}/users`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + 'authorization': token + } + }); + data = await response.json(); + res.render("adminUser", {user: user, users: data, message: ''}) + } + catch (error) { + console.log(error) + res.render("adminUser", {user: user, users: data, message: 'fetching bitches. Please try again later.'}) + } +} diff --git a/util/router.js b/util/router.js index fd2a760..5541e92 100644 --- a/util/router.js +++ b/util/router.js @@ -71,4 +71,13 @@ router.get("/admin/", authenticateStaffToken, (req, res) => { routes.admin(req, res); }); +router.get("/admin/users", authenticateStaffToken, (req, res) => { + routes.adminUser(req, res); +}); + +router.get("/admin/del", authenticateStaffToken, (req, res) => { + routes.adminUser(req, res); +}); + + module.exports = router; \ No newline at end of file diff --git a/util/routes.js b/util/routes.js index 2e9d7c5..a2f1fb7 100644 --- a/util/routes.js +++ b/util/routes.js @@ -10,6 +10,7 @@ const mfa = require("../routes/mfa"); const password = require("../routes/password"); const edit = require("../routes/edit"); const admin = require("../routes/admin"); +const adminUser = require("../routes/adminUser"); module.exports = { @@ -24,5 +25,6 @@ module.exports = { mfa, password, edit, - admin + admin, + adminUser } \ No newline at end of file diff --git a/views/admin.ejs b/views/admin.ejs index c65a034..1faaa69 100644 --- a/views/admin.ejs +++ b/views/admin.ejs @@ -155,7 +155,8 @@ <%= user._id %> <%= user.username %> - Edit + Edit + Delete <% }) %> diff --git a/views/adminUser.ejs b/views/adminUser.ejs new file mode 100644 index 0000000..5a0e65a --- /dev/null +++ b/views/adminUser.ejs @@ -0,0 +1,158 @@ + + + + + + + +
+ + + <% if (message && message.length > 0) { %> + + <% } %> +
+
+

Checking out: <%= domain %>

+
+
+
+
+ + + +
+
+
+ \ No newline at end of file