From a2e199629812e8c0483fa7ef06757e21dbbef0ef Mon Sep 17 00:00:00 2001 From: MrFry Date: Mon, 13 Apr 2020 11:37:29 +0200 Subject: [PATCH] Moved public dirs to seperate directories --- make.sh | 8 ++--- modules.json | 52 ++++++++++++++++++++++++-------- modules/api/api.js | 27 +++++++++++------ modules/dataEditor/dataEditor.js | 8 ++++- modules/main/main.js | 8 ++--- modules/qmining/qmining.js | 8 ++++- modules/sio/sio.js | 15 ++++++--- modules/stuff/stuff.js | 23 +++++++++----- server.js | 3 +- 9 files changed, 108 insertions(+), 44 deletions(-) diff --git a/make.sh b/make.sh index 5aaebbe..6ed84fa 100755 --- a/make.sh +++ b/make.sh @@ -32,16 +32,16 @@ echo '{}' > stats/vstats echo '{}' > stats/idstats echo '{}' > stats/idvstats -touch public/version -touch public/motd +touch qminingPublic/version +touch qminingPublic/motd echo "wgetting data.json from frylabs..." -wget "http://qmining.frylabs.net/data.json" -O ./public/data.json +wget "http://qmining.frylabs.net/data.json" -O ./qminingPublic/data.json if [ "$?" -ne "0" ]; then echo "Failed to wget data.json, please create it yourself!" echo "Now starting with empty data!" - echo '{"Subjects":[],"version":"TESET","motd":"hai"}' > ./public/data.json + echo '{"Subjects":[],"version":"TESET","motd":"hai"}' > ./qminingPublic/data.json fi pushd utils diff --git a/modules.json b/modules.json index fe7a0b8..b268626 100644 --- a/modules.json +++ b/modules.json @@ -1,40 +1,68 @@ { "dataEditor": { "path": "./modules/dataEditor/dataEditor.js", - "publicdirs": [ "qminingPublic/", "modules/dataEditor/public/" ], + "publicdirs": [ + "qminingPublic/" + ], + "nextdir": "modules/dataEditor/public/", "name": "dataeditor", - "urls": [ "dataeditor.frylabs.net" ], + "urls": [ + "dataeditor.frylabs.net" + ], "isNextJs": true }, "qmining": { "path": "./modules/qmining/qmining.js", - "publicdirs": [ "qminingPublic/", "modules/qmining/public/" ], + "publicdirs": [ + "qminingPublic/" + ], + "nextdir": "modules/qmining/public/", "name": "qmining", - "urls": [ "qmining.frylabs.net" ], + "urls": [ + "qmining.frylabs.net" + ], "isNextJs": true }, "api": { "path": "./modules/api/api.js", - "publicdirs": [ "qminingPublic/" ], + "publicdirs": [ + "qminingPublic/" + ], "name": "api", - "urls": [ "api.frylabs.net", "localhost" ] + "urls": [ + "api.frylabs.net", + "localhost" + ] }, "main": { "path": "./modules/main/main.js", - "publicdirs": [ "public/" ], + "publicdirs": [ + "public/" + ], "name": "main", - "urls": [ "frylabs.net", "www.frylabs.net" ] + "urls": [ + "frylabs.net", + "www.frylabs.net" + ] }, "sio": { "path": "./modules/sio/sio.js", - "publicdirs": [ "sioPublic/" ], + "publicdirs": [ + "sioPublic/" + ], "name": "sio", - "urls": [ "sio.frylabs.net" ] + "urls": [ + "sio.frylabs.net" + ] }, "stuff": { "path": "./modules/stuff/stuff.js", - "publicdirs": [ "stuffPublic/" ], + "publicdirs": [ + "stuffPublic/" + ], "name": "stuff", - "urls": [ "stuff.frylabs.net" ] + "urls": [ + "stuff.frylabs.net" + ] } } diff --git a/modules/api/api.js b/modules/api/api.js index 814c055..024ba50 100644 --- a/modules/api/api.js +++ b/modules/api/api.js @@ -18,6 +18,7 @@ ------------------------------------------------------------------------- */ +// package requires const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') @@ -25,36 +26,44 @@ const uuidv4 = require('uuid/v4') // TODO: deprecated, but imports are not suppo const fs = require('fs') const app = express() -// const http = require('http') -// const https = require('https') - +// other requires const logger = require('../../utils/logger.js') const utils = require('../../utils/utils.js') const actions = require('../../utils/actions.js') const dbtools = require('../../utils/dbtools.js') const auth = require('../../middlewares/auth.middleware.js') -const recivedFiles = 'public/recivedfiles' -const uloadFiles = 'public/f' -const dataFile = 'public/data.json' +// files const msgFile = 'stats/msgs' -const motdFile = 'public/motd' -const versionFile = 'public/version' const passwordFile = 'data/dataEditorPasswords.json' const dataEditsLog = 'stats/dataEdits' const dailyDataCountFile = 'stats/dailyDataCount' const usersDbBackupPath = 'data/dbs/backup' +// other constants const maxVeteranPwGetCount = 10 const addPWPerDay = 1 // every x day a user can give a pw const maxPWCount = 6 // maximum pw give opportunities a user can have at once const daysAfterUserGetsPWs = 2 // days after user gets pw-s +// stuff gotten from server.js let userDB -let url +let url // eslint-disable-line let publicdirs = [] function GetApp () { + const p = publicdirs[0] + if (!p) { + throw new Error(`No public dir! ( API )`) + } + + // files in public dirs + const recivedFiles = p + 'recivedfiles' + const uloadFiles = p + 'f' + const dataFile = p + 'data.json' + const motdFile = p + 'motd' + const versionFile = p + 'version' + app.use(bodyParser.urlencoded({ limit: '10mb', extended: true diff --git a/modules/dataEditor/dataEditor.js b/modules/dataEditor/dataEditor.js index a1ebfcf..b046e01 100644 --- a/modules/dataEditor/dataEditor.js +++ b/modules/dataEditor/dataEditor.js @@ -18,17 +18,21 @@ ------------------------------------------------------------------------- */ +// package requires const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') const app = express() +// other requires const utils = require('../../utils/utils.js') const logger = require('../../utils/logger.js') const auth = require('../../middlewares/auth.middleware.js') +// stuff gotten from server.js let userDB let publicdirs = [] +let nextdir = '' function GetApp () { app.use(bodyParser.urlencoded({ @@ -55,6 +59,7 @@ function GetApp () { logger.Log(`Using public dir: ${pdir}`) app.use(express.static(pdir)) }) + app.use(express.static(nextdir)) app.use(busboy({ limits: { fileSize: 10000 * 1024 * 1024 @@ -80,7 +85,7 @@ function GetApp () { }) }) } - AddHtmlRoutes(utils.ReadDir('modules/dataEditor/public')) + AddHtmlRoutes(utils.ReadDir(nextdir)) // -------------------------------------------------------------- @@ -107,4 +112,5 @@ exports.getApp = GetApp exports.setup = (data) => { userDB = data.userDB publicdirs = data.publicdirs + nextdir = data.nextdir } diff --git a/modules/main/main.js b/modules/main/main.js index dbbcb99..3c4d070 100644 --- a/modules/main/main.js +++ b/modules/main/main.js @@ -18,18 +18,18 @@ ------------------------------------------------------------------------- */ -let url = '' // http(s)//asd.basd - +// package requires const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') const app = express() +// other requires const logger = require('../../utils/logger.js') -// const utils = require('../utils/utils.js') -// const actions = require('../utils/actions.js') +// stuff gotten from server.js let publicdirs = [] +let url = '' // http(s)//asd.basd function GetApp () { app.set('view engine', 'ejs') diff --git a/modules/qmining/qmining.js b/modules/qmining/qmining.js index de98ee1..4c8688f 100644 --- a/modules/qmining/qmining.js +++ b/modules/qmining/qmining.js @@ -18,18 +18,22 @@ ------------------------------------------------------------------------- */ +// package requires const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') const app = express() +// other requires const utils = require('../../utils/utils.js') const logger = require('../../utils/logger.js') const auth = require('../../middlewares/auth.middleware.js') +// stuff gotten from server.js let donateURL = '' let publicdirs = [] let userDB +let nextdir = '' try { donateURL = utils.ReadFile('./data/donateURL') @@ -66,6 +70,7 @@ function GetApp () { logger.Log(`Using public dir: ${pdir}`) app.use(express.static(pdir)) }) + app.use(express.static(nextdir)) app.use(busboy({ limits: { fileSize: 10000 * 1024 * 1024 @@ -171,7 +176,7 @@ function GetApp () { }) }) } - AddHtmlRoutes(utils.ReadDir('modules/qmining/public')) + AddHtmlRoutes(utils.ReadDir(nextdir)) // -------------------------------------------------------------- @@ -205,4 +210,5 @@ exports.getApp = GetApp exports.setup = (data) => { userDB = data.userDB publicdirs = data.publicdirs + nextdir = data.nextdir } diff --git a/modules/sio/sio.js b/modules/sio/sio.js index 7cfece4..f64b3f8 100644 --- a/modules/sio/sio.js +++ b/modules/sio/sio.js @@ -18,22 +18,29 @@ ------------------------------------------------------------------------- */ +// package requires const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') const fs = require('fs') const app = express() -// const http = require('http') -// const https = require('https') +// other requires const logger = require('../../utils/logger.js') const utils = require('../../utils/utils.js') -const uloadFiles = './public/f' - +// stuff gotten from server.js let publicdirs = [] function GetApp () { + const p = publicdirs[0] + if (!p) { + throw new Error(`No public dir! ( SIO )`) + } + + // files in public dirs + const uloadFiles = p + 'f' + app.set('view engine', 'ejs') app.set('views', [ './modules/sio/views', diff --git a/modules/stuff/stuff.js b/modules/stuff/stuff.js index b53a000..e113197 100644 --- a/modules/stuff/stuff.js +++ b/modules/stuff/stuff.js @@ -18,22 +18,29 @@ ------------------------------------------------------------------------- */ +// package requires const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') const fs = require('fs') const app = express() + +// other requires +const logger = require('../../utils/logger.js') + +// stuff gotten from server.js +let publicdirs = [] let url = '' -const logger = require('../../utils/logger.js') -// const utils = require('../utils/utils.js') -// const actions = require('../utils/actions.js') - -const listedFiles = './public/files' - -let publicdirs = [] - function GetApp () { + const p = publicdirs[0] + if (!p) { + throw new Error(`No public dir! ( Stuff )`) + } + + // files in public dirs + const listedFiles = p + 'files' + app.set('view engine', 'ejs') app.set('views', [ './modules/stuff/views', diff --git a/server.js b/server.js index 5560602..1da6d70 100755 --- a/server.js +++ b/server.js @@ -121,7 +121,8 @@ Object.keys(modules).forEach(function (k, i) { mod.setup({ url: 'https://' + x.urls[0], userDB: userDB, - publicdirs: x.publicdirs + publicdirs: x.publicdirs, + nextdir: x.nextdir }) }