using Microsoft.AspNetCore.Mvc; using Moonlight.ApiServer.Services; using Moonlight.Shared.Http.Requests.Auth; using Moonlight.Shared.Http.Responses.Auth; namespace Moonlight.ApiServer.Http.Controllers.Auth; [ApiController] [Route("api/auth")] public class AuthController : Controller { private readonly AuthService AuthService; public AuthController(AuthService authService) { AuthService = authService; } [HttpPost("login")] public async Task Login([FromBody] LoginRequest request) { var user = await AuthService.Login(request.Email, request.Password); return new LoginResponse() { Token = await AuthService.GenerateToken(user) }; } [HttpPost("register")] public async Task Register([FromBody] RegisterRequest request) { var user = await AuthService.Register( request.Username, request.Email, request.Password ); return new RegisterResponse() { Token = await AuthService.GenerateToken(user) }; } }