//
namespace SafeCampus.System;
///
/// 角色服务
///
public interface ISysRoleService : ITransient
{
#region 查询
///
/// 获取所有角色
///
///
Task> GetListAsync();
///
/// 根据用户ID获取用户角色集合
///
/// 用户ID
///
Task> GetRoleListByUserId(long userId);
///
/// 获取角色拥有权限
///
/// 角色ID
///
Task OwnPermission(BaseIdInput input);
///
/// 角色拥有资源
///
/// 角色id
/// 资源类型
/// 角色拥有资源信息
Task OwnResource(BaseIdInput input, string category);
///
/// 获取角色下的用户
///
/// 角色ID
///
Task> OwnUser(BaseIdInput input);
///
/// 分页查询角色
///
/// 查询参数
///
Task> Page(RolePageInput input);
///
/// 获取角色授权权限选择器
///
/// 角色ID
///
Task> RolePermissionTreeSelector(BaseIdInput input);
///
/// 角色选择器
///
///
///
Task> RoleSelector(RoleSelectorInput input);
///
/// 根据id集合获取角色集合
///
///
///
Task> GetRoleListByIdList(IdListInput input);
///
/// 获取角色树
///
/// 角色树
///
Task> Tree(RoleTreeInput input);
///
/// 角色详情
///
/// 角色Id
///
Task Detail(BaseIdInput input);
#endregion
#region 新增
///
/// 添加角色
///
/// 添加参数
///
Task Add(RoleAddInput input);
#endregion
#region 编辑
///
/// 编辑角色
///
/// 编辑参数
///
Task Edit(RoleEditInput input);
///
/// 给角色授权权限
///
/// 授权信息
///
Task GrantPermission(GrantPermissionInput input);
///
/// 给角色授权
///
/// 授权参数
///
Task GrantResource(GrantResourceInput input);
///
/// 给角色授权用户
///
/// 授权信息
///
Task GrantUser(GrantUserInput input);
#endregion
#region 删除
///
/// 刷新缓存
///
///
Task RefreshCache();
///
/// 删除角色
///
/// 删除参数
///
Task Delete(BaseIdListInput input);
#endregion
}