mirror of
https://github.com/janishutz/libreevent.git
synced 2025-11-25 13:24:24 +00:00
event settings almost done
This commit is contained in:
@@ -52,6 +52,26 @@ class GETHandler {
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'getEvent' ) {
|
||||
db.getJSONDataSimple( 'eventDrafts', query.event ).then( data => {
|
||||
if ( Object.keys( data ).length > 1 ) {
|
||||
resolve( data );
|
||||
} else {
|
||||
reject( { 'code': 404, 'error': 'EventNotFound' } );
|
||||
}
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'getAllEvents' ) {
|
||||
db.getJSONData( 'eventDrafts' ).then( data => {
|
||||
db.getJSONData( 'events' ).then( dat => {
|
||||
resolve( { 'live': dat ?? {}, 'drafts': data ?? {} } );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else {
|
||||
reject( { 'code': 404, 'error': 'Route not found' } );
|
||||
}
|
||||
|
||||
@@ -54,6 +54,52 @@ class POSTHandler {
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'deleteLocation' ) {
|
||||
db.deleteJSONDataSimple( 'locations', data.location ).then( () => {
|
||||
resolve( 'ok' );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'createEvent' ) {
|
||||
db.getJSONDataSimple( 'eventDrafts', data.event ).then( dat => {
|
||||
if ( Object.keys( dat ).length < 1 ) {
|
||||
db.writeJSONDataSimple( 'eventDrafts', data.event, { 'name': 'Unnamed event', 'description': '', 'location': '', 'date': '', 'categories': {}, 'ageGroups': { '1': { 'id': 1, 'name': 'Child', 'age': '0 - 15.99' }, '2': { 'id': 2, 'name': 'Adult' } }, 'maxTickets': 2, 'eventID': data.event } ).then( () => {
|
||||
resolve( 'ok' );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else {
|
||||
reject( { 'code': 409, 'error': 'ExistsAlready' } );
|
||||
}
|
||||
} );
|
||||
} else if ( call === 'saveEvent' ) {
|
||||
db.writeJSONDataSimple( 'eventDrafts', data.event, data.eventData ).then( () => {
|
||||
resolve( 'ok' );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'deployEvent' ) {
|
||||
db.writeJSONDataSimple( 'events', data.event, data.eventData ).then( () => {
|
||||
resolve( 'ok' );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'deleteEvent' ) {
|
||||
db.deleteJSONDataSimple( 'eventDrafts', data.event ).then( () => {
|
||||
db.deleteJSONDataSimple( 'events', data.event ).then( () => {
|
||||
resolve( 'ok' );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'undeployEvent' ) {
|
||||
db.deleteJSONDataSimple( 'events', data.event ).then( () => {
|
||||
resolve( 'ok' );
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'saveTickets' ) {
|
||||
db.writeJSONDataSimple( 'tickets', data.location, data.data ).then( resp => {
|
||||
resolve( resp );
|
||||
|
||||
@@ -36,6 +36,16 @@ class GETHandler {
|
||||
} else {
|
||||
reject( { 'code': 400, 'message': 'Bad request, missing event query' } );
|
||||
}
|
||||
} else if ( call === 'getEvent' ) {
|
||||
db.getJSONDataSimple( 'events', query.event ).then( data => {
|
||||
if ( Object.keys( data ) ) {
|
||||
resolve( data );
|
||||
} else {
|
||||
reject( { 'code': 404, 'error': 'EventNotFound' } );
|
||||
}
|
||||
} ).catch( error => {
|
||||
reject( { 'code': 500, 'error': error } );
|
||||
} );
|
||||
} else if ( call === 'getName' ) {
|
||||
resolve( { 'name': settings.name } );
|
||||
} else {
|
||||
|
||||
@@ -17,7 +17,8 @@ class POSTHandler {
|
||||
db.getJSONData( 'booked' ).then( dat => {
|
||||
this.allSelectedSeats = dat;
|
||||
} );
|
||||
// TODO: Load from event db
|
||||
// TODO: Load from event db subtract all occupied seats from the ordered db from it.
|
||||
// TODO: When loading event data, also add currency to it from settings
|
||||
this.ticketTotals = { 'test2': { 'ticket1': 5, 'ticket2': 5 } };
|
||||
this.settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/../../config/settings.config.json' ) ) );
|
||||
}
|
||||
|
||||
1
src/server/backend/db/data/eventDrafts.json
Normal file
1
src/server/backend/db/data/eventDrafts.json
Normal file
@@ -0,0 +1 @@
|
||||
{"test3":{"name":"TestEvent3","description":"Test event to see if it works to save data to backend","location":"test2","date":"2023-08-25","categories":{"1":{"price":{"1":20,"2":30},"bg":"#FFFFFF","fg":"#000000","name":"Category 1","id":"1","ticketCount":1}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test3","time":"10:00","currency":"USD","isDraft":true}}
|
||||
@@ -151,4 +151,26 @@ module.exports.writeJSONData = ( db, data ) => {
|
||||
}
|
||||
} );
|
||||
} );
|
||||
};
|
||||
|
||||
module.exports.deleteJSONDataSimple = ( db, identifier ) => {
|
||||
return new Promise( ( resolve, reject ) => {
|
||||
fs.readFile( path.join( __dirname + '/data/' + db + '.json' ), ( error, data ) => {
|
||||
if ( error ) {
|
||||
reject( 'Error occurred: Error trace: ' + error );
|
||||
} else {
|
||||
let dat = {};
|
||||
if ( data.byteLength > 0 ) {
|
||||
dat = JSON.parse( data ) ?? {};
|
||||
}
|
||||
delete dat[ identifier ];
|
||||
fs.writeFile( path.join( __dirname + '/data/' + db + '.json' ), JSON.stringify( dat ), ( error ) => {
|
||||
if ( error ) {
|
||||
reject( 'Error occurred: Error trace: ' + error );
|
||||
}
|
||||
resolve( true );
|
||||
} );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user