diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-08-24 10:26:16 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-08-24 10:26:16 +0200 |
commit | cf74be0ac3e2190abb2b4a668ef4b600d9ab5062 (patch) | |
tree | 74063f0ba4c61a004a6926158cb4fe599ecd9915 /src | |
parent | d37d9d9ded72e63149efc96b6107d0edee3683a9 (diff) | |
download | exchange-cf74be0ac3e2190abb2b4a668ef4b600d9ab5062.tar.xz |
-handle case of GET purse status prior to deposit
Diffstat (limited to 'src')
-rw-r--r-- | src/exchange/taler-exchange-httpd_purses_get.c | 5 | ||||
-rw-r--r-- | src/lib/exchange_api_purses_get.c | 7 |
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 index c17f4b07c..3261ed34f 100644 --- 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 index 16b0e223e..be142e39c 100644 --- 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", |