using HoneyBox.Admin.Models.Common;
using HoneyBox.Admin.Models.Role;
namespace HoneyBox.Admin.Services;
///
/// 角色服务接口
///
public interface IRoleService
{
///
/// 获取角色分页列表
///
/// 查询请求
/// 分页结果
Task> GetListAsync(RoleQueryRequest request);
///
/// 根据ID获取角色详情
///
/// 角色ID
/// 角色详情
Task GetByIdAsync(long id);
///
/// 创建角色
///
/// 创建请求
/// 新角色ID
Task CreateAsync(CreateRoleRequest request);
///
/// 更新角色
///
/// 角色ID
/// 更新请求
Task UpdateAsync(long id, UpdateRoleRequest request);
///
/// 删除角色
///
/// 角色ID
Task DeleteAsync(long id);
///
/// 分配菜单给角色
///
/// 角色ID
/// 菜单ID列表
Task AssignMenusAsync(long roleId, List menuIds);
///
/// 分配权限给角色
///
/// 角色ID
/// 权限ID列表
Task AssignPermissionsAsync(long roleId, List permissionIds);
///
/// 获取所有角色(下拉选择用)
///
/// 角色列表
Task> GetAllAsync();
}