aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2024-03-09 21:03:39 +0100
committerChristian Grothoff <christian@grothoff.org>2024-03-09 21:03:39 +0100
commit89c8198bbfcba44a37cb124f80a7deb1d98474c1 (patch)
tree03759bb551edbb33d99709df5d07e400ee373eb0 /src/include
parent72062fbe3ecc401fe74613d88b44f1bbb005f69e (diff)
implement #8608
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_merchant_service.h93
1 files changed, 88 insertions, 5 deletions
diff --git a/src/include/taler_merchant_service.h b/src/include/taler_merchant_service.h
index 448b8ba4..2ed51a29 100644
--- a/src/include/taler_merchant_service.h
+++ b/src/include/taler_merchant_service.h
@@ -4598,7 +4598,7 @@ TALER_MERCHANT_templates_get_cancel (
/**
- * Handle for a GET /template/$ID operation. Gets details
+ * Handle for a GET /private/template/$ID operation. Gets details
* about a single template. Do not confused with a
* `struct TALER_MERCHANT_TemplatesGetHandle`, which
* obtains a list of all templates.
@@ -4607,7 +4607,7 @@ struct TALER_MERCHANT_TemplateGetHandle;
/**
- * Details in a response to a GET /templates request.
+ * Details in a response to a GET /private/templates/$ID request.
*/
struct TALER_MERCHANT_TemplateGetResponse
{
@@ -4650,7 +4650,7 @@ struct TALER_MERCHANT_TemplateGetResponse
/**
- * Function called with the result of the GET /template/$ID operation.
+ * Function called with the result of the GET /private/template/$ID operation.
*
* @param cls closure
* @param tgr HTTP response details
@@ -4662,7 +4662,7 @@ typedef void
/**
- * Make a GET /template/$ID request to get details about an
+ * Make a GET /private/template/$ID request to get details about an
* individual template.
*
* @param ctx the context
@@ -4682,7 +4682,7 @@ TALER_MERCHANT_template_get (
/**
- * Cancel GET /templates/$ID operation.
+ * Cancel GET /private/templates/$ID operation.
*
* @param tgh operation to cancel
*/
@@ -4692,6 +4692,89 @@ TALER_MERCHANT_template_get_cancel (
/**
+ * Handle for a (public) GET /template/$ID operation. Gets details about a
+ * single template. Do not confused with a `struct
+ * TALER_MERCHANT_TemplateGetHandle`, which is for the private API.
+ */
+struct TALER_MERCHANT_WalletTemplateGetHandle;
+
+
+/**
+ * Details in a response to a GET /templates request.
+ */
+struct TALER_MERCHANT_WalletTemplateGetResponse
+{
+ /**
+ * HTTP response details.
+ */
+ struct TALER_MERCHANT_HttpResponse hr;
+
+ /**
+ * Response details depending on the HTTP status.
+ */
+ union
+ {
+ /**
+ * Information returned if the status was #MHD_HTTP_OK.
+ */
+ struct
+ {
+
+ /**
+ * Template for the contract.
+ */
+ const json_t *template_contract;
+
+ } ok;
+
+ } details;
+
+};
+
+
+/**
+ * Function called with the result of the GET /template/$ID operation.
+ *
+ * @param cls closure
+ * @param tgr HTTP response details
+ */
+typedef void
+(*TALER_MERCHANT_WalletTemplateGetCallback)(
+ void *cls,
+ const struct TALER_MERCHANT_WalletTemplateGetResponse *tgr);
+
+
+/**
+ * Make a GET /template/$ID request to get details about an
+ * individual template.
+ *
+ * @param ctx the context
+ * @param backend_url HTTP base URL for the backend
+ * @param template_id identifier of the template to inquire about
+ * @param cb function to call with the backend's template information
+ * @param cb_cls closure for @a cb
+ * @return the request handle; NULL upon error
+ */
+struct TALER_MERCHANT_WalletTemplateGetHandle *
+TALER_MERCHANT_wallet_template_get (
+ struct GNUNET_CURL_Context *ctx,
+ const char *backend_url,
+ const char *template_id,
+ TALER_MERCHANT_WalletTemplateGetCallback cb,
+ void *cb_cls);
+
+
+/**
+ * Cancel GET /templates/$ID operation.
+ *
+ * @param tgh operation to cancel
+ */
+void
+TALER_MERCHANT_wallet_template_get_cancel (
+ struct TALER_MERCHANT_WalletTemplateGetHandle *tgh);
+
+
+/**
* Handle for a POST /templates operation.
*/
struct TALER_MERCHANT_TemplatesPostHandle;