aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBohdan Potuzhnyi <potub1@bfh.ch>2024-11-04 20:29:39 +0000
committerChristian Grothoff <christian@grothoff.org>2024-11-15 13:50:49 +0100
commitcb9c060e5e12ea767603d7883be7b2919221ee4b (patch)
treed940bb2c282881214c3631a4c3b2d3cdebcfa71e
parentb9313b5ea59d982d883efbee3ab5113caca702c2 (diff)
first ideas on webhooks
-rw-r--r--src/backend/taler-merchant-httpd_private-post-orders.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/backend/taler-merchant-httpd_private-post-orders.c b/src/backend/taler-merchant-httpd_private-post-orders.c
index ee2b3d85..3d8b89df 100644
--- a/src/backend/taler-merchant-httpd_private-post-orders.c
+++ b/src/backend/taler-merchant-httpd_private-post-orders.c
@@ -884,6 +884,7 @@ execute_transaction (struct OrderContext *oc)
TMH_db->rollback (TMH_db->cls);
return qs;
}
+
TMH_notify_order_change (oc->hc->instance,
TMH_OSF_NONE,
timestamp,
@@ -1077,6 +1078,42 @@ execute_order (struct OrderContext *oc)
/* Everything in-stock, generate positive response */
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Order creation succeeded\n");
+
+ {
+ enum GNUNET_DB_QueryStatus qs;
+ json_t *jhook;
+
+ jhook = GNUNET_JSON_PACK(
+ GNUNET_JSON_pack_string("order_id",
+ oc->parse_order.order_id),
+ GNUNET_JSON_pack_object_incref("contract",
+ oc->serialize_order.contract),
+ GNUNET_JSON_pack_string("instance_id",
+ oc->hc->instance->settings.id)
+ );
+ GNUNET_assert(NULL != jhook);
+
+// webhook_qs = TMH_trigger_webhook(oc->hc->instance->settings.id,
+// "order_created",
+// jhook);
+
+// json_decref(jhook);
+//
+// if (0 >= webhook_qs)
+// {
+// TMH_db->rollback (TMH_db->cls);
+// if (GNUNET_DB_STATUS_SOFT_ERROR == webhook_qs)
+// return webhook_qs; /* do it again */
+// /* Always report on hard error as well to enable diagnostics */
+// GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == webhook_qs);
+// reply_with_error (oc,
+// MHD_HTTP_INTERNAL_SERVER_ERROR,
+// TALER_EC_GENERIC_DB_STORE_FAILED,
+// "failed to trigger webhooks");
+// return webhook_qs;
+// }
+ }
+
{
MHD_RESULT ret;