diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-04-16 23:32:58 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-04-16 23:32:58 +0200 |
commit | 843f00401878a2db69cea3d3a5f72f27bd763070 (patch) | |
tree | 7d4c0d51340c9db76c4e6fad3e826751d904bd9d /src/backend | |
parent | a7cc5eb7feda16ff48d3ca51514a1ae960bccd11 (diff) | |
download | merchant-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')
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, |