namespace IOL.GreatOffice.Api.Endpoints.Internal.PasswordResetRequests; /// public class IsResetRequestValidRoute : RouteBaseAsync.WithRequest.WithActionResult { private readonly ForgotPasswordService _forgotPasswordService; /// public IsResetRequestValidRoute(ForgotPasswordService forgotPasswordService) { _forgotPasswordService = forgotPasswordService; } /// /// Check if a given password reset request is still valid. /// /// /// /// [AllowAnonymous] [HttpGet("~/_/forgot-password-requests/is-valid")] public override async Task HandleAsync(Guid id, CancellationToken cancellationToken = default) { var request = await _forgotPasswordService.GetRequestAsync(id, cancellationToken); if (request == default) { return NotFound(); } return Ok(request.IsExpired == false); } }