using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_Model.Models;

namespace WIDESEAWCS_WCSServer.Controllers
{
    [Route("api/Sys_Menu")]
    [ApiController]
    public class Sys_MenuController : ApiBaseController<ISys_MenuService, Sys_Menu>
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        public Sys_MenuController(ISys_MenuService menuService, IHttpContextAccessor httpContextAccessor) : base(menuService)
        {
            _httpContextAccessor = httpContextAccessor;
        }
        [HttpGet, HttpPost, Route("getTreeMenu")]
        public IActionResult GetTreeMenu()
        {
            return Json(Service.GetCurrentMenuActionList());
        }

        [HttpPost, Route("getMenu")]
        public IActionResult GetMenu()
        {
            return Json(Service.GetMenu());
        }

        [HttpPost, Route("getTreeItem")]
        public IActionResult GetTreeItem(int menuId)
        {
            return Json(Service.GetTreeItem(menuId));
        }

        [HttpPost, Route("save")]
        public ActionResult Save([FromBody] Sys_Menu menu)
        {
            if (App.User.UserId == 1)
            {
                return Json(Service.Save(menu));
            }
            else
            {
                return Json(WebResponseContent.Instance.Error("仅限超级管理员修改数据"));
            }
        }
        [HttpPost, Route("delMenu")]
        public WebResponseContent DelMenu(int menuId)
        {
            return Service.DelMenu(menuId);
        }
    }
}