mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 01:18:34 +00:00
'success' fields, cleanup
This commit is contained in:
1 parent
bdd24c47fa
commit
3852851f65
2 files changed
+11
-9
No files matched your search
@@ -15,7 +15,6 @@ use password::bcrypt_hash_password::bcrypt_hash_password;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct PasswordResetRedemptionRequest {
|
||||
username_or_email: String,
|
||||
reset_token: String,
|
||||
new_password: String,
|
||||
new_password_validation: String,
|
||||
@@ -36,6 +35,7 @@ pub enum PasswordResetRedemptionError {
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct PasswordResetRedemptionErrorResponse {
|
||||
success: bool,
|
||||
kind: PasswordResetRedemptionError,
|
||||
}
|
||||
impl Display for PasswordResetRedemptionErrorResponse {
|
||||
@@ -46,13 +46,13 @@ impl Display for PasswordResetRedemptionErrorResponse {
|
||||
|
||||
impl From<PasswordResetRedemptionError> for PasswordResetRedemptionErrorResponse {
|
||||
fn from(value: PasswordResetRedemptionError) -> Self {
|
||||
Self { kind: value }
|
||||
Self { kind: value, success: false }
|
||||
}
|
||||
}
|
||||
impl From<errors::AnyhowError> for PasswordResetRedemptionErrorResponse {
|
||||
fn from(value: errors::AnyhowError) -> Self {
|
||||
log::error!("Internal error: {value}");
|
||||
Self { kind: PasswordResetRedemptionError::Internal }
|
||||
Self { kind: PasswordResetRedemptionError::Internal, success: false }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,11 +78,10 @@ pub async fn password_reset_redeem_handler(
|
||||
if new_password != request.new_password_validation.trim() {
|
||||
return Err(PasswordResetRedemptionErrorResponse {
|
||||
kind: PasswordResetRedemptionError::PasswordsDoNotMatch,
|
||||
success: false,
|
||||
});
|
||||
}
|
||||
|
||||
//TODO: Handle banned users, they shouldn't be able to do this
|
||||
|
||||
let result = lookup_password_reset_request(&request.reset_token, &mysql_pool).await
|
||||
.map_err(|err| {
|
||||
log::error!("Password reset error {:?}", err);
|
||||
@@ -95,18 +94,18 @@ pub async fn password_reset_redeem_handler(
|
||||
warn!("No such reset request.");
|
||||
return Err(PasswordResetRedemptionErrorResponse {
|
||||
kind: PasswordResetRedemptionError::InvalidRedemption,
|
||||
success: false,
|
||||
});
|
||||
}
|
||||
Err(err) => {
|
||||
error!("lookup error: {err}");
|
||||
return Err(PasswordResetRedemptionErrorResponse {
|
||||
kind: PasswordResetRedemptionError::InvalidRedemption,
|
||||
success: false,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
println!("Reset state: {}", transaction_and_state.reset_state.user_token);
|
||||
|
||||
let ip_address = get_request_ip(&http_request);
|
||||
|
||||
let password_hash = match bcrypt_hash_password(new_password.to_string()) {
|
||||
@@ -115,6 +114,7 @@ pub async fn password_reset_redeem_handler(
|
||||
error!("password hash error: {err}");
|
||||
return Err(PasswordResetRedemptionErrorResponse {
|
||||
kind: PasswordResetRedemptionError::Internal,
|
||||
success: false,
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -131,6 +131,7 @@ pub async fn password_reset_redeem_handler(
|
||||
error!("password reset error: {err}");
|
||||
return Err(PasswordResetRedemptionErrorResponse {
|
||||
kind: PasswordResetRedemptionError::Internal,
|
||||
success: false,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ pub enum PasswordResetRequestedRequestError {
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct PasswordResetRequestedErrorResponse {
|
||||
success: bool,
|
||||
kind: PasswordResetRequestedRequestError,
|
||||
}
|
||||
impl Display for PasswordResetRequestedErrorResponse {
|
||||
@@ -45,13 +46,13 @@ impl Display for PasswordResetRequestedErrorResponse {
|
||||
|
||||
impl From<PasswordResetRequestedRequestError> for PasswordResetRequestedErrorResponse {
|
||||
fn from(value: PasswordResetRequestedRequestError) -> Self {
|
||||
Self { kind: value }
|
||||
Self { kind: value, success: false }
|
||||
}
|
||||
}
|
||||
impl From<errors::AnyhowError> for PasswordResetRequestedErrorResponse {
|
||||
fn from(value: errors::AnyhowError) -> Self {
|
||||
log::error!("Internal error: {value}");
|
||||
Self { kind: PasswordResetRequestedRequestError::Internal }
|
||||
Self { kind: PasswordResetRequestedRequestError::Internal, success: false }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user