Add API support for querying workflow instances by correlation ID
This commit is contained in:
parent
d1c57aaba0
commit
11de05173e
|
|
@ -7,6 +7,7 @@ namespace Elsa.Persistence.Specifications.WorkflowInstances
|
|||
{
|
||||
public static ISpecification<WorkflowInstance> WithWorkflowDefinition(this ISpecification<WorkflowInstance> specification, string workflowDefinitionId) => specification.And(new WorkflowDefinitionIdSpecification(workflowDefinitionId));
|
||||
public static ISpecification<WorkflowInstance> WithWorkflowName(this ISpecification<WorkflowInstance> specification, string name) => specification.And(new WorkflowInstanceNameMatchSpecification(name));
|
||||
public static ISpecification<WorkflowInstance> WithCorrelationId(this ISpecification<WorkflowInstance> specification, string correlationId) => specification.And(new CorrelationIdSpecification<WorkflowInstance>(correlationId));
|
||||
public static ISpecification<WorkflowInstance> WithContextId(this ISpecification<WorkflowInstance> specification, string contextType, string contextId) => specification.And(new WorkflowInstanceContextIdMatchSpecification(contextType, contextId));
|
||||
public static ISpecification<WorkflowInstance> WithContextId(this ISpecification<WorkflowInstance> specification, Type contextType, string contextId) => specification.And(new WorkflowInstanceContextIdMatchSpecification(contextType, contextId));
|
||||
public static ISpecification<WorkflowInstance> WithContextId<TContextType>(this ISpecification<WorkflowInstance> specification, string contextId) => specification.And(new WorkflowInstanceContextIdMatchSpecification(typeof(TContextType), contextId));
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ namespace Elsa.Server.Api.Endpoints.WorkflowInstances
|
|||
public async Task<ActionResult<PagedList<WorkflowInstanceSummaryModel>>> Handle(
|
||||
[FromQuery(Name = "workflow")] string? workflowDefinitionId = default,
|
||||
[FromQuery(Name = "status")] WorkflowStatus? workflowStatus = default,
|
||||
[FromQuery] string? correlationId = default,
|
||||
[FromQuery] OrderBy? orderBy = default,
|
||||
[FromQuery] string? searchTerm = default,
|
||||
int page = 0,
|
||||
|
|
@ -57,6 +58,9 @@ namespace Elsa.Server.Api.Endpoints.WorkflowInstances
|
|||
|
||||
if (!string.IsNullOrWhiteSpace(workflowDefinitionId))
|
||||
specification = specification.WithWorkflowDefinition(workflowDefinitionId);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(correlationId))
|
||||
specification = specification.WithCorrelationId(correlationId);
|
||||
|
||||
if (workflowStatus != null)
|
||||
specification = specification.WithStatus(workflowStatus.Value);
|
||||
|
|
|
|||
Loading…
Reference in a new issue