summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-02-21 17:43:11 +0100
committerChristian Grothoff <christian@grothoff.org>2023-02-21 17:43:11 +0100
commit165c5337b1fc1df42521ab1cba520b7ddede6fdd (patch)
treec54051690eeef748157df657c6367e4bac5c5bf2 /src/backend
parent7f4626d3c5ec3d4cafe6a8992741c085537a3037 (diff)
downloadmerchant-165c5337b1fc1df42521ab1cba520b7ddede6fdd.tar.gz
merchant-165c5337b1fc1df42521ab1cba520b7ddede6fdd.tar.bz2
merchant-165c5337b1fc1df42521ab1cba520b7ddede6fdd.zip
add algorithm identifier to client API
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/taler-merchant-httpd_private-patch-templates-ID.c22
-rw-r--r--src/backend/taler-merchant-httpd_private-post-templates.c12
2 files changed, 21 insertions, 13 deletions
diff --git a/src/backend/taler-merchant-httpd_private-patch-templates-ID.c b/src/backend/taler-merchant-httpd_private-patch-templates-ID.c
index 57c6dd95..52a21b57 100644
--- a/src/backend/taler-merchant-httpd_private-patch-templates-ID.c
+++ b/src/backend/taler-merchant-httpd_private-patch-templates-ID.c
@@ -52,9 +52,9 @@ determine_cause (struct MHD_Connection *connection,
enum GNUNET_DB_QueryStatus qs;
qs = TMH_db->lookup_template (TMH_db->cls,
- instance_id,
- template_id,
- &tpx);
+ instance_id,
+ template_id,
+ &tpx);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
@@ -102,16 +102,19 @@ determine_cause (struct MHD_Connection *connection,
*/
MHD_RESULT
TMH_private_patch_templates_ID (const struct TMH_RequestHandler *rh,
- struct MHD_Connection *connection,
- struct TMH_HandlerContext *hc)
+ struct MHD_Connection *connection,
+ struct TMH_HandlerContext *hc)
{
struct TMH_MerchantInstance *mi = hc->instance;
const char *template_id = hc->infix;
struct TALER_MERCHANTDB_TemplateDetails tp = {0};
enum GNUNET_DB_QueryStatus qs;
+ uint32_t pos_algorithm;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_string ("template_description",
(const char **) &tp.template_description),
+ GNUNET_JSON_spec_uint32 ("pos_algorithm",
+ &pos_algorithm),
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_string ("pos_key",
(const char **) &tp.pos_key),
@@ -135,7 +138,8 @@ TMH_private_patch_templates_ID (const struct TMH_RequestHandler *rh,
: MHD_NO;
}
- if (! TMH_template_contract_valid (tp.template_contract))
+ tp.pos_algorithm = (enum TALER_MerchantConfirmationAlgorithm) pos_algorithm;
+ if (! TMH_template_contract_valid (tp.template_contract))
{
GNUNET_break_op (0);
GNUNET_JSON_parse_free (spec);
@@ -146,9 +150,9 @@ TMH_private_patch_templates_ID (const struct TMH_RequestHandler *rh,
}
qs = TMH_db->update_template (TMH_db->cls,
- mi->settings.id,
- template_id,
- &tp);
+ mi->settings.id,
+ template_id,
+ &tp);
{
MHD_RESULT ret = MHD_NO;
diff --git a/src/backend/taler-merchant-httpd_private-post-templates.c b/src/backend/taler-merchant-httpd_private-post-templates.c
index ac2a9206..2ed76940 100644
--- a/src/backend/taler-merchant-httpd_private-post-templates.c
+++ b/src/backend/taler-merchant-httpd_private-post-templates.c
@@ -67,13 +67,16 @@ TMH_private_post_templates (const struct TMH_RequestHandler *rh,
struct TALER_MERCHANTDB_TemplateDetails tp = { 0 };
const char *template_id;
enum GNUNET_DB_QueryStatus qs;
+ uint32_t pos_algorithm;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_string ("template_id",
&template_id),
GNUNET_JSON_spec_string ("template_description",
(const char **) &tp.template_description),
- GNUNET_JSON_spec_mark_optional(
- GNUNET_JSON_spec_string ("image",
+ GNUNET_JSON_spec_uint32 ("pos_algorithm",
+ &pos_algorithm),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_string ("pos_key",
(const char **) &tp.pos_key),
NULL),
GNUNET_JSON_spec_json ("template_contract",
@@ -96,6 +99,7 @@ TMH_private_post_templates (const struct TMH_RequestHandler *rh,
: MHD_NO;
}
}
+ tp.pos_algorithm = (enum TALER_MerchantConfirmationAlgorithm) pos_algorithm;
if (! TMH_template_contract_valid (tp.template_contract))
{
GNUNET_break_op (0);
@@ -185,8 +189,8 @@ TMH_private_post_templates (const struct TMH_RequestHandler *rh,
if (GNUNET_DB_STATUS_SOFT_ERROR != qs)
break;
}
-retry:
- GNUNET_assert (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+retry:
+ GNUNET_assert (GNUNET_DB_STATUS_SOFT_ERROR == qs);
TMH_db->rollback (TMH_db->cls);
} /* for RETRIES loop */
GNUNET_JSON_parse_free (spec);