namespace SeaHaven.Services.Helpers { public static class WorkOrderBoardSortFields { public static readonly IReadOnlySet Allowed = new HashSet(StringComparer.OrdinalIgnoreCase) { "scheduledDate", "woNumber", "dueDate" }; public static string NormalizeOrThrow(string? sortBy) { var field = (sortBy ?? "scheduledDate").Trim(); if (!Allowed.Contains(field)) { throw new ArgumentException( "sortBy must be one of: scheduledDate, woNumber, dueDate."); } return field.ToLowerInvariant() switch { "wonumber" => "woNumber", "duedate" => "dueDate", _ => "scheduledDate" }; } } }