using Abp.Authorization;
using VberZero.BaseSystem.Roles;
namespace VberZero.Authorization.Roles;
///
/// 用于对角色权限进行数据库操作
///
public interface IRolePermissionStore
where TRole : Role
{
///
/// 添加角色权限
///
///
///
Task AddPermissionAsync(TRole role, PermissionGrantInfo permissionGrant);
///
/// 移除角色权限
///
///
///
Task RemovePermissionAsync(TRole role, PermissionGrantInfo permissionGrant);
///
/// 获取角色的权限
///
///
///
Task> GetPermissionsAsync(TRole role);
///
/// 获取角色的权限
///
///
///
IList GetPermissions(TRole role);
///
/// 获取角色的权限
///
///
///
Task> GetPermissionsAsync(int roleId);
///
/// 获取角色的权限
///
///
///
IList GetPermissions(int roleId);
///
/// 检查角色是否具有权限
///
///
///
///
Task HasPermissionAsync(int roleId, PermissionGrantInfo permissionGrant);
///
/// 删除角色的所有权限
///
///
Task RemoveAllPermissionSettingsAsync(TRole role);
}