1
0
mirror of synced 2025-10-29 02:19:19 +00:00

added server management

This commit is contained in:
Valentin PUCCETTI
2023-09-11 15:21:36 +02:00
parent 298ef6d873
commit a034396dbe
23 changed files with 553 additions and 177 deletions

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

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

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

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