using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
///
/// 后台权限管理服务接口
///
public interface IAdminPermissionService : IBaseService
{
///
/// 创建菜单
///
Task CreateMenuAsync(AdminMenuInput input);
///
/// 更新菜单
///
Task UpdateMenuAsync(long id, AdminMenuInput input);
///
/// 删除菜单
///
Task DeleteMenuAsync(long id);
///
/// 获取菜单树
///
Task> GetMenuTreeAsync(AdminMenuQueryInput input);
///
/// 创建角色
///
Task CreateRoleAsync(AdminRoleInput input);
///
/// 更新角色
///
Task UpdateRoleAsync(long id, AdminRoleInput input);
///
/// 删除角色
///
Task DeleteRoleAsync(long id);
///
/// 获取角色详情
///
Task GetRoleByIdAsync(long id);
///
/// 获取角色分页列表
///
Task> GetRoleListAsync(AdminRoleQueryInput input);
///
/// 分配角色菜单
///
Task AssignRoleMenusAsync(long roleId, AssignRoleMenusInput input);
///
/// 分配管理员角色
///
Task AssignAdminUserRolesAsync(long adminUserId, AssignAdminUserRolesInput input);
///
/// 获取管理员菜单树
///
Task> GetAdminUserMenuTreeAsync(long adminUserId);
///
/// 获取管理员角色
///
Task> GetAdminUserRolesAsync(long adminUserId);
///
/// 获取管理员权限编码
///
Task> GetAdminUserPermissionCodesAsync(long adminUserId);
}