IUserTaskService enhancement - optional activityId
#4 535 ouverte le 13 oct. 2023
Métriques du dépôt
- Stars
- (5 486 étoiles)
- Métriques de merge PR
- (Merge moyen 1j 17h) (29 PRs mergées en 30 j)
Description
The IUserTaskService is great but, I think it needs an improvement.
Specifically, i think the TriggerUserAction record needs an optional activityId, to be absolutely specific if the action being performed is going to target the correct activity.
public record TriggerUserAction(string Action,string? WorkflowInstanceId = default,string? CorrelationId = default );
to become
public record TriggerUserAction(string Action,string? WorkflowInstanceId = default, string? ActivityId = default, string? CorrelationId = default );
If you consider the possibility that a Fork has a blocking activity on each branch, and each perhaps has the same outcome names, then the specificity requires in that use providing the activityId.
This change would also predicate the IUserTaskService needing two additional methods:
Task< CollectedWorkflow> ExecuteUserActionAsync(TriggerUserAction taskAction, CancellationToken cancellationToken = default(CancellationToken));
Task<CollectedWorkflow> DispatchUserActionAsync(TriggerUserAction taskAction, CancellationToken cancellationToken = default(CancellationToken));