From 15764c7d7152d370a727b162eb1fb6688ee6d03a Mon Sep 17 00:00:00 2001 From: nicosammito Date: Fri, 19 Jun 2026 14:40:28 +0200 Subject: [PATCH 01/10] feat: adjusting http request send function --- .../data_types/http_auth_place.proto.json | 25 +++++++++++++++++++ .../http/data_types/http_auth_type.proto.json | 24 ++++++++++++++++++ .../data_types/http_auth_value.proto.json | 25 +++++++++++++++++++ .../http/data_types/http_payload.proto.json | 25 +++++++++++++++++++ .../http/data_types/http_schema.proto.json | 24 ++++++++++++++++++ .../http_request_send.proto.json | 2 +- .../object/data_types/object.proto.json | 4 ++- 7 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 definitions/taurus/http/data_types/http_auth_place.proto.json create mode 100644 definitions/taurus/http/data_types/http_auth_type.proto.json create mode 100644 definitions/taurus/http/data_types/http_auth_value.proto.json create mode 100644 definitions/taurus/http/data_types/http_payload.proto.json create mode 100644 definitions/taurus/http/data_types/http_schema.proto.json diff --git a/definitions/taurus/http/data_types/http_auth_place.proto.json b/definitions/taurus/http/data_types/http_auth_place.proto.json new file mode 100644 index 0000000..1c344f7 --- /dev/null +++ b/definitions/taurus/http/data_types/http_auth_place.proto.json @@ -0,0 +1,25 @@ +{ + "identifier": "HTTP_AUTH_PLACE", + "name": [ + { + "code": "en-US", + "content": "HTTP credential placement" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "HTTP credential placement" + } + ], + "genericKeys": ["T"], + "type": "T extends 'Bearer' ? 'Header' : T extends 'Basic' ? 'Header' : T extends undefined ? undefined : 'Header' | 'Url'", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/taurus/http/data_types/http_auth_type.proto.json b/definitions/taurus/http/data_types/http_auth_type.proto.json new file mode 100644 index 0000000..ebd8c0f --- /dev/null +++ b/definitions/taurus/http/data_types/http_auth_type.proto.json @@ -0,0 +1,24 @@ +{ + "identifier": "HTTP_AUTH_TYPE", + "name": [ + { + "code": "en-US", + "content": "HTTP credential variant" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "HTTP credential variant" + } + ], + "type": "'Bearer' | 'Basic' | 'X-API-Key' | string | undefined", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/taurus/http/data_types/http_auth_value.proto.json b/definitions/taurus/http/data_types/http_auth_value.proto.json new file mode 100644 index 0000000..fd57527 --- /dev/null +++ b/definitions/taurus/http/data_types/http_auth_value.proto.json @@ -0,0 +1,25 @@ +{ + "identifier": "HTTP_AUTH_VALUE", + "name": [ + { + "code": "en-US", + "content": "HTTP credential value" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "HTTP credential value" + } + ], + "genericKeys": ["T"], + "type": "T extends 'Basic' ? { username: string, password: string } : T extends undefined ? undefined : string", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/taurus/http/data_types/http_payload.proto.json b/definitions/taurus/http/data_types/http_payload.proto.json new file mode 100644 index 0000000..8ccdba8 --- /dev/null +++ b/definitions/taurus/http/data_types/http_payload.proto.json @@ -0,0 +1,25 @@ +{ + "identifier": "HTTP_PAYLOAD", + "name": [ + { + "code": "en-US", + "content": "HTTP payload" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "HTTP payload" + } + ], + "genericKeys": ["T"], + "type": "T extends 'application/json' ? OBJECT<{}> : T extends undefined ? undefined : string", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/taurus/http/data_types/http_schema.proto.json b/definitions/taurus/http/data_types/http_schema.proto.json new file mode 100644 index 0000000..3e4c3e1 --- /dev/null +++ b/definitions/taurus/http/data_types/http_schema.proto.json @@ -0,0 +1,24 @@ +{ + "identifier": "HTTP_SCHEMA", + "name": [ + { + "code": "en-US", + "content": "HTTP schema" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "HTTP schema" + } + ], + "type": "'application/json' | 'application/xml' | 'text/plain' | 'text/csv' | string | undefined", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/taurus/http/runtime_functions/http_request_send.proto.json b/definitions/taurus/http/runtime_functions/http_request_send.proto.json index e2ca4a2..2af6215 100644 --- a/definitions/taurus/http/runtime_functions/http_request_send.proto.json +++ b/definitions/taurus/http/runtime_functions/http_request_send.proto.json @@ -98,7 +98,7 @@ ], "deprecationMessage": [], "displayIcon": "tabler:world-www", - "signature": "(http_method: HTTP_METHOD, headers: OBJECT<{}>, url: HTTP_URL, payload: T): HTTP_RESPONSE", + "signature": "(http_method: HTTP_METHOD, url: HTTP_URL, http_auth: A, http_auth_value: HTTP_AUTH_VALUE, http_auth_place: HTTP_AUTH_PLACE, http_schema: S, payload: HTTP_PAYLOAD, headers?: OBJECT<{}>): HTTP_RESPONSE", "linkedDataTypeIdentifiers": [ "HTTP_METHOD", "OBJECT", diff --git a/definitions/taurus/object/data_types/object.proto.json b/definitions/taurus/object/data_types/object.proto.json index 2c3045c..f1b8fac 100644 --- a/definitions/taurus/object/data_types/object.proto.json +++ b/definitions/taurus/object/data_types/object.proto.json @@ -18,7 +18,9 @@ "content": "Object" } ], - "genericKeys": ["T"], + "genericKeys": [ + "T" + ], "type": "{ [K in keyof T]: T[K] }", "rules": [] } From 4ce743d259eb4209178ad281586cb6e37bec3940 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Fri, 19 Jun 2026 14:57:41 +0200 Subject: [PATCH 02/10] feat: adjusting http request send function --- .../http/data_types/http_payload.proto.json | 2 +- .../functions/http_request_send.proto.json | 91 +++++++++++++++++-- .../http_request_send.proto.json | 89 ++++++++++++++++-- 3 files changed, 164 insertions(+), 18 deletions(-) diff --git a/definitions/taurus/http/data_types/http_payload.proto.json b/definitions/taurus/http/data_types/http_payload.proto.json index 8ccdba8..ac2f764 100644 --- a/definitions/taurus/http/data_types/http_payload.proto.json +++ b/definitions/taurus/http/data_types/http_payload.proto.json @@ -20,6 +20,6 @@ ], "genericKeys": ["T"], "type": "T extends 'application/json' ? OBJECT<{}> : T extends undefined ? undefined : string", - "linkedDataTypeIdentifiers": [], + "linkedDataTypeIdentifiers": ["OBJECT"], "rules": [] } diff --git a/definitions/taurus/http/functions/http_request_send.proto.json b/definitions/taurus/http/functions/http_request_send.proto.json index 7eb3ac2..8e07ab8 100644 --- a/definitions/taurus/http/functions/http_request_send.proto.json +++ b/definitions/taurus/http/functions/http_request_send.proto.json @@ -20,35 +20,86 @@ "documentation": [] }, { - "runtimeName": "headers", + "runtimeName": "url", "defaultValue": null, "name": [ { "code": "en-US", - "content": "HTTP Headers" + "content": "Request URL" } ], "description": [ { "code": "en-US", - "content": "A collection of key-value pairs containing additional request metadata." + "content": "Specifies the endpoint address, including protocol, host, path, and query parameters, where the request is directed." } ], "documentation": [] }, { - "runtimeName": "url", + "runtimeName": "http_auth", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Request URL" + "content": "Auth Type" } ], "description": [ { "code": "en-US", - "content": "Specifies the endpoint address, including protocol, host, path, and query parameters, where the request is directed." + "content": "Specifies the authentication variant to use, such as Bearer, Basic, X-API-Key, or a custom scheme. Use undefined to send the request without authentication." + } + ], + "documentation": [] + }, + { + "runtimeName": "http_auth_value", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Auth Value" + } + ], + "description": [ + { + "code": "en-US", + "content": "Provides the credentials for the selected authentication type. For Basic auth, supply an object with username and password; for all other types, provide a token or key string." + } + ], + "documentation": [] + }, + { + "runtimeName": "http_auth_place", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Auth Placement" + } + ], + "description": [ + { + "code": "en-US", + "content": "Defines where the authentication credentials are attached to the request. Bearer and Basic auth always use Header; custom schemes can be placed in the Header or as a URL query parameter." + } + ], + "documentation": [] + }, + { + "runtimeName": "http_schema", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Content Type" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the MIME type of the request payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." } ], "documentation": [] @@ -65,7 +116,24 @@ "description": [ { "code": "en-US", - "content": "Contains the request payload, such as JSON, XML, form data, or binary content, depending on the Content-Type header." + "content": "Contains the request payload. For application/json the value must be an OBJECT, for all other content types a plain string is expected." + } + ], + "documentation": [] + }, + { + "runtimeName": "headers", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "HTTP Headers" + } + ], + "description": [ + { + "code": "en-US", + "content": "An optional collection of key-value pairs containing additional request metadata such as custom headers." } ], "documentation": [] @@ -99,11 +167,16 @@ ], "deprecationMessage": [], "displayIcon": "tabler:world-www", - "signature": "(http_method: HTTP_METHOD, headers: OBJECT<{}>, url: HTTP_URL, payload: T): HTTP_RESPONSE", + "signature": "(http_method: HTTP_METHOD, url: HTTP_URL, http_auth: A, http_auth_value: HTTP_AUTH_VALUE, http_auth_place: HTTP_AUTH_PLACE, http_schema: S, payload: HTTP_PAYLOAD, headers?: OBJECT<{}>): HTTP_RESPONSE", "linkedDataTypeIdentifiers": [ "HTTP_METHOD", - "OBJECT", "HTTP_URL", + "HTTP_AUTH_TYPE", + "HTTP_AUTH_VALUE", + "HTTP_AUTH_PLACE", + "HTTP_SCHEMA", + "HTTP_PAYLOAD", + "OBJECT", "HTTP_RESPONSE" ] } diff --git a/definitions/taurus/http/runtime_functions/http_request_send.proto.json b/definitions/taurus/http/runtime_functions/http_request_send.proto.json index 2af6215..80839d8 100644 --- a/definitions/taurus/http/runtime_functions/http_request_send.proto.json +++ b/definitions/taurus/http/runtime_functions/http_request_send.proto.json @@ -19,35 +19,86 @@ "documentation": [] }, { - "runtimeName": "headers", + "runtimeName": "url", "defaultValue": null, "name": [ { "code": "en-US", - "content": "HTTP Headers" + "content": "Request URL" } ], "description": [ { "code": "en-US", - "content": "A collection of key-value pairs containing additional request metadata." + "content": "Specifies the endpoint address, including protocol, host, path, and query parameters, where the request is directed." } ], "documentation": [] }, { - "runtimeName": "url", + "runtimeName": "http_auth", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Request URL" + "content": "Auth Type" } ], "description": [ { "code": "en-US", - "content": "Specifies the endpoint address, including protocol, host, path, and query parameters, where the request is directed." + "content": "Specifies the authentication variant to use, such as Bearer, Basic, X-API-Key, or a custom scheme. Use undefined to send the request without authentication." + } + ], + "documentation": [] + }, + { + "runtimeName": "http_auth_value", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Auth Value" + } + ], + "description": [ + { + "code": "en-US", + "content": "Provides the credentials for the selected authentication type. For Basic auth, supply an object with username and password; for all other types, provide a token or key string." + } + ], + "documentation": [] + }, + { + "runtimeName": "http_auth_place", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Auth Placement" + } + ], + "description": [ + { + "code": "en-US", + "content": "Defines where the authentication credentials are attached to the request. Bearer and Basic auth always use Header; custom schemes can be placed in the Header or as a URL query parameter." + } + ], + "documentation": [] + }, + { + "runtimeName": "http_schema", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Content Type" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the MIME type of the request payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." } ], "documentation": [] @@ -64,7 +115,24 @@ "description": [ { "code": "en-US", - "content": "Contains the request payload, such as JSON, XML, form data, or binary content, depending on the Content-Type header." + "content": "Contains the request payload. For application/json the value must be an OBJECT, for all other content types a plain string is expected." + } + ], + "documentation": [] + }, + { + "runtimeName": "headers", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "HTTP Headers" + } + ], + "description": [ + { + "code": "en-US", + "content": "An optional collection of key-value pairs containing additional request metadata such as custom headers." } ], "documentation": [] @@ -101,8 +169,13 @@ "signature": "(http_method: HTTP_METHOD, url: HTTP_URL, http_auth: A, http_auth_value: HTTP_AUTH_VALUE, http_auth_place: HTTP_AUTH_PLACE, http_schema: S, payload: HTTP_PAYLOAD, headers?: OBJECT<{}>): HTTP_RESPONSE", "linkedDataTypeIdentifiers": [ "HTTP_METHOD", - "OBJECT", "HTTP_URL", + "HTTP_AUTH_TYPE", + "HTTP_AUTH_VALUE", + "HTTP_AUTH_PLACE", + "HTTP_SCHEMA", + "HTTP_PAYLOAD", + "OBJECT", "HTTP_RESPONSE" ] } From 4cef2554918a7e7809b02bef5d09b4752227d1f0 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Fri, 19 Jun 2026 16:22:03 +0200 Subject: [PATCH 03/10] feat: adding query_params and path_params to trigger of rest --- definitions/draco_rest/data_types/rest_adapter_input.proto.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/definitions/draco_rest/data_types/rest_adapter_input.proto.json b/definitions/draco_rest/data_types/rest_adapter_input.proto.json index ee577f6..f5eb4c2 100644 --- a/definitions/draco_rest/data_types/rest_adapter_input.proto.json +++ b/definitions/draco_rest/data_types/rest_adapter_input.proto.json @@ -25,5 +25,5 @@ "linkedDataTypeIdentifiers": [ "OBJECT" ], - "type": "{ payload: T, headers: OBJECT<{}> }" + "type": "{ payload: T, headers: OBJECT<{}>, query_params: OBJECT<{}>, path_params: OBJECT<{}> }" } From 6ab9509688609f2513b14e064b73ea63a6894a79 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Fri, 19 Jun 2026 16:23:14 +0200 Subject: [PATCH 04/10] feat: adding schema and correct payload to rest control respond --- .../functions/rest_control_respond.proto.json | 25 ++++++++++++++++--- .../rest_control_respond.proto.json | 25 ++++++++++++++++--- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/definitions/draco_rest/functions/rest_control_respond.proto.json b/definitions/draco_rest/functions/rest_control_respond.proto.json index 79dfdf5..2cea857 100644 --- a/definitions/draco_rest/functions/rest_control_respond.proto.json +++ b/definitions/draco_rest/functions/rest_control_respond.proto.json @@ -36,6 +36,23 @@ ], "documentation": [] }, + { + "runtimeName": "http_schema", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Content Type" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the MIME type of the response payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." + } + ], + "documentation": [] + }, { "runtimeName": "payload", "defaultValue": null, @@ -48,7 +65,7 @@ "description": [ { "code": "en-US", - "content": "Contains the response payload, such as JSON, XML, form data, or binary content, depending on the Content-Type header." + "content": "Contains the response payload. For application/json the value must be an OBJECT, for all other content types a plain string is expected." } ], "documentation": [] @@ -82,9 +99,11 @@ } ], "displayIcon": "tabler:cube-send", - "signature": "(http_status_code: HTTP_STATUS_CODE, headers: OBJECT<{}>, payload: T): void", + "signature": "(http_status_code: HTTP_STATUS_CODE, headers: OBJECT<{}>, http_schema: S, payload: HTTP_PAYLOAD): void", "linkedDataTypeIdentifiers": [ "HTTP_STATUS_CODE", - "OBJECT" + "OBJECT", + "HTTP_SCHEMA", + "HTTP_PAYLOAD" ] } diff --git a/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json b/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json index e6671e2..601c64d 100644 --- a/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json +++ b/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json @@ -35,6 +35,23 @@ ], "documentation": [] }, + { + "runtimeName": "http_schema", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Content Type" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the MIME type of the response payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." + } + ], + "documentation": [] + }, { "runtimeName": "payload", "defaultValue": null, @@ -47,7 +64,7 @@ "description": [ { "code": "en-US", - "content": "Contains the response payload, such as JSON, XML, form data, or binary content, depending on the Content-Type header." + "content": "Contains the response payload. For application/json the value must be an OBJECT, for all other content types a plain string is expected." } ], "documentation": [] @@ -81,9 +98,11 @@ } ], "displayIcon": "tabler:cube-send", - "signature": "(http_status_code: HTTP_STATUS_CODE, headers: OBJECT<{}>, payload: T): void", + "signature": "(http_status_code: HTTP_STATUS_CODE, headers: OBJECT<{}>, http_schema: S, payload: HTTP_PAYLOAD): void", "linkedDataTypeIdentifiers": [ "HTTP_STATUS_CODE", - "OBJECT" + "OBJECT", + "HTTP_SCHEMA", + "HTTP_PAYLOAD" ] } From da1cd7b2333040275976e51d60ba811a9758ae50 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Fri, 19 Jun 2026 17:06:39 +0200 Subject: [PATCH 05/10] feat: renaming rest to webhook --- definitions/draco_rest/flow_types/rest.proto.json | 8 ++++---- definitions/draco_rest/runtime_flow_types/rest.proto.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/definitions/draco_rest/flow_types/rest.proto.json b/definitions/draco_rest/flow_types/rest.proto.json index 945ca79..4976d66 100644 --- a/definitions/draco_rest/flow_types/rest.proto.json +++ b/definitions/draco_rest/flow_types/rest.proto.json @@ -5,26 +5,26 @@ "name": [ { "code": "en-US", - "content": "Rest Endpoint" + "content": "Webhook" } ], "description": [ { "code": "en-US", - "content": "A REST API is a web service that lets clients interact with data on a server using standard HTTP methods like GET, POST, PUT, and DELETE usually returning results in JSON format." + "content": "A Webhook is an HTTP endpoint that listens for incoming requests from external services or clients, allowing you to react to events in real time using standard HTTP methods like GET, POST, PUT, and DELETE." } ], "documentation": [], "displayMessage": [ { "code": "en-US", - "content": "Trigger Rest-Flow on ${httpMethod} with a Request to ${httpURL}" + "content": "Webhook on ${httpMethod} at ${httpURL}" } ], "alias": [ { "code": "en-US", - "content": "http;rest;route;web;webhook" + "content": "webhook;http;rest;route;web" } ], "displayIcon": "tabler:world-www", diff --git a/definitions/draco_rest/runtime_flow_types/rest.proto.json b/definitions/draco_rest/runtime_flow_types/rest.proto.json index 0ca6135..ba9dfe0 100644 --- a/definitions/draco_rest/runtime_flow_types/rest.proto.json +++ b/definitions/draco_rest/runtime_flow_types/rest.proto.json @@ -4,26 +4,26 @@ "name": [ { "code": "en-US", - "content": "Rest Endpoint" + "content": "Webhook" } ], "description": [ { "code": "en-US", - "content": "A REST API is a web service that lets clients interact with data on a server using standard HTTP methods like GET, POST, PUT, and DELETE usually returning results in JSON format." + "content": "A Webhook is an HTTP endpoint that listens for incoming requests from external services or clients, allowing you to react to events in real time using standard HTTP methods like GET, POST, PUT, and DELETE." } ], "documentation": [], "displayMessage": [ { "code": "en-US", - "content": "Trigger Rest-Flow on ${httpMethod} with a Request to ${httpURL}" + "content": "Webhook on ${httpMethod} at ${httpURL}" } ], "alias": [ { "code": "en-US", - "content": "http;rest;route;web;webhook" + "content": "webhook;http;rest;route;web" } ], "displayIcon": "tabler:world-www", From 8b115551fb795d4ea219948099173a15b3620277 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Sat, 20 Jun 2026 15:04:29 +0200 Subject: [PATCH 06/10] feat: making header optional --- .../rest_control_respond.proto.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json b/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json index 601c64d..5b4bab9 100644 --- a/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json +++ b/definitions/draco_rest/runtime_functions/rest_control_respond.proto.json @@ -19,52 +19,52 @@ "documentation": [] }, { - "runtimeName": "headers", + "runtimeName": "http_schema", "defaultValue": null, "name": [ { "code": "en-US", - "content": "HTTP response headers" + "content": "Content Type" } ], "description": [ { "code": "en-US", - "content": "A collection of key-value pairs containing additional response metadata." + "content": "Specifies the MIME type of the response payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." } ], "documentation": [] }, { - "runtimeName": "http_schema", + "runtimeName": "payload", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Content Type" + "content": "Response Payload" } ], "description": [ { "code": "en-US", - "content": "Specifies the MIME type of the response payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." + "content": "Contains the response payload. For application/json the value must be an OBJECT, for all other content types a plain string is expected." } ], "documentation": [] }, { - "runtimeName": "payload", + "runtimeName": "headers", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Response Payload" + "content": "HTTP response headers" } ], "description": [ { "code": "en-US", - "content": "Contains the response payload. For application/json the value must be an OBJECT, for all other content types a plain string is expected." + "content": "A collection of key-value pairs containing additional response metadata." } ], "documentation": [] @@ -98,7 +98,7 @@ } ], "displayIcon": "tabler:cube-send", - "signature": "(http_status_code: HTTP_STATUS_CODE, headers: OBJECT<{}>, http_schema: S, payload: HTTP_PAYLOAD): void", + "signature": "(http_status_code: HTTP_STATUS_CODE, http_schema: S, payload: HTTP_PAYLOAD, headers?: OBJECT<{}>): void", "linkedDataTypeIdentifiers": [ "HTTP_STATUS_CODE", "OBJECT", From d371675fbf9181c1fbadd54884c641748caeb060 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Sat, 20 Jun 2026 15:04:48 +0200 Subject: [PATCH 07/10] feat: adding auth providers to webhook flow type --- .../rest_adapter_auth_type.proto.json | 24 +++++++++++++ .../rest_adapter_auth_value.proto.json | 25 +++++++++++++ .../draco_rest/flow_types/rest.proto.json | 36 ++++++++++++++++++- .../runtime_flow_types/rest.proto.json | 36 ++++++++++++++++++- 4 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json create mode 100644 definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json diff --git a/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json b/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json new file mode 100644 index 0000000..908da12 --- /dev/null +++ b/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json @@ -0,0 +1,24 @@ +{ + "identifier": "REST_AUTH_TYPE", + "name": [ + { + "code": "en-US", + "content": "Webhook credential variant" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Webhook credential variant" + } + ], + "type": "'Bearer JWT' | 'Bearer static' | 'Basic'", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json b/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json new file mode 100644 index 0000000..6d25f75 --- /dev/null +++ b/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json @@ -0,0 +1,25 @@ +{ + "identifier": "REST_AUTH_VALUE", + "name": [ + { + "code": "en-US", + "content": "Webhook credential value" + } + ], + "alias": [ + { + "code": "en-US", + "content": "http;method;get;post;put;delete;path;head" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Webhook credential value" + } + ], + "genericKeys": ["T"], + "type": "T extends 'Basic' ? { username: string, password: string } : T extends undefined ? undefined : string", + "linkedDataTypeIdentifiers": [], + "rules": [] +} diff --git a/definitions/draco_rest/flow_types/rest.proto.json b/definitions/draco_rest/flow_types/rest.proto.json index 4976d66..ea53e23 100644 --- a/definitions/draco_rest/flow_types/rest.proto.json +++ b/definitions/draco_rest/flow_types/rest.proto.json @@ -28,10 +28,12 @@ } ], "displayIcon": "tabler:world-www", - "signature": "(input_schema: TYPE, httpURL: HTTP_URL, httpMethod: HTTP_METHOD): REST_ADAPTER_INPUT", + "signature": "(input_schema: TYPE, httpURL: HTTP_URL, httpMethod: HTTP_METHOD, httpAuth: A, httpAuthValue: REST_AUTH_VALUE): REST_ADAPTER_INPUT", "linkedDataTypeIdentifiers": [ "HTTP_URL", "HTTP_METHOD", + "REST_AUTH_TYPE", + "REST_AUTH_VALUE", "REST_ADAPTER_INPUT" ], "settings": [ @@ -82,6 +84,38 @@ "content": "Specifies the HTTP request method (e.g., GET, POST, PUT, DELETE)." } ] + }, + { + "identifier": "httpAuth", + "unique": "NONE", + "name": [ + { + "code": "en-US", + "content": "Authentication type" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the authentication mechanism used for the incoming Webhook request (e.g., Bearer JWT, Bearer static, Basic)." + } + ] + }, + { + "identifier": "httpAuthValue", + "unique": "NONE", + "name": [ + { + "code": "en-US", + "content": "Authentication value" + } + ], + "description": [ + { + "code": "en-US", + "content": "Provides the credential value matching the selected authentication type (e.g., token string or username/password pair)." + } + ] } ] } diff --git a/definitions/draco_rest/runtime_flow_types/rest.proto.json b/definitions/draco_rest/runtime_flow_types/rest.proto.json index ba9dfe0..3bdbbac 100644 --- a/definitions/draco_rest/runtime_flow_types/rest.proto.json +++ b/definitions/draco_rest/runtime_flow_types/rest.proto.json @@ -27,10 +27,12 @@ } ], "displayIcon": "tabler:world-www", - "signature": "(input_schema: TYPE, httpURL: HTTP_URL, httpMethod: HTTP_METHOD): REST_ADAPTER_INPUT", + "signature": "(input_schema: TYPE, httpURL: HTTP_URL, httpMethod: HTTP_METHOD, httpAuth: A, httpAuthValue: REST_AUTH_VALUE): REST_ADAPTER_INPUT", "linkedDataTypeIdentifiers": [ "HTTP_URL", "HTTP_METHOD", + "REST_AUTH_TYPE", + "REST_AUTH_VALUE", "REST_ADAPTER_INPUT" ], "runtimeSettings": [ @@ -81,6 +83,38 @@ "content": "Specifies the HTTP request method (e.g., GET, POST, PUT, DELETE)." } ] + }, + { + "identifier": "httpAuth", + "unique": "NONE", + "name": [ + { + "code": "en-US", + "content": "Authentication type" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the authentication mechanism used for the incoming Webhook request (e.g., Bearer JWT, Bearer static, Basic)." + } + ] + }, + { + "identifier": "httpAuthValue", + "unique": "NONE", + "name": [ + { + "code": "en-US", + "content": "Authentication value" + } + ], + "description": [ + { + "code": "en-US", + "content": "Provides the credential value matching the selected authentication type (e.g., token string or username/password pair)." + } + ] } ] } From fcc5e9ae91ae931f6d830f854031b6c080505d22 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Sat, 20 Jun 2026 15:06:33 +0200 Subject: [PATCH 08/10] feat: changing naming and description of rest module --- definitions/draco_rest/module.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/definitions/draco_rest/module.json b/definitions/draco_rest/module.json index b1ace6e..1445ef7 100644 --- a/definitions/draco_rest/module.json +++ b/definitions/draco_rest/module.json @@ -3,13 +3,13 @@ "name": [ { "code": "en-US", - "content": "REST" + "content": "Webhook" } ], "description": [ { "code": "en-US", - "content": "Trigger Flows unsing a HTTP-Server." + "content": "Trigger webhook on a specified endpoint." } ], "documentation": "", From 2fb779153f0043c8a2e943bbf133ba9b6fae791e Mon Sep 17 00:00:00 2001 From: nicosammito Date: Mon, 22 Jun 2026 15:56:20 +0200 Subject: [PATCH 09/10] feat: adding http schema to webhook flow type --- .../draco_rest/flow_types/rest.proto.json | 25 ++++++++++++++++--- .../runtime_flow_types/rest.proto.json | 25 ++++++++++++++++--- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/definitions/draco_rest/flow_types/rest.proto.json b/definitions/draco_rest/flow_types/rest.proto.json index ea53e23..b91827d 100644 --- a/definitions/draco_rest/flow_types/rest.proto.json +++ b/definitions/draco_rest/flow_types/rest.proto.json @@ -28,8 +28,9 @@ } ], "displayIcon": "tabler:world-www", - "signature": "(input_schema: TYPE, httpURL: HTTP_URL, httpMethod: HTTP_METHOD, httpAuth: A, httpAuthValue: REST_AUTH_VALUE): REST_ADAPTER_INPUT", + "signature": "(httpSchema: HTTP_SCHEMA, httpURL: HTTP_URL, httpMethod: HTTP_METHOD, httpAuth: A, httpAuthValue: REST_AUTH_VALUE, input_schema: TYPE): REST_ADAPTER_INPUT", "linkedDataTypeIdentifiers": [ + "HTTP_SCHEMA", "HTTP_URL", "HTTP_METHOD", "REST_AUTH_TYPE", @@ -38,18 +39,18 @@ ], "settings": [ { - "identifier": "input_schema", + "identifier": "httpSchema", "unique": "NONE", "name": [ { "code": "en-US", - "content": "Input schema" + "content": "Content Type" } ], "description": [ { "code": "en-US", - "content": "Input schema which defines the expected structure of the incoming request data." + "content": "Specifies the MIME type of the incoming request payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." } ] }, @@ -116,6 +117,22 @@ "content": "Provides the credential value matching the selected authentication type (e.g., token string or username/password pair)." } ] + }, + { + "identifier": "input_schema", + "unique": "NONE", + "name": [ + { + "code": "en-US", + "content": "Input schema" + } + ], + "description": [ + { + "code": "en-US", + "content": "Input schema which defines the expected structure of the incoming request data." + } + ] } ] } diff --git a/definitions/draco_rest/runtime_flow_types/rest.proto.json b/definitions/draco_rest/runtime_flow_types/rest.proto.json index 3bdbbac..e51a8ac 100644 --- a/definitions/draco_rest/runtime_flow_types/rest.proto.json +++ b/definitions/draco_rest/runtime_flow_types/rest.proto.json @@ -27,8 +27,9 @@ } ], "displayIcon": "tabler:world-www", - "signature": "(input_schema: TYPE, httpURL: HTTP_URL, httpMethod: HTTP_METHOD, httpAuth: A, httpAuthValue: REST_AUTH_VALUE): REST_ADAPTER_INPUT", + "signature": "(httpSchema: HTTP_SCHEMA, httpURL: HTTP_URL, httpMethod: HTTP_METHOD, httpAuth: A, httpAuthValue: REST_AUTH_VALUE, input_schema: TYPE): REST_ADAPTER_INPUT", "linkedDataTypeIdentifiers": [ + "HTTP_SCHEMA", "HTTP_URL", "HTTP_METHOD", "REST_AUTH_TYPE", @@ -37,18 +38,18 @@ ], "runtimeSettings": [ { - "identifier": "input_schema", + "identifier": "httpSchema", "unique": "NONE", "name": [ { "code": "en-US", - "content": "Input schema" + "content": "Content Type" } ], "description": [ { "code": "en-US", - "content": "Input schema which defines the expected structure of the incoming request data." + "content": "Specifies the MIME type of the incoming request payload, such as application/json, application/xml, or text/plain. This determines the expected format of the payload parameter." } ] }, @@ -115,6 +116,22 @@ "content": "Provides the credential value matching the selected authentication type (e.g., token string or username/password pair)." } ] + }, + { + "identifier": "input_schema", + "unique": "NONE", + "name": [ + { + "code": "en-US", + "content": "Input schema" + } + ], + "description": [ + { + "code": "en-US", + "content": "Input schema which defines the expected structure of the incoming request data." + } + ] } ] } From 92f88e15bbad3438069bebef51a3be66251ff382 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Mon, 22 Jun 2026 18:12:39 +0200 Subject: [PATCH 10/10] feat: correct aliases --- .../draco_rest/data_types/rest_adapter_auth_type.proto.json | 2 +- .../draco_rest/data_types/rest_adapter_auth_value.proto.json | 2 +- definitions/taurus/http/data_types/http_auth_place.proto.json | 2 +- definitions/taurus/http/data_types/http_auth_type.proto.json | 2 +- definitions/taurus/http/data_types/http_auth_value.proto.json | 2 +- definitions/taurus/http/data_types/http_payload.proto.json | 2 +- definitions/taurus/http/data_types/http_schema.proto.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json b/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json index 908da12..f0e2075 100644 --- a/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json +++ b/definitions/draco_rest/data_types/rest_adapter_auth_type.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "webhook;rest;auth;credential;type;variant;bearer;basic;jwt" } ], "displayMessage": [ diff --git a/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json b/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json index 6d25f75..4f69a1f 100644 --- a/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json +++ b/definitions/draco_rest/data_types/rest_adapter_auth_value.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "webhook;rest;auth;credential;value;bearer;basic;username;password;token" } ], "displayMessage": [ diff --git a/definitions/taurus/http/data_types/http_auth_place.proto.json b/definitions/taurus/http/data_types/http_auth_place.proto.json index 1c344f7..9185894 100644 --- a/definitions/taurus/http/data_types/http_auth_place.proto.json +++ b/definitions/taurus/http/data_types/http_auth_place.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "http;auth;credential;place;placement;location;header;url" } ], "displayMessage": [ diff --git a/definitions/taurus/http/data_types/http_auth_type.proto.json b/definitions/taurus/http/data_types/http_auth_type.proto.json index ebd8c0f..e64bc0b 100644 --- a/definitions/taurus/http/data_types/http_auth_type.proto.json +++ b/definitions/taurus/http/data_types/http_auth_type.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "http;auth;credential;type;variant;bearer;basic;api-key" } ], "displayMessage": [ diff --git a/definitions/taurus/http/data_types/http_auth_value.proto.json b/definitions/taurus/http/data_types/http_auth_value.proto.json index fd57527..7546842 100644 --- a/definitions/taurus/http/data_types/http_auth_value.proto.json +++ b/definitions/taurus/http/data_types/http_auth_value.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "http;auth;credential;value;bearer;basic;username;password;token" } ], "displayMessage": [ diff --git a/definitions/taurus/http/data_types/http_payload.proto.json b/definitions/taurus/http/data_types/http_payload.proto.json index ac2f764..1e2207e 100644 --- a/definitions/taurus/http/data_types/http_payload.proto.json +++ b/definitions/taurus/http/data_types/http_payload.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "http;payload;body;content;data;json" } ], "displayMessage": [ diff --git a/definitions/taurus/http/data_types/http_schema.proto.json b/definitions/taurus/http/data_types/http_schema.proto.json index 3e4c3e1..c8bd807 100644 --- a/definitions/taurus/http/data_types/http_schema.proto.json +++ b/definitions/taurus/http/data_types/http_schema.proto.json @@ -9,7 +9,7 @@ "alias": [ { "code": "en-US", - "content": "http;method;get;post;put;delete;path;head" + "content": "http;schema;content-type;mime;media-type;json;xml;text;csv" } ], "displayMessage": [