public BaseResponse <GetPasswordResetResponse> GetPasswordReset(GetPasswordResetRequest request) { BaseResponse <GetPasswordResetResponse> response = new BaseResponse <GetPasswordResetResponse>(); var passwordReset = this.PasswordResetRepository.GetPasswordReset(request.Token); if (this.IsPasswordResetEligibleForUse(passwordReset)) { var user = this.UserRepository.GetUser(passwordReset.UserKey); if (this.IsUserEligibleForRequestPasswordReset(user)) { response.StatusCode = HttpStatusCode.OK; response.SuccessBody = PasswordResetMapper.Map(passwordReset, user); response.IsSuccess = true; return(response); } } response.StatusCode = HttpStatusCode.NotFound; return(response); }
public BaseResponse <GetPasswordResetResponse> CreatePasswordReset(CreatePasswordResetRequest request) { BaseResponse <GetPasswordResetResponse> response = new BaseResponse <GetPasswordResetResponse>(); var user = this.UserRepository.GetUser(request.Email); if (this.IsUserEligibleForRequestPasswordReset(user)) { this.PasswordResetRepository.CancelActivesPasswordResets(user.UserKey); var passwordReset = PasswordReset.New(user.UserKey, this.ConfigurationUtility.PasswordResetExpiresInHours); this.PasswordResetRepository.CreatePasswordReset(passwordReset); response.StatusCode = HttpStatusCode.Created; response.SuccessBody = PasswordResetMapper.Map(passwordReset, user); response.IsSuccess = true; } else { response.StatusCode = HttpStatusCode.NotFound; } return(response); }