|
|
|
@ -6,6 +6,8 @@ use db::models::*;
|
|
|
|
|
use api::{PasswordData, JsonResult, EmptyResult, JsonUpcase};
|
|
|
|
|
use auth::Headers;
|
|
|
|
|
|
|
|
|
|
use util;
|
|
|
|
|
|
|
|
|
|
use CONFIG;
|
|
|
|
|
|
|
|
|
|
#[derive(Deserialize, Debug)]
|
|
|
|
@ -13,6 +15,7 @@ use CONFIG;
|
|
|
|
|
struct RegisterData {
|
|
|
|
|
Email: String,
|
|
|
|
|
Key: String,
|
|
|
|
|
#[serde(deserialize_with = "util::upcase_deserialize")]
|
|
|
|
|
Keys: Option<KeysData>,
|
|
|
|
|
MasterPasswordHash: String,
|
|
|
|
|
MasterPasswordHint: Option<String>,
|
|
|
|
@ -22,8 +25,8 @@ struct RegisterData {
|
|
|
|
|
#[derive(Deserialize, Debug)]
|
|
|
|
|
#[allow(non_snake_case)]
|
|
|
|
|
struct KeysData {
|
|
|
|
|
encryptedPrivateKey: String,
|
|
|
|
|
publicKey: String,
|
|
|
|
|
EncryptedPrivateKey: String,
|
|
|
|
|
PublicKey: String,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[post("/accounts/register", data = "<data>")]
|
|
|
|
@ -50,8 +53,8 @@ fn register(data: JsonUpcase<RegisterData>, conn: DbConn) -> EmptyResult {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if let Some(keys) = data.Keys {
|
|
|
|
|
user.private_key = Some(keys.encryptedPrivateKey);
|
|
|
|
|
user.public_key = Some(keys.publicKey);
|
|
|
|
|
user.private_key = Some(keys.EncryptedPrivateKey);
|
|
|
|
|
user.public_key = Some(keys.PublicKey);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.save(&conn);
|
|
|
|
@ -84,8 +87,8 @@ fn post_keys(data: JsonUpcase<KeysData>, headers: Headers, conn: DbConn) -> Json
|
|
|
|
|
|
|
|
|
|
let mut user = headers.user;
|
|
|
|
|
|
|
|
|
|
user.private_key = Some(data.encryptedPrivateKey);
|
|
|
|
|
user.public_key = Some(data.publicKey);
|
|
|
|
|
user.private_key = Some(data.EncryptedPrivateKey);
|
|
|
|
|
user.public_key = Some(data.PublicKey);
|
|
|
|
|
|
|
|
|
|
user.save(&conn);
|
|
|
|
|
|
|
|
|
|