Skip to content
Snippets Groups Projects
Commit 068a3d8c authored by Jean-Paul Calderone's avatar Jean-Paul Calderone
Browse files

Some logging about voucher redemption

parent 36dd4c2c
No related branches found
No related tags found
1 merge request!31Redeem from issuer
......@@ -30,6 +30,9 @@ from zope.interface import (
implementer,
)
from twisted.logger import (
Logger,
)
from twisted.python.url import (
URL,
)
......@@ -300,6 +303,8 @@ class PaymentController(object):
the voucher. The data store marks the voucher as redeemed and stores
the unblinded tokens for use by the storage client.
"""
_log = Logger()
store = attr.ib()
redeemer = attr.ib()
......@@ -316,16 +321,20 @@ class PaymentController(object):
# server signs a given set of random tokens once or many times, the
# number of passes that can be constructed is still only the size of
# the set of random tokens.
self._log.info("Generating random tokens for a voucher ({voucher}).", voucher=voucher)
tokens = self.redeemer.random_tokens_for_voucher(Voucher(voucher), 100)
# Persist the voucher and tokens so they're available if we fail.
self._log.info("Persistenting random tokens for a voucher ({voucher}).", voucher=voucher)
self.store.add(voucher, tokens)
# Ask the redeemer to do the real task of redemption.
self._log.info("Redeeming random tokens for a voucher ({voucher}).", voucher=voucher)
d = self.redeemer.redeem(Voucher(voucher), tokens)
d.addCallback(
partial(self._redeemSuccess, voucher),
)
# XXX This needs an errback!
def _redeemSuccess(self, voucher, unblinded_tokens):
"""
......@@ -333,6 +342,7 @@ class PaymentController(object):
store the resulting unblinded tokens (which can be used to construct
passes later).
"""
self._log.info("Inserting redeemed unblinded tokens for a voucher ({voucher}).", voucher=voucher)
self.store.insert_unblinded_tokens_for_voucher(voucher, unblinded_tokens)
......
......@@ -24,6 +24,9 @@ from json import (
loads, dumps,
)
from twisted.logger import (
Logger,
)
from twisted.web.http import (
BAD_REQUEST,
)
......@@ -84,6 +87,8 @@ class _VoucherCollection(Resource):
redemption controller. Child resources of this resource can also be
retrieved to monitor the status of previously submitted vouchers.
"""
_log = Logger()
def __init__(self, store, controller):
self._store = store
self._controller = controller
......@@ -104,6 +109,7 @@ class _VoucherCollection(Resource):
if not is_syntactic_voucher(voucher):
return bad_request(u"submitted voucher is syntactically invalid").render(request)
self._log.info("Accepting a voucher ({voucher}) for redemption.", voucher=voucher)
self._controller.redeem(voucher)
return b""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment