//
namespace SafeCampus.Application;
public interface IRoleService : ITransient
{
#region 查询
///
/// 角色拥有资源
///
/// 角色id
/// 资源类型
/// 角色拥有资源信息
Task OwnResource(BaseIdInput input, string category);
///
/// 获取角色下的用户
///
/// 角色ID
///
Task> OwnUser(BaseIdInput input);
///
/// 分页查询角色
///
/// 查询参数
///
Task> Page(RolePageInput input);
///
/// 角色选择器
///
///
///
Task> RoleSelector(RoleSelectorInput input);
///
/// 获取角色树
///
/// 角色树
///
Task> Tree(RoleTreeInput input);
///
/// 角色详情
///
/// 角色Id
///
Task Detail(BaseIdInput input);
///
/// 资源树选择器
///
///
Task> ResourceTreeSelector();
#endregion
#region 新增
///
/// 添加角色
///
/// 添加参数
///
Task Add(RoleAddInput input);
#endregion
#region 编辑
///
/// 编辑角色
///
/// 编辑参数
///
Task Edit(RoleEditInput input);
///
/// 给角色授权
///
/// 授权参数
///
Task GrantResource(GrantResourceInput input);
///
/// 给角色授权用户
///
/// 授权信息
///
Task GrantUser(GrantUserInput input);
#endregion
#region 删除
///
/// 删除角色
///
/// 删除参数
///
Task Delete(BaseIdListInput input);
#endregion
}