diff --git a/lib/transaction.rb b/lib/transaction.rb index 921b9951c1f98c2d79f890f0576556d1846c0275..e4bce70f04bc4904ec08825e5e994a6aff4a41df 100644 --- a/lib/transaction.rb +++ b/lib/transaction.rb @@ -23,6 +23,20 @@ class Transaction end end + def delete + ids = [@transaction_id, "bonus_for_#{@transaction_id}"] + DB.query_defer(<<~SQL, ids) + DELETE FROM transactions WHERE transaction_id IN ($1, $2) + SQL + end + + def exists? + DB.query_one(<<~SQL, @transaction_id).then { |r| r[:count] == 1 } + SELECT COUNT(1) FROM transactions + WHERE transaction_id = $1 + SQL + end + def total amount + bonus end