From 3f327ef7422efdd6a99599dd87f78a7c32f111bc Mon Sep 17 00:00:00 2001 From: dominicasley Date: Wed, 24 Nov 2021 20:52:05 +1000 Subject: [PATCH] Add scripting api to elsa client (#2511) Co-authored-by: Dominic Asley --- src/clients/Elsa.Client/ElsaClient.cs | 5 ++++- .../Extensions/ServiceCollectionExtensions.cs | 3 ++- src/clients/Elsa.Client/IElsaClient.cs | 1 + src/clients/Elsa.Client/Services/IScriptingApi.cs | 13 +++++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 src/clients/Elsa.Client/Services/IScriptingApi.cs diff --git a/src/clients/Elsa.Client/ElsaClient.cs b/src/clients/Elsa.Client/ElsaClient.cs index 69c690303..7cb187f9a 100644 --- a/src/clients/Elsa.Client/ElsaClient.cs +++ b/src/clients/Elsa.Client/ElsaClient.cs @@ -10,13 +10,15 @@ namespace Elsa.Client IWorkflowDefinitionsApi workflowDefinitions, IWorkflowRegistryApi workflowRegistry, IWorkflowInstancesApi workflowInstances, - IWebhookDefinitionsApi webhookDefinitions) + IWebhookDefinitionsApi webhookDefinitions, + IScriptingApi scriptingApi) { Activities = activities; WorkflowDefinitions = workflowDefinitions; WorkflowRegistry = workflowRegistry; WorkflowInstances = workflowInstances; WebhookDefinitions = webhookDefinitions; + Scripting = scriptingApi; } public IActivitiesApi Activities { get; } @@ -24,5 +26,6 @@ namespace Elsa.Client public IWorkflowRegistryApi WorkflowRegistry { get; } public IWorkflowInstancesApi WorkflowInstances { get; } public IWebhookDefinitionsApi WebhookDefinitions { get; } + public IScriptingApi Scripting { get; } } } \ No newline at end of file diff --git a/src/clients/Elsa.Client/Extensions/ServiceCollectionExtensions.cs b/src/clients/Elsa.Client/Extensions/ServiceCollectionExtensions.cs index cf4f00153..3dc8f9eac 100644 --- a/src/clients/Elsa.Client/Extensions/ServiceCollectionExtensions.cs +++ b/src/clients/Elsa.Client/Extensions/ServiceCollectionExtensions.cs @@ -29,7 +29,8 @@ namespace Elsa.Client.Extensions .AddApiClient(refitSettings, httpClientFactory) .AddApiClient(refitSettings, httpClientFactory) .AddApiClient(refitSettings, httpClientFactory) - .AddApiClient(refitSettings, httpClientFactory); + .AddApiClient(refitSettings, httpClientFactory) + .AddApiClient(refitSettings, httpClientFactory); return services .AddTransient(); diff --git a/src/clients/Elsa.Client/IElsaClient.cs b/src/clients/Elsa.Client/IElsaClient.cs index 3e9d46959..e8808872a 100644 --- a/src/clients/Elsa.Client/IElsaClient.cs +++ b/src/clients/Elsa.Client/IElsaClient.cs @@ -10,5 +10,6 @@ namespace Elsa.Client IWorkflowRegistryApi WorkflowRegistry { get; } IWorkflowInstancesApi WorkflowInstances { get; } IWebhookDefinitionsApi WebhookDefinitions { get; } + IScriptingApi Scripting { get; } } } \ No newline at end of file diff --git a/src/clients/Elsa.Client/Services/IScriptingApi.cs b/src/clients/Elsa.Client/Services/IScriptingApi.cs new file mode 100644 index 000000000..b57c9da19 --- /dev/null +++ b/src/clients/Elsa.Client/Services/IScriptingApi.cs @@ -0,0 +1,13 @@ +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Refit; + +namespace Elsa.Client.Services +{ + public interface IScriptingApi + { + [Get("/v1/scripting/javascript/type-definitions/{workflowDefinitionId}")] + Task GetTypeScriptDefinitionFileAsync(string workflowDefinitionId, CancellationToken cancellationToken = default); + } +} \ No newline at end of file