diff --git a/src/clients/Elsa.Api.Client/Extensions/DependencyInjectionExtensions.cs b/src/clients/Elsa.Api.Client/Extensions/DependencyInjectionExtensions.cs index 54b905329..a5a14c777 100644 --- a/src/clients/Elsa.Api.Client/Extensions/DependencyInjectionExtensions.cs +++ b/src/clients/Elsa.Api.Client/Extensions/DependencyInjectionExtensions.cs @@ -8,6 +8,7 @@ using Elsa.Api.Client.Resources.ActivityDescriptors.Contracts; using Elsa.Api.Client.Resources.Identity.Contracts; using Elsa.Api.Client.Resources.StorageDrivers.Contracts; using Elsa.Api.Client.Resources.VariableTypes.Contracts; +using Elsa.Api.Client.Resources.WorkflowActivationStrategies.Contracts; using Elsa.Api.Client.Resources.WorkflowDefinitions.Contracts; using Elsa.Api.Client.Services; using JetBrains.Annotations; @@ -36,6 +37,7 @@ public static class DependencyInjectionExtensions services.AddApi(CreateRefitSettings); services.AddApi(CreateRefitSettings); services.AddApi(CreateRefitSettings); + services.AddApi(CreateRefitSettings); services.AddApi(CreateRefitSettings); return services; } diff --git a/src/clients/Elsa.Api.Client/Models/ListResponse.cs b/src/clients/Elsa.Api.Client/Models/ListResponse.cs new file mode 100644 index 000000000..0f3c9b406 --- /dev/null +++ b/src/clients/Elsa.Api.Client/Models/ListResponse.cs @@ -0,0 +1,6 @@ +namespace Elsa.Api.Client.Models; + +/// +/// Represents a generic list response that offers a unified format for returning list of things from API endpoints. +/// +public record ListResponse(ICollection Items, long Count); \ No newline at end of file diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowActivationStrategies/Contracts/IStorageDriversApi.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowActivationStrategies/Contracts/IStorageDriversApi.cs new file mode 100644 index 000000000..07161ca9c --- /dev/null +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowActivationStrategies/Contracts/IStorageDriversApi.cs @@ -0,0 +1,18 @@ +using Elsa.Api.Client.Models; +using Elsa.Api.Client.Resources.WorkflowActivationStrategies.Models; +using Refit; + +namespace Elsa.Api.Client.Resources.WorkflowActivationStrategies.Contracts; + +/// +/// Represents a client for the variable types API. +/// +public interface IWorkflowActivationStrategiesApi +{ + /// + /// Lists workflow activation strategies. + /// + /// The cancellation token. + [Get("/descriptors/workflow-activation-strategies")] + Task> ListAsync(CancellationToken cancellationToken = default); +} \ No newline at end of file diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowActivationStrategies/Models/WorkflowActivationStrategyDescriptor.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowActivationStrategies/Models/WorkflowActivationStrategyDescriptor.cs new file mode 100644 index 000000000..4415496c3 --- /dev/null +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowActivationStrategies/Models/WorkflowActivationStrategyDescriptor.cs @@ -0,0 +1,9 @@ +namespace Elsa.Api.Client.Resources.WorkflowActivationStrategies.Models; + +/// +/// Represents a workflow activation strategy. +/// +/// The .NET type name of the activation strategy. +/// The display name of the activation strategy. +/// The description of the activation strategy. +public record WorkflowActivationStrategyDescriptor(string TypeName, string DisplayName, string? Description); \ No newline at end of file