gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-merchant] branch master updated: get refunds from da


From: gnunet
Subject: [GNUnet-SVN] [taler-merchant] branch master updated: get refunds from database, only testing for zero rows returned.
Date: Thu, 08 Jun 2017 10:38:35 +0200

This is an automated email from the git hooks/post-receive script.

marcello pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new de160b1  get refunds from database, only testing for zero rows 
returned.
de160b1 is described below

commit de160b1fb8c55f553d87ad7a19f82c143f2a11bc
Author: Marcello Stanisci <address@hidden>
AuthorDate: Thu Jun 8 10:37:35 2017 +0200

    get refunds from database, only testing for zero rows returned.
---
 src/backenddb/plugin_merchantdb_postgres.c | 17 +++++++++------
 src/backenddb/test_merchantdb.c            | 33 +++++++++++++++++++++++++++---
 2 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/backenddb/plugin_merchantdb_postgres.c 
b/src/backenddb/plugin_merchantdb_postgres.c
index 4dc4f1b..1a0fc58 100644
--- a/src/backenddb/plugin_merchantdb_postgres.c
+++ b/src/backenddb/plugin_merchantdb_postgres.c
@@ -123,7 +123,7 @@ postgres_initialize (void *cls)
                             ",PRIMARY KEY (order_id, merchant_pub)"
                             ");"),
     GNUNET_PQ_make_execute ("CREATE TABLE IF NOT EXISTS merchant_refunds ("
-                            " rtransaction_id SERIAL"
+                            " rtransaction_id INT8 NOT NULL"
                             ",h_contract_terms BYTEA NOT NULL"
                             ",coin_pub BYTEA NOT NULL CHECK 
(LENGTH(coin_pub)=32)"
                             ",reason VARCHAR NOT NULL"
@@ -271,6 +271,10 @@ postgres_initialize (void *cls)
                             " ORDER BY row_id DESC, timestamp DESC"
                             " LIMIT $3",
                             3),
+    GNUNET_PQ_make_prepare ("find_refunds_from_contract_terms_hash",
+                            "SELECT * FROM merchant_refunds"
+                            " WHERE h_contract_terms=$1",
+                            1),
     GNUNET_PQ_make_prepare ("find_contract_terms_by_date_and_range",
                             "SELECT"
                             " contract_terms"
@@ -1492,10 +1496,10 @@ postgres_find_deposits_by_wtid (void *cls,
  *         #GNUNET_SYSERR if there were errors talking to the DB
  */
 int
-get_refunds_from_contract_terms_hash (void *cls,
-                                      const struct GNUNET_HashCode 
*h_contract_terms,
-                                      TALER_MERCHANTDB_RefundCallback rc,
-                                      void *rc_cls)
+postgres_get_refunds_from_contract_terms_hash (void *cls,
+                                               const struct GNUNET_HashCode 
*h_contract_terms,
+                                               TALER_MERCHANTDB_RefundCallback 
rc,
+                                               void *rc_cls)
 {
 
   struct PostgresClosure *pg = cls;
@@ -1508,7 +1512,7 @@ get_refunds_from_contract_terms_hash (void *cls,
   };
 
   result = GNUNET_PQ_exec_prepared (pg->conn,
-                                    "FIXME",
+                                    "find_refunds_from_contract_terms_hash",
                                     params);
   if (PGRES_TUPLES_OK != PQresultStatus (result))
   {
@@ -1704,6 +1708,7 @@ libtaler_plugin_merchantdb_postgres_init (void *cls)
   plugin->find_contract_terms_by_date = &postgres_find_contract_terms_by_date;
   plugin->find_contract_terms_by_date_and_range = 
&postgres_find_contract_terms_by_date_and_range;
   plugin->find_contract_terms_from_hash = 
&postgres_find_contract_terms_from_hash;
+  plugin->get_refunds_from_contract_terms_hash = 
&postgres_get_refunds_from_contract_terms_hash;
 
   return plugin;
 }
diff --git a/src/backenddb/test_merchantdb.c b/src/backenddb/test_merchantdb.c
index 3bec78d..04e6707 100644
--- a/src/backenddb/test_merchantdb.c
+++ b/src/backenddb/test_merchantdb.c
@@ -200,6 +200,28 @@ transaction_cb (void *cls,
 }
 
 /**
+ * Function called with information about a refund.
+ *
+ * @param cls closure
+ * @param coin_pub public coin from which the refund comes from
+ * @param rtransaction_id identificator of the refund
+ * @param reason human-readable explaination of the refund
+ * @param refund_amount refund amount which is being taken from coin_pub
+ * @param refund_fee cost of this refund operation
+ */
+void
+refund_cb(void *cls,
+          const struct TALER_CoinSpendPublicKeyP *coin_pub,
+          uint64_t rtransaction_id,
+          const char *reason,
+          const struct TALER_Amount *refund_amount,
+          const struct TALER_Amount *refund_fee)
+{
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "refund_cb\n");
+  /* FIXME, more logic here? */
+}
+
+/**
  * Callback for `find_contract_terms_by_date`.
  *
  * @param cls closure
@@ -485,9 +507,9 @@ run (void *cls)
                                  NULL));
   FAILIF (GNUNET_OK !=
           plugin->find_transfers_by_hash (plugin->cls,
-                                        &h_contract_terms,
-                                        &transfer_cb,
-                                        NULL));
+                                          &h_contract_terms,
+                                          &transfer_cb,
+                                          NULL));
   FAILIF (GNUNET_OK !=
           plugin->find_deposits_by_wtid (plugin->cls,
                                          &wtid,
@@ -499,6 +521,11 @@ run (void *cls)
                                       &wtid,
                                       &proof_cb,
                                       NULL));
+  FAILIF (GNUNET_NO !=
+          plugin->get_refunds_from_contract_terms_hash (plugin->cls,
+                                                        &h_contract_terms,
+                                                        &refund_cb,
+                                                        NULL));
   if (-1 == result)
     result = 0;
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]