pull/1/head
Valentin 2023-09-14 22:24:44 +02:00
parent 89951b45fe
commit 7627445863
2 changed files with 44 additions and 2 deletions

View File

@ -16,7 +16,7 @@ router.get("/:server/users", async (req, res) => {
console.log(result[0].serverUsername)
var raw = ''
for (x in result) {
raw += '# ' + result[x].login + ' (' + result[x].userId + ')' + '\n' + result[x].serverUsername + '\n\n'
raw += result[x].serverUsername + '\n'
}
res.send(raw)
})
@ -59,6 +59,31 @@ router.get("/:server/key/:user", async (req, res) => {
}
});
module.exports = router;
router.get("/:server/allkeys", async (req, res) => {
try {
Server.findOne({ where: { hostname: req.params.server } }).then((server) => {
if (server) {
if (bcrypt.compareSync(req.body.secret, server.secret)) {
serverService.getServerKeys(req.params.server).then((result) => {
var raw = ''
for (x in result) {
raw += '# ' + x + '\n' + result[x] + '\n\n'
}
res.send(raw)
server.lastPull = new Date()
server.save()
})
} else {
res.send("invalid request")
}
} else {
res.send("invalid request")
}
})
} catch (e) {
console.log(e)
}
});
module.exports = router;

View File

@ -84,6 +84,22 @@ async function getServerUserKey(server, serverUsername) {
return result
}
async function getServerKeys(server) {
const dump = await sequelize.query('SELECT name, content FROM servers JOIN accesses on accesses.serverHostname = servers.hostname JOIN members on members.groupName = accesses.groupName JOIN keys on keys.idOwner = members.userid WHERE serverHostname = \'' + server + '\'', {});
result = {}
console.log(dump)
for (x in dump) {
for (y in dump[x]) {
try {
if (dump[x][y]) {
result[dump[x][y].name] = dump[x][y].content.replace(/(\r\n|\n|\r)/gm, "");
}
} catch (e) {}
}
}
return result
}
async function getServerUsers(server) {
const dump = await sequelize.query('SELECT DISTINCT login, userId, serverUsername FROM servers JOIN users on users.id = members.userId JOIN accesses on accesses.serverHostname = servers.hostname JOIN members on members.groupName = accesses.groupName WHERE serverHostname = \'' + server + '\'', {});
return dump[0]
@ -112,6 +128,7 @@ async function getServerListForUserId(userId) {
module.exports = {
getServerUsers,
getServerKeys,
addServer,
delServer,
getServerUserKey,