using System.Runtime.Serialization;
namespace Elsa.Client.Models
{
[DataContract]
public class WorkflowBlueprint : CompositeActivityBlueprint
{
[DataMember(Order = 1)] public int Version { get; set;}
[DataMember(Order = 2)] public string? TenantId { get; set;}
[DataMember(Order = 3)] public bool IsSingleton { get; set;}
[DataMember(Order = 4)] public bool IsEnabled { get; set;}
[DataMember(Order = 5)] public bool IsPublished { get; set;}
[DataMember(Order = 6)] public bool IsLatest { get; set;}
///
/// An initial set of variables available to workflow instances.
///
[DataMember(Order = 7)]
public Variables Variables { get; set;} = new();
///
/// An optional context type around which this workflow revolves. For example, a document, a leave request or a job application.
///
[DataMember(Order = 8)]
public WorkflowContextOptions? ContextOptions { get; set; }
[DataMember(Order = 9)] public WorkflowPersistenceBehavior PersistenceBehavior { get; set;}
[DataMember(Order = 10)] public bool DeleteCompletedInstances { get; set;}
///
/// A dictionary to store application-specific properties for a given workflow.
///
[DataMember(Order = 11)]
public Variables CustomAttributes { get; set;} = new();
[DataMember(Order = 12)] public string? DisplayName { get; set; }
}
}