31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using MediatR;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using W542.GandalfReborn.Commands;
|
|
|
|
namespace W542.GandalfReborn.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("api/[controller]")]
|
|
public class AuthController(IMediator mediator) : ControllerBase
|
|
{
|
|
[HttpPost("[action]")]
|
|
public async Task<IActionResult> Register([FromBody] RegisterCommand registerCommand)
|
|
{
|
|
var result = await mediator.Send(registerCommand);
|
|
return result.Match<IActionResult>(Ok, e => BadRequest($"{e.Message}\n{e.InnerException?.Message}"));
|
|
}
|
|
|
|
[HttpPost("[action]")]
|
|
public async Task<IActionResult> Login([FromBody] AuthCodeRequestCommand authCodeRequestCommand)
|
|
{
|
|
var result = await mediator.Send(authCodeRequestCommand);
|
|
return result.Match<IActionResult>(Ok, e => BadRequest($"{e.Message}\n{e.InnerException?.Message}"));
|
|
}
|
|
|
|
[HttpPost("[action]")]
|
|
public async Task<IActionResult> Token([FromBody] GetTokensCommand getTokensCommand)
|
|
{
|
|
var result = await mediator.Send(getTokensCommand);
|
|
return result.Match<IActionResult>(Ok, e => BadRequest($"{e.Message}\n{e.InnerException?.Message}"));
|
|
}
|
|
} |