From fa4943a068a67620a6e821c6170e1719df7cf2ed Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 7 Jul 2023 19:06:39 +0200 Subject: [PATCH] Add support for listing workflow instances by multiple definition IDs --- .../WorkflowDefinitions/Models/WorkflowDefinitionSummary.cs | 2 +- .../WorkflowInstances/Requests/ListWorkflowInstancesRequest.cs | 2 ++ .../Endpoints/WorkflowInstances/List/Endpoint.cs | 1 + .../Endpoints/WorkflowInstances/List/Models.cs | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/WorkflowDefinitionSummary.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/WorkflowDefinitionSummary.cs index 7c470b863..a07850c76 100644 --- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/WorkflowDefinitionSummary.cs +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/WorkflowDefinitionSummary.cs @@ -6,4 +6,4 @@ namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models; /// A summary of a workflow definition. /// [PublicAPI] -public record WorkflowDefinitionSummary(string Id, string DefinitionId, string? Name, string? Description, int? Version, bool IsLatest, bool IsPublished, string MaterializerName, DateTimeOffset CreatedAt); \ No newline at end of file +public record WorkflowDefinitionSummary(string Id, string DefinitionId, string Name, string? Description, int? Version, bool IsLatest, bool IsPublished, string MaterializerName, DateTimeOffset CreatedAt); \ No newline at end of file diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Requests/ListWorkflowInstancesRequest.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Requests/ListWorkflowInstancesRequest.cs index c32a852bc..15618633c 100644 --- a/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Requests/ListWorkflowInstancesRequest.cs +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Requests/ListWorkflowInstancesRequest.cs @@ -1,5 +1,6 @@ using Elsa.Api.Client.Resources.WorkflowInstances.Enums; using Elsa.Api.Client.Shared.Models; +using Refit; namespace Elsa.Api.Client.Resources.WorkflowInstances.Requests; @@ -9,6 +10,7 @@ public class ListWorkflowInstancesRequest public int? PageSize { get; set; } public string? SearchTerm { get; set; } public string? DefinitionId { get; set; } + [Query(CollectionFormat.Multi)] public ICollection? DefinitionIds { get; set; } public string? CorrelationId { get; set; } public int? Version { get; set; } public WorkflowStatus? Status { get; set; } diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Endpoint.cs index 2c36994a7..2156731eb 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Endpoint.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Endpoint.cs @@ -33,6 +33,7 @@ internal class List : ElsaEndpoint { SearchTerm = request.SearchTerm, DefinitionId = request.DefinitionId, + DefinitionIds = request.DefinitionIds, Version = request.Version, CorrelationId = request.CorrelationId, WorkflowStatus = request.Status, diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Models.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Models.cs index 99400a8b6..4c1d4f0b3 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Models.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/List/Models.cs @@ -11,6 +11,7 @@ public class Request public int? PageSize { get; set; } public string? SearchTerm { get; set; } public string? DefinitionId { get; set; } + public ICollection? DefinitionIds { get; set; } public string? CorrelationId { get; set; } public int? Version { get; set; } public WorkflowStatus? Status { get; set; }