using e_suite.Workflow.Core.Attributes;
using e_suite.Workflow.Core.Enums;
using e_suite.Workflow.Core.Interfaces;

namespace e_suite.Workflow.Core.Tasks;

[ApprovalTask]
public class ApprovalStep : TaskBase, IAssignees<ApprovalTaskAssignee, ApprovalVerdict>
{
    public List<ApprovalTaskAssignee> Assignees { get; set; } = [];
    public CompletionRule<ApprovalVerdict> AssigneesCompletionRule { get; set; }

    public List<OutcomeAction<ApprovalVerdict>> OutcomeActions { get; set; }
}