From 96261f1284ed5a468ac11644e2a3453dca9b97d3 Mon Sep 17 00:00:00 2001 From: BlockListed <44610569+BlockListed@users.noreply.github.com> Date: Sat, 9 Sep 2023 18:26:56 +0200 Subject: [PATCH] remove breaking parameter from to_json methods --- src/api/core/ciphers.rs | 20 +++++++++----------- src/api/core/emergency_access.rs | 1 - src/api/core/organizations.rs | 2 +- src/api/web.rs | 3 +-- src/db/models/attachment.rs | 8 +++----- src/db/models/cipher.rs | 5 ++--- 6 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs index d9b5d544..301dc29f 100644 --- a/src/api/core/ciphers.rs +++ b/src/api/core/ciphers.rs @@ -119,7 +119,6 @@ async fn sync(data: SyncData, headers: Headers, mut conn: DbConn) -> Json Some(&cipher_sync_data), CipherSyncType::User, &mut conn, - (), ) .await, ); @@ -173,7 +172,6 @@ async fn get_ciphers(headers: Headers, mut conn: DbConn) -> Json { Some(&cipher_sync_data), CipherSyncType::User, &mut conn, - (), ) .await, ); @@ -197,7 +195,7 @@ async fn get_cipher(uuid: &str, headers: Headers, mut conn: DbConn) -> JsonResul err!("Cipher is not owned by user") } - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn).await)) } #[get("/ciphers//admin")] @@ -337,7 +335,7 @@ async fn post_ciphers(data: JsonUpcase, headers: Headers, mut conn: let mut cipher = Cipher::new(data.Type, data.Name.clone()); update_cipher_from_data(&mut cipher, data, &headers, false, &mut conn, &nt, UpdateType::SyncCipherCreate).await?; - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn).await)) } /// Enforces the personal ownership policy on user-owned ciphers, if applicable. @@ -664,7 +662,7 @@ async fn put_cipher( update_cipher_from_data(&mut cipher, data, &headers, false, &mut conn, &nt, UpdateType::SyncCipherUpdate).await?; - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn).await)) } #[post("/ciphers//partial", data = "")] @@ -708,7 +706,7 @@ async fn put_cipher_partial( // Update favorite cipher.set_favorite(Some(data.Favorite), &headers.user.uuid, &mut conn).await?; - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn).await)) } #[derive(Deserialize)] @@ -939,7 +937,7 @@ async fn share_cipher_by_uuid( update_cipher_from_data(&mut cipher, data.Cipher, headers, shared_to_collection, conn, nt, ut).await?; - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, conn).await)) } /// v2 API for downloading an attachment. This just redirects the client to @@ -960,7 +958,7 @@ async fn get_attachment(uuid: &str, attachment_id: &str, headers: Headers, mut c } match Attachment::find_by_id(attachment_id, &mut conn).await { - Some(attachment) if uuid == attachment.cipher_uuid => Ok(Json(attachment.to_json(&headers.base_url, ()))), + Some(attachment) if uuid == attachment.cipher_uuid => Ok(Json(attachment.to_json(&headers.base_url))), Some(_) => err!("Attachment doesn't belong to cipher"), None => err!("Attachment doesn't exist"), } @@ -1020,7 +1018,7 @@ async fn post_attachment_v2( "AttachmentId": attachment_id, "Url": url, "FileUploadType": FileUploadType::Direct as i32, - response_key: cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn, ()).await, + response_key: cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn).await, }))) } @@ -1247,7 +1245,7 @@ async fn post_attachment( let (cipher, mut conn) = save_attachment(attachment, uuid, data, &headers, conn, nt).await?; - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, &mut conn).await)) } #[post("/ciphers//attachment-admin", format = "multipart/form-data", data = "")] @@ -1681,7 +1679,7 @@ async fn _restore_cipher_by_uuid(uuid: &str, headers: &Headers, conn: &mut DbCon .await; } - Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, conn, ()).await)) + Ok(Json(cipher.to_json(&headers.base_url, &headers.user.uuid, None, CipherSyncType::User, conn).await)) } async fn _restore_multiple_ciphers( diff --git a/src/api/core/emergency_access.rs b/src/api/core/emergency_access.rs index 029acb9b..314bb616 100644 --- a/src/api/core/emergency_access.rs +++ b/src/api/core/emergency_access.rs @@ -608,7 +608,6 @@ async fn view_emergency_access(emer_id: &str, headers: Headers, mut conn: DbConn Some(&cipher_sync_data), CipherSyncType::User, &mut conn, - (), ) .await, ); diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs index 4ad96a1d..9975ee5e 100644 --- a/src/api/core/organizations.rs +++ b/src/api/core/organizations.rs @@ -778,7 +778,7 @@ async fn _get_org_details(org_id: &str, base_url: &str, user_uuid: &str, conn: & let mut ciphers_json = Vec::with_capacity(ciphers.len()); for c in ciphers { ciphers_json.push( - c.to_json(base_url, user_uuid, Some(&cipher_sync_data), CipherSyncType::Organization, conn, ()).await, + c.to_json(base_url, user_uuid, Some(&cipher_sync_data), CipherSyncType::Organization, conn).await, ); } json!(ciphers_json) diff --git a/src/api/web.rs b/src/api/web.rs index 1920d749..8dc1c649 100644 --- a/src/api/web.rs +++ b/src/api/web.rs @@ -65,8 +65,7 @@ fn web_index_head() -> EmptyResult { fn app_id(host_info: HostInfo) -> Cached<(ContentType, Json)> { let content_type = ContentType::new("application", "fido.trusted-apps+json"); - // TODO_MAYBE: add an extractor for getting the origin, so we only have to do 1 lookup. - // Also I'm not sure if we shouldn't return all origins. + // TODO Maybe return all available origins. let origin = host_info.origin; Cached::long( diff --git a/src/db/models/attachment.rs b/src/db/models/attachment.rs index a1f1604d..6d3df369 100644 --- a/src/db/models/attachment.rs +++ b/src/db/models/attachment.rs @@ -35,17 +35,15 @@ impl Attachment { format!("{}/{}/{}", CONFIG.attachments_folder(), self.cipher_uuid, self.id) } - // TODO: Change back - pub fn get_url(&self, base_url: &str, _parameter_to_break_existing_uses: ()) -> String { + pub fn get_url(&self, base_url: &str) -> String { let token = encode_jwt(&generate_file_download_claims(self.cipher_uuid.clone(), self.id.clone())); format!("{}/attachments/{}/{}?token={}", base_url, self.cipher_uuid, self.id, token) } - // TODO: Change back - pub fn to_json(&self, base_url: &str, _parameter_to_break_existing_uses: ()) -> Value { + pub fn to_json(&self, base_url: &str) -> Value { json!({ "Id": self.id, - "Url": self.get_url(base_url, ()), + "Url": self.get_url(base_url), "FileName": self.file_name, "Size": self.file_size.to_string(), "SizeName": crate::util::get_display_size(self.file_size), diff --git a/src/db/models/cipher.rs b/src/db/models/cipher.rs index f9192f6c..096e1984 100644 --- a/src/db/models/cipher.rs +++ b/src/db/models/cipher.rs @@ -121,19 +121,18 @@ impl Cipher { cipher_sync_data: Option<&CipherSyncData>, sync_type: CipherSyncType, conn: &mut DbConn, - _parameter_to_break_existing_uses: (), ) -> Value { use crate::util::format_date; let mut attachments_json: Value = Value::Null; if let Some(cipher_sync_data) = cipher_sync_data { if let Some(attachments) = cipher_sync_data.cipher_attachments.get(&self.uuid) { - attachments_json = attachments.iter().map(|c| c.to_json(base_url, ())).collect(); + attachments_json = attachments.iter().map(|c| c.to_json(base_url)).collect(); } } else { let attachments = Attachment::find_by_cipher(&self.uuid, conn).await; if !attachments.is_empty() { - attachments_json = attachments.iter().map(|c| c.to_json(base_url, ())).collect() + attachments_json = attachments.iter().map(|c| c.to_json(base_url)).collect() } }