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,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
};