added server management
This commit is contained in:
@@ -1,9 +1,5 @@
|
||||
const express = require('express');
|
||||
const User = require("../model/user.model");
|
||||
const Group = require("../model/group.model");
|
||||
groupService = require("../services/group.service");
|
||||
const Member = require("../model/member.model");
|
||||
memberService = require("../services/members.service");
|
||||
const User = require("../model/user.model")
|
||||
var router = express.Router();
|
||||
|
||||
router.use('*', (req, res, next) => {
|
||||
@@ -20,74 +16,9 @@ router.use('*', (req, res, next) => {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
router.get("/users",async (req, res) => {
|
||||
User.findAll().then((users) => {
|
||||
res.render('admin/users', { "users": users})
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
router.get("/groups", (req, res) => {
|
||||
groupService.getGroupsWithMembers().then((groups) => {
|
||||
res.render('admin/groups', { "groups": groups })
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
router.post("/groups/add", (req, res) => {
|
||||
if (req.body.group_name) {
|
||||
groupService.addGroup(req.body.group_name).then((result) => {
|
||||
res.redirect("/admin/groups")
|
||||
})
|
||||
} else {
|
||||
res.redirect("/admin/groups")
|
||||
}
|
||||
})
|
||||
|
||||
router.get("/groups/delete/:group", (req, res) => {
|
||||
groupService.delGroup(req.params.group).then((result) => {
|
||||
|
||||
res.redirect("/admin/groups")
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
|
||||
router.get("/groups/:name", async (req, res) => {
|
||||
if (req.params.name === "new") {
|
||||
res.render('admin/group_new')
|
||||
} else {
|
||||
Group.findOne({ where: { name: req.params.name } }).then((group) => {
|
||||
groupService.groupUserList(req.params.name).then((result) => {
|
||||
User.findAll().then((users) => {
|
||||
for (user in users) {
|
||||
if (JSON.stringify(result).includes(users[user].dataValues.id)) {
|
||||
delete users[user]
|
||||
}
|
||||
}
|
||||
res.render('admin/group_edit', { "group": group, "inGroup": result, "outGroup": users })
|
||||
});
|
||||
})
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/members/:name/add/:user', (req, res) => {
|
||||
memberService.addMember(req.params.user, req.params.name).then((result) => {
|
||||
res.redirect('/admin/groups/' + req.params.name)
|
||||
});
|
||||
})
|
||||
|
||||
router.get('/members/:name/delete/:user', (req, res) => {
|
||||
memberService.delMember(req.params.user, req.params.name).then((result) => {
|
||||
res.redirect('/admin/groups/' + req.params.name)
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
router.use('/users/', require('../routes/admin/users.route'));
|
||||
router.use('/members/', require('../routes/admin/members.route'));
|
||||
router.use('/groups/', require('../routes/admin/groups.route'));
|
||||
router.use('/servers/', require('../routes/admin/servers.route'));
|
||||
|
||||
module.exports = router;
|
||||
68
routes/admin/groups.route.js
Normal file
68
routes/admin/groups.route.js
Normal file
@@ -0,0 +1,68 @@
|
||||
const express = require('express');
|
||||
const User = require("../../model/user.model");
|
||||
const Group = require("../../model/group.model");
|
||||
groupService = require("../../services/group.service");
|
||||
memberService = require("../../services/members.service");
|
||||
var router = express.Router();
|
||||
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
try {
|
||||
groupService.getGroupsWithMembers().then((groups) => {
|
||||
res.render('admin/groups', { "groups": groups })
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
router.post("/add", (req, res) => {
|
||||
if (req.body.group_name) {
|
||||
groupService.addGroup(req.body.group_name).then((result) => {
|
||||
res.redirect("/admin/groups")
|
||||
})
|
||||
} else {
|
||||
res.redirect("/admin/groups")
|
||||
}
|
||||
})
|
||||
|
||||
router.get("/delete/:group", (req, res) => {
|
||||
try {
|
||||
groupService.delGroup(req.params.group).then((result) => {
|
||||
res.redirect("/admin/groups")
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
router.get("/:name", async (req, res) => {
|
||||
try {
|
||||
if (req.params.name === "new") {
|
||||
res.render('admin/group_new')
|
||||
} else {
|
||||
Group.findOne({ where: { name: req.params.name } }).then((group) => {
|
||||
groupService.groupUserList(req.params.name).then((result) => {
|
||||
User.findAll().then((users) => {
|
||||
for (user in users) {
|
||||
if (JSON.stringify(result).includes(users[user].dataValues.id)) {
|
||||
delete users[user]
|
||||
}
|
||||
}
|
||||
res.render('admin/group_edit', { "group": group, "inGroup": result, "outGroup": users })
|
||||
});
|
||||
})
|
||||
});
|
||||
}
|
||||
} catch(e){
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = router;
|
||||
31
routes/admin/members.route.js
Normal file
31
routes/admin/members.route.js
Normal file
@@ -0,0 +1,31 @@
|
||||
const express = require('express');
|
||||
const User = require("../../model/user.model");
|
||||
const Group = require("../../model/group.model");
|
||||
groupService = require("../../services/group.service");
|
||||
const Member = require("../../model/member.model");
|
||||
memberService = require("../../services/members.service");
|
||||
var router = express.Router();
|
||||
|
||||
router.get('/:name/add/:user', (req, res) => {
|
||||
try {
|
||||
memberService.addMember(req.params.user, req.params.name).then((result) => {
|
||||
res.redirect('/admin/groups/' + req.params.name)
|
||||
});
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/:name/delete/:user', (req, res) => {
|
||||
try {
|
||||
memberService.delMember(req.params.user, req.params.name).then((result) => {
|
||||
res.redirect('/admin/groups/' + req.params.name)
|
||||
});
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
module.exports = router;
|
||||
63
routes/admin/servers.route.js
Normal file
63
routes/admin/servers.route.js
Normal file
@@ -0,0 +1,63 @@
|
||||
const express = require('express');
|
||||
const User = require("../../model/user.model");
|
||||
const Group = require("../../model/group.model");
|
||||
const Server = require("../../model/server.model");
|
||||
memberService = require("../../services/members.service");
|
||||
serverService = require("../../services/server.service");
|
||||
var router = express.Router();
|
||||
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
try {
|
||||
Server.findAll().then((servers) => {
|
||||
res.render('admin/servers', { "servers": servers })
|
||||
});
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
router.post("/add", (req, res) => {
|
||||
try {
|
||||
if (req.body.server_hostname && req.body.server_ip && req.body.server_username) {
|
||||
serverService.addServer(req.body.server_hostname, req.body.server_ip, req.body.server_username).then((result) => {
|
||||
|
||||
res.redirect("/admin/servers")
|
||||
})
|
||||
} else {
|
||||
res.redirect("/admin/servers")
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.get("/delete/:server", (req, res) => {
|
||||
try {
|
||||
serverService.delServer(req.params.server).then((result) => {
|
||||
res.redirect("/admin/servers")
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
router.get("/:name", async (req, res) => {
|
||||
try {
|
||||
if (req.params.name === "new") {
|
||||
res.render('admin/server_new')
|
||||
} else {
|
||||
console.log('a')
|
||||
}
|
||||
} catch(e){
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = router;
|
||||
71
routes/admin/users.route.js
Normal file
71
routes/admin/users.route.js
Normal file
@@ -0,0 +1,71 @@
|
||||
const express = require('express');
|
||||
const User = require("../../model/user.model");
|
||||
const Group = require("../../model/group.model");
|
||||
const Key = require("../../model/key.model");
|
||||
const keyService = require("../../services/keys.service");
|
||||
groupService = require("../../services/group.service");
|
||||
memberService = require("../../services/members.service");
|
||||
userService = require("../../services/users.service");
|
||||
var router = express.Router();
|
||||
|
||||
|
||||
router.get("/",async (req, res) => {
|
||||
try {
|
||||
User.findAll().then((users) => {
|
||||
res.render('admin/users', { "users": users})
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
router.get("/delete/:userId", (req, res) => {
|
||||
try {
|
||||
userService.delUser(req.params.userId).then((result) => {
|
||||
res.redirect("/admin/users")
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
router.get("/:id", async (req, res) => {
|
||||
try {
|
||||
User.findOne({ where: { id: req.params.id } }).then((user) => {
|
||||
Key.findAll({where: { "idOwner": user.id}}).then((keys) => {
|
||||
res.render('admin/user_edit', { "keys": keys, "user": user})});
|
||||
});
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.get("/:id/deleteKey/:key", (req, res) => {
|
||||
try {
|
||||
keyService.delKey(req.params.key, req.params.id).then((result) => {
|
||||
res.redirect("/admin/users/"+req.params.id)
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
});
|
||||
|
||||
router.post("/:id/addKey", (req, res) => {
|
||||
try {
|
||||
if (req.body.key_content && req.body.key_name) {
|
||||
keyService.addKey(req.body.key_content, req.body.key_name, req.params.id).then((result) => {
|
||||
res.redirect("/admin/users/"+req.params.id)
|
||||
})
|
||||
} else {
|
||||
res.redirect("/admin/users/"+req.params.id)
|
||||
}
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
module.exports = router;
|
||||
@@ -10,17 +10,21 @@ router.get("/login", (req, res) => {
|
||||
|
||||
|
||||
router.get("/callback", async (req, res) => {
|
||||
const access_token = await authService.getToken(req.query.code);
|
||||
const user = await authService.fetchUser(access_token);
|
||||
if (user) {
|
||||
await authService.syncUser(user);
|
||||
req.session.access_token = access_token;
|
||||
req.session.user = user;
|
||||
req.session.loggedin = true;
|
||||
req.session.admin = user.admin;
|
||||
res.redirect("/");
|
||||
} else {
|
||||
res.send("An error occured");
|
||||
try {
|
||||
const access_token = await authService.getToken(req.query.code);
|
||||
const user = await authService.fetchUser(access_token);
|
||||
if (user) {
|
||||
await authService.syncUser(user);
|
||||
req.session.access_token = access_token;
|
||||
req.session.user = user;
|
||||
req.session.loggedin = true;
|
||||
req.session.admin = user.admin;
|
||||
res.redirect("/");
|
||||
} else {
|
||||
res.send("An error occured");
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -13,28 +13,40 @@ router.get('*', (req, res, next) => {
|
||||
});
|
||||
|
||||
router.post("/add", (req, res) => {
|
||||
if (req.body.key_content && req.body.key_name) {
|
||||
keyService.addKey(req.body.key_content, req.body.key_name, req.session.user.id).then((result) => {
|
||||
try {
|
||||
if (req.body.key_content && req.body.key_name) {
|
||||
keyService.addKey(req.body.key_content, req.body.key_name, req.session.user.id).then((result) => {
|
||||
res.redirect("/keys")
|
||||
})
|
||||
} else {
|
||||
res.redirect("/keys")
|
||||
})
|
||||
} else {
|
||||
res.redirect("/keys")
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
router.get("/delete/:key", (req, res) => {
|
||||
keyService.delKey(req.params.key, req.session.user.id).then((result) => {
|
||||
res.redirect("/keys")
|
||||
})
|
||||
try {
|
||||
keyService.delKey(req.params.key, req.session.user.id).then((result) => {
|
||||
res.redirect("/keys")
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
Key.findAll({where: {idOwner: req.session.user.id}}).then((keys) => {
|
||||
res.render('keys', { "keys": keys })
|
||||
})
|
||||
try {
|
||||
Key.findAll({where: {idOwner: req.session.user.id}}).then((keys) => {
|
||||
res.render('keys', { "keys": keys })
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user