mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 07:13:12 +00:00
67 lines
3 KiB
C#
67 lines
3 KiB
C#
namespace SeaHaven.Services.Constants
|
|
{
|
|
/// <summary>
|
|
/// Canonical, immutable registry of team-members permission keys.
|
|
/// Exactly the 22 approved prototype keys; stored overrides must reference
|
|
/// these keys. Keys are stable identifiers and must never be renamed.
|
|
/// </summary>
|
|
public static class TeamPermissionKeys
|
|
{
|
|
public const string ManageTeamMembers = "manageTeamMembers";
|
|
public const string ChangeTeamMemberRole = "changeTeamMemberRole";
|
|
public const string CreateVendors = "createVendors";
|
|
public const string EditVendors = "editVendors";
|
|
public const string DeactivateVendors = "deactivateVendors";
|
|
public const string CreateSites = "createSites";
|
|
public const string EditSites = "editSites";
|
|
public const string DeleteSites = "deleteSites";
|
|
public const string CreateServices = "createServices";
|
|
public const string EditServices = "editServices";
|
|
public const string DeactivateServices = "deactivateServices";
|
|
public const string CreateCompletionDocTemplates = "createCompletionDocTemplates";
|
|
public const string EditCompletionDocTemplates = "editCompletionDocTemplates";
|
|
public const string DeleteCompletionDocTemplates = "deleteCompletionDocTemplates";
|
|
public const string CreateWorkOrders = "createWorkOrders";
|
|
public const string EditOthersWorkOrders = "editOthersWorkOrders";
|
|
public const string CancelWorkOrders = "cancelWorkOrders";
|
|
public const string DeleteWorkOrders = "deleteWorkOrders";
|
|
public const string RequestUplifts = "requestUplifts";
|
|
public const string AutoApproveUplifts = "autoApproveUplifts";
|
|
public const string ReviewUplifts = "reviewUplifts";
|
|
public const string ViewAllDispatchersOnDashboard = "viewAllDispatchersOnDashboard";
|
|
|
|
private static readonly IReadOnlyList<string> AllKeys = Array.AsReadOnly(new[]
|
|
{
|
|
ManageTeamMembers,
|
|
ChangeTeamMemberRole,
|
|
CreateVendors,
|
|
EditVendors,
|
|
DeactivateVendors,
|
|
CreateSites,
|
|
EditSites,
|
|
DeleteSites,
|
|
CreateServices,
|
|
EditServices,
|
|
DeactivateServices,
|
|
CreateCompletionDocTemplates,
|
|
EditCompletionDocTemplates,
|
|
DeleteCompletionDocTemplates,
|
|
CreateWorkOrders,
|
|
EditOthersWorkOrders,
|
|
CancelWorkOrders,
|
|
DeleteWorkOrders,
|
|
RequestUplifts,
|
|
AutoApproveUplifts,
|
|
ReviewUplifts,
|
|
ViewAllDispatchersOnDashboard
|
|
});
|
|
|
|
public static IReadOnlyList<string> All => AllKeys;
|
|
|
|
public static IReadOnlySet<string> KnownKeys { get; } =
|
|
new HashSet<string>(AllKeys, StringComparer.OrdinalIgnoreCase);
|
|
|
|
public static bool IsKnown(string? permissionKey) =>
|
|
!string.IsNullOrWhiteSpace(permissionKey) && KnownKeys.Contains(permissionKey);
|
|
}
|
|
}
|