This commit is contained in:
Josh Harvey 2016-05-06 04:28:15 +03:00
parent cd1e9bdb66
commit 3e48e50757
5 changed files with 110 additions and 11 deletions

View file

@ -264,8 +264,7 @@ function insertOutgoingCompleteTx (client, session, tx, cb) {
insertOutgoing(client, session, tx, satoshis, fiat, stage, authority, cb)
}
function insertIncoming (client, session, tx, satoshis, fiat, stage, authority,
cb) {
function insertIncoming (client, session, tx, satoshis, fiat, stage, authority, cb) {
var realSatoshis = satoshis || new BigNumber(0)
insertTx(client, session, true, tx, realSatoshis, fiat, stage, authority, cb)
}
@ -289,6 +288,7 @@ function insertTx (client, session, incoming, tx, satoshis, fiat, stage,
'crypto_code',
'fiat',
'tx_hash',
'phone',
'error'
]
@ -304,6 +304,7 @@ function insertTx (client, session, incoming, tx, satoshis, fiat, stage,
tx.cryptoCode,
fiat,
tx.txHash,
tx.phone,
tx.error
]
@ -486,11 +487,47 @@ function insertDispense (client, session, tx, cartridges, transactionId, cb) {
client.query(sql, values, cb)
}
exports.addIncomingPhone = function addIncomingPhone (session, tx, cb) {
var sql = 'UPDATE transactions SET phone=$1 ' +
'WHERE stage=$2 AND authority=$3 AND device_fingerprint=$4 AND session_id=$5'
connect(function (cerr, client, done) {
if (cerr) return cb(cerr)
var values = [tx.phone, 'initial_request', 'deposit', session.fingerprint, session.id]
query(client, sql, values, function (err) {
done(err)
cb(err)
})
})
}
function updateDispense (client, session, dispensed, cb) {
var sql = 'UPDATE transactions SET dispense=$1 ' +
'WHERE stage=$2 AND authority=$3 AND device_fingerprint=$4 AND session_id=$5'
var values = [dispensed, 'initial_request', 'deposit', session.fingerprint, session.id]
query(client, sql, values, function (err) {
cb(err)
})
}
exports.updateAuthorized = function updateAuthorized (session, cb) {
var sql = 'UPDATE transactions SET dispense=$1 ' +
'WHERE stage=$2 AND authority=$3 AND device_fingerprint=$4 AND session_id=$5'
connect(function (cerr, client, done) {
if (cerr) return cb(cerr)
var values = [true, 'initial_request', 'deposit', session.fingerprint, session.id]
query(client, sql, values, function (err) {
done(err)
cb(err)
})
})
}
exports.addDispense = function addDispense (session, tx, cartridges) {
connect(function (cerr, client, done) {
if (cerr) return
async.waterfall([
async.apply(updateDispense, client, true),
async.apply(insertIncoming, client, session, tx, 0, tx.fiat,
'dispense', 'authorized'),
async.apply(insertDispense, client, session, tx, cartridges)