From 0d6a8b8a3281fd0dd84759edc0ab8127d568ef86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Thu, 20 Jun 2024 20:53:18 +0200 Subject: [PATCH] Fix sends expecting size to be a string on mobile --- src/db/models/send.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/db/models/send.rs b/src/db/models/send.rs index 02c8c759..36944281 100644 --- a/src/db/models/send.rs +++ b/src/db/models/send.rs @@ -124,7 +124,12 @@ impl Send { use data_encoding::BASE64URL_NOPAD; use uuid::Uuid; - let data = serde_json::from_str::>(&self.data).map(|d| d.data).unwrap_or_default(); + let mut data = serde_json::from_str::>(&self.data).map(|d| d.data).unwrap_or_default(); + + // Mobile clients expect size to be a string instead of a number + if let Some(size) = data.get("size").and_then(|v| v.as_i64()) { + data["size"] = Value::String(size.to_string()); + } json!({ "id": self.uuid, @@ -153,7 +158,12 @@ impl Send { pub async fn to_json_access(&self, conn: &mut DbConn) -> Value { use crate::util::format_date; - let data = serde_json::from_str::>(&self.data).map(|d| d.data).unwrap_or_default(); + let mut data = serde_json::from_str::>(&self.data).map(|d| d.data).unwrap_or_default(); + + // Mobile clients expect size to be a string instead of a number + if let Some(size) = data.get("size").and_then(|v| v.as_i64()) { + data["size"] = Value::String(size.to_string()); + } json!({ "id": self.uuid,