Files
SkyBot/SkyBot/Helpers/PermissionHelper.cs
2026-03-15 01:29:16 +00:00

19 lines
691 B
C#

using Valour.Sdk.Models;
using Valour.Shared.Authorization;
namespace SkyBot.Helpers
{
public static class PermissionHelper
{
public static async Task<bool> HasPermAsync(PlanetMember member, PlanetPermission[] permissions, bool requireAll = false)
{
if (member == null) return false;
if (member.HasPermission(PlanetPermissions.FullControl)) return true;
if (member.Roles.Any(r => r.IsAdmin)) return true;
return requireAll
? permissions.All(permission => member.HasPermission(permission))
: permissions.Any(permission => member.HasPermission(permission));
}
}
}