db: Use a reserve structure
This commit is contained in:
parent
363773698a
commit
39c538311d
@ -852,25 +852,27 @@ TALER_MINT_DB_commit (PGconn *db_conn)
|
||||
* Get the summary of a reserve.
|
||||
*
|
||||
* @param db the database connection handle
|
||||
* @param reserve_pub the public key identifying the reserve
|
||||
* @param balance the amount existing in the reserve (will be filled)
|
||||
* @param expiry expiration of the reserve (will be filled)
|
||||
* @return #GNUNET_OK upon success; #GNUNET_NO when the given reserve is not
|
||||
* found; #GNUNET_SYSERR upon failure
|
||||
* @param reserve the reserve data. The public key of the reserve should be set
|
||||
* in this structure; it is used to query the database. The balance
|
||||
* and expiration are then filled accordingly.
|
||||
* @return #GNUNET_OK upon success; #GNUNET_SYSERR upon failure
|
||||
*/
|
||||
int
|
||||
TALER_MINT_DB_reserve_get (PGconn *db,
|
||||
struct GNUNET_CRYPTO_EddsaPublicKey *reserve_pub,
|
||||
struct TALER_Amount *balance,
|
||||
struct GNUNET_TIME_Absolute *expiry)
|
||||
struct Reserve *reserve)
|
||||
{
|
||||
PGresult *result;
|
||||
uint64_t expiration_date_nbo;
|
||||
struct TALER_DB_QueryParam params[] = {
|
||||
TALER_DB_QUERY_PARAM_PTR(reserve_pub),
|
||||
TALER_DB_QUERY_PARAM_PTR(reserve->pub),
|
||||
TALER_DB_QUERY_PARAM_END
|
||||
};
|
||||
|
||||
if (NULL == reserve->pub)
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return GNUNET_SYSERR;
|
||||
}
|
||||
result = TALER_DB_exec_prepared (db,
|
||||
"get_reserve",
|
||||
params);
|
||||
@ -897,8 +899,8 @@ TALER_MINT_DB_reserve_get (PGconn *db,
|
||||
"current_balance_value",
|
||||
"current_balance_fraction",
|
||||
"current_balance_currency",
|
||||
balance));
|
||||
expiry->abs_value_us = GNUNET_ntohll (expiration_date_nbo);
|
||||
&reserve->balance));
|
||||
reserve->expiry.abs_value_us = GNUNET_ntohll (expiration_date_nbo);
|
||||
PQclear (result);
|
||||
return GNUNET_OK;
|
||||
|
||||
|
@ -137,6 +137,27 @@ struct BankTransfer
|
||||
/* FIXME: add functions to add bank transfers to our DB
|
||||
(and to test if we already did add one) (#3633) */
|
||||
|
||||
/**
|
||||
* A summary of a Reserve
|
||||
*/
|
||||
struct Reserve
|
||||
{
|
||||
/**
|
||||
* The reserve's public key. This uniquely identifies the reserve
|
||||
*/
|
||||
struct GNUNET_CRYPTO_EddsaPublicKey *pub;
|
||||
|
||||
/**
|
||||
* The balance amount existing in the reserve
|
||||
*/
|
||||
struct TALER_Amount balance;
|
||||
|
||||
/**
|
||||
* The expiration date of this reserve
|
||||
*/
|
||||
struct GNUNET_TIME_Absolute expiry;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Information we keep for a withdrawn coin to reproduce
|
||||
@ -173,16 +194,15 @@ struct CollectableBlindcoin
|
||||
* Get the summary of a reserve.
|
||||
*
|
||||
* @param db the database connection handle
|
||||
* @param reserve_pub the public key identifying the reserve
|
||||
* @param balance the amount existing in the reserve (will be filled)
|
||||
* @param expiry expiration of the reserve (will be filled)
|
||||
* @param reserve the reserve data. The public key of the reserve should be set
|
||||
* in this structure; it is used to query the database. The balance
|
||||
* and expiration are then filled accordingly.
|
||||
* @return #GNUNET_OK upon success; #GNUNET_SYSERR upon failure
|
||||
*/
|
||||
int
|
||||
TALER_MINT_DB_reserve_get (PGconn *db,
|
||||
struct GNUNET_CRYPTO_EddsaPublicKey *reserve_pub,
|
||||
struct TALER_Amount *balance,
|
||||
struct GNUNET_TIME_Absolute *expiry);
|
||||
struct Reserve *reserve);
|
||||
|
||||
|
||||
|
||||
/* FIXME: need call to convert CollectableBlindcoin to JSON (#3527) */
|
||||
|
Loading…
Reference in New Issue
Block a user