diff options
author | Bohdan Potuzhnyi <potub1@bfh.ch> | 2024-11-04 20:29:39 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2024-11-15 13:50:49 +0100 |
commit | cb9c060e5e12ea767603d7883be7b2919221ee4b (patch) | |
tree | d940bb2c282881214c3631a4c3b2d3cdebcfa71e | |
parent | b9313b5ea59d982d883efbee3ab5113caca702c2 (diff) |
first ideas on webhooks
-rw-r--r-- | src/backend/taler-merchant-httpd_private-post-orders.c | 37 |
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; |