diff options
author | Christian Grothoff <christian@grothoff.org> | 2023-02-04 21:54:47 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2023-02-04 21:54:47 +0100 |
commit | 5a18e955ebd663a6e1318378002a6368a7c07566 (patch) | |
tree | 9f1d6349f36bf053253382705e2032e8e738c5ba /src/lib | |
parent | 47b9ef598dc33e10294c1af4c7cf0e2ac71f553e (diff) | |
download | exchange-5a18e955ebd663a6e1318378002a6368a7c07566.tar.xz |
-fix AML decision update logic and history fetch logic
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/exchange_api_lookup_aml_decisions.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src/lib/exchange_api_lookup_aml_decisions.c b/src/lib/exchange_api_lookup_aml_decisions.c index 3b1db4556..f8a1d7fa3 100644 --- a/src/lib/exchange_api_lookup_aml_decisions.c +++ b/src/lib/exchange_api_lookup_aml_decisions.c @@ -82,12 +82,14 @@ parse_aml_decisions (const json_t *decisions, struct TALER_EXCHANGE_AmlDecisionSummary *decision = &decision_ar[idx]; uint32_t state32; struct GNUNET_JSON_Specification spec[] = { - GNUNET_JSON_spec_timestamp ("last_decision_time", - &decision->last_decision_time), GNUNET_JSON_spec_fixed_auto ("h_payto", &decision->h_payto), GNUNET_JSON_spec_uint32 ("current_state", &state32), + TALER_JSON_spec_amount_any ("threshold", + &decision->threshold), + GNUNET_JSON_spec_uint64 ("rowid", + &decision->rowid), GNUNET_JSON_spec_end () }; @@ -196,6 +198,8 @@ handle_lookup_finished (void *cls, GNUNET_assert (NULL == lh->decisions_cb); TALER_EXCHANGE_lookup_aml_decisions_cancel (lh); return; + case MHD_HTTP_NO_CONTENT: + break; case MHD_HTTP_BAD_REQUEST: lr.hr.ec = TALER_JSON_get_error_code (j); lr.hr.hint = TALER_JSON_get_error_hint (j); @@ -292,9 +296,26 @@ TALER_EXCHANGE_lookup_aml_decisions ( lh = GNUNET_new (struct TALER_EXCHANGE_LookupAmlDecisions); lh->decisions_cb = cb; lh->decisions_cb_cls = cb_cls; - lh->url = TALER_url_join (exchange_url, - arg_str, - NULL); + { + char delta_s[24]; + char start_s[24]; + + GNUNET_snprintf (delta_s, + sizeof (delta_s), + "%d", + delta); + GNUNET_snprintf (start_s, + sizeof (start_s), + "%llu", + (unsigned long long) start); + lh->url = TALER_url_join (exchange_url, + arg_str, + "delta", + delta_s, + "start", + start_s, + NULL); + } if (NULL == lh->url) { GNUNET_free (lh); |