|
|
@ -189,9 +189,8 @@ async fn profile(headers: Headers, conn: DbConn) -> Json<Value> { |
|
|
|
#[derive(Deserialize, Debug)] |
|
|
|
#[allow(non_snake_case)] |
|
|
|
struct ProfileData { |
|
|
|
#[serde(rename = "Culture")] |
|
|
|
_Culture: String, // Ignored, always use en-US
|
|
|
|
MasterPasswordHint: Option<String>, |
|
|
|
// Culture: String, // Ignored, always use en-US
|
|
|
|
// MasterPasswordHint: Option<String>, // Ignored, has been moved to ChangePassData
|
|
|
|
Name: String, |
|
|
|
} |
|
|
|
|
|
|
@ -212,8 +211,6 @@ async fn post_profile(data: JsonUpcase<ProfileData>, headers: Headers, conn: DbC |
|
|
|
|
|
|
|
let mut user = headers.user; |
|
|
|
user.name = data.Name; |
|
|
|
user.password_hint = clean_password_hint(&data.MasterPasswordHint); |
|
|
|
enforce_password_hint_setting(&user.password_hint)?; |
|
|
|
|
|
|
|
user.save(&conn).await?; |
|
|
|
Ok(Json(user.to_json(&conn).await)) |
|
|
@ -256,6 +253,7 @@ async fn post_keys(data: JsonUpcase<KeysData>, headers: Headers, conn: DbConn) - |
|
|
|
struct ChangePassData { |
|
|
|
MasterPasswordHash: String, |
|
|
|
NewMasterPasswordHash: String, |
|
|
|
MasterPasswordHint: Option<String>, |
|
|
|
Key: String, |
|
|
|
} |
|
|
|
|
|
|
@ -268,6 +266,9 @@ async fn post_password(data: JsonUpcase<ChangePassData>, headers: Headers, conn: |
|
|
|
err!("Invalid password") |
|
|
|
} |
|
|
|
|
|
|
|
user.password_hint = clean_password_hint(&data.MasterPasswordHint); |
|
|
|
enforce_password_hint_setting(&user.password_hint)?; |
|
|
|
|
|
|
|
user.set_password( |
|
|
|
&data.NewMasterPasswordHash, |
|
|
|
Some(vec![String::from("post_rotatekey"), String::from("get_contacts"), String::from("get_public_keys")]), |
|
|
|