using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Menu;
using NetAdmin.Host.Attributes;
using NetAdmin.Host.Controllers;
using NetAdmin.SysComponent.Application.Modules.Sys;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
using NetAdmin.SysComponent.Cache.Sys.Dependency;
namespace NetAdmin.SysComponent.Host.Controllers.Sys;
///
/// 菜单服务
///
[ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))]
public sealed class MenuController(IMenuCache cache) : ControllerBase(cache), IMenuModule
{
///
/// 批量删除菜单
///
[Transaction]
public Task BulkDeleteAsync(BulkReq req)
{
return Cache.BulkDeleteAsync(req);
}
///
/// 菜单计数
///
public Task CountAsync(QueryReq req)
{
return Cache.CountAsync(req);
}
///
/// 创建菜单
///
[Transaction]
public Task CreateAsync(CreateMenuReq req)
{
return Cache.CreateAsync(req);
}
///
/// 删除菜单
///
[Transaction]
public Task DeleteAsync(DelReq req)
{
return Cache.DeleteAsync(req);
}
///
/// 编辑菜单
///
[Transaction]
public Task EditAsync(EditMenuReq req)
{
return Cache.EditAsync(req);
}
///
/// 菜单是否存在
///
[NonAction]
public Task ExistAsync(QueryReq req)
{
return Cache.ExistAsync(req);
}
///
/// 导出菜单
///
[NonAction]
public Task ExportAsync(QueryReq req)
{
return Cache.ExportAsync(req);
}
///
/// 获取单个菜单
///
public Task GetAsync(QueryMenuReq req)
{
return Cache.GetAsync(req);
}
///
/// 分页查询菜单
///
[NonAction]
public Task> PagedQueryAsync(PagedQueryReq req)
{
return Cache.PagedQueryAsync(req);
}
///
/// 查询菜单
///
public Task> QueryAsync(QueryReq req)
{
return Cache.QueryAsync(req);
}
///
/// 当前用户菜单
///
public Task> UserMenusAsync()
{
return Cache.UserMenusAsync();
}
}