various changes

This commit is contained in:
2023-08-23 11:58:37 +02:00
parent eacaebd84b
commit c3179194b8
9 changed files with 102 additions and 49 deletions

View File

@@ -62,6 +62,16 @@ class GETHandler {
} ).catch( error => {
reject( { 'code': 500, 'error': error } );
} );
} else if ( call === 'getEventStatus' ) {
db.getJSONDataSimple( 'events', query.event ).then( data => {
if ( Object.keys( data ) ) {
resolve( true );
} else {
resolve( false );
}
} ).catch( error => {
reject( { 'code': 500, 'error': error } );
} );
} else if ( call === 'getAllEvents' ) {
db.getJSONData( 'eventDrafts' ).then( data => {
db.getJSONData( 'events' ).then( dat => {

View File

@@ -11,6 +11,8 @@ const db = require( '../../backend/db/db.js' );
const fs = require( 'fs' );
const path = require( 'path' );
const letters = [ ',', '{' ];
class POSTHandler {
constructor ( settings ) {
this.settings = settings;
@@ -118,7 +120,19 @@ class POSTHandler {
this.settings[ 'twoFA' ] = data.twoFA;
this.settings[ 'currency' ] = data.currency;
this.settings[ 'payments' ] = data.payments;
fs.writeFileSync( path.join( __dirname + '/../../config/settings.config.json' ), JSON.stringify( this.settings ) );
this.settings[ 'ticketTimeout' ] = data.ticketTimeout;
const settingsString = JSON.stringify( this.settings );
let settingsToSave = '';
for ( let letter in settingsString ) {
if ( letters.includes( settingsString[ letter ] ) ) {
settingsToSave += settingsString[ letter ] + '\n\t';
} else if ( settingsString[ letter ] === '}' ) {
settingsToSave += '\n' + settingsString[ letter ];
} else {
settingsToSave += settingsString[ letter ];
}
}
fs.writeFileSync( path.join( __dirname + '/../../config/settings.config.json' ), settingsToSave );
db.getJSONData( 'events' ).then( dat => {
let updated = dat;
for ( let event in updated ) {

View File

@@ -52,6 +52,18 @@ class GETHandler {
} ).catch( error => {
reject( { 'code': 500, 'error': error } );
} );
} else if ( call === 'extendTicketDeletion' ) {
db.getDataSimple( 'temp', 'user_id', session.id ).then( res => {
if ( res[ 0 ] ) {
db.writeDataSimple( 'temp', 'user_id', session.id, { 'timestamp': new Date().toString() } );
// TODO: make sure it works, seems to be still unreliable
resolve( 'extended' );
} else {
reject( { 'code': 404, 'error': 'UserNotFound' } );
}
} ).catch( error => {
reject( { 'code': 500, 'error': error } );
} );
} else if ( call === 'getName' ) {
resolve( { 'name': settings.name } );
} else {

View File

@@ -1 +1 @@
{}
{"libreevent_temp":{"1":{"user_id":"Vw5d2Ak1jgC9Bj8Q-PzB2O0M1pc4QkR_","timestamp":"Wed Aug 23 2023 11:56:21 GMT+0200 (Central European Summer Time)","data":"{\"test4\":{\"secAr4s10\":{\"id\":\"secAr4s10\",\"component\":1,\"ticketOption\":\"2\",\"eventID\":\"test4\",\"category\":\"1\",\"name\":\"Row 5, Seat 11\"}}}"}},"libreevent_admin":{},"libreevent_orders":{},"libreevent_users":{}}

View File

@@ -208,7 +208,7 @@ const gc = () => {
*/
setInterval( () => {
gc();
}, parseInt( settings.gcInterval ) );
}, parseInt( settings.gcInterval ) * 1000 );
// TODO: Build garbage collector for DB (parse DB every so often (get from settings)
// and delete all items where timestamp is older than a certain amount of time (get from settings))

View File

@@ -1,15 +1,15 @@
{
"init":true,
"twoFA":"enforce",
"setupKey":"hello world",
"twoFAMode":"enhanced",
"db":"json",
"payments":"stripe",
"name":"libreevent",
"yourDomain":"http://localhost:8080",
"mailSender":"libreevent <info@libreevent.janishutz.com>",
"maxTickets":10,
"currency":"CHF",
"gcInterval": "600",
"ticketTimeout": "900"
"init":true,
"twoFA":"enforce",
"setupKey":"hello world",
"twoFAMode":"enhanced",
"db":"json",
"payments":"stripe",
"name":"libreevent",
"yourDomain":"http://localhost:8080",
"mailSender":"libreevent <info@libreevent.janishutz.com>",
"maxTickets":10,
"currency":"CHF",
"gcInterval":300,
"ticketTimeout":900
}