25 lines
615 B
C#
25 lines
615 B
C#
using MediatR;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SequenceAuth.Example.Features.Auth;
|
|
|
|
namespace SequenceAuth.Example.Controllers;
|
|
|
|
public class AuthController(IMediator mediator) : ApiControllerBase
|
|
{
|
|
public record LoginRequest(string Username);
|
|
|
|
[HttpPost]
|
|
public async Task<IActionResult> Login([FromBody] LoginRequest request)
|
|
{
|
|
var result = await mediator.Send(new LoginCommand(request.Username));
|
|
return Ok(result.User);
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<IActionResult> Logout()
|
|
{
|
|
await mediator.Send(new LogoutCommand());
|
|
return Ok();
|
|
}
|
|
}
|