From 7891e62bf98bd884c8c993ae698f9a985dbacfbd Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 16 Dec 2023 17:54:16 +0800 Subject: partial implementation of protocol v6: GET with additional filters, POST not done --- src/lib/merchant_api_get_orders.c | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src/lib/merchant_api_get_orders.c') diff --git a/src/lib/merchant_api_get_orders.c b/src/lib/merchant_api_get_orders.c index 966ecb15..f79821db 100644 --- a/src/lib/merchant_api_get_orders.c +++ b/src/lib/merchant_api_get_orders.c @@ -235,6 +235,39 @@ TALER_MERCHANT_orders_get2 ( struct GNUNET_TIME_Relative timeout, TALER_MERCHANT_OrdersGetCallback cb, void *cb_cls) +{ + return TALER_MERCHANT_orders_get3 ( + ctx, + backend_url, + paid, + refunded, + wired, + NULL, + NULL, + date, + start_row, + delta, + timeout, + cb, + cb_cls); +} + + +struct TALER_MERCHANT_OrdersGetHandle * +TALER_MERCHANT_orders_get3 ( + struct GNUNET_CURL_Context *ctx, + const char *backend_url, + enum TALER_EXCHANGE_YesNoAll paid, + enum TALER_EXCHANGE_YesNoAll refunded, + enum TALER_EXCHANGE_YesNoAll wired, + const char *session_id, + const char *fulfillment_url, + struct GNUNET_TIME_Timestamp date, + uint64_t start_row, + int64_t delta, + struct GNUNET_TIME_Relative timeout, + TALER_MERCHANT_OrdersGetCallback cb, + void *cb_cls) { struct TALER_MERCHANT_OrdersGetHandle *ogh; CURL *eh; @@ -255,6 +288,8 @@ TALER_MERCHANT_orders_get2 ( /* build ogh->url with the various optional arguments */ { char *dstr; + char *fec = NULL; + char *sid = NULL; bool have_date; bool have_srow; char cbuf[30]; @@ -273,6 +308,14 @@ TALER_MERCHANT_orders_get2 ( sizeof (cbuf), "%llu", (unsigned long long) start_row); + if (NULL != session_id) + (void) GNUNET_STRINGS_urlencode (session_id, + strlen (session_id), + &sid); + if (NULL != fulfillment_url) + (void) GNUNET_STRINGS_urlencode (fulfillment_url, + strlen (fulfillment_url), + &fec); dstr = GNUNET_strdup (GNUNET_TIME_timestamp2s (date)); if (delta > 0) { @@ -314,8 +357,14 @@ TALER_MERCHANT_orders_get2 ( (0 != timeout_ms) ? tbuf : NULL, + "session_id", + sid, + "fulfillment_url", + fec, NULL); GNUNET_free (dstr); + GNUNET_free (sid); + GNUNET_free (fec); } if (NULL == ogh->url) { -- cgit v1.2.3