summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd_post-orders-ID-claim.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-11-17 08:39:18 +0100
committerChristian Grothoff <christian@grothoff.org>2021-11-17 08:39:18 +0100
commitcd1270a53dfbd503ce8b5ab8b52d29c84a443339 (patch)
tree07ba11b8a3bf00c9b938c8edc4ca646abbba1fc6 /src/backend/taler-merchant-httpd_post-orders-ID-claim.c
parent33d4369dcf89e8868177e38e1a485002ce975005 (diff)
downloadmerchant-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.c25
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",
+ &timestamp),
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;