| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 ?? "";
- }
- /// <summary>
- /// Request OTP via email
- /// POST /apis/auth/request-otp
- /// </summary>
- [HttpPost]
- [Route(ApiUrlConstant.RequestOtpUrl)]
- public async Task<IActionResult> RequestOtp([FromBody] RequestOtpReq request)
- {
- return await userBusiness.RequestOtp(HttpContext.Request, request);
- }
- /// <summary>
- /// Resend OTP via email
- /// POST /apis/auth/resend-otp
- /// </summary>
- [HttpPost]
- [Route(ApiUrlConstant.ResendOtpUrl)]
- public async Task<IActionResult> ResendOtp([FromBody] RequestOtpReq request)
- {
- return await userBusiness.ResendOtp(HttpContext.Request, request);
- }
- /// <summary>
- /// Verify OTP and complete login
- /// POST /apis/auth/verify-otp
- /// </summary>
- [HttpPost]
- [Route(ApiUrlConstant.VerifyOtpUrl)]
- public async Task<IActionResult> VerifyOtp([FromBody] VerifyOtpReq request)
- {
- return await userBusiness.VerifyOtp(HttpContext.Request, request);
- }
- }
- }
|