elsa-core/src/runtime/Elsa.Runtime/Contracts/IWorkflowService.cs
Sipke Schoorstra b23ebdaddd Restructuring
2022-03-22 14:33:15 +01:00

18 lines
1.3 KiB
C#

using Elsa.Models;
using Elsa.Persistence.Models;
namespace Elsa.Runtime.Contracts;
/// <summary>
/// Represents a high-level service to invoke workflows.
/// </summary>
public interface IWorkflowService
{
Task<ExecuteWorkflowResult> ExecuteWorkflowAsync(string definitionId, VersionOptions versionOptions, IReadOnlyDictionary<string, object>? input = default, CancellationToken cancellationToken = default);
Task<ExecuteWorkflowResult> ExecuteWorkflowAsync(string instanceId, Bookmark bookmark, IReadOnlyDictionary<string, object>? input = default, CancellationToken cancellationToken = default);
Task<DispatchWorkflowResult> DispatchWorkflowAsync(string definitionId, VersionOptions versionOptions, IReadOnlyDictionary<string, object>? input = default, CancellationToken cancellationToken = default);
Task<DispatchWorkflowResult> DispatchWorkflowAsync(string instanceId, Bookmark bookmark, IReadOnlyDictionary<string, object>? input = default, CancellationToken cancellationToken = default);
Task<IEnumerable<ExecuteWorkflowInstructionResult>> ExecuteStimulusAsync(IStimulus stimulus, CancellationToken cancellationToken);
Task<IEnumerable<DispatchWorkflowInstructionResult>> DispatchStimulusAsync(IStimulus stimulus, CancellationToken cancellationToken);
}