Add activation strategy API client

This commit is contained in:
Sipke Schoorstra 2023-07-02 18:59:13 +02:00
parent 09e1b1efb1
commit 159f27b635
4 changed files with 35 additions and 0 deletions

View file

@ -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<IActivityDescriptorsApi>(CreateRefitSettings);
services.AddApi<IStorageDriversApi>(CreateRefitSettings);
services.AddApi<IVariableTypesApi>(CreateRefitSettings);
services.AddApi<IWorkflowActivationStrategiesApi>(CreateRefitSettings);
services.AddApi<ILoginApi>(CreateRefitSettings);
return services;
}

View file

@ -0,0 +1,6 @@
namespace Elsa.Api.Client.Models;
/// <summary>
/// Represents a generic list response that offers a unified format for returning list of things from API endpoints.
/// </summary>
public record ListResponse<T>(ICollection<T> Items, long Count);

View file

@ -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;
/// <summary>
/// Represents a client for the variable types API.
/// </summary>
public interface IWorkflowActivationStrategiesApi
{
/// <summary>
/// Lists workflow activation strategies.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
[Get("/descriptors/workflow-activation-strategies")]
Task<ListResponse<WorkflowActivationStrategyDescriptor>> ListAsync(CancellationToken cancellationToken = default);
}

View file

@ -0,0 +1,9 @@
namespace Elsa.Api.Client.Resources.WorkflowActivationStrategies.Models;
/// <summary>
/// Represents a workflow activation strategy.
/// </summary>
/// <param name="TypeName">The .NET type name of the activation strategy.</param>
/// <param name="DisplayName">The display name of the activation strategy.</param>
/// <param name="Description">The description of the activation strategy.</param>
public record WorkflowActivationStrategyDescriptor(string TypeName, string DisplayName, string? Description);