blob: a87c0a9655de171865e325680f3fa073cd0ba4c2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
namespace IOL.GreatOffice.Api.Endpoints.Internal.PasswordResetRequests;
public class IsResetRequestValidRoute : RouteBaseAsync.WithRequest<Guid>.WithActionResult<IsResetRequestValidRoute.ResponseModel>
{
private readonly PasswordResetService _passwordResetService;
public IsResetRequestValidRoute(PasswordResetService passwordResetService) {
_passwordResetService = passwordResetService;
}
public class ResponseModel
{
public ResponseModel(bool isValid) {
IsValid = isValid;
}
public bool IsValid { get; }
}
[AllowAnonymous]
[HttpGet("~/_/password-reset-request/is-valid")]
public override async Task<ActionResult<ResponseModel>> HandleAsync(Guid id, CancellationToken cancellationToken = default) {
var request = await _passwordResetService.GetRequestAsync(id, cancellationToken);
return Ok(request == default ? new ResponseModel(false) : new ResponseModel(!request.IsExpired));
}
}
|