namespace IWS5.Core.Constants
{
    public class PDVariables
    {
        public static readonly HashSet<string> WorkItemVariables = new HashSet<string>
        {
            "workitemid", "sourceuser", "sourcequeueid", "eventid", "lastaction", "exceptionnote"
        };
        
        public static readonly HashSet<string> WorkItemDataVariables = new HashSet<string>
        {
            "created", "creator", "lockedby", "priority", "workitemname", "processid"
        };

        public static readonly HashSet<string> WorkItemReferenceVariables = new HashSet<string>
        {
            "workitemreferenceid", "arrivaldate", "assignedto", "expirationtime", "expired", "queueid", "lastactionuser", "status"
        };

        public static readonly HashSet<string> UserVariables = new HashSet<string>
        {
            "sourceuserdisplayname", "lastactionuserdisplayname", "creatordisplayname"
        };
        
        public static readonly HashSet<string> UserPropertyVariables = new HashSet<string>
        {
            "sourceuseremail", "lastactionuseremail", "creatoremail"
        };

        public static readonly HashSet<string> ProcessDefinitionVariables = new HashSet<string>
        {
            "processname", "processversion"
        };

        public static readonly HashSet<string> EventDefinitionVariables = new HashSet<string>
        {
            "eventname", "server", "eventtype"
        };
        
        public static readonly HashSet<string> ExceptionVariables = new HashSet<string>
        {
            "exceptionnote"
        };
        
        public static readonly HashSet<string> UrlVariables = new HashSet<string>
        {
            "supportemailaddress", "rapidurl"
        };
    }
}