using System.Diagnostics.CodeAnalysis; namespace Moonlight.Frontend.Admin.Users.Shared; public record PermissionCategory { public PermissionCategory(string name, Type icon, Permission[] permissions) { Name = name; Icon = icon; Permissions = permissions; } public string Name { get; init; } // Used to prevent the IL-Trimming from removing this type as its dynamically assigned a type, and we // need it to work properly [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] public Type Icon { get; init; } public Permission[] Permissions { get; init; } }