Files
Dhananjaya99 2481f056ab add role api
2026-07-18 23:43:19 +05:30

89 lines
3.2 KiB
C#

using AuthHex.Models.IOs;
using AuthHex.Services.AltOptionManager;
using AuthHex.Services.FunctionHandler;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
namespace AuthHex.Controllers
{
[ApiController]
[Route("api")]
[EnableCors("AllowAll")]
public class APIController(UserManager userManager, RecoveryManager recoveryManager, AltOptionManager altOptionManager, RoleManager roleManager) : ControllerBase
{
private readonly UserManager _userManager = userManager;
private readonly RecoveryManager _recoveryManager = recoveryManager;
private readonly AltOptionManager _altOptionManager = altOptionManager;
private readonly RoleManager _roleManager = roleManager;
[HttpGet("status")]
[AllowAnonymous]
public IActionResult GetStatus()
{
return Ok(new { status = "API is running", timestamp = System.DateTime.UtcNow });
}
[HttpPost("user")]
[AllowAnonymous]
public async Task<IActionResult> UserExecute([FromBody] ApiRequest request)
{
var response = await _userManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
[HttpPost("recovery")]
[AllowAnonymous]
public async Task<IActionResult> RecoveryExecute([FromBody] ApiRequest request)
{
var response = await _recoveryManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
[HttpPost("registerUser")]
[AllowAnonymous]
public async Task<IActionResult> RegisterUser([FromBody] ApiRequest request)
{
request.FunctionName = "registerUser";
var response = await _userManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
[HttpPost("loginUser")]
[AllowAnonymous]
public async Task<IActionResult> LoginUser([FromBody] ApiRequest request)
{
request.FunctionName = "loginUser";
var response = await _userManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
[HttpPost("forgotPassword")]
[AllowAnonymous]
public async Task<IActionResult> ForgotPassword([FromBody] ApiRequest request)
{
request.FunctionName = "forgotPassword";
var response = await _recoveryManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
[HttpPost("alt")]
[AllowAnonymous]
public async Task<IActionResult> IsAvailable([FromBody] ApiRequest request)
{
var response = await _altOptionManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
[HttpPost("role")]
[AllowAnonymous]
public async Task<IActionResult> RoleExecute([FromBody] ApiRequest request)
{
var response = await _roleManager.Execute(request, HttpContext);
return StatusCode(response.StatusCode, response);
}
}
}