Moved public dirs to seperate directories

This commit is contained in:
MrFry 2020-04-13 11:37:29 +02:00
parent 3b25be8a60
commit a2e1996298
9 changed files with 108 additions and 44 deletions

View file

@ -32,16 +32,16 @@ echo '{}' > stats/vstats
echo '{}' > stats/idstats echo '{}' > stats/idstats
echo '{}' > stats/idvstats echo '{}' > stats/idvstats
touch public/version touch qminingPublic/version
touch public/motd touch qminingPublic/motd
echo "wgetting data.json from frylabs..." 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 if [ "$?" -ne "0" ]; then
echo "Failed to wget data.json, please create it yourself!" echo "Failed to wget data.json, please create it yourself!"
echo "Now starting with empty data!" 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 fi
pushd utils pushd utils

View file

@ -1,40 +1,68 @@
{ {
"dataEditor": { "dataEditor": {
"path": "./modules/dataEditor/dataEditor.js", "path": "./modules/dataEditor/dataEditor.js",
"publicdirs": [ "qminingPublic/", "modules/dataEditor/public/" ], "publicdirs": [
"qminingPublic/"
],
"nextdir": "modules/dataEditor/public/",
"name": "dataeditor", "name": "dataeditor",
"urls": [ "dataeditor.frylabs.net" ], "urls": [
"dataeditor.frylabs.net"
],
"isNextJs": true "isNextJs": true
}, },
"qmining": { "qmining": {
"path": "./modules/qmining/qmining.js", "path": "./modules/qmining/qmining.js",
"publicdirs": [ "qminingPublic/", "modules/qmining/public/" ], "publicdirs": [
"qminingPublic/"
],
"nextdir": "modules/qmining/public/",
"name": "qmining", "name": "qmining",
"urls": [ "qmining.frylabs.net" ], "urls": [
"qmining.frylabs.net"
],
"isNextJs": true "isNextJs": true
}, },
"api": { "api": {
"path": "./modules/api/api.js", "path": "./modules/api/api.js",
"publicdirs": [ "qminingPublic/" ], "publicdirs": [
"qminingPublic/"
],
"name": "api", "name": "api",
"urls": [ "api.frylabs.net", "localhost" ] "urls": [
"api.frylabs.net",
"localhost"
]
}, },
"main": { "main": {
"path": "./modules/main/main.js", "path": "./modules/main/main.js",
"publicdirs": [ "public/" ], "publicdirs": [
"public/"
],
"name": "main", "name": "main",
"urls": [ "frylabs.net", "www.frylabs.net" ] "urls": [
"frylabs.net",
"www.frylabs.net"
]
}, },
"sio": { "sio": {
"path": "./modules/sio/sio.js", "path": "./modules/sio/sio.js",
"publicdirs": [ "sioPublic/" ], "publicdirs": [
"sioPublic/"
],
"name": "sio", "name": "sio",
"urls": [ "sio.frylabs.net" ] "urls": [
"sio.frylabs.net"
]
}, },
"stuff": { "stuff": {
"path": "./modules/stuff/stuff.js", "path": "./modules/stuff/stuff.js",
"publicdirs": [ "stuffPublic/" ], "publicdirs": [
"stuffPublic/"
],
"name": "stuff", "name": "stuff",
"urls": [ "stuff.frylabs.net" ] "urls": [
"stuff.frylabs.net"
]
} }
} }

View file

@ -18,6 +18,7 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
// package requires
const express = require('express') const express = require('express')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const busboy = require('connect-busboy') 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 fs = require('fs')
const app = express() const app = express()
// const http = require('http') // other requires
// const https = require('https')
const logger = require('../../utils/logger.js') const logger = require('../../utils/logger.js')
const utils = require('../../utils/utils.js') const utils = require('../../utils/utils.js')
const actions = require('../../utils/actions.js') const actions = require('../../utils/actions.js')
const dbtools = require('../../utils/dbtools.js') const dbtools = require('../../utils/dbtools.js')
const auth = require('../../middlewares/auth.middleware.js') const auth = require('../../middlewares/auth.middleware.js')
const recivedFiles = 'public/recivedfiles' // files
const uloadFiles = 'public/f'
const dataFile = 'public/data.json'
const msgFile = 'stats/msgs' const msgFile = 'stats/msgs'
const motdFile = 'public/motd'
const versionFile = 'public/version'
const passwordFile = 'data/dataEditorPasswords.json' const passwordFile = 'data/dataEditorPasswords.json'
const dataEditsLog = 'stats/dataEdits' const dataEditsLog = 'stats/dataEdits'
const dailyDataCountFile = 'stats/dailyDataCount' const dailyDataCountFile = 'stats/dailyDataCount'
const usersDbBackupPath = 'data/dbs/backup' const usersDbBackupPath = 'data/dbs/backup'
// other constants
const maxVeteranPwGetCount = 10 const maxVeteranPwGetCount = 10
const addPWPerDay = 1 // every x day a user can give a pw 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 maxPWCount = 6 // maximum pw give opportunities a user can have at once
const daysAfterUserGetsPWs = 2 // days after user gets pw-s const daysAfterUserGetsPWs = 2 // days after user gets pw-s
// stuff gotten from server.js
let userDB let userDB
let url let url // eslint-disable-line
let publicdirs = [] let publicdirs = []
function GetApp () { 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({ app.use(bodyParser.urlencoded({
limit: '10mb', limit: '10mb',
extended: true extended: true

View file

@ -18,17 +18,21 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
// package requires
const express = require('express') const express = require('express')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const busboy = require('connect-busboy') const busboy = require('connect-busboy')
const app = express() const app = express()
// other requires
const utils = require('../../utils/utils.js') const utils = require('../../utils/utils.js')
const logger = require('../../utils/logger.js') const logger = require('../../utils/logger.js')
const auth = require('../../middlewares/auth.middleware.js') const auth = require('../../middlewares/auth.middleware.js')
// stuff gotten from server.js
let userDB let userDB
let publicdirs = [] let publicdirs = []
let nextdir = ''
function GetApp () { function GetApp () {
app.use(bodyParser.urlencoded({ app.use(bodyParser.urlencoded({
@ -55,6 +59,7 @@ function GetApp () {
logger.Log(`Using public dir: ${pdir}`) logger.Log(`Using public dir: ${pdir}`)
app.use(express.static(pdir)) app.use(express.static(pdir))
}) })
app.use(express.static(nextdir))
app.use(busboy({ app.use(busboy({
limits: { limits: {
fileSize: 10000 * 1024 * 1024 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) => { exports.setup = (data) => {
userDB = data.userDB userDB = data.userDB
publicdirs = data.publicdirs publicdirs = data.publicdirs
nextdir = data.nextdir
} }

View file

@ -18,18 +18,18 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
let url = '' // http(s)//asd.basd // package requires
const express = require('express') const express = require('express')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const busboy = require('connect-busboy') const busboy = require('connect-busboy')
const app = express() const app = express()
// other requires
const logger = require('../../utils/logger.js') 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 publicdirs = []
let url = '' // http(s)//asd.basd
function GetApp () { function GetApp () {
app.set('view engine', 'ejs') app.set('view engine', 'ejs')

View file

@ -18,18 +18,22 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
// package requires
const express = require('express') const express = require('express')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const busboy = require('connect-busboy') const busboy = require('connect-busboy')
const app = express() const app = express()
// other requires
const utils = require('../../utils/utils.js') const utils = require('../../utils/utils.js')
const logger = require('../../utils/logger.js') const logger = require('../../utils/logger.js')
const auth = require('../../middlewares/auth.middleware.js') const auth = require('../../middlewares/auth.middleware.js')
// stuff gotten from server.js
let donateURL = '' let donateURL = ''
let publicdirs = [] let publicdirs = []
let userDB let userDB
let nextdir = ''
try { try {
donateURL = utils.ReadFile('./data/donateURL') donateURL = utils.ReadFile('./data/donateURL')
@ -66,6 +70,7 @@ function GetApp () {
logger.Log(`Using public dir: ${pdir}`) logger.Log(`Using public dir: ${pdir}`)
app.use(express.static(pdir)) app.use(express.static(pdir))
}) })
app.use(express.static(nextdir))
app.use(busboy({ app.use(busboy({
limits: { limits: {
fileSize: 10000 * 1024 * 1024 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) => { exports.setup = (data) => {
userDB = data.userDB userDB = data.userDB
publicdirs = data.publicdirs publicdirs = data.publicdirs
nextdir = data.nextdir
} }

View file

@ -18,22 +18,29 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
// package requires
const express = require('express') const express = require('express')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const busboy = require('connect-busboy') const busboy = require('connect-busboy')
const fs = require('fs') const fs = require('fs')
const app = express() const app = express()
// const http = require('http')
// const https = require('https')
// other requires
const logger = require('../../utils/logger.js') const logger = require('../../utils/logger.js')
const utils = require('../../utils/utils.js') const utils = require('../../utils/utils.js')
const uloadFiles = './public/f' // stuff gotten from server.js
let publicdirs = [] let publicdirs = []
function GetApp () { 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('view engine', 'ejs')
app.set('views', [ app.set('views', [
'./modules/sio/views', './modules/sio/views',

View file

@ -18,22 +18,29 @@
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
// package requires
const express = require('express') const express = require('express')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const busboy = require('connect-busboy') const busboy = require('connect-busboy')
const fs = require('fs') const fs = require('fs')
const app = express() const app = express()
// other requires
const logger = require('../../utils/logger.js')
// stuff gotten from server.js
let publicdirs = []
let url = '' 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 () { 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('view engine', 'ejs')
app.set('views', [ app.set('views', [
'./modules/stuff/views', './modules/stuff/views',

View file

@ -121,7 +121,8 @@ Object.keys(modules).forEach(function (k, i) {
mod.setup({ mod.setup({
url: 'https://' + x.urls[0], url: 'https://' + x.urls[0],
userDB: userDB, userDB: userDB,
publicdirs: x.publicdirs publicdirs: x.publicdirs,
nextdir: x.nextdir
}) })
} }