shoc-backend/SeaHaven.Services/Constants/TeamMemberConstants.cs
2026-09-16 19:14:36 -03:00

31 lines
1.1 KiB
C#

namespace SeaHaven.Services.Constants;
public static class TeamMemberConstants
{
public static readonly IReadOnlyList<string> Roles =
new[] { "Dispatcher", "Scheduler", "Admin" };
public static readonly IReadOnlyList<string> ServiceAreas =
new[] { "East", "Central", "West", "California" };
public static readonly IReadOnlySet<string> Colors = new HashSet<string>(
new[]
{
"#F59E0B", "#0D9488", "#6366F1", "#F43F5E", "#7C3AED",
"#0EA5E9", "#16A34A", "#EA580C", "#0891B2", "#C026D3"
},
StringComparer.OrdinalIgnoreCase);
public static string? CanonicalRole(string? value) => Canonical(value, Roles);
public static string? CanonicalArea(string? value) => Canonical(value, ServiceAreas);
private static string? Canonical(string? value, IReadOnlyList<string> allowed)
{
if (string.IsNullOrWhiteSpace(value))
return null;
return allowed.FirstOrDefault(item =>
string.Equals(item, value.Trim(), StringComparison.OrdinalIgnoreCase));
}
}