various fixes

This commit is contained in:
janis
2023-08-28 17:09:56 +02:00
parent a0984782a8
commit 466a4fbd8b
9 changed files with 54 additions and 11 deletions

View File

@@ -8,9 +8,11 @@
*/
const db = require( '../../backend/db/db.js' );
const pm = require( '../../backend/plugins/manager.js' );
class GETHandler {
constructor ( settings ) {
this.pluginManager = new pm( settings );
this.settings = settings;
}
@@ -91,7 +93,7 @@ class GETHandler {
reject( { 'code': 500, 'message': 'ERR_DB: ' + err } );
} );
} else if ( call === 'getPaymentGatewaySettings' ) {
// TODO: Finish with plugin manager
pluginManager.loadPaymentGatewaySettings();
} else if ( call === 'getSettings' ) {
resolve( this.settings );
} else {

View File

@@ -10,11 +10,13 @@
const db = require( '../../backend/db/db.js' );
const fs = require( 'fs' );
const path = require( 'path' );
const pm = require( '../../backend/plugins/manager.js' );
const letters = [ ',', '{' ];
class POSTHandler {
constructor ( settings ) {
this.pluginManager = new pm( settings );
this.settings = settings;
}

View File

@@ -1 +1 @@
{"test4":{"secAr4s7":{"id":"secAr4s7","component":1,"ticketOption":"1","eventID":"test4","category":"1","name":"Row 5, Seat 8"}}}
{"test4":{"secAr4s7":{"id":"secAr4s7","component":1,"ticketOption":"1","eventID":"test4","category":"1","name":"Row 5, Seat 8"},"secAr6s14":{"id":"secAr6s14","component":1,"ticketOption":"2","eventID":"test4","category":"1","name":"Row 7, Seat 15"}}}

View File

@@ -47,7 +47,6 @@ module.exports.getData = ( db ) => {
};
module.exports.writeDataSimple = ( db, column, searchQuery, data ) => {
console.log( 'writingData' );
return new Promise( ( resolve, reject ) => {
dbh.query( { 'command': 'checkDataAvailability', 'property': column, 'searchQuery': searchQuery }, dbRef[ db ] ).then( res => {
if ( res.length > 0 ) {

View File

@@ -19,7 +19,10 @@ class JSONDB {
}
connect () {
let data = JSON.parse( fs.readFileSync( path.join( __dirname + '/data/db.json' ) ) );
let data = {};
try {
JSON.parse( fs.readFileSync( path.join( __dirname + '/data/db.json' ) ) );
} catch ( err ) {}
this.db = data[ 'db' ] ?? { 'libreevent_temp': {}, 'libreevent_admin': {}, 'libreevent_orders': {}, 'libreevent_users': {} };
this.dbIndex = data[ 'index' ] ?? { 'libreevent_temp': 0, 'libreevent_admin': 0, 'libreevent_orders': 0, 'libreevent_users': 0 };
this.db[ 'libreevent_temp' ] = {};

View File

@@ -11,13 +11,47 @@
This is the plugin manager. It is responsible for installing, updating and uninstalling plugins.
*/
const fs = require( 'fs' );
const path = require( 'path' );
class PluginManager {
constructor () {}
constructor ( settings ) {
this.paymentGateway = settings.payments;
this.allPlugins = {};
fs.readdir( path.join( __dirname + '/others' ), ( err, ls ) => {
for ( let file in ls ) {
const pluginSettings = JSON.parse( fs.readFileSync( path.join( __dirname + '/others/' + ls[ file ] + '/plugin.json' ) ) );
this.allPlugins[ ls[ file ] ] = pluginSettings;
}
} );
}
loadSettings ( plugin ) {
getPlugins () {
}
getPluginDetails ( plugin ) {
return new Promise( ( resolve, reject ) => {
fs.readFile( path.join( __dirname + '/others/' + plugin + '/plugin.json' ), ( err, file ) => {
resolve( file );
} );
} );
}
loadPaymentGatewaySettings () {
return new Promise( ( resolve, reject ) => {
fs.readFile( path.join( __dirname + '/payments/' + this.paymentGateway + '/configOptions.json' ), ( err, options ) => {
fs.readFile( path.join( __dirname + '/payments/' + this.paymentGateway + '/config.payments.json' ), ( err, config ) => {
let f = options;
for ( let s in f ) {
f[ s ][ 'value' ] = config[ s ];
}
resolve( f );
} );
} );
} );
}
saveSettings ( plugin, settings ) {
}

View File

@@ -172,10 +172,13 @@ module.exports = ( app, settings ) => {
}
}
db.writeJSONData( 'booked', booked ).then( () => {
delete pendingPayments[ sessionReference[ event.data.object.id ][ 'tok' ] ];
} );
db.deleteDataSimple( 'temp', 'user_id', sessionReference[ event.data.object.id ][ 'tok' ] ).catch( error => {
console.error( '[ STRIPE ] ERROR whilst deleting data from DB: ' + error );
db.deleteDataSimple( 'temp', 'user_id', sessionReference[ event.data.object.id ][ 'tok' ] ).then( () => {
delete pendingPayments[ sessionReference[ event.data.object.id ][ 'tok' ] ];
} ).catch( error => {
console.error( '[ STRIPE ] ERROR whilst deleting data from DB: ' + error );
} );
} ).catch( err => {
} );
} );
} );

View File

@@ -15,7 +15,7 @@
<p>You may find more infos about this part <a href="https://libreevent.janishutz.com/docs/setup/setup#page-setup" target="_blank">here</a></p>
<label for="template">Choose a template</label><br>
<select name="template" id="template" >
<select name="template" id="template">
<option v-for="option in options" :key="option.id" :value="option.id">{{ option.name }}</option>
</select><br>