using BMA.EHR.Core;
using BMA.EHR.Recurit.Exam.Service.Request;
using BMA.EHR.Recurit.Exam.Service.Response;
using BMA.EHR.Recurit.Exam.Service.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;

namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
    [Route("api/v{version:apiVersion}/test")]
    [ApiVersion("1.0")]
    [ApiController]
    [Produces("application/json")]
    [SwaggerTag("ทดสอบรัน api")]
    public class TestController : BaseController
    {
        #region " Fields "

        #endregion

        #region " Constructor and Destructor "

        public TestController()
        {
        }

        #endregion

        /// <summary>
        /// ข้อมูล สถานะ ผู้สมัครสอบ
        /// </summary>
        /// <param name="examId">รหัสรอบสมัคร</param>
        /// <returns></returns>
        /// <response code="200">เมื่อทำการดึง ข้อมูล สถานะ ผู้สมัคร สำเร็จ</response>
        /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
        /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
        [HttpGet]
        [ProducesResponseType(StatusCodes.Status200OK)]
        [ProducesResponseType(StatusCodes.Status401Unauthorized)]
        [ProducesResponseType(StatusCodes.Status500InternalServerError)]
        public async Task<ActionResult<ResponseObject>> GetStatusTestService()
        {
            try
            {
                return Success(GlobalMessages.Success, "ผ่าน");
            }
            catch (Exception ex)
            {
                return Error(ex);
            }
        }
    }
}
