diff options
author | Jonathan Buchanan <jonathan.russ.buchanan@gmail.com> | 2020-07-03 18:23:46 -0400 |
---|---|---|
committer | Jonathan Buchanan <jonathan.russ.buchanan@gmail.com> | 2020-07-03 18:23:46 -0400 |
commit | 33d332a637d77524f140a20c0b636177276224a9 (patch) | |
tree | a0aa460e89e7379c6fd83ba19229bec54779c7d8 /src/backend/taler-merchant-httpd_private-get-transfers.c | |
parent | c4dc3bf39183559ddcfeafba65ef3d8635bc13fe (diff) | |
download | merchant-33d332a637d77524f140a20c0b636177276224a9.tar.gz merchant-33d332a637d77524f140a20c0b636177276224a9.tar.bz2 merchant-33d332a637d77524f140a20c0b636177276224a9.zip |
test GET /private/transfers
Diffstat (limited to 'src/backend/taler-merchant-httpd_private-get-transfers.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_private-get-transfers.c | 57 |
1 files changed, 21 insertions, 36 deletions
diff --git a/src/backend/taler-merchant-httpd_private-get-transfers.c b/src/backend/taler-merchant-httpd_private-get-transfers.c index f98b785b..8020fbe8 100644 --- a/src/backend/taler-merchant-httpd_private-get-transfers.c +++ b/src/backend/taler-merchant-httpd_private-get-transfers.c @@ -55,14 +55,12 @@ transfer_cb (void *cls, json_t *ja = cls; json_t *r; - r = json_pack ("{s:o, s:o, s:s, s:s, s:I, s:b, s:b}", + r = json_pack ("{s:o, s:o, s:s, s:s, s:I}", "credit_amount", TALER_JSON_from_amount (credit_amount), "wtid", GNUNET_JSON_from_data_auto (wtid), "payto_uri", payto_uri, "exchange_url", exchange_url, - "transfer_serial_id", (json_int_t) transfer_serial_id, - "verified", verified ? 1 : 0, - "confirmed", confirmed ? 1 : 0); + "transfer_serial_id", (json_int_t) transfer_serial_id); GNUNET_assert (NULL != r); if (GNUNET_TIME_UNIT_FOREVER_ABS.abs_value_us != execution_time.abs_value_us) @@ -72,6 +70,16 @@ transfer_cb (void *cls, "execution_time", GNUNET_JSON_from_time_abs (execution_time))); GNUNET_assert (0 == + json_object_set_new ( + r, + "verified", + json_boolean (verified ? 1 : 0))); + GNUNET_assert (0 == + json_object_set_new ( + r, + "confirmed", + json_boolean (confirmed ? 1 : 0))); + GNUNET_assert (0 == json_array_append_new (ja, r)); } @@ -177,43 +185,20 @@ TMH_private_get_transfers (const struct TMH_RequestHandler *rh, } else { - if (limit > 0) + if (limit < 0) offset = INT64_MAX; else offset = 0; } } - { - const char *verified_s; - - verified_s = MHD_lookup_connection_value (connection, - MHD_GET_ARGUMENT_KIND, - "verified"); - if (NULL == verified_s) - { - verified = TALER_EXCHANGE_YNA_ALL; - } - else if (0 == strcasecmp (verified_s, - "yes")) - { - verified = TALER_EXCHANGE_YNA_YES; - } - else if (0 == strcasecmp (verified_s, - "no")) - { - verified = TALER_EXCHANGE_YNA_NO; - } - else if (0 == strcasecmp (verified_s, - "all")) - { - verified = TALER_EXCHANGE_YNA_ALL; - } - else - return TALER_MHD_reply_with_error (connection, - MHD_HTTP_BAD_REQUEST, - TALER_EC_PARAMETER_MALFORMED, - "verified"); - } + if (! (TALER_arg_to_yna (connection, + "verified", + TALER_EXCHANGE_YNA_ALL, + &verified)) ) + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_BAD_REQUEST, + TALER_EC_PARAMETER_MALFORMED, + "verified"); TMH_db->preflight (TMH_db->cls); { |