|
|
|
@ -22,8 +22,14 @@ use auth::Headers;
|
|
|
|
|
|
|
|
|
|
use CONFIG;
|
|
|
|
|
|
|
|
|
|
#[get("/sync")]
|
|
|
|
|
fn sync(headers: Headers, conn: DbConn) -> JsonResult {
|
|
|
|
|
#[derive(FromForm)]
|
|
|
|
|
#[allow(non_snake_case)]
|
|
|
|
|
struct SyncData {
|
|
|
|
|
excludeDomains: bool,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[get("/sync?<data>")]
|
|
|
|
|
fn sync(data: SyncData, headers: Headers, conn: DbConn) -> JsonResult {
|
|
|
|
|
let user_json = headers.user.to_json(&conn);
|
|
|
|
|
|
|
|
|
|
let folders = Folder::find_by_user(&headers.user.uuid, &conn);
|
|
|
|
@ -35,7 +41,7 @@ fn sync(headers: Headers, conn: DbConn) -> JsonResult {
|
|
|
|
|
let ciphers = Cipher::find_by_user(&headers.user.uuid, &conn);
|
|
|
|
|
let ciphers_json: Vec<Value> = ciphers.iter().map(|c| c.to_json(&headers.host, &headers.user.uuid, &conn)).collect();
|
|
|
|
|
|
|
|
|
|
let domains_json = api::core::get_eq_domains(headers).unwrap().into_inner();
|
|
|
|
|
let domains_json = if data.excludeDomains { Value::Null } else { api::core::get_eq_domains(headers).unwrap().into_inner() };
|
|
|
|
|
|
|
|
|
|
Ok(Json(json!({
|
|
|
|
|
"Profile": user_json,
|
|
|
|
|