using Microsoft.AspNetCore.Authorization; using PluralKit.Core; namespace PluralKit.API; public class SystemPrivacyHandler: AuthorizationHandler, PKSystem> { protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, PrivacyRequirement requirement, PKSystem resource) { var level = requirement.Mapper(resource); var ctx = context.User.ContextFor(resource); if (level.CanAccess(ctx)) context.Succeed(requirement); return Task.CompletedTask; } }