diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2018-12-13 18:52:34 +0100 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2018-12-13 18:52:34 +0100 |
commit | 36197b2265fea13237777ce36ce4e9584438f4c8 (patch) | |
tree | 4cfa147eb23668bd4836187c788a2901bb8f2a3d /talerbank/app/views.py | |
parent | 645dd65d30b6e97a0a8e194aff2fe9d29fb77862 (diff) | |
download | bank-36197b2265fea13237777ce36ce4e9584438f4c8.tar.gz bank-36197b2265fea13237777ce36ce4e9584438f4c8.tar.bz2 bank-36197b2265fea13237777ce36ce4e9584438f4c8.zip |
/history API refactoring.
'start' parameter defaults to MAX_UINT64, as when it's
not given the user is likely to want the X youngest records
(in descending order).
Diffstat (limited to 'talerbank/app/views.py')
-rw-r--r-- | talerbank/app/views.py | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/talerbank/app/views.py b/talerbank/app/views.py index 9583dff..7a974df 100644 --- a/talerbank/app/views.py +++ b/talerbank/app/views.py @@ -44,6 +44,8 @@ from .amount import Amount from .schemas import validate_data LOGGER = logging.getLogger(__name__) +MAX_UINT64 = (2**64) - 1 + class LoginFailed(Exception): hint = "Wrong username/password" http_status_code = 401 @@ -421,7 +423,7 @@ def query_history(bank_account, delta, start, sign, - descending=False): + descending=True): qs = query_history_raw(bank_account, direction, @@ -449,10 +451,6 @@ def query_history_raw(bank_account, direction, start, sign): "-": Q(id__lt=start), } - # Handle special case. - if start < 0: # return all the records. - sign = "+" - return BankTransaction.objects.filter( direction_switch.get(direction), sign_filter.get(sign)); @@ -474,7 +472,7 @@ def serve_history(request, user_account): qs = query_history(user_account.bankaccount, request.GET.get("direction"), int(parsed_delta.group(2)), - int(request.GET.get("start", -1)), + int(request.GET.get("start", MAX_UINT64)), sign if sign else "+") history = [] |