diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs index f3327860d61ea3a3746bd3386bb8f1f4074040b7..814a4ffbae83d0ca98545593e9edf026bb598084 100644 --- a/src/PaymentServer/Persistence.hs +++ b/src/PaymentServer/Persistence.hs @@ -113,8 +113,7 @@ memory = do instance VoucherDatabase Sqlite.Connection where -- payForVoucher :: Sqlite.Connection -> Voucher -> IO () - payForVoucher dbConn voucher = do - undefined + payForVoucher = insertVoucher -- redeemVoucher :: Sqlite.Connection -> Voucher -> Fingerprint -> IO (Either RedeemError ()) redeemVoucher dbConn voucher fingerprint = do unpaid <- isVoucherUnpaid dbConn voucher @@ -145,6 +144,10 @@ getVoucherFingerprint :: Sqlite.Connection -> Voucher -> IO [Fingerprint] getVoucherFingerprint dbConn voucher = do Sqlite.query dbConn "SELECT redeemed.fingerprint FROM vouchers INNER JOIN redeemed ON vouchers.id = redeemed.voucher_id AND vouchers.name = ?" (Sqlite.Only voucher) +insertVoucher :: Sqlite.Connection -> Voucher -> IO () +insertVoucher dbConn voucher = + Sqlite.execute dbConn "INSERT INTO vouchers (name) VALUES (?)" (Sqlite.Only voucher) + getDBConnection :: Text -> IO () getDBConnection name = do dbConn <- Sqlite.open (unpack name)