From 3e80e40223404d20704457bb90816ca8195d6966 Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Fri, 23 Aug 2019 21:10:57 +0200 Subject: [PATCH] Move database and masterMods folder creation Move the code creating the database and masterMods folders into the startServer function in master.js. --- master.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/master.js b/master.js index 714b98ce..94615de0 100644 --- a/master.js +++ b/master.js @@ -17,8 +17,6 @@ node master.js // argument parsing const args = require('minimist')(process.argv.slice(2)); -// Library for create folder recursively if it does not exist -const mkdirp = require("mkdirp"); const averagedTimeSeries = require("averaged-timeseries"); const deepmerge = require("deepmerge"); const path = require("path"); @@ -32,10 +30,6 @@ const request = require("request"); // constants console.log(`Requiring config from ${args.config || './config'}`); const config = require(args.config || './config'); -config.databaseDirectory = args.databaseDirectory || config.databaseDirectory || "./database"; -const masterModFolder = path.join(config.databaseDirectory, "/masterMods/"); -mkdirp.sync(config.databaseDirectory); -mkdirp.sync(masterModFolder); // homebrew modules const generateSSLcert = require("lib/generateSSLcert"); @@ -82,8 +76,6 @@ require("./routes.js")(app); require("./routes/api/getPictures.js")(app); // Set folder to serve static content from (the website) app.use(express.static('static')); -// mod downloads -app.use(express.static(masterModFolder)); // set up logging software const prometheusPrefix = "clusterio_"; @@ -356,7 +348,7 @@ POST Check if a mod has been uploaded to the master before. Only checks against */ app.post("/api/checkMod", authenticate.middleware, function(req,res) { endpointHitCounter.labels(req.route.path).inc(); - let files = fs.readdirSync(masterModFolder); + let files = fs.readdirSync(path.join(config.databaseDirectory, "masterMods")); let found = false; files.forEach(file => { if(file == req.body.modName) { @@ -992,6 +984,15 @@ async function startServer() { process.on('SIGINT', shutdown); // ctrl + c process.on('SIGHUP', shutdown); // terminal closed + config.databaseDirectory = args.databaseDirectory || config.databaseDirectory || "./database"; + await fs.ensureDir(config.databaseDirectory); + + const masterModFolder = path.join(config.databaseDirectory, "masterMods"); + await fs.ensureDir(masterModFolder); + + // mod downloads + app.use(express.static(masterModFolder)); + // Make sure we're actually going to listen on a port let httpPort = args.masterPort || config.masterPort; let httpsPort = args.sslPort || config.sslPort;