summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd_private-get-transfers.c
diff options
context:
space:
mode:
authorJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-07-03 18:23:46 -0400
committerJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-07-03 18:23:46 -0400
commit33d332a637d77524f140a20c0b636177276224a9 (patch)
treea0aa460e89e7379c6fd83ba19229bec54779c7d8 /src/backend/taler-merchant-httpd_private-get-transfers.c
parentc4dc3bf39183559ddcfeafba65ef3d8635bc13fe (diff)
downloadmerchant-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.c57
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);
{