using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using mws.backend.dotnet.application.Auth; using mws.backend.dotnet.application.Users; namespace mws.backend.dotnet.api.Controllers; [ApiController] [Route("api/auth")] public class AuthController(ISender sender) : ControllerBase { [HttpPost("login")] [AllowAnonymous] public async Task> Login([FromBody] LoginRequest request, CancellationToken ct) { var response = await sender.Send(new LoginCommand(request), ct); return Ok(response); } [HttpGet("me")] [Authorize] public async Task> GetProfile(CancellationToken ct) { return Ok(await sender.Send(new GetProfileQuery(User.GetUserId()), ct)); } }