1
0
mirror of synced 2025-10-28 18:19:17 +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

@@ -10,7 +10,7 @@ async function addGroup(name) {
} else {
if (name && regexp.test(name)) {
Group.create({
name: name,
name: name.toLowerCase(),
}).then((result) => {
console.log('Group ' + result.name + ' added to database')
});
@@ -22,6 +22,8 @@ async function addGroup(name) {
});
}
async function delGroup(name) {
Group.findOne({where: { name: name}}).then((result) => {
if (result && regexp.test(name)) {

View File

@@ -3,19 +3,17 @@ const Key = require('../model/key.model')
const regexp = /^\S*$/;
async function addKey(content, name, idOwner) {
const id_key = idOwner.toString() + name;
Key.findOne({where: { idKey: id_key}}).then((result) => {
Key.findOne({where: { idOwner: idOwner, name: name}}).then((result) => {
if (result) {
return false;
} else {
if (content && name && idOwner && regexp.test(name, idOwner, content)) {
Key.create({
idKey: id_key,
idOwner: idOwner,
content: content,
name: name,
name: name.toLowerCase(),
}).then((key) => {
console.log('key ' + key.idKey + ' added to database')
console.log('key for ' + key.idOwner + ' added to database')
});
} else {
return false;
@@ -25,17 +23,13 @@ async function addKey(content, name, idOwner) {
});
}
async function delKey(id, idOwner) {
Key.findOne({where: { idKey: id}}).then((result) => {
if (result && regexp.test(id,idOwner)) {
if (result.idOwner !== idOwner) {
return false;
} else {
result.destroy()
.then(() => {
console.log('key ' + result.idKey + ' added to database')
});
}
async function delKey(name, idOwner) {
Key.findOne({where: { name: name, idOwner: idOwner}}).then((result) => {
if (result && regexp.test(name, idOwner)) {
result.destroy()
.then(() => {
console.log('key for ' + result.idOwner + ' deleted from database')
});
} else {
return false;

View File

@@ -0,0 +1,48 @@
const Group = require('../model/group.model')
const Member = require('../model/member.model')
const User = require('../model/user.model')
const Server = require('../model/server.model')
const regexp_space = /^\S*$/;
const regexp_ip = /^((25[05]|2[04][09]|[01]?[09][09]?).(25[05]|2[04][09]|[01]?[09][09]?).(25[05]|2[04][09]|[01]?[09][09]?).(25[05]|2[04][09]|[01]?[09][09]?))|((([09A-Fa-f]{1,4}:){7}[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){6}:[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){5}:([09A-Fa-f]{1,4}:)?[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){4}:([09A-Fa-f]{1,4}:){0,2}[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){3}:([09A-Fa-f]{1,4}:){0,3}[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){2}:([09A-Fa-f]{1,4}:){0,4}[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){6}((b((25[05])|(1d{2})|(2[04]d)|(d{1,2}))b).){3}(b((25[05])|(1d{2})|(2[04]d)|(d{1,2}))b))|(([09A-Fa-f]{1,4}:){0,5}:((b((25[05])|(1d{2})|(2[04]d)|(d{1,2}))b).){3}(b((25[05])|(1d{2})|(2[04]d)|(d{1,2}))b))|(::([09A-Fa-f]{1,4}:){0,5}((b((25[05])|(1d{2})|(2[04]d)|(d{1,2}))b).){3}(b((25[05])|(1d{2})|(2[04]d)|(d{1,2}))b))|([09A-Fa-f]{1,4}::([09A-Fa-f]{1,4}:){0,5}[09A-Fa-f]{1,4})|(::([09A-Fa-f]{1,4}:){0,6}[09A-Fa-f]{1,4})|(([09A-Fa-f]{1,4}:){1,7}:))$/
async function addServer(hostname, ip, username) {
Server.findOne({where: { hostname: hostname}}).then((result) => {
if (result) {
return false;
} else {
if (hostname && ip && username && regexp_space.test(hostname, username) && regexp_ip.test(ip)) {
Server.create({
hostname: hostname.toLowerCase(),
ip: ip,
username: username.toLowerCase()
}).then((result) => {
console.log('Server ' + result.hostname + ' added to database')
});
} else {
return false;
}
}
});
}
async function delServer(hostname) {
Server.findOne({where: { hostname: hostname}}).then((result) => {
if (result && regexp_space.test(hostname)) {
result.destroy()
.then(() => {
console.log('server ' + result.hostname + ' deleted from database')
});
} else {
return false;
}
});
}
module.exports = {
addServer,
delServer
};

View File

@@ -1,4 +1,8 @@
const User = require('../model/user.model')
const Key = require("../model/key.model");
const regexp = /^\S*$/;
async function userList(code) {
return await User.findAll()
@@ -15,6 +19,23 @@ function makeAdmin(userId) {
});
}
async function delUser(id) {
User.findOne({where: { id: id}}).then((result) => {
if (result && regexp.test(id)) {
result.destroy()
.then(() => {
console.log('user ' + id + ' deleted from database')
});
} else {
return false;
}
});
}
module.exports = {
makeAdmin
makeAdmin,
delUser,
};