using System; using Common; using Common.Constant; using Common.Http; using Esim.Apis.Business; using Database.Database; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace RevoSystem.Apis.Controllers { [ApiController] public class UserController : Controller { private static readonly log4net.ILog log = log4net.LogManager.GetLogger( typeof(UserController) ); ModelContext dbContext; IConfiguration configuration; IUserBusiness userBusiness; public UserController( IConfiguration _configuration, IUserBusiness userBusiness, ModelContext dbContext ) { configuration = _configuration; this.userBusiness = userBusiness; this.dbContext = dbContext; } private string GetParameter(string key) { return configuration.GetSection(key).Value ?? ""; } /// /// Request OTP via email /// POST /apis/auth/request-otp /// [HttpPost] [Route(ApiUrlConstant.RequestOtpUrl)] public async Task RequestOtp([FromBody] RequestOtpReq request) { return await userBusiness.RequestOtp(HttpContext.Request, request); } /// /// Verify OTP and complete login /// POST /apis/auth/verify-otp /// [HttpPost] [Route(ApiUrlConstant.VerifyOtpUrl)] public async Task VerifyOtp([FromBody] VerifyOtpReq request) { return await userBusiness.VerifyOtp(HttpContext.Request, request); } } }