using System.ComponentModel.DataAnnotations; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Todo.Core.Interfaces.Persistence; namespace Todo.Api.Controllers { [ApiController] [Route("api/auth")] [Authorize] [AllowAnonymous] public class AuthController : ControllerBase { private readonly IUserRepository _userRepository; public AuthController(IUserRepository userRepository) { _userRepository = userRepository; } [HttpPost("register")] public async Task Register([FromBody] RegisterUserRequest request) { var user = await _userRepository.Register(request.Email, request.Password); return Ok(user); } public record RegisterUserRequest { [Required] public string Email { get; init; } [Required] public string Password { get; init; } } } }