diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/EndpointBase.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/EndpointBase.cs index d5a77fc6a..4ca3e37ef 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/EndpointBase.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/EndpointBase.cs @@ -43,6 +43,7 @@ internal abstract class EndpointBase( { Workflow = workflowGraph.Workflow, CorrelationId = request.CorrelationId, + Name = request.Name, Input = request.GetInputAsDictionary(), TriggerActivityId = request.TriggerActivityId, ActivityHandle = request.ActivityHandle diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Models.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Models.cs index 12b31ad04..51f115e2f 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Models.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Models.cs @@ -13,6 +13,7 @@ public interface IExecutionRequest { string DefinitionId { get; } string? CorrelationId { get; } + string? Name { get; } string? TriggerActivityId { get; } ActivityHandle? ActivityHandle { get; } VersionOptions? VersionOptions { get; } @@ -22,8 +23,9 @@ public interface IExecutionRequest public class PostRequest : IExecutionRequest { - public string DefinitionId { get; set; } = default!; + public string DefinitionId { get; set; } = null!; public string? CorrelationId { get; set; } + public string? Name { get; set; } public string? TriggerActivityId { get; set; } public ActivityHandle? ActivityHandle { get; set; } public VersionOptions? VersionOptions { get; set; } @@ -36,8 +38,9 @@ public class PostRequest : IExecutionRequest public class GetRequest : IExecutionRequest { - public string DefinitionId { get; set; } = default!; + public string DefinitionId { get; set; } = null!; public string? CorrelationId { get; set; } + public string? Name { get; set; } public string? TriggerActivityId { get; set; } public ActivityHandle? ActivityHandle { get; set; } public VersionOptions? VersionOptions { get; set; } @@ -45,9 +48,9 @@ public class GetRequest : IExecutionRequest public IDictionary? GetInputAsDictionary() { - var result = Input?.TryConvertTo(new ObjectConverterOptions + var result = Input?.TryConvertTo(new() { - SerializerOptions = new JsonSerializerOptions + SerializerOptions = new() { Converters = { new ExpandoObjectConverter() } } diff --git a/src/modules/Elsa.Workflows.Runtime/Requests/StartWorkflowRequest.cs b/src/modules/Elsa.Workflows.Runtime/Requests/StartWorkflowRequest.cs index 216b4b8e3..c8ca5d215 100644 --- a/src/modules/Elsa.Workflows.Runtime/Requests/StartWorkflowRequest.cs +++ b/src/modules/Elsa.Workflows.Runtime/Requests/StartWorkflowRequest.cs @@ -22,6 +22,11 @@ public class StartWorkflowRequest /// public string? CorrelationId { get; set; } + /// + /// The name to use when starting a new workflow instance. + /// + public string? Name { get; set; } + /// /// The input to the workflow instance, if any. /// diff --git a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowStarter.cs b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowStarter.cs index db557bbbc..96b2460f1 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowStarter.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowStarter.cs @@ -29,6 +29,7 @@ public class DefaultWorkflowStarter(IWorkflowDefinitionService workflowDefinitio { WorkflowDefinitionHandle = WorkflowDefinitionHandle.ByDefinitionVersionId(workflow.Identity.Id), CorrelationId = request.CorrelationId, + Name = request.Name, Input = request.Input, TriggerActivityId = request.TriggerActivityId, ActivityHandle = request.ActivityHandle,