using System.Reflection; namespace JetHerald.Authorization; public static class FlightcheckHelpers { public static IEnumerable GetUsedPermissions(Type rootType) { var res = new HashSet(); var asm = Assembly.GetAssembly(rootType); var types = asm.GetTypes(); var methods = types.SelectMany(t => t.GetMethods()); foreach (var t in types) { if (t.GetCustomAttribute() is PermissionAttribute perm) res.Add(perm.Policy); } foreach (var t in methods) { if (t.GetCustomAttribute() is PermissionAttribute perm) res.Add(perm.Policy); } return res.OrderBy(p => p); } }