diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-12-28 23:44:17 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-12-28 23:44:17 +0100 |
commit | 880c14909bfdaf1199ffc5da989eccb52f6cac12 (patch) | |
tree | b135e2ea69a1df8ec2d09492873e025e8b2d2a06 /src/exchangedb | |
parent | 5533bcbf651eafce682212ce635bdf8ce83d4bcb (diff) | |
download | exchange-880c14909bfdaf1199ffc5da989eccb52f6cac12.tar.xz |
add notification logic on purse deletion
Diffstat (limited to 'src/exchangedb')
-rw-r--r-- | src/exchangedb/pg_select_purse.c | 7 | ||||
-rw-r--r-- | src/exchangedb/pg_select_purse.h | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/exchangedb/pg_select_purse.c b/src/exchangedb/pg_select_purse.c index e2a36c33e..9143e8721 100644 --- a/src/exchangedb/pg_select_purse.c +++ b/src/exchangedb/pg_select_purse.c @@ -35,7 +35,8 @@ TEH_PG_select_purse ( struct TALER_Amount *amount, struct TALER_Amount *deposited, struct TALER_PrivateContractHashP *h_contract_terms, - struct GNUNET_TIME_Timestamp *merge_timestamp) + struct GNUNET_TIME_Timestamp *merge_timestamp, + bool *purse_deleted) { struct PostgresClosure *pg = cls; struct GNUNET_PQ_QueryParam params[] = { @@ -57,6 +58,8 @@ TEH_PG_select_purse ( GNUNET_PQ_result_spec_timestamp ("merge_timestamp", merge_timestamp), NULL), + GNUNET_PQ_result_spec_bool ("purse_deleted", + purse_deleted), GNUNET_PQ_result_spec_end }; @@ -72,8 +75,10 @@ TEH_PG_select_purse ( ",balance_val" ",balance_frac" ",merge_timestamp" + ",purse_sig IS NOT NULL AS purse_deleted" " FROM purse_requests" " LEFT JOIN purse_merges USING (purse_pub)" + " LEFT JOIN purse_deletion USING (purse_pub)" " WHERE purse_pub=$1;"); *merge_timestamp = GNUNET_TIME_UNIT_FOREVER_TS; return GNUNET_PQ_eval_prepared_singleton_select (pg->conn, diff --git a/src/exchangedb/pg_select_purse.h b/src/exchangedb/pg_select_purse.h index f522256df..db63f0c90 100644 --- a/src/exchangedb/pg_select_purse.h +++ b/src/exchangedb/pg_select_purse.h @@ -37,6 +37,7 @@ * @param[out] deposited set to actual amount put into the purse so far * @param[out] h_contract_terms set to hash of the contract for the purse * @param[out] merge_timestamp set to time when the purse was merged, or NEVER if not + * @param[out] purse_deleted set to true if purse was deleted * @return transaction status code */ enum GNUNET_DB_QueryStatus @@ -48,7 +49,8 @@ TEH_PG_select_purse ( struct TALER_Amount *amount, struct TALER_Amount *deposited, struct TALER_PrivateContractHashP *h_contract_terms, - struct GNUNET_TIME_Timestamp *merge_timestamp); + struct GNUNET_TIME_Timestamp *merge_timestamp, + bool *purse_deleted); #endif |