using langguanApi.Model;
using langguanApi.Model.Entity;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace langguanApi.Controllers
{
    /// 
    /// MenuController
    /// 
    [Route("api/[controller]")]
    [ApiController]
    public class MenuController : ControllerBase
    {
        /// 
        /// 菜单服务
        /// 
        private readonly MenuService _menuService;
        public MenuController(MenuService menuService)
        {
            _menuService = menuService;
        }
        /// 
        /// 获取菜单列表
        /// 
        /// 
        [HttpGet("list")]
        public async Task List()
        {
            var result = await _menuService.GetMenuTree();
            return Ok(result);
        }
        /// 
        /// 添加菜单
        /// 
        /// 
        /// 
        [HttpPost("add")]
        public async Task Add(AddMenuDto input)
        {
            var result = await _menuService.AddMenu(input);
            return Ok(result);
        }
        /// 
        /// 更新菜单
        /// 
        /// 
        /// 
        [HttpPut("update")]
        public async Task Update(UpdateMenuDto input)
        {
            var result = await _menuService.UpdateMenu(input);
            return Ok(result);
        }
        /// 
        /// 删除菜单
        /// 
        /// 
        /// 
        [HttpDelete("DeleteMenu")]
        public async Task DeleteMenu(string id)
        {
            var result = await _menuService.DeleteMenu(id);
            return Ok(result);
        }
    }
}