diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs index d13414d6221da189d2fdbb58833c8be5dc868cde..fb3cb5b63299a90fcdb11b56be9ef5934c9a774a 100644 --- a/src/PaymentServer/Persistence.hs +++ b/src/PaymentServer/Persistence.hs @@ -140,3 +140,9 @@ getPaidVouchers dbConn = Set.fromList <$> 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) + +getDBConnection :: Text -> IO () +getDBConnection name = do + dbConn <- Sqlite.open name + Sqlite.execute_ dbConn "CREATE TABLE vouchers (id INTEGER PRIMARY KEY, name TEXT)" + Sqlite.execute_ dbConn "CREATE TABLE redeemed (id INTEGER PRIMARY KEY, voucher_id INTEGER, fingerprint TEXT, FOREIGN KEY (voucher_id) REFERENCES vouchers(id))"