From 7ebd61f6125ff0449a1a2325fdecb6d212803cee Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Tue, 27 Aug 2024 15:48:58 +0200 Subject: [PATCH] bump to V1.1.3 --- .gitignore | 5 ++++- package-lock.json | 13 ------------ package.json | 2 +- package.sh | 20 ++++++++++++++----- simple/{index.js => app.js} | 2 +- simple/config/db.config.json | 7 +++++++ simple/config/mail.config.json | 12 +++++++++++ simple/config/settings.config.json | 17 ++++++++++++++++ simple/package.json | 5 ++++- simple/setupkey.txt | 1 + src/server/admin/adminAPIRoutes.js | 2 +- src/server/app.js | 3 +++ src/server/backend/api/postHandler.js | 2 +- src/server/backend/credentials/pwdmanager.js | 2 +- src/server/backend/db/db.js | 4 ++-- src/server/backend/db/mysqldb.js | 2 +- src/server/backend/mail/mailSender.js | 2 +- src/server/backend/plugins/manager.js | 2 +- src/server/backend/tickets/ticketGenerator.js | 2 +- src/server/index.js | 10 ++++++---- src/server/package-lock.json | 4 ++-- src/server/package.json | 2 +- src/server/setup/setupRoutes.js | 6 +++--- src/webapp/main/package-lock.json | 4 ++-- src/webapp/main/package.json | 2 +- src/webapp/setup/package-lock.json | 4 ++-- src/webapp/setup/package.json | 2 +- 27 files changed, 92 insertions(+), 47 deletions(-) delete mode 100644 package-lock.json rename simple/{index.js => app.js} (90%) create mode 100644 simple/config/db.config.json create mode 100644 simple/config/mail.config.json create mode 100644 simple/config/settings.config.json create mode 100644 simple/setupkey.txt create mode 100644 src/server/app.js diff --git a/.gitignore b/.gitignore index 216728d..a561b3d 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,7 @@ node_modules ._wordcount_selection.tex /*.zip -AppMarketing \ No newline at end of file +AppMarketing + +yarn.lock +package-lock.json \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index c2769d8..0000000 --- a/package-lock.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "libreevent", - "version": "1.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "libreevent", - "version": "1.0.1", - "license": "GPL-3.0-or-later" - } - } -} diff --git a/package.json b/package.json index 645eed0..9e19b8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "description": "A free and open source event management solution", "main": "/dist/app.js", "scripts": { diff --git a/package.sh b/package.sh index d5b14dd..9663968 100755 --- a/package.sh +++ b/package.sh @@ -6,7 +6,7 @@ # # -v="V1.1.0" +v="V1.1.3" echo " _ _ _ _ @@ -115,11 +115,11 @@ echo " sleep 1 cd .. -zip -9r libreevent-$v-prebuilt.zip dist +zip -9r libreevent-$v-custom.zip dist echo " -==> Created prebuilt archive <== +==> Created custom archive <== ==> Creating archive for node_modules <== " @@ -154,12 +154,22 @@ zip -9r libreevent-$v-full-icu.zip src/server/package.json src/server/package-lo cd src/server npm uninstall full-icu +echo " + +==> Archived full-icu config <== +==> Creating archive for prebuilt install <== + +" + cd ../../dist cp ../README.md . -ls +cd .. +rm -rf ./simple/node_modules +rm ./simple/package-lock.json +rm ./simple/yarn.lock -# rm -rf dist +zip -9r libreevent-$v-prebuilt.zip simple echo " diff --git a/simple/index.js b/simple/app.js similarity index 90% rename from simple/index.js rename to simple/app.js index 484e0c6..f614e4e 100644 --- a/simple/index.js +++ b/simple/app.js @@ -13,4 +13,4 @@ const libreevent = require( 'libreevent' ); -libreevent.run(); \ No newline at end of file +libreevent.run( __dirname ); \ No newline at end of file diff --git a/simple/config/db.config.json b/simple/config/db.config.json new file mode 100644 index 0000000..f234057 --- /dev/null +++ b/simple/config/db.config.json @@ -0,0 +1,7 @@ +{ + "host": "", + "database": "", + "user": "", + "password": "", + "port": 3306 +} \ No newline at end of file diff --git a/simple/config/mail.config.json b/simple/config/mail.config.json new file mode 100644 index 0000000..586d737 --- /dev/null +++ b/simple/config/mail.config.json @@ -0,0 +1,12 @@ +{ + "host":"", + "port": 587, + "secure": false, + "auth": { + "user":"", + "pass":"" + }, + "tls": { + "servername": "" + } +} \ No newline at end of file diff --git a/simple/config/settings.config.json b/simple/config/settings.config.json new file mode 100644 index 0000000..44500d5 --- /dev/null +++ b/simple/config/settings.config.json @@ -0,0 +1,17 @@ +{ + "init":false, + "setupDone":false, + "twoFA":"allow", + "twoFAMode":"simple", + "db":"mysql", + "payments":"stripe", + "name":"libreevent", + "yourDomain":"", + "mailSender":"", + "maxTickets":10, + "currency":"USD", + "gcInterval":300, + "ticketTimeout":900, + "startPage":"default", + "version":"1.0.1" +} \ No newline at end of file diff --git a/simple/package.json b/simple/package.json index 99a3984..c513e03 100644 --- a/simple/package.json +++ b/simple/package.json @@ -19,5 +19,8 @@ "bugs": { "url": "https://github.com/janishutz/libreevent/issues" }, - "homepage": "https://libreevent.janishutz.com" + "homepage": "https://libreevent.janishutz.com", + "dependencies": { + "libreevent": "^1.1.3" + } } diff --git a/simple/setupkey.txt b/simple/setupkey.txt new file mode 100644 index 0000000..382628b --- /dev/null +++ b/simple/setupkey.txt @@ -0,0 +1 @@ +awe0g9pü02w 3tvaä9p4'efgt$ä'4fgtaäaw34ftg$a3qwf4t'p93wft3waqäü \ No newline at end of file diff --git a/src/server/admin/adminAPIRoutes.js b/src/server/admin/adminAPIRoutes.js index b043d75..d790dbf 100644 --- a/src/server/admin/adminAPIRoutes.js +++ b/src/server/admin/adminAPIRoutes.js @@ -15,7 +15,7 @@ const mlt = require( 'multer' ); const pngToIco = require( 'png-to-ico' ); const multer = mlt(); const fs = require( 'fs' ); -const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/../config/settings.config.json' ) ) ); +const settings = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ); const getHandler = new geth( settings ); const postHandler = new posth( settings ); diff --git a/src/server/app.js b/src/server/app.js new file mode 100644 index 0000000..79db325 --- /dev/null +++ b/src/server/app.js @@ -0,0 +1,3 @@ +const libreevent = require( './index.js' ); + +libreevent.run( __dirname ); \ No newline at end of file diff --git a/src/server/backend/api/postHandler.js b/src/server/backend/api/postHandler.js index 752b948..81117e3 100644 --- a/src/server/backend/api/postHandler.js +++ b/src/server/backend/api/postHandler.js @@ -20,7 +20,7 @@ class POSTHandler { this.temporarilySelectedTotals = {}; this.temporaryTotals = {}; this.freeSeats = {}; - this.settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/settings.config.json' ) ) ); + this.settings = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ); /* Here, GC-Duty is scheduled to run every so often (defined in settings.config.json file, no GUI setting available. diff --git a/src/server/backend/credentials/pwdmanager.js b/src/server/backend/credentials/pwdmanager.js index 6d8de01..00cb07a 100644 --- a/src/server/backend/credentials/pwdmanager.js +++ b/src/server/backend/credentials/pwdmanager.js @@ -23,7 +23,7 @@ const token = require( '../token.js' ); let createSSRApp = require( 'vue' ).createSSRApp; let renderToString = require( 'vue/server-renderer' ).renderToString; -const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/settings.config.json' ) ) ); +const settings = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ); module.exports.checkpassword = function checkpassword ( email, password ) { return new Promise( resolve => { diff --git a/src/server/backend/db/db.js b/src/server/backend/db/db.js index f01dd59..3cb7f69 100644 --- a/src/server/backend/db/db.js +++ b/src/server/backend/db/db.js @@ -10,7 +10,7 @@ const path = require( 'path' ); const fs = require( 'fs' ); -const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/settings.config.json' ) ) ); +const settings = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ); const dbRef = { 'user': 'libreevent_users', @@ -230,5 +230,5 @@ module.exports.saveSettings = ( settings ) => { settingsToSave += settingsString[ letter ]; } } - fs.writeFileSync( path.join( __dirname + '/../../config/settings.config.json' ), settingsToSave ); + fs.writeFileSync( path.join( __starterDir + '/config/settings.config.json' ), settingsToSave ); }; diff --git a/src/server/backend/db/mysqldb.js b/src/server/backend/db/mysqldb.js index 288c25c..7f84d54 100644 --- a/src/server/backend/db/mysqldb.js +++ b/src/server/backend/db/mysqldb.js @@ -16,7 +16,7 @@ const path = require( 'path' ); class SQLDB { constructor ( ) { - this.sqlConnection = mysql.createConnection( JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/db.config.json' ) ) ) ); + this.sqlConnection = mysql.createConnection( JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/db.config.json' ) ) ) ); } connect ( ) { diff --git a/src/server/backend/mail/mailSender.js b/src/server/backend/mail/mailSender.js index 0208a41..7ae0aba 100644 --- a/src/server/backend/mail/mailSender.js +++ b/src/server/backend/mail/mailSender.js @@ -12,7 +12,7 @@ const html2text = require( 'html-to-text' ); const db = require( '../db/db.js' ); -let transporter = mailer.createTransport( db.getJSONDataSync( '/config/mail.config.json' ) ); +let transporter = mailer.createTransport( db.getJSONDataSync( __starterDir + '/config/mail.config.json' ) ); class MailManager { diff --git a/src/server/backend/plugins/manager.js b/src/server/backend/plugins/manager.js index fa57b18..7b8d7eb 100644 --- a/src/server/backend/plugins/manager.js +++ b/src/server/backend/plugins/manager.js @@ -32,7 +32,7 @@ class PluginManager { loadPaymentGatewaySettings () { return new Promise( ( resolve, reject ) => { - this.paymentGateway = JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/settings.config.json' ) ) ).payments; + this.paymentGateway = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ).payments; fs.readFile( path.join( __dirname + '/payments/' + this.paymentGateway + '/configOptions.json' ), ( err, optionsBuffer ) => { if ( err ) reject( err ); fs.readFile( path.join( __dirname + '/payments/' + this.paymentGateway + '/config.payments.json' ), ( err, configBuffer ) => { diff --git a/src/server/backend/tickets/ticketGenerator.js b/src/server/backend/tickets/ticketGenerator.js index 4a9a1de..bc2533a 100644 --- a/src/server/backend/tickets/ticketGenerator.js +++ b/src/server/backend/tickets/ticketGenerator.js @@ -18,7 +18,7 @@ const mailManager = new mm(); let createSSRApp = require( 'vue' ).createSSRApp; let renderToString = require( 'vue/server-renderer' ).renderToString; -const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/settings.config.json' ) ) ); +const settings = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ); class TicketGenerator { constructor () { diff --git a/src/server/index.js b/src/server/index.js index e4e81fd..a952901 100644 --- a/src/server/index.js +++ b/src/server/index.js @@ -16,7 +16,8 @@ const http = require( 'http' ); const fs = require( 'fs' ); const token = require( './backend/token.js' ); -module.exports.run = () => { +module.exports.run = ( rootDir ) => { + global.__starterDir = rootDir ?? __dirname; console.log( ` _ _ _ _ @@ -46,7 +47,7 @@ module.exports.run = () => { ` ); console.log( '[ Server ] loading settings' ); - const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/config/settings.config.json' ) ) ); + const settings = JSON.parse( fs.readFileSync( path.join( __starterDir + '/config/settings.config.json' ) ) ); // Route for static html file for start page (page is compiled using @@ -64,9 +65,10 @@ module.exports.run = () => { // that good, but way easier to set up) console.log( '[ Server ] Setting up static routes' ); if ( settings.setupDone ) { - app.use( express.static( 'webapp/main/dist' ) ); + app.use( express.static( __dirname + '/webapp/main/dist' ) ); } else { - app.use( express.static( 'webapp/setup/dist' ) ); + console.log( '[ Server ] Booting into setup' ); + app.use( express.static( __dirname + '/webapp/setup/dist' ) ); } // initialise express with middlewares diff --git a/src/server/package-lock.json b/src/server/package-lock.json index 1c485f0..0f79553 100644 --- a/src/server/package-lock.json +++ b/src/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "license": "GPL-3.0-or-later", "dependencies": { "@pdfme/generator": "^1.2.6", diff --git a/src/server/package.json b/src/server/package.json index 3bc80a9..1109748 100644 --- a/src/server/package.json +++ b/src/server/package.json @@ -1,6 +1,6 @@ { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "description": "Free & Open source event management solution", "main": "index.js", "directories": { diff --git a/src/server/setup/setupRoutes.js b/src/server/setup/setupRoutes.js index d6dd0bd..d195467 100644 --- a/src/server/setup/setupRoutes.js +++ b/src/server/setup/setupRoutes.js @@ -21,7 +21,7 @@ module.exports = ( app, settings ) => { */ app.post( '/setup/start', bodyParser.json(), ( request, response ) => { - if ( request.body.token === '' + fs.readFileSync( path.join( __dirname + '/../setupkey.txt' ) ) ) { + if ( request.body.token === '' + fs.readFileSync( path.join( __starterDir + '/setupkey.txt' ) ) ) { request.session.setupKeyOk = true; response.send( 'ok' ); } else { @@ -39,7 +39,7 @@ module.exports = ( app, settings ) => { app.post( '/setup/saveBasicSettings', bodyParser.json(), ( req, res ) => { if ( req.session.setupKeyOk ) { - fs.writeFileSync( path.join( __dirname + '/../config/db.config.json' ), JSON.stringify( req.body.db ) ); + fs.writeFileSync( path.join( __starterDir + '/config/db.config.json' ), JSON.stringify( req.body.db ) ); let emailSettings = {}; emailSettings[ 'host' ] = req.body.email.host; emailSettings[ 'port' ] = req.body.email.port; @@ -47,7 +47,7 @@ module.exports = ( app, settings ) => { emailSettings[ 'auth' ] = { 'user': req.body.email.user, 'pass': req.body.email.pass }; let hostSplit = req.body.email.host.split( '.' ); emailSettings[ 'tls' ] = { 'servername': ( hostSplit[ hostSplit.length - 2 ] + '.' + hostSplit[ hostSplit.length - 1 ] ) }; - fs.writeFileSync( path.join( __dirname + '/../config/mail.config.json' ), JSON.stringify( emailSettings ) ); + fs.writeFileSync( path.join( __starterDir + '/config/mail.config.json' ), JSON.stringify( emailSettings ) ); if ( db === null ) { db = require( '../backend/db/db.js' ); pwm = require( '../admin/pwdmanager.js' ); diff --git a/src/webapp/main/package-lock.json b/src/webapp/main/package-lock.json index 4d04220..c537777 100644 --- a/src/webapp/main/package-lock.json +++ b/src/webapp/main/package-lock.json @@ -1,12 +1,12 @@ { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "dependencies": { "@pdfme/generator": "^1.2.3", "@pdfme/ui": "^3.2.1", diff --git a/src/webapp/main/package.json b/src/webapp/main/package.json index fe43a11..31be368 100644 --- a/src/webapp/main/package.json +++ b/src/webapp/main/package.json @@ -1,6 +1,6 @@ { "name": "libreevent", - "version": "1.1.0", + "version": "1.1.3", "private": false, "scripts": { "dev": "vite --host", diff --git a/src/webapp/setup/package-lock.json b/src/webapp/setup/package-lock.json index d2667f0..957f9fc 100644 --- a/src/webapp/setup/package-lock.json +++ b/src/webapp/setup/package-lock.json @@ -1,12 +1,12 @@ { "name": "libreevent-setup", - "version": "1.1.0", + "version": "1.1.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "libreevent-setup", - "version": "1.1.0", + "version": "1.1.3", "dependencies": { "pinia": "^2.1.3", "vue": "^3.3.4", diff --git a/src/webapp/setup/package.json b/src/webapp/setup/package.json index fdbe01c..f287749 100644 --- a/src/webapp/setup/package.json +++ b/src/webapp/setup/package.json @@ -1,6 +1,6 @@ { "name": "libreevent-setup", - "version": "1.1.0", + "version": "1.1.3", "private": true, "scripts": { "dev": "vite",