gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] branch master updated: add claim token support to POST


From: gnunet
Subject: [taler-merchant] branch master updated: add claim token support to POST /orders/ID/claim, incomplete, lacks DB support (for #6446)
Date: Mon, 27 Jul 2020 11:02:04 +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 801da06  add claim token support to POST /orders/ID/claim, incomplete, 
lacks DB support (for #6446)
801da06 is described below

commit 801da06363ff85dc773a1c5776920ad0665b6209
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Jul 27 11:02:01 2020 +0200

    add claim token support to POST /orders/ID/claim, incomplete, lacks DB 
support (for #6446)
---
 .../taler-merchant-httpd_post-orders-ID-claim.c    | 28 +++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-claim.c 
b/src/backend/taler-merchant-httpd_post-orders-ID-claim.c
index e7d0c84..5c8fa54 100644
--- a/src/backend/taler-merchant-httpd_post-orders-ID-claim.c
+++ b/src/backend/taler-merchant-httpd_post-orders-ID-claim.c
@@ -158,6 +158,7 @@ TMH_post_orders_ID_claim (const struct TMH_RequestHandler 
*rh,
   const char *nonce;
   enum GNUNET_DB_QueryStatus qs;
   json_t *contract_terms;
+  struct TALER_ClaimTokenP claim_token;
 
   {
     struct GNUNET_JSON_Specification spec[] = {
@@ -175,6 +176,30 @@ TMH_post_orders_ID_claim (const struct TMH_RequestHandler 
*rh,
              ? MHD_YES
              : MHD_NO;
   }
+  if (NULL != json_object_get (hc->request_body,
+                               "token"))
+  {
+    struct GNUNET_JSON_Specification spec[] = {
+      GNUNET_JSON_spec_fixed_auto ("token",
+                                   &claim_token),
+      GNUNET_JSON_spec_end ()
+    };
+    enum GNUNET_GenericReturnValue res;
+
+    res = TALER_MHD_parse_json_data (connection,
+                                     hc->request_body,
+                                     spec);
+    if (GNUNET_OK != res)
+      return (GNUNET_NO == res)
+             ? MHD_YES
+             : MHD_NO;
+  }
+  else
+  {
+    memset (&claim_token,
+            0,
+            sizeof (claim_token));
+  }
   contract_terms = NULL;
   for (unsigned int i = 0; i<MAX_RETRIES; i++)
   {
@@ -182,6 +207,7 @@ TMH_post_orders_ID_claim (const struct TMH_RequestHandler 
*rh,
     qs = claim_order (hc->instance->settings.id,
                       order_id,
                       nonce,
+                      // &claim_token -- FIXME #6446: modify claim_order to 
include token in WHERE clause
                       &contract_terms);
     if (GNUNET_DB_STATUS_SOFT_ERROR != qs)
       break;
@@ -203,7 +229,7 @@ TMH_post_orders_ID_claim (const struct TMH_RequestHandler 
*rh,
       return TALER_MHD_reply_with_error (connection,
                                          MHD_HTTP_NOT_FOUND,
                                          TALER_EC_ORDERS_CLAIM_NOT_FOUND,
-                                         "unknown order id");
+                                         "unknown order id (or invalid claim 
token)");
     /* already claimed! */
     json_decref (contract_terms);
     return TALER_MHD_reply_with_error (connection,

-- 
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]