From a4b5dcff37cdacfd0ed8178e95625113f98090c3 Mon Sep 17 00:00:00 2001 From: mrfry Date: Sun, 26 Mar 2023 20:43:40 +0200 Subject: [PATCH] setup fixes --- scripts/make.sh | 95 ------------------- scripts/setup.sh | 77 ++++++++++++++- .../api/{msgsDbStruct.ts => msgsDbStruct.js} | 2 +- .../{usersDBStruct.ts => usersDBStruct.js} | 5 +- src/standaloneUtils/dbSetup.js | 7 +- 5 files changed, 84 insertions(+), 102 deletions(-) delete mode 100755 scripts/make.sh rename src/modules/api/{msgsDbStruct.ts => msgsDbStruct.js} (98%) rename src/modules/api/{usersDBStruct.ts => usersDBStruct.js} (98%) diff --git a/scripts/make.sh b/scripts/make.sh deleted file mode 100755 index 80c5c54..0000000 --- a/scripts/make.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash - -hr() { - if [ -t 0 ]; then - printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '=' - fi -} - -log() { - hr - echo -e "\033[0;32m${@}\033[0m" - hr -} - -checkFile() { - if [ ! -f "$@" ]; then - log "$@ does not exists, exiting" - exit - fi -} - -function setupJson() { - if [ ! -f "$1" ]; then - echo "Setting up ${1}" - echo '{}' >"$1" - fi -} - -makeNextSubmodule() { - log "Making ${1}" - pushd "submodules/${1}/" || exit - npm install - npm audit fix - npm run export - popd || exit - linkTarget="$PWD/nextStatic/${2}" - if [ ! -f "${linkTarget}" ]; then - ln -sf "$PWD/submodules/${1}/out" "${linkTarget}" - fi -} - -./setup.sh - -log "Making project" -npm install -npm audit fix -npm run export - -log "Seting up next.js static stuff..." -mkdir "$PWD/nextStatic" - -# ------------------------------------------------------------------------------------ -makeNextSubmodule "qmining-page" "qminingPagePublic" -makeNextSubmodule "qmining-data-editor" "dataEditorPublic" -# ------------------------------------------------------------------------------------ - -log "Making moodle test userscript" -mkdir -pv "$PWD/publicDirs/qminingPublic/moodle-test-userscript" -checkFile "$PWD/submodules/moodle-test-userscript/stable.user.js" -ln -sfv "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/moodle-test-userscript/" -ln -sfv "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/" - -log "mkdir-ing/touching :3" - -# TODO: make server create these itself -mkdir -p stats -mkdir -p stats/logs -mkdir -p stats/vlogs -mkdir -p data -mkdir -p data/dbs -touch data/nolog - -#JSONS -setupJson stats/stats -setupJson stats/vstats -setupJson stats/idstats -setupJson stats/idvstats -setupJson publicDirs/qminingPublic/userSpecificMotd.json -setupJson publicDirs/qminingPublic/news.json - -touch publicDirs/qminingPublic/version -touch publicDirs/qminingPublic/motd - -if [ -z "$(ls -A ./data/dbs)" ]; then - log "Making DB-s" - pushd src/standaloneUtils || exit - NS_LOGLEVEL=2 node dbSetup.js - mv ./*.db ../../data/dbs - popd || exit -fi - -log "Disabling next telemetry" -npx --yes next telemetry disable - -log "Done!" diff --git a/scripts/setup.sh b/scripts/setup.sh index 3c9c027..8392c6b 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -1,7 +1,9 @@ #!/bin/bash hr() { - printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '=' + if [ -t 0 ]; then + printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '=' + fi } log() { @@ -17,6 +19,26 @@ checkFile() { fi } +function setupJson() { + if [ ! -f "$1" ]; then + echo "Setting up ${1}" + echo '{}' >"$1" + fi +} + +makeNextSubmodule() { + log "Making ${1}" + pushd "submodules/${1}/" || exit + npm install + npm audit fix > /dev/null 2> /dev/null + npm run export + popd || exit + linkTarget="$PWD/nextStatic/${2}" + if [ ! -f "${linkTarget}" ]; then + ln -sf "$PWD/submodules/${1}/out" "${linkTarget}" + fi +} + log 'Updating / Cloning project' checkFile "$PWD/src/server.ts" @@ -26,3 +48,56 @@ checkFile "$PWD/package-lock.json" git pull git submodule update --init --recursive + +log "Making project" +npm install +npm audit fix > /dev/null 2> /dev/null +npm run export + +log "Seting up next.js static stuff..." +mkdir "$PWD/nextStatic" + +# ------------------------------------------------------------------------------------ +makeNextSubmodule "qmining-page" "qminingPagePublic" +makeNextSubmodule "qmining-data-editor" "dataEditorPublic" +# ------------------------------------------------------------------------------------ + +log "Making moodle test userscript" +mkdir -pv "$PWD/publicDirs/qminingPublic/moodle-test-userscript" +checkFile "$PWD/submodules/moodle-test-userscript/stable.user.js" +ln -sfv "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/moodle-test-userscript/" +ln -sfv "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/" + +log "mkdir-ing/touching :3" + +# TODO: make server create these itself +mkdir -p stats +mkdir -p stats/logs +mkdir -p stats/vlogs +mkdir -p data +mkdir -p data/dbs +touch data/nolog + +#JSONS +setupJson stats/stats +setupJson stats/vstats +setupJson stats/idstats +setupJson stats/idvstats +setupJson publicDirs/qminingPublic/userSpecificMotd.json +setupJson publicDirs/qminingPublic/news.json + +touch publicDirs/qminingPublic/version +touch publicDirs/qminingPublic/motd + +if [ -z "$(ls -A ./data/dbs)" ]; then + log "Making DB-s" + pushd src/standaloneUtils || exit + NS_LOGLEVEL=2 node dbSetup.js + mv ./*.db ../../data/dbs + popd || exit +fi + +log "Disabling next telemetry" +npx --yes next telemetry disable + +log "Done!" diff --git a/src/modules/api/msgsDbStruct.ts b/src/modules/api/msgsDbStruct.js similarity index 98% rename from src/modules/api/msgsDbStruct.ts rename to src/modules/api/msgsDbStruct.js index b6e4138..f74f3a5 100644 --- a/src/modules/api/msgsDbStruct.ts +++ b/src/modules/api/msgsDbStruct.js @@ -51,4 +51,4 @@ const DbStruct = { }, } -export default DbStruct +exports = DbStruct diff --git a/src/modules/api/usersDBStruct.ts b/src/modules/api/usersDBStruct.js similarity index 98% rename from src/modules/api/usersDBStruct.ts rename to src/modules/api/usersDBStruct.js index a346039..eb7a2ee 100644 --- a/src/modules/api/usersDBStruct.ts +++ b/src/modules/api/usersDBStruct.js @@ -18,7 +18,7 @@ ------------------------------------------------------------------------- */ -const DBStruct = { +const DbStruct = { users: { tableStruct: { id: { @@ -96,4 +96,5 @@ const DBStruct = { }, }, } -export default DBStruct + +exports = DbStruct diff --git a/src/standaloneUtils/dbSetup.js b/src/standaloneUtils/dbSetup.js index b98c925..d1801ea 100644 --- a/src/standaloneUtils/dbSetup.js +++ b/src/standaloneUtils/dbSetup.js @@ -4,8 +4,8 @@ const dbtools = require('../../dist/utils/dbtools.js').default // eslint-disable const { v4: uuidv4 } = require('uuid') // eslint-disable-line const dbStructPaths = [ - { structPath: '../modules/api/usersDBStruct.json', name: 'users.db' }, - { structPath: '../modules/api/msgsDbStruct.json', name: 'msgs.db' }, + { structPath: '../modules/api/usersDBStruct.js', name: 'users.db' }, + { structPath: '../modules/api/msgsDbStruct.js', name: 'msgs.db' }, ] dbStructPaths.forEach((data) => { @@ -14,7 +14,8 @@ dbStructPaths.forEach((data) => { }) function createDB(path, name) { - const dbStruct = utils.ReadJSON(path) + // eslint-disable-next-line @typescript-eslint/no-var-requires + const dbStruct = require(path) const db = dbtools.GetDB(`./${name}`) db.pragma('synchronous = OFF')