diff --git a/src/auth.rs b/src/auth.rs index 6ce0ecf..de09815 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -42,11 +42,9 @@ impl FromRequestParts> for Claims { .get(header::AUTHORIZATION) .and_then(|auth_header| auth_header.to_str().ok()) .and_then(|auth_value| { - if auth_value.starts_with("Bearer ") { - Some(auth_value[7..].to_owned()) - } else { - None - } + auth_value + .strip_prefix("Bearer ") + .map(|value| value.to_owned()) }) .ok_or_else(|| AppError::Unauthorized("Missing or invalid token".to_string()))?; diff --git a/src/handlers/twofactor.rs b/src/handlers/twofactor.rs index 3394142..06035f6 100644 --- a/src/handlers/twofactor.rs +++ b/src/handlers/twofactor.rs @@ -391,7 +391,7 @@ pub async fn recover( } // Check recovery code (case-insensitive) - let is_valid = user.totp_recover.as_ref().map_or(false, |stored_code| { + let is_valid = user.totp_recover.as_ref().is_some_and(|stored_code| { ct_eq( &stored_code.to_uppercase(), &data.recovery_code.to_uppercase(), diff --git a/src/models/cipher.rs b/src/models/cipher.rs index 66eb550..00a19c4 100644 --- a/src/models/cipher.rs +++ b/src/models/cipher.rs @@ -158,22 +158,19 @@ pub struct CipherDBModel { pub updated_at: String, } -impl Into for CipherDBModel { - fn into(self) -> Cipher { +impl From for Cipher { + fn from(val: CipherDBModel) -> Self { Cipher { - id: self.id, - user_id: Some(self.user_id), - organization_id: self.organization_id, - r#type: self.r#type, - data: serde_json::from_str(&self.data).unwrap_or_default(), - favorite: match self.favorite { - 0 => false, - _ => true, - }, - folder_id: self.folder_id, - deleted_at: self.deleted_at, - created_at: self.created_at, - updated_at: self.updated_at, + id: val.id, + user_id: Some(val.user_id), + organization_id: val.organization_id, + r#type: val.r#type, + data: serde_json::from_str(&val.data).unwrap_or_default(), + favorite: val.favorite != 0, + folder_id: val.folder_id, + deleted_at: val.deleted_at, + created_at: val.created_at, + updated_at: val.updated_at, object: default_object(), organization_use_totp: false, edit: true,