improve cash-in error handling

This commit is contained in:
Josh Harvey 2017-04-23 16:37:25 +03:00
parent 86adfd0a63
commit 84a93599f5
9 changed files with 263 additions and 47 deletions

View file

@ -7,6 +7,8 @@ exports.up = function (next) {
'alter table cash_in_txs add column timedout boolean not null default false',
'alter table cash_in_txs add column send_time timestamptz',
'alter table cash_in_txs add column error_code text',
'alter table cash_in_txs add column operator_completed boolean not null default false',
'alter table cash_in_txs add column send_pending boolean not null default false',
'alter table cash_out_txs add column device_time bigint not null',
'alter table cash_out_txs add column timedout boolean not null default false'
]

View file

@ -0,0 +1,21 @@
var db = require('./db')
exports.up = function (next) {
var sql = [
`create table cash_in_actions (
id serial primary key,
tx_id uuid references cash_in_txs not null,
action text not null,
error text,
error_code text,
tx_hash text,
success boolean not null,
created timestamptz not null default now()
)`
]
db.multi(sql, next)
}
exports.down = function (next) {
next()
}

View file

@ -0,0 +1,40 @@
var db = require('./db')
exports.up = function (next) {
var sql = [
`create table cash_out_actions (
id serial primary key,
tx_id uuid references cash_out_txs not null,
action text not null,
to_address text,
error text,
error_code text,
tx_hash text,
success boolean not null,
provisioned_1 integer,
provisioned_2 integer,
dispensed_1 integer,
dispensed_2 integer,
rejected_1 integer,
rejected_2 integer,
denomination_1 integer,
denomination_2 integer,
redeem boolean not null default false,
device_time bigint,
created timestamptz not null default now()
)`,
'alter table cash_out_txs drop column dispensed_1',
'alter table cash_out_txs drop column dispensed_2',
'alter table cash_out_txs drop column rejected_1',
'alter table cash_out_txs drop column rejected_2',
'alter table cash_out_txs drop column denomination_1',
'alter table cash_out_txs drop column denomination_2',
'alter table cash_out_txs drop column dispense_error',
'alter table cash_out_txs add column dispense_confirmed boolean default false'
]
db.multi(sql, next)
}
exports.down = function (next) {
next()
}