From 55fbd8d4685aaed57332165b69162df11064fbae Mon Sep 17 00:00:00 2001 From: janost Date: Wed, 17 Oct 2018 23:22:07 +0200 Subject: [PATCH] Don't send Domains if excludeDomains=true on /sync --- src/api/core/ciphers.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs index 8c9cd6a4..6a8a1c02 100644 --- a/src/api/core/ciphers.rs +++ b/src/api/core/ciphers.rs @@ -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?")] +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 = 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,