using LY.App.Model;
using LY.App.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Drawing.Printing;
namespace LY.App.Controllers
{
    /// 
    /// WhitListController
    /// 
    [Route("api/[controller]")]
    [ApiController]
    public class WhitListController : ControllerBase
    {
        private readonly WhitListService _whitListService;
        /// 
        /// Constructor
        /// 
        /// 
        public WhitListController(WhitListService whitListService)
        {
            _whitListService = whitListService;
        }
        /// 
        /// GetList
        /// 
        /// 
        /// 
        /// 
        /// 
        [HttpGet("list")]
        public async Task List(int pageNum = 1, int pageSize = 10, string key = null)
        {
            var result = await _whitListService.GetList(pageNum, pageSize, key);
            return Ok(result);
        }
        /// 
        /// Add
        /// 
        /// 
        /// 
        [HttpPost("add")]
        public async Task add(AddWhitelist input)
        {
            var result = await _whitListService.Add(input);
            return Ok(result);
        }
        /// 
        /// Delete
        /// 
        /// 
        /// 
        [HttpDelete("delete")]
        public async Task delete(long id)
        {
            var result = await _whitListService.Delete(id);
            return Ok(result);
        }
        /// 
        /// update
        /// 
        /// 
        [HttpPost("update")]
        public async Task Update(UpdateWhitelist input)
        {
            var result = await _whitListService.Update(input);
            return Ok(result);
        }
    }
}