using Microsoft.AspNetCore.Mvc; using GreenHome.Application; namespace GreenHome.Api.Controllers; [ApiController] [Route("api/[controller]")] public class AuthController : ControllerBase { private readonly IAuthService authService; public AuthController(IAuthService authService) { this.authService = authService; } [HttpPost("send-code")] public async Task> SendCode( [FromBody] SendCodeRequest request, CancellationToken cancellationToken) { var result = await authService.SendVerificationCodeAsync(request, cancellationToken); if (!result.Success) { return BadRequest(result); } return Ok(result); } [HttpPost("verify-code")] public async Task> VerifyCode( [FromBody] VerifyCodeRequest request, CancellationToken cancellationToken) { var result = await authService.VerifyCodeAsync(request, cancellationToken); if (!result.Success) { return BadRequest(result); } return Ok(result); } [HttpGet("can-resend")] public async Task> CanResend( [FromQuery] string mobile, CancellationToken cancellationToken) { var canResend = await authService.CanResendCodeAsync(mobile, cancellationToken); return Ok(new { canResend }); } }