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 Register([FromBody] RegisterCommand registerCommand) { var result = await mediator.Send(registerCommand); return result.Match(Ok, e => BadRequest($"{e.Message}\n{e.InnerException?.Message}")); } [HttpPost("[action]")] public async Task Login([FromBody] AuthCodeRequestCommand authCodeRequestCommand) { var result = await mediator.Send(authCodeRequestCommand); return result.Match(Ok, e => BadRequest($"{e.Message}\n{e.InnerException?.Message}")); } [HttpPost("[action]")] public async Task Token([FromBody] GetTokensCommand getTokensCommand) { var result = await mediator.Send(getTokensCommand); return result.Match(Ok, e => BadRequest($"{e.Message}\n{e.InnerException?.Message}")); } }