aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-04-16 23:32:58 +0200
committerChristian Grothoff <christian@grothoff.org>2021-04-16 23:32:58 +0200
commit843f00401878a2db69cea3d3a5f72f27bd763070 (patch)
tree7d4c0d51340c9db76c4e6fad3e826751d904bd9d /src/backend
parenta7cc5eb7feda16ff48d3ca51514a1ae960bccd11 (diff)
downloadmerchant-843f00401878a2db69cea3d3a5f72f27bd763070.tar.gz
merchant-843f00401878a2db69cea3d3a5f72f27bd763070.tar.bz2
merchant-843f00401878a2db69cea3d3a5f72f27bd763070.zip
correct (product) image to be a string (as specified) instead of a JSON object
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/taler-merchant-httpd_private-get-products-ID.c2
-rw-r--r--src/backend/taler-merchant-httpd_private-patch-products-ID.c11
-rw-r--r--src/backend/taler-merchant-httpd_private-post-orders.c2
-rw-r--r--src/backend/taler-merchant-httpd_private-post-products.c14
4 files changed, 15 insertions, 14 deletions
diff --git a/src/backend/taler-merchant-httpd_private-get-products-ID.c b/src/backend/taler-merchant-httpd_private-get-products-ID.c
index 0fc666eb..d98b4801 100644
--- a/src/backend/taler-merchant-httpd_private-get-products-ID.c
+++ b/src/backend/taler-merchant-httpd_private-get-products-ID.c
@@ -66,7 +66,7 @@ TMH_private_get_products_ID (const struct TMH_RequestHandler *rh,
reply = json_pack (
"{s:s, s:s, s:o, s:o, s:I,"
- " s:I, s:I, s:o, s:o, s:o}",
+ " s:I, s:I, s:o, s:o, s:s}",
"description",
pd.description,
"unit",
diff --git a/src/backend/taler-merchant-httpd_private-patch-products-ID.c b/src/backend/taler-merchant-httpd_private-patch-products-ID.c
index dd989866..d1ae5c7d 100644
--- a/src/backend/taler-merchant-httpd_private-patch-products-ID.c
+++ b/src/backend/taler-merchant-httpd_private-patch-products-ID.c
@@ -86,12 +86,7 @@ determine_cause (struct MHD_Connection *connection,
ec = TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_STOCKED_REDUCED;
if (pd->total_stock - pdx.total_sold > pd->total_lost)
ec = TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_LOST_EXCEEDS_STOCKS;
- GNUNET_free (pdx.description);
- json_decref (pdx.description_i18n);
- GNUNET_free (pdx.unit);
- json_decref (pdx.taxes);
- json_decref (pdx.image);
- json_decref (pdx.address);
+ TALER_MERCHANTDB_product_details_free (&pdx);
return TALER_MHD_reply_with_error (connection,
MHD_HTTP_CONFLICT,
ec,
@@ -127,8 +122,8 @@ TMH_private_patch_products_ID (const struct TMH_RequestHandler *rh,
(const char **) &pd.unit),
TALER_JSON_spec_amount ("price",
&pd.price),
- GNUNET_JSON_spec_json ("image",
- &pd.image),
+ GNUNET_JSON_spec_string ("image",
+ (const char **) &pd.image),
GNUNET_JSON_spec_json ("taxes",
&pd.taxes),
GNUNET_JSON_spec_json ("address",
diff --git a/src/backend/taler-merchant-httpd_private-post-orders.c b/src/backend/taler-merchant-httpd_private-post-orders.c
index 9ae9a1bd..2d1441a6 100644
--- a/src/backend/taler-merchant-httpd_private-post-orders.c
+++ b/src/backend/taler-merchant-httpd_private-post-orders.c
@@ -1153,7 +1153,7 @@ merge_inventory (struct MHD_Connection *connection,
{
json_t *p;
- p = json_pack ("{s:s, s:o, s:s, s:o, s:o, s:o, s:I}",
+ p = json_pack ("{s:s, s:o, s:s, s:o, s:o, s:s, s:I}",
"description",
pd.description,
"description_i18n",
diff --git a/src/backend/taler-merchant-httpd_private-post-products.c b/src/backend/taler-merchant-httpd_private-post-products.c
index 987857b4..9387a657 100644
--- a/src/backend/taler-merchant-httpd_private-post-products.c
+++ b/src/backend/taler-merchant-httpd_private-post-products.c
@@ -59,8 +59,8 @@ products_equal (const struct TALER_MERCHANTDB_ProductDetails *p1,
(p1->total_stock == p2->total_stock) &&
(p1->total_sold == p2->total_sold) &&
(p1->total_lost == p2->total_lost) &&
- (1 == json_equal (p1->image,
- p2->image)) &&
+ (0 == strcmp (p1->image,
+ p2->image)) &&
(1 == json_equal (p1->address,
p2->address)) &&
(p1->next_restock.abs_value_us ==
@@ -92,8 +92,8 @@ TMH_private_post_products (const struct TMH_RequestHandler *rh,
(const char **) &pd.unit),
TALER_JSON_spec_amount ("price",
&pd.price),
- GNUNET_JSON_spec_json ("image",
- &pd.image),
+ GNUNET_JSON_spec_string ("image",
+ (const char **) &pd.image),
GNUNET_JSON_spec_json ("taxes",
&pd.taxes),
GNUNET_JSON_spec_json ("address",
@@ -113,9 +113,12 @@ TMH_private_post_products (const struct TMH_RequestHandler *rh,
hc->request_body,
spec);
if (GNUNET_OK != res)
+ {
+ GNUNET_break_op (0);
return (GNUNET_NO == res)
? MHD_YES
: MHD_NO;
+ }
}
if (0 !=
strcasecmp (pd.price.currency,
@@ -210,6 +213,8 @@ retry:
}
GNUNET_JSON_parse_free (spec);
if (qs < 0)
+ {
+ GNUNET_break_op (0);
return TALER_MHD_reply_with_error (
connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
@@ -217,6 +222,7 @@ retry:
? TALER_EC_GENERIC_DB_SOFT_FAILURE
: TALER_EC_GENERIC_DB_COMMIT_FAILED,
NULL);
+ }
return TALER_MHD_reply_static (connection,
MHD_HTTP_NO_CONTENT,
NULL,