gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] branch master updated: -implement logic to persist KYC


From: gnunet
Subject: [taler-merchant] branch master updated: -implement logic to persist KYC status returned from exchange
Date: Sun, 10 Oct 2021 21:13:56 +0200

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

grothoff pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new 862ef7cf -implement logic to persist KYC status returned from exchange
862ef7cf is described below

commit 862ef7cf8db650e3277128638c073746ed5ecedd
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Oct 10 21:13:54 2021 +0200

    -implement logic to persist KYC status returned from exchange
---
 ...r-merchant-httpd_private-get-instances-ID-kyc.c | 44 +++++++++++++++++++---
 1 file changed, 38 insertions(+), 6 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c 
b/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c
index 92b3d6be..da4064d7 100644
--- a/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c
+++ b/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c
@@ -390,12 +390,27 @@ exchange_check_cb (void *cls,
   struct KycContext *kc = ekr->kc;
 
   ekr->kyc = NULL;
-  // build up reply in 'kc'
   switch (ks->http_status)
   {
   case MHD_HTTP_OK:
-    // STORE in DB: ks->details.kyc_ok.{timestamp,exchange_pub,exchange_sig}
-    // FIXME...
+    {
+      enum GNUNET_DB_QueryStatus qs;
+
+      qs = TMH_db->account_kyc_set_status (TMH_db->cls,
+                                           kc->mi->settings.id,
+                                           &ekr->h_wire,
+                                           ekr->exchange_url,
+                                           ekr->exchange_kyc_serial,
+                                           &ks->details.kyc_ok.exchange_sig,
+                                           &ks->details.kyc_ok.exchange_pub,
+                                           ks->details.kyc_ok.timestamp,
+                                           true);
+      if (qs < 0)
+      {
+        GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                    "Failed to store KYC status in database!\n");
+      }
+    }
     break;
   case MHD_HTTP_ACCEPTED:
     GNUNET_assert (
@@ -411,8 +426,26 @@ exchange_check_cb (void *cls,
                                    ekr->payto_uri))));
     break;
   case MHD_HTTP_NO_CONTENT:
-    // STORE in DB: no KYC at this exchange!
-    // FIXME...
+    {
+      struct GNUNET_TIME_Absolute now;
+      enum GNUNET_DB_QueryStatus qs;
+
+      now = GNUNET_TIME_absolute_get ();
+      qs = TMH_db->account_kyc_set_status (TMH_db->cls,
+                                           kc->mi->settings.id,
+                                           &ekr->h_wire,
+                                           ekr->exchange_url,
+                                           ekr->exchange_kyc_serial,
+                                           NULL,
+                                           NULL,
+                                           now,
+                                           true);
+      if (qs < 0)
+      {
+        GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                    "Failed to store KYC status in database!\n");
+      }
+    }
     break;
   default:
     GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -433,7 +466,6 @@ exchange_check_cb (void *cls,
                                    ks->http_status))));
     break;
   }
-
   GNUNET_CONTAINER_DLL_remove (kc->exchange_pending_head,
                                kc->exchange_pending_tail,
                                ekr);

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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