aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Endpoints
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-11-14 05:04:36 +0100
committerivarlovlie <git@ivarlovlie.no>2022-11-14 05:05:09 +0100
commit04a2b73805fc1213df42ef9af4cdcf27ff7c86db (patch)
tree818df6112e2b74ce3af6f2d9ce7535915967feed /code/api/src/Endpoints
parent94da43fd4e2c625babcf7cdabc5e82a47bcab2a5 (diff)
downloadgreatoffice-04a2b73805fc1213df42ef9af4cdcf27ff7c86db.tar.xz
greatoffice-04a2b73805fc1213df42ef9af4cdcf27ff7c86db.zip
refactor: Password reset service
- Use FulfillPasswordResetRequestResult to indicate fulfillment result - Rename db names forgot_password_requests > password_reset_requests
Diffstat (limited to 'code/api/src/Endpoints')
-rw-r--r--code/api/src/Endpoints/Internal/Account/DeleteAccountRoute.cs4
-rw-r--r--code/api/src/Endpoints/Internal/PasswordResetRequests/FulfillResetRequestRoute.cs22
2 files changed, 8 insertions, 18 deletions
diff --git a/code/api/src/Endpoints/Internal/Account/DeleteAccountRoute.cs b/code/api/src/Endpoints/Internal/Account/DeleteAccountRoute.cs
index e5bbb10..f0e8362 100644
--- a/code/api/src/Endpoints/Internal/Account/DeleteAccountRoute.cs
+++ b/code/api/src/Endpoints/Internal/Account/DeleteAccountRoute.cs
@@ -28,9 +28,9 @@ public class DeleteAccountRoute : RouteBaseAsync.WithoutRequest.WithActionResult
return Ok();
}
- var passwordResets = _database.ForgotPasswordRequests.Where(c => c.UserId == user.Id);
+ var passwordResets = _database.PasswordResetRequests.Where(c => c.UserId == user.Id);
- _database.ForgotPasswordRequests.RemoveRange(passwordResets);
+ _database.PasswordResetRequests.RemoveRange(passwordResets);
_database.Users.Remove(user);
await _database.SaveChangesAsync(cancellationToken);
diff --git a/code/api/src/Endpoints/Internal/PasswordResetRequests/FulfillResetRequestRoute.cs b/code/api/src/Endpoints/Internal/PasswordResetRequests/FulfillResetRequestRoute.cs
index 6f71b2f..5749242 100644
--- a/code/api/src/Endpoints/Internal/PasswordResetRequests/FulfillResetRequestRoute.cs
+++ b/code/api/src/Endpoints/Internal/PasswordResetRequests/FulfillResetRequestRoute.cs
@@ -8,24 +8,14 @@ public class FulfillResetRequestRoute : RouteBaseAsync.WithRequest<FulfillResetR
_passwordResetService = passwordResetService;
}
- /// <summary>
- /// Fulfill a password reset request.
- /// </summary>
- /// <param name="request"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
[AllowAnonymous]
[HttpPost("~/_/password-reset-request/fulfill")]
public override async Task<ActionResult> HandleAsync(FulfillResetRequestPayload request, CancellationToken cancellationToken = default) {
- try {
- var fulfilled = await _passwordResetService.FullFillRequestAsync(request.Id, request.NewPassword, cancellationToken);
- return Ok(fulfilled);
- } catch (Exception e) {
- if (e is ForgotPasswordRequestNotFoundException or UserNotFoundException) {
- return NotFound();
- }
-
- throw;
- }
+ return await _passwordResetService.FulfillRequestAsync(request.Id, request.NewPassword, cancellationToken) switch {
+ FulfillPasswordResetRequestResult.REQUEST_NOT_FOUND => NotFound(),
+ FulfillPasswordResetRequestResult.USER_NOT_FOUND => NotFound(),
+ FulfillPasswordResetRequestResult.FULFILLED => Ok(),
+ _ => StatusCode(500)
+ };
}
} \ No newline at end of file