using langguanApi.Model;
using langguanApi.Model.Dto;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace langguanApi.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class UserController : ControllerBase
    {
        private UserService _userService;
        public UserController(UserService userService)
        {
            _userService = userService;
        }
        /// 
        /// 登陆
        /// 
        /// 
        /// 
        [HttpPost("login")]
        public async Task Login([FromBody] UserLogin user)
        {
            var result = _userService.login(user.Username, user.Password);
            if (result != null)
            {
                return Ok(result);
            }
            else
            {
                return BadRequest(result);
            }
        }
        /// 
        /// 注册
        /// 
        /// 
        /// 
        [HttpPost("Add")]
        public async Task Register([FromBody] UserAdd input)
        {
            var result = await _userService.AddUser(input);
            return Ok(result);
        }
        /// 
        /// get user list
        /// 
        /// 
        /// 
        [HttpGet("List")]
        public async Task List([FromQuery] reqpage input)
        {
            var result = await _userService.GetPage(input);
            return Ok(result);
        }
        ///删除用户
        /// 
        /// 
        /// 
        [HttpDelete("Delete")]
        public async Task Delete(string id)
        {
            await _userService.DeleteUser(id);
            return Ok(new ApiResult() { code = 0 });
        }
        /// 
        /// 修改用户信息
        /// 
        /// 
        /// 
        [HttpPut("Update")]
        public async Task Update([FromBody] UserUpdate input)
        {
            await _userService.UpdateUser(input);
            return Ok(new ApiResult() { code = 0 });
        }
    }
}