Backend/e-suite.Core/eSuite.Core/Security/SecurityAccess.cs

258 lines
12 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace eSuite.Core.Security;
/// <summary>
/// This is the master list of security access rights.
/// WARNING: Do not remove items from this list EVER.
/// You may mark an item with the [Obsolete] Attribute when it is no longer in use by the rest of the source code.
/// </summary>
public enum SecurityAccess
{
[Hidden]
[Display(Name = "Everyone", Description = "Can do something that everyone can do", GroupName = "Everyone")]
Everyone = 0,
[Display(Name = "Add User", Description = "Able to create a new user account", GroupName = "User")]
AddUser = 1,
[Display(Name = "Edit User", Description = "Able to modify other user accounts", GroupName = "User")]
EditUser = 2,
[Display(Name = "Delete User", Description = "Able to deactivate a users account", GroupName = "User")]
DeleteUser = 3,
[Display(Name = "View User", Description = "Able to view one or more user account(s)", GroupName = "User")]
ViewUser = 4,
[Display(Name = "Resend Confirm Email", Description = "Able to resend confirm email to the user", GroupName = "User")]
ResendConfirmMail = 5,
[Display(Name = "View Specification", Description = "Able to view one or more specification(s)", GroupName = "Specification")]
ViewSpecification = 6,
[Display(Name = "View Template For PrintSpec", Description = "Able to view template for specification(s)", GroupName = "Specification")]
ViewTemplateForPrintSpec = 7,
[Display(Name = "Add Specification", Description = "Able to create a new specification", GroupName = "Specification")]
AddSpecification = 8,
[Display(Name = "Edit Specification", Description = "Able to make changes to specification", GroupName = "Specification")]
EditSpecification = 9,
[Display(Name = "Delete Specification", Description = "Able to remove a specification", GroupName = "Specification")]
DeleteSpecification = 10,
[Display(Name = "View Site", Description = "Able to view one or more site(s)", GroupName = "Site")]
ViewSite = 11,
[Display(Name = "Add Site", Description = "Able to create a new site", GroupName = "Site")]
AddSite = 12,
[Display(Name = "Edit Site", Description = "Able to make changes to a site", GroupName = "Site")]
EditSite = 13,
[Display(Name = "Delete Site", Description = "Able to remove a site", GroupName = "Site")]
DeleteSite = 14,
[Display(Name = "View Sequence", Description = "Able to view one or more sequence(s)", GroupName = "Sequence")]
ViewSequence = 15,
[Display(Name = "Add Sequence", Description = "Able to create a new sequence", GroupName = "Sequence")]
AddSequence = 16,
[Display(Name = "Edit Sequence", Description = "Able to make changes to a sequence", GroupName = "Sequence")]
EditSequence = 17,
[Display(Name = "Delete Sequence", Description = "Able to remove a sequence", GroupName = "Sequence")]
DeleteSequence = 18,
[Hidden]
[Display(Name = "Next Sequence Value", Description = "Able to view next sequence value", GroupName = "Sequence")]
NextSequenceValue = 19,
[Display(Name = "View Role", Description = "Able to view one or more role(s)", GroupName = "Role")]
ViewRole = 20,
[Display(Name = "Add Role", Description = "Able to create a new role", GroupName = "Role")]
AddRole = 21,
[Display(Name = "Edit Role", Description = "Able to make changes to a role", GroupName = "Role")]
EditRole = 22,
[Display(Name = "Delete Role", Description = "Able to remove a role", GroupName = "Role")]
DeleteRole = 23,
[Display(Name = "View Role Users", Description = "Able to view one or more role user(s)", GroupName = "Role")]
ViewRoleUsers = 24,
[Display(Name = "Add Role User", Description = "Able to add a new role user", GroupName = "Role")]
AddRoleUser = 25,
[Display(Name = "Delete Role User", Description = "Able to remove a role user", GroupName = "Role")]
DeleteRoleUser = 26,
[Hidden]
[Display(Name = "View Access List", Description = "Able to view access list", GroupName = "Role")]
ViewAccessList = 27,
[Display(Name = "View Role Access", Description = "Able to view role access", GroupName = "Role")]
ViewRoleAccess = 28,
[Display(Name = "Edit Role Access", Description = "Able to edit role access", GroupName = "Role")]
EditRoleAccess = 29,
[Hidden]
[Display(Name = "Delete Role Access", Description = "Able to remove role access", GroupName = "Role")]
DeleteRoleAccess = 30,
[Display(Name = "View Organisation", Description = "Able to view one or more organisation(s)", GroupName = "Organisation")]
ViewOrganisation = 31,
[Display(Name = "Add Organisation", Description = "Able to create a new organisation", GroupName = "Organisation")]
AddOrganisation = 32,
[Display(Name = "Edit Organisation", Description = "Able to make changes to an organisation", GroupName = "Organisation")]
EditOrganisation = 33,
[Display(Name = "Delete Organisation", Description = "Able to remove an organisation", GroupName = "Organisation")]
DeleteOrganisation = 34,
[Obsolete("Viewing mail template types is not a protected activity")]
[Display(Name = "View Mail Template Types", Description = "Able to view one or more mail template types", GroupName = "MailTemplate")]
ViewMailTemplateTypes = 35,
[Hidden]
[Display(Name = "View Mail Template", Description = "Able to view one or more mail template(s)", GroupName = "MailTemplate")]
ViewMailTemplate = 36,
[Hidden]
[Display(Name = "Add Mail Template", Description = "Able to add a new mail template", GroupName = "MailTemplate")]
AddMailTemplate = 37,
[Display(Name = "View Glossary", Description = "Able to view one or more glossary items", GroupName = "Glossary")]
ViewGlossary = 38,
[Display(Name = "Add Glossary", Description = "Able to create a new glossary item", GroupName = "Glossary")]
AddGlossary = 39,
[Display(Name = "Edit Glossary", Description = "Able to make changes to a glossary item", GroupName = "Glossary")]
EditGlossary = 40,
[Display(Name = "Delete Glossary", Description = "Able to remove a glossary item", GroupName = "Glossary")]
DeleteGlossary = 41,
[Display(Name = "View Form Template", Description = "Able to view one or more form template(s)", GroupName = "Form")]
ViewFormTemplate = 42,
[Display(Name = "Add Form Template", Description = "Able to create a new form template", GroupName = "Form")]
AddFormTemplate = 43,
[Display(Name = "Edit Form Template", Description = "Able to make changes to a form template", GroupName = "Form")]
EditFormTemplate = 44,
[Display(Name = "Delete Form Template", Description = "Able to remove a form template", GroupName = "Form")]
DeleteFormTemplate = 45,
[Hidden]
[Display(Name = "View Form Instance", Description = "Able to view one or more form instance(s)", GroupName = "Form")]
ViewFormInstance = 46,
[Hidden]
[Display(Name = "Add Form Instance", Description = "Able to add a new form instance", GroupName = "Form")]
AddFormInstance = 47,
[Hidden]
[Display(Name = "Edit Form Instance", Description = "Able to make changes to a form instance", GroupName = "Form")]
EditFormInstance = 48,
[Display(Name = "View Domain", Description = "Able to view one or more domain(s)", GroupName = "Domain")]
ViewDomain = 49,
[Display(Name = "Add Domain", Description = "Able to create a new domain", GroupName = "Domain")]
AddDomain = 50,
[Display(Name = "Edit Domain", Description = "Able to make changes to a domain", GroupName = "Domain")]
EditDomain = 51,
[Display(Name = "Delete Domain", Description = "Able to remove a domain", GroupName = "Domain")]
DeleteDomain = 52,
[Display(Name = "View Field", Description = "Able to view one or more field(s)", GroupName = "CustomField")]
ViewField = 53,
[Display(Name = "Add Field", Description = "Able to create a new field", GroupName = "CustomField")]
AddField = 54,
[Display(Name = "Edit Field", Description = "Able to make changes to a field", GroupName = "CustomField")]
EditField = 55,
[Display(Name = "Delete Field", Description = "Able to remove a field", GroupName = "CustomField")]
DeleteField = 56,
[Display(Name = "View Audit Log", Description = "Able to view one or more audit log(s)", GroupName = "AuditLog")]
ViewAuditLog = 57,
[Display(Name = "View Blocked IP Address", Description = "Able to view one or more blocked IP addresses", GroupName = "BlockedIPAddresses")]
ViewBlockedIPAddresses = 58,
[Display(Name = "UnBlock IP Address", Description = "Able to unblock blocked IP address", GroupName = "BlockedIPAddresses")]
UnlockIPAddress = 59,
[Display(Name = "View Error Logs", Description = "Able to view error log(s)", GroupName = "ErrorLogs")]
ViewErrorLogs = 60,
[Display(Name = "Get Current Email Action Url", Description = "Get the current URL for a supplied user (note this is intended to internal use only)", GroupName = "User")]
GetCurrentEmailActionUrl = 61,
[Display(Name = "View SsoProvider details", Description = "Get the details of the SsoProviders used for single sign on", GroupName = "SsoProvider")]
ViewSsoProviders = 62,
[Display(Name = "Add SsoProvider details", Description = "Add a new Single Sign On provider", GroupName = "SsoProvider")]
AddSsoProvider = 63,
[Display(Name = "Edit SsoProvider details", Description = "Edit an existing Single Sign On provider", GroupName = "SsoProvider")]
EditSsoProvider = 64,
[Display(Name = "Delete SsoProvider", Description = "Delete existing Single Sign On provider", GroupName = "SsoProvider")]
DeleteSsoProvider = 65,
[Display(Name = "ImportGMGProfiles", Description = "ImportGMGProfiles", GroupName = "Internal Maintenance")]
ImportGMGProfiles = 66,
[Display(Name = "ClearOldEmailActions", Description = "ClearOldEmailActions", GroupName = "Internal Maintenance")]
ClearOldEmailActions = 67,
[Display(Name = "ClearOldPerformanceData", Description = "ClearOldPerformanceData", GroupName = "Internal Maintenance")]
ClearOldPerformanceData = 68,
[Display(Name = "ClearOldSentinelData", Description = "ClearOldSentinelData", GroupName = "Internal Maintenance")]
ClearOldSentinelData = 69,
[Display(Name = "ClearOldSingleUserGuids", Description = "ClearOldSingleUserGuids", GroupName = "Internal Maintenance")]
ClearOldSingleUserGuids = 70,
[Display(Name = "ImportPrintSpecifications", Description = "ImportPrintSpecifications", GroupName = "Internal Maintenance")]
ImportPrintSpecifications = 71,
[Display(Name = "SyncEFlowPrinterCategories", Description = "SyncEFlowPrinterCategories", GroupName = "Internal Maintenance")]
SyncEFlowPrinterCategories = 72,
[Display(Name = "ViewWorkflowTemplates", Description = "View Workflow Templates", GroupName = "Workflow Templates")]
ViewWorkflowTemplates = 73,
[Display(Name = "EditWorkflowTemplate", Description = "Edit Workflow Templates", GroupName = "Workflow Templates")]
EditWorkflowTemplate = 74,
[Display(Name = "EditWorkflowTemplate", Description = "Add Workflow Templates", GroupName = "Workflow Templates")]
AddWorkflowTemplate = 75,
[Display(Name = "EditWorkflowTemplate", Description = "Delete Workflow Templates", GroupName = "Workflow Templates")]
DeleteWorkflowTemplate = 76,
[Display(Name = "CreateActivity", Description = "Create an activity based on a Workflow Template", GroupName = "Activities")]
CreateActivity = 77,
[Display(Name = "ViewTasks", Description = "View activity tasks that are in progress", GroupName = "Activities")]
ViewTasks = 78
}