Add scripting api to elsa client (#2511)

Co-authored-by: Dominic Asley <dasley@oexa.co>
This commit is contained in:
dominicasley 2021-11-24 20:52:05 +10:00 committed by GitHub
parent 9307df687c
commit 3f327ef742
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 2 deletions

View file

@ -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; }
}
}

View file

@ -29,7 +29,8 @@ namespace Elsa.Client.Extensions
.AddApiClient<IWorkflowDefinitionsApi>(refitSettings, httpClientFactory)
.AddApiClient<IWorkflowRegistryApi>(refitSettings, httpClientFactory)
.AddApiClient<IWorkflowInstancesApi>(refitSettings, httpClientFactory)
.AddApiClient<IWebhookDefinitionsApi>(refitSettings, httpClientFactory);
.AddApiClient<IWebhookDefinitionsApi>(refitSettings, httpClientFactory)
.AddApiClient<IScriptingApi>(refitSettings, httpClientFactory);
return services
.AddTransient<IElsaClient, ElsaClient>();

View file

@ -10,5 +10,6 @@ namespace Elsa.Client
IWorkflowRegistryApi WorkflowRegistry { get; }
IWorkflowInstancesApi WorkflowInstances { get; }
IWebhookDefinitionsApi WebhookDefinitions { get; }
IScriptingApi Scripting { get; }
}
}

View file

@ -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<HttpContent> GetTypeScriptDefinitionFileAsync(string workflowDefinitionId, CancellationToken cancellationToken = default);
}
}