SharpRSS/SharpRSS.API/Controllers/AuthController.cs

31 lines
927 B
C#

using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SharpRSS.API.Contracts;
using SharpRSS.API.Contracts.DTO;
using SharpRSS.API.Data;
using SharpRSS.API.Models;
using SharpRSS.API.Models.Auth;
namespace SharpRSS.API.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class AuthController : ControllerBase
{
public AuthController(AuthService authService)
{
_authService = authService;
}
private readonly AuthService _authService;
[HttpPost("create")]
public async Task<ActionResult<UserDto>> CreateUser(UserRequest user)
{
Result<User> result = await _authService.CreateUser(user);
if (result.Success)
return Ok(Models.Auth.User.ToDto(result.Value ?? new User()));
return BadRequest(new ApiResult(result.Message, ApiResults.Error));
}
}
}