Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.get('/checkTrade/', function (req, res) {
- var tradeid = req.query['tradeid'];
- var offer = currentOffer[tradeid];
- if (offer.process) return res.json({
- type: offer.type,
- what: 'error',
- clear: false,
- message: 'Please slow down.'
- });
- offer.process = true;
- getTrade(tradeid, function(err, response) {
- if (err || !response) {
- res.json({
- type: offer.type,
- what: 'error',
- clear: false,
- message: 'There was an error while checking the status of the trade.'
- });
- offer.process = false;
- return;
- }
- if (response.trade_offer_state == 3) {
- logger.trace('Offer has been accepted in first step: '+ tradeid)
- res.json({
- type: offer.type,
- what: 'success',
- clear: true,
- message: 'Exchange went successful. Changing the balance '+(offer.type == 'withdraw' ? '-'+offer.coins : '+'+offer.coins)+' coins.',
- coins: (offer.type == 'withdraw' ? '-'+offer.coins : offer.coins),
- });
- if (offer.type == 'deposit') {
- getItems(tradeid, response.tradeid);
- query('UPDATE `users` SET `balance` = `balance` + '+offer.coins+' WHERE `steamid` = '+offer.steamid);
- logger.fatal('User: '+offer.steamid+' recived '+offer.coins+' coins for tradeid: '+tradeid);
- }
- if (offer.type == 'withdraw') {
- if (!response.items_to_give) {
- res.json({
- type: offer.type,
- what: 'error',
- clear: false,
- message: 'There was an error while checking the status of the trade.'
- });
- offer.process = false;
- return;
- }
- logger.fatal('User '+offer.steamid+' withdrawed items for '+offer.coins+' coins.')
- if (response.items_to_give) {
- logger.error('Items delete from store '+ tradeid)
- var assets = [];
- for (var index in response.items_to_give) {
- var item = response.items_to_give[index];
- assets.push(item.assetid)
- }
- query('DELETE FROM `inventory` WHERE `classid` IN (' + assets + ')');
- } else {
- logger.error('Error on delete items for trade '+ tradeid)
- }
- }
- query('UPDATE `trades` SET `status` = "done" WHERE `tradeid` = '+tradeid);
- delete currentOffer[tradeid];
- } else if (response.trade_offer_state == 2 || response.trade_offer_state == 9) {
- var cancel_time = parseFloat(offer.time) + 60;
- var current_time = parseInt(new Date().getTime() / 1000);
- if (cancel_time < current_time) {
- cancelTrade(tradeid, function(cancel) {
- if (cancel) {
- getTrade(tradeid, function(err, response2) {
- if (response2.trade_offer_state == 3) {
- logger.trace('Offer has been accepted in secoond step: '+ tradeid)
- res.json({
- type: offer.type,
- what: 'success',
- clear: true,
- message: 'Exchange went successful. Changing the balance '+(offer.type == 'withdraw' ? '-'+offer.coins : '+'+offer.coins)+' coins.',
- coins: (offer.type == 'withdraw' ? '-'+offer.coins : offer.coins),
- });
- if (offer.type == 'deposit') {
- getItems(tradeid, response2.tradeid);
- query('UPDATE `users` SET `balance` = `balance` + '+offer.coins+' WHERE `steamid` = '+offer.steamid);
- logger.fatal('User: '+offer.steamid+' recived '+offer.coins+' coins for tradeid: '+tradeid);
- }
- if (offer.type == 'withdraw') {
- if (!response.items_to_give) {
- res.json({
- type: offer.type,
- what: 'error',
- clear: false,
- message: 'There was an error while checking the status of the trade.'
- });
- offer.process = false;
- return;
- }
- logger.fatal('User '+offer.steamid+' withdrawed items for '+offer.coins+' coins.')
- if (response2.items_to_give) {
- logger.error('Items delete from store '+ tradeid)
- var assets = [];
- for (var index in response2.items_to_give) {
- var item = response2.items_to_give[index];
- assets.push(item.assetid)
- }
- query('DELETE FROM `inventory` WHERE `classid` IN (' + assets + ')');
- } else {
- logger.error('Error on delete items for trade '+ tradeid)
- }
- }
- query('UPDATE `trades` SET `status` = "done" WHERE `tradeid` = '+tradeid);
- delete currentOffer[tradeid];
- } else {
- if (offer.type == 'withdraw') {
- if (response.items_to_give) {
- logger.error('Items back to store '+ tradeid)
- var assets = [];
- for(var index in response.items_to_give) {
- var item = response.items_to_give[index];
- assets.push(item.assetid)
- }
- query('UPDATE `inventory` SET `intrade` = "0" WHERE `classid` IN (' + assets + ')');
- } else {
- logger.error('Error on intrade 0 items for trade '+ tradeid)
- }
- query('UPDATE `users` SET `balance` = `balance` + '+offer.coins+' WHERE `steamid` = '+offer.steamid);
- }
- res.json({
- type: offer.type,
- what: 'error',
- message: 'The trade offer has been rejected.',
- coins: (offer.type == 'withdraw' ? offer.coins : '-'+offer.coins),
- clear: true
- });
- logger.error('Offer has been declined in secoond step: '+ tradeid)
- query('UPDATE `trades` SET `status` = "declined" WHERE `tradeid` = '+tradeid);
- delete currentOffer[tradeid];
- }
- })
- } else {
- res.json({
- type: offer.type,
- what: 'error',
- clear: false,
- message: 'There was an error while checking the status of the trade.'
- });
- offer.process = false;
- }
- })
- } else {
- res.json({
- type: offer.type,
- what: 'warning',
- clear: false,
- message: 'Please accept the tradeoffer and check status again.'
- });
- offer.process = false;
- }
- } else {
- cancelTrade(tradeid, function(cancel) {
- if (cancel) {
- if (offer.type == 'withdraw') {
- if (response.items_to_give) {
- logger.error('Items back to store '+ tradeid)
- var assets = [];
- for(var index in response.items_to_give) {
- var item = response.items_to_give[index];
- assets.push(item.assetid)
- }
- query('UPDATE `inventory` SET `intrade` = "0" WHERE `classid` IN (' + assets + ')');
- } else {
- logger.error('Error on intrade 0 items for trade '+ tradeid)
- }
- query('UPDATE `users` SET `balance` = `balance` + '+offer.coins+' WHERE `steamid` = '+offer.steamid);
- }
- res.json({
- type: offer.type,
- what: 'error',
- clear: true,
- coins: (offer.type == 'withdraw' ? offer.coins : '-'+offer.coins),
- message: 'The trade offer has been rejected.',
- });
- logger.error('Offer has been declined in first step: '+ tradeid)
- query('UPDATE `trades` SET `status` = "declined" WHERE `tradeid` = '+tradeid);
- delete currentOffer[tradeid];
- } else {
- res.json({
- type: offer.type,
- what: 'error',
- clear: false,
- message: 'There was an error while checking the status of the trade.'
- });
- offer.process = false;
- }
- })
- }
- })
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement