- Oct 25, 2019
-
-
Jean-Paul Calderone authored
-
- Oct 24, 2019
-
-
Ramakrishnan Muthukrishnan authored
`redeemVoucher' reads stuff from the db, makes decisions and then writes to the db. However if there is another client doing a simultaneous `redeemVoucher' for the same `voucher', then both of them would redeem the voucher, which is incorrect. The operations should have exclusive access to the db and this is achieved with `withExclusiveTransaction`.
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
Vouchers table contain all paid vouchers, so to find if a given voucher is unpaid, all we need to do is check membership in the `vouchers' table.
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
- Oct 23, 2019
-
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
Type class instances for `redeemVoucher` function has a lot of code duplication. This change refactors them to reuse the main logic of the code and abstract out parts that differ between instances.
-
Ramakrishnan Muthukrishnan authored
A few cosmetic changes.
-
- Oct 21, 2019
-
-
Ramakrishnan Muthukrishnan authored
-
- Oct 20, 2019
-
-
Ramakrishnan Muthukrishnan authored
Rename the `Memory' constructor that constructs MemoryVoucherDatabase into `MemoryDB' to avoid conflict.
-
Ramakrishnan Muthukrishnan authored
Also expose all functions for now, for testing via "stack ghci".
-
- Oct 18, 2019
-
-
Ramakrishnan Muthukrishnan authored
-
- Oct 17, 2019
-
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
Use this function to check if the given voucher is unpaid. Perhaps this can be done in Sql itself without resorting to set operations.
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
Ramakrishnan Muthukrishnan authored
-
- Oct 16, 2019
-
-
Jean-Paul Calderone authored
Use the git revision and sha256 for the latest version of privacypass
-
Ramakrishnan Muthukrishnan authored
-
- Sep 27, 2019
-
-
Jean-Paul Calderone authored
Ristretto-flavored PrivacyPass
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
This avoids needless build churn and potentially destabilizing changes from upstream (though the latter does not seem likely since upstream changes should not affect packages in our resolver, only newer resolvers).
-
- Sep 24, 2019
-
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
Jean-Paul Calderone authored
-
- Sep 23, 2019
-
-
Jean-Paul Calderone authored
-