feat: downloadable tx summary and logs

This commit is contained in:
José Oliveira 2021-03-19 18:53:50 +00:00 committed by Josh Harvey
parent bd9615c5ea
commit 92b6093a07
7 changed files with 311 additions and 37 deletions

View file

@ -162,4 +162,33 @@ function cancel (txId) {
.then(() => single(txId))
}
module.exports = { batch, single, cancel, getCustomerTransactionsBatch }
function getTx (txId, txClass) {
const cashInSql = `select 'cashIn' as tx_class, txs.*,
((not txs.send_confirmed) and (txs.created <= now() - interval $1)) as expired
from cash_in_txs as txs
where txs.id=$2`
const cashOutSql = `select 'cashOut' as tx_class,
txs.*,
(extract(epoch from (now() - greatest(txs.created, txs.confirmed_at))) * 1000) >= $2 as expired
from cash_out_txs txs
where txs.id=$1`
if (txClass === 'cashIn') {
return db.oneOrNone(cashInSql, [cashInTx.PENDING_INTERVAL, txId])
} else {
return db.oneOrNone(cashOutSql, [txId, REDEEMABLE_AGE])
}
}
function getTxAssociatedData (txId, txClass) {
const billsSql = `select 'bills' as bills, b.* from bills b where cash_in_txs_id = $1`
const actionsSql = `select 'cash_out_actions' as cash_out_actions, actions.* from cash_out_actions actions where tx_id = $1`
if (txClass === 'cashIn') {
return db.manyOrNone(billsSql, [txId])
} else {
return db.manyOrNone(actionsSql, [txId])
}
}
module.exports = { batch, single, cancel, getCustomerTransactionsBatch, getTx, getTxAssociatedData }