mirror of
https://github.com/janishutz/libreevent.git
synced 2025-11-25 05:14:23 +00:00
improve ticket validation engine
This commit is contained in:
@@ -38,17 +38,30 @@ module.exports = ( app ) => {
|
||||
}
|
||||
db.getDataSimple( 'orders', 'order_name', req.body.ticketID.slice( 0, indexOfOrderNameEnd ) ).then( dat => {
|
||||
if ( dat[ 0 ] ) {
|
||||
const tickets = JSON.parse( dat[ 0 ][ 'tickets' ] );
|
||||
let tickets = JSON.parse( dat[ 0 ][ 'tickets' ] );
|
||||
const event = req.body.ticketID.slice( indexOfOrderNameEnd + 1, req.body.ticketID.lastIndexOf( '-' ) );
|
||||
const ticket = req.body.ticketID.slice( req.body.ticketID.lastIndexOf( '-' ) + 1, req.body.ticketID.length );
|
||||
if ( tickets[ event ] ) {
|
||||
if ( tickets[ event ][ ticket ] ) {
|
||||
if ( !tickets[ event ][ ticket ][ 'invalidated' ] ) {
|
||||
tickets[ event ][ ticket ][ 'invalidated' ] = true;
|
||||
db.writeDataSimple( 'orders', 'order_name', req.body.ticketID.slice( 0, req.body.ticketID.lastIndexOf( '_' ) ), { 'tickets': JSON.stringify( tickets ) } );
|
||||
res.send( 'ticketValid' );
|
||||
if ( tickets[ event ][ ticket ][ 'count' ] ) {
|
||||
if ( !tickets[ event ][ ticket ][ 'used' ] ) {
|
||||
tickets[ event ][ ticket ][ 'used' ] = 0;
|
||||
}
|
||||
if ( tickets[ event ][ ticket ][ 'used' ] == tickets[ event ][ ticket ][ 'count' ] ) {
|
||||
tickets[ event ][ ticket ][ 'used' ] += 1;
|
||||
db.writeDataSimple( 'orders', 'order_name', req.body.ticketID.slice( 0, req.body.ticketID.lastIndexOf( '_' ) ), { 'tickets': JSON.stringify( tickets ) } );
|
||||
res.send( 'ticketValid' );
|
||||
} else {
|
||||
res.send( 'ticketInvalid' );
|
||||
}
|
||||
} else {
|
||||
res.send( 'ticketInvalid' );
|
||||
if ( !tickets[ event ][ ticket ][ 'invalidated' ] ) {
|
||||
tickets[ event ][ ticket ][ 'invalidated' ] = true;
|
||||
db.writeDataSimple( 'orders', 'order_name', req.body.ticketID.slice( 0, req.body.ticketID.lastIndexOf( '_' ) ), { 'tickets': JSON.stringify( tickets ) } );
|
||||
res.send( 'ticketValid' );
|
||||
} else {
|
||||
res.send( 'ticketInvalid' );
|
||||
}
|
||||
}
|
||||
} else {
|
||||
res.send( 'ticketInvalid' );
|
||||
|
||||
Reference in New Issue
Block a user