diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-11-17 08:39:18 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-11-17 08:39:18 +0100 |
commit | cd1270a53dfbd503ce8b5ab8b52d29c84a443339 (patch) | |
tree | 07ba11b8a3bf00c9b938c8edc4ca646abbba1fc6 /src/backend/taler-merchant-httpd_post-orders-ID-claim.c | |
parent | 33d4369dcf89e8868177e38e1a485002ce975005 (diff) | |
download | merchant-cd1270a53dfbd503ce8b5ab8b52d29c84a443339.tar.gz merchant-cd1270a53dfbd503ce8b5ab8b52d29c84a443339.tar.bz2 merchant-cd1270a53dfbd503ce8b5ab8b52d29c84a443339.zip |
-misc fixes wrt long polling
Diffstat (limited to 'src/backend/taler-merchant-httpd_post-orders-ID-claim.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_post-orders-ID-claim.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-claim.c b/src/backend/taler-merchant-httpd_post-orders-ID-claim.c index e9551e3a..17475c9a 100644 --- a/src/backend/taler-merchant-httpd_post-orders-ID-claim.c +++ b/src/backend/taler-merchant-httpd_post-orders-ID-claim.c @@ -27,6 +27,7 @@ #include <jansson.h> #include <taler/taler_signatures.h> #include <taler/taler_json_lib.h> +#include "taler-merchant-httpd_private-get-orders.h" #include "taler-merchant-httpd_post-orders-ID-claim.h" @@ -60,6 +61,8 @@ claim_order (const char *instance_id, { struct TALER_ClaimTokenP order_ct; enum GNUNET_DB_QueryStatus qs; + uint64_t order_serial; + struct GNUNET_TIME_Absolute timestamp; if (GNUNET_OK != TMH_db->start (TMH_db->cls, @@ -68,16 +71,12 @@ claim_order (const char *instance_id, GNUNET_break (0); return GNUNET_DB_STATUS_HARD_ERROR; } - { - uint64_t order_serial; - - qs = TMH_db->lookup_contract_terms (TMH_db->cls, - instance_id, - order_id, - contract_terms, - &order_serial, - NULL); - } + qs = TMH_db->lookup_contract_terms (TMH_db->cls, + instance_id, + order_id, + contract_terms, + &order_serial, + NULL); if (0 > qs) { TMH_db->rollback (TMH_db->cls); @@ -91,6 +90,8 @@ claim_order (const char *instance_id, struct GNUNET_JSON_Specification spec[] = { GNUNET_JSON_spec_string ("nonce", &stored_nonce), + TALER_JSON_spec_absolute_time ("timestamp", + ×tamp), GNUNET_JSON_spec_end () }; @@ -162,6 +163,10 @@ claim_order (const char *instance_id, *contract_terms = NULL; return qs; } + TMH_notify_order_change (TMH_lookup_instance (instance_id), + TMH_OSF_CLAIMED, + timestamp, + order_serial); qs = TMH_db->commit (TMH_db->cls); if (0 > qs) return qs; |