commit fd9aecea775ff3b99b4a982316dc60d8cea67f41
parent a5342fa86c1b769e5196db9944947364a4c6aa01
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Thu, 23 Oct 2025 11:05:41 +0200
implement backend changes for #9148
Diffstat:
2 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/src/backend/taler-merchant-httpd_private-patch-instances-ID.c b/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
@@ -67,6 +67,8 @@ patch_instances_ID (struct TMH_MerchantInstance *mi,
const char *name;
struct TMH_WireMethod *wm_head = NULL;
struct TMH_WireMethod *wm_tail = NULL;
+ bool no_transfer_delay;
+ bool no_pay_delay;
bool no_refund_delay;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_string ("name",
@@ -93,10 +95,14 @@ patch_instances_ID (struct TMH_MerchantInstance *mi,
&is.jurisdiction),
GNUNET_JSON_spec_bool ("use_stefan",
&is.use_stefan),
- GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay",
- &is.default_wire_transfer_delay),
- GNUNET_JSON_spec_relative_time ("default_pay_delay",
- &is.default_pay_delay),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay",
+ &is.default_wire_transfer_delay),
+ &no_transfer_delay),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_relative_time ("default_pay_delay",
+ &is.default_pay_delay),
+ &no_pay_delay),
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_relative_time ("default_refund_delay",
&is.default_refund_delay),
@@ -150,6 +156,10 @@ patch_instances_ID (struct TMH_MerchantInstance *mi,
"jurisdiction");
}
+ if (no_transfer_delay)
+ is.default_wire_transfer_delay = mi->settings.default_wire_transfer_delay;
+ if (no_pay_delay)
+ is.default_pay_delay = mi->settings.default_pay_delay;
if (no_refund_delay)
is.default_refund_delay = mi->settings.default_refund_delay;
diff --git a/src/backend/taler-merchant-httpd_private-post-instances.c b/src/backend/taler-merchant-httpd_private-post-instances.c
@@ -64,6 +64,8 @@ post_instances (const struct TMH_RequestHandler *rh,
struct TMH_WireMethod *wm_head = NULL;
struct TMH_WireMethod *wm_tail = NULL;
const json_t *jauth;
+ bool no_transfer_delay;
+ bool no_pay_delay;
bool no_refund_delay;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_string ("id",
@@ -94,10 +96,14 @@ post_instances (const struct TMH_RequestHandler *rh,
&is.jurisdiction),
GNUNET_JSON_spec_bool ("use_stefan",
&is.use_stefan),
- GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay",
- &is.default_wire_transfer_delay),
- GNUNET_JSON_spec_relative_time ("default_pay_delay",
- &is.default_pay_delay),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_relative_time ("default_wire_transfer_delay",
+ &is.default_wire_transfer_delay),
+ &no_transfer_delay),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_relative_time ("default_pay_delay",
+ &is.default_pay_delay),
+ &no_pay_delay),
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_relative_time ("default_refund_delay",
&is.default_refund_delay),
@@ -116,6 +122,10 @@ post_instances (const struct TMH_RequestHandler *rh,
? MHD_YES
: MHD_NO;
}
+ if (no_transfer_delay)
+ is.default_wire_transfer_delay = TMH_default_wire_transfer_delay;
+ if (no_pay_delay)
+ is.default_pay_delay = TMH_default_pay_delay;
if (no_refund_delay)
is.default_refund_delay = TMH_default_refund_delay;
{