using YBEE.EQM.Core;

namespace YBEE.EQM.Application
{
    /// <summary>
    /// 菜单
    /// </summary>
    [ApiDescriptionSettings(Name = "sys-menu")]
    [Route("sys/menu")]
    [AppAuthorize]
    public class SysMenuAppService : IDynamicApiController
    {
        private readonly ISysMenuService _menuService;
        public SysMenuAppService(ISysMenuService menuService)
        {
            _menuService = menuService;
        }

        /// <summary>
        /// 添加菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public Task Add(AddSysMenuInput input)
        {
            throw new NotImplementedException();
        }
        /// <summary>
        /// 更新菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public Task Update(UpdateSysMenuInput input)
        {
            throw new NotImplementedException();
        }
        /// <summary>
        /// 删除菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task Del(DeleteSysMenuInput input)
        {
            await _menuService.Del(input);
        }
        /// <summary>
        /// 获取菜单列表
        /// </summary>
        /// <returns></returns>
        [DisableOpLog]
        public async Task<List<SysMenuOutput>> GetAllList()
        {
            return await _menuService.GetAllList();
        }
        /// <summary>
        /// 获取所有菜单（树形）
        /// </summary>
        /// <returns></returns>
        [DisableOpLog]
        public async Task<List<SysMenuOutput>> GetAllTreeList()
        {
            return await _menuService.GetAllTreeList();
        }
    }
}