using DMS.Core.Models;

namespace DMS.Application.Interfaces;

/// <summary>
/// 定义菜单管理相关的应用服务操作。
/// </summary>
public interface IMenuAppService
{
    /// <summary>
    /// 异步根据ID获取菜单。
    /// </summary>
    Task<MenuBean> GetMenuByIdAsync(int id);

    /// <summary>
    /// 异步获取所有菜单列表。
    /// </summary>
    Task<List<MenuBean>> GetAllMenusAsync();

    /// <summary>
    /// 异步创建一个新菜单。
    /// </summary>
    Task<int> CreateMenuAsync(MenuBean menu);

    /// <summary>
    /// 异步更新一个已存在的菜单。
    /// </summary>
    Task<int> UpdateMenuAsync(MenuBean menu);

    /// <summary>
    /// 异步删除一个菜单。
    /// </summary>
    Task<bool> DeleteMenuAsync(int id);

}