From adf47827c98b09dc5cc0564f790f5f6c4a1906f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Mon, 30 Mar 2020 22:19:50 +0200 Subject: [PATCH] Make sure the data field is always returned, otherwise the mobile apps seem to have issues --- src/db/models/cipher.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/db/models/cipher.rs b/src/db/models/cipher.rs index 9b7c120..b2e29c3 100644 --- a/src/db/models/cipher.rs +++ b/src/db/models/cipher.rs @@ -80,7 +80,19 @@ impl Cipher { let fields_json = self.fields.as_ref().and_then(|s| serde_json::from_str(s).ok()).unwrap_or(Value::Null); let password_history_json = self.password_history.as_ref().and_then(|s| serde_json::from_str(s).ok()).unwrap_or(Value::Null); - let mut data_json: Value = serde_json::from_str(&self.data).unwrap_or(Value::Null); + // Get the data or a default empty value to avoid issues with the mobile apps + let mut data_json: Value = serde_json::from_str(&self.data).unwrap_or_else(|_| json!({ + "Fields":null, + "Name": self.name, + "Notes":null, + "Password":null, + "PasswordHistory":null, + "PasswordRevisionDate":null, + "Response":null, + "Totp":null, + "Uris":null, + "Username":null + })); // TODO: ******* Backwards compat start ********** // To remove backwards compatibility, just remove this entire section