using System.Text.Json; namespace MxGateway.Server.Security.Authentication; public static class ApiKeyScopeSerializer { public static string Serialize(IReadOnlySet scopes) { return JsonSerializer.Serialize(scopes.Order(StringComparer.Ordinal)); } public static IReadOnlySet Deserialize(string value) { if (string.IsNullOrWhiteSpace(value)) { return new HashSet(StringComparer.Ordinal); } string[]? scopes = JsonSerializer.Deserialize(value); return new HashSet(scopes ?? [], StringComparer.Ordinal); } }