commit cf74be0ac3e2190abb2b4a668ef4b600d9ab5062
parent d37d9d9ded72e63149efc96b6107d0edee3683a9
Author: Christian Grothoff <christian@grothoff.org>
Date: Wed, 24 Aug 2022 10:26:16 +0200
-handle case of GET purse status prior to deposit
Diffstat:
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/exchange/taler-exchange-httpd_purses_get.c b/src/exchange/taler-exchange-httpd_purses_get.c
@@ -431,8 +431,9 @@ TEH_handler_purses_get (struct TEH_RequestContext *rc,
GNUNET_JSON_pack_allow_null (
GNUNET_JSON_pack_timestamp ("merge_timestamp",
gc->merge_timestamp)),
- GNUNET_JSON_pack_timestamp ("deposit_timestamp",
- dt)
+ GNUNET_JSON_pack_allow_null (
+ GNUNET_JSON_pack_timestamp ("deposit_timestamp",
+ dt))
);
}
return res;
diff --git a/src/lib/exchange_api_purses_get.c b/src/lib/exchange_api_purses_get.c
@@ -95,6 +95,7 @@ handle_purse_get_finished (void *cls,
case MHD_HTTP_OK:
{
bool no_merge = false;
+ bool no_deposit = false;
struct TALER_ExchangePublicKeyP exchange_pub;
struct TALER_ExchangeSignatureP exchange_sig;
struct GNUNET_JSON_Specification spec[] = {
@@ -102,8 +103,10 @@ handle_purse_get_finished (void *cls,
GNUNET_JSON_spec_timestamp ("merge_timestamp",
&dr.details.success.merge_timestamp),
&no_merge),
- GNUNET_JSON_spec_timestamp ("deposit_timestamp",
- &dr.details.success.deposit_timestamp),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_timestamp ("deposit_timestamp",
+ &dr.details.success.deposit_timestamp),
+ &no_deposit),
TALER_JSON_spec_amount_any ("balance",
&dr.details.success.balance),
GNUNET_JSON_spec_fixed_auto ("exchange_pub",