mrfrys-node-server/scripts/make.sh

75 lines
1.9 KiB
Bash
Executable file

#!/bin/bash
checkFile() {
if [ ! -f "$@" ]; then
echo "$@ does not exists, exiting"
exit
fi
}
checkFile "$PWD/src/server.js"
checkFile "$PWD/package.json"
git pull
git submodule update --init --recursive
echo "Installing node modules for server"
npm install
echo "Seting up next.js static stuff..."
mkdir "$PWD/nextStatic"
echo "Making qmining page"
pushd modules/qmining/qmining-page/
npm install
npm run export
popd
checkFile "$PWD/submodules/qmining-page/out"
ln -sf "$PWD/submodules/qmining-page/out" "$PWD/nextStatic/qminingPagePublic"
echo "Making data editor page"
pushd modules/dataEditor/qmining-data-editor/
npm install
npm run export
popd
checkFile "$PWD/submodules/qmining-data-editor/out"
ln -sf "$PWD/submodules/qmining-data-editor/out" "$PWD/nextStatic/dataEditorPublic"
echo "Making moodle test userscript"
mkdir -p "$PWD/publicDirs/qminingPublic/moodle-test-userscript"
checkFile "$PWD/submodules/moodle-test-userscript/stable.user.js"
ln -sf "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/moodle-test-userscript/"
ln -sf "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic"
echo "mkdir-ing/touching :3"
# TODO: make server create these itself
mkdir stats
touch nolog
#JSONS
echo '{}' >stats/stats
echo '{}' >stats/vstats
echo '{}' >stats/idstats
echo '{}' >stats/idvstats
touch qminingPublic/version
touch qminingPublic/motd
echo "wgetting data.json from frylabs..."
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"}' >./qminingPublic/data.json
fi
pushd utils
rm -v ../data/dbs/users.db
NS_SQL_DEBUG_LOG=true NS_LOGLEVEL=2 node dbSetup.js
popd
echo "Done!"
echo "npm start {loglevel}"
echo "To start server"