improve transaction expiration
This commit is contained in:
parent
7f33e87c21
commit
996ebd395b
3 changed files with 27 additions and 14 deletions
|
|
@ -527,8 +527,8 @@ function normalizeTxs (txs) {
|
|||
exports.fetchPhoneTxs = function fetchPhoneTxs (phone, dispenseTimeout) {
|
||||
var sql = 'SELECT * FROM transactions ' +
|
||||
'WHERE phone=$1 AND dispensed=$2 ' +
|
||||
'AND (EXTRACT(EPOCH FROM (now() - created))) * 1000 < $1 ' +
|
||||
'AND stage=$3 AND authority=$4 AND incoming=$5'
|
||||
'AND (EXTRACT(EPOCH FROM (COALESCE(confirmation_time, now()) - created))) * 1000 < $3 ' +
|
||||
'AND stage=$4 AND authority=$5 AND incoming=$6'
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
connect(function (cerr, client, done) {
|
||||
|
|
@ -713,19 +713,29 @@ exports.fetchUnnotifiedTxs = function fetchUnnotifiedTxs (age, waitPeriod, cb) {
|
|||
})
|
||||
}
|
||||
|
||||
exports.updateTxStatus = function updateTxStatus (tx, status, cb) {
|
||||
var sql = 'UPDATE transactions SET status=$1 WHERE id=$2'
|
||||
|
||||
connect(function (cerr, client, done) {
|
||||
if (cerr) return cb(cerr)
|
||||
var values = [status, tx.id]
|
||||
query(client, sql, values, function (err) {
|
||||
done(err)
|
||||
cb(err)
|
||||
function pquery (sql, values) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connect(function (cerr, client, done) {
|
||||
if (cerr) return reject(cerr)
|
||||
query(client, sql, values, function (err, results) {
|
||||
done(err)
|
||||
if (err) return reject(err)
|
||||
resolve(results)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
exports.updateTxStatus = function updateTxStatus (tx, status, confirm) {
|
||||
var sql = confirm
|
||||
? 'UPDATE transactions SET status=$1, confirmation_time=now() WHERE id=$2'
|
||||
: 'UPDATE transactions SET status=$1 WHERE id=$2'
|
||||
|
||||
var values = [status, tx.id]
|
||||
|
||||
return pquery(sql, values)
|
||||
}
|
||||
|
||||
exports.updateRedeem = function updateRedeem (session, cb) {
|
||||
var sql = 'UPDATE transactions SET redeem=$1 ' +
|
||||
'WHERE incoming=$2 AND device_fingerprint=$3 AND session_id=$4 ' +
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue