[FEATURE] Quality of Life Improvements for Management (#7)

Co-authored-by: Dunemask <dunemask@gmail.com>
Reviewed-on: https://gitea.dunemask.dev/elysium/minecluster/pulls/7
This commit is contained in:
dunemask 2024-01-22 01:01:12 +00:00
parent 6eb4ed3e95
commit 23efaafe1d
18 changed files with 479 additions and 39 deletions

View file

@ -15,7 +15,7 @@ const dnsRegex = new RegExp(
function payloadFilter(req, res) {
const serverSpec = req.body;
if (!serverSpec) return res.sendStatus(400);
const { name, host, version, serverType, memory } = serverSpec;
const { name, host, version, serverType, memory, extraPorts } = serverSpec;
const { backupHost, backupBucket, backupId, backupKey, backupInterval } =
serverSpec;
if (!name) return res.status(400).send("Server name is required!");
@ -24,6 +24,14 @@ function payloadFilter(req, res) {
if (!version) return res.status(400).send("Server version is required!");
if (!serverType) return res.status(400).send("Server type is required!");
if (!memory) return res.status(400).send("Memory is required!");
if (
!!extraPorts &&
(!Array.isArray(extraPorts) ||
extraPorts.find((e) => typeof e !== "string" || e.length > 5))
)
return res
.status(400)
.send("Extra ports must be a list of strings with length of 5!");
// TODO: Impliment non creation time backups
if (
!!backupHost ||