From e0dfba87b627d182b032ed4d1b19322d8ec7fc3a Mon Sep 17 00:00:00 2001 From: Nico de Haen Date: Tue, 18 Feb 2025 16:41:04 +0100 Subject: [PATCH] feat: save messages API in JSON RPC (#6554) relates to https://github.com/deltachat/deltachat-desktop/issues/4596 --- deltachat-jsonrpc/src/api.rs | 6 ++++++ deltachat-jsonrpc/src/api/types/message.rs | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/deltachat-jsonrpc/src/api.rs b/deltachat-jsonrpc/src/api.rs index 5c34a554c9..a3ab5c2e97 100644 --- a/deltachat-jsonrpc/src/api.rs +++ b/deltachat-jsonrpc/src/api.rs @@ -1305,6 +1305,12 @@ impl CommandApi { Ok(results) } + async fn save_msgs(&self, account_id: u32, message_ids: Vec) -> Result<()> { + let ctx = self.get_context(account_id).await?; + let message_ids: Vec = message_ids.into_iter().map(MsgId::new).collect(); + chat::save_msgs(&ctx, &message_ids).await + } + // --------------------------------------------- // contact // --------------------------------------------- diff --git a/deltachat-jsonrpc/src/api/types/message.rs b/deltachat-jsonrpc/src/api/types/message.rs index efe7b66ca6..aff2186fea 100644 --- a/deltachat-jsonrpc/src/api/types/message.rs +++ b/deltachat-jsonrpc/src/api/types/message.rs @@ -89,6 +89,10 @@ pub struct MessageObject { download_state: DownloadState, + original_msg_id: Option, + + saved_message_id: Option, + reactions: Option, vcard_contact: Option, @@ -253,6 +257,16 @@ impl MessageObject { download_state, + original_msg_id: message + .get_original_msg_id(context) + .await? + .map(|id| id.to_u32()), + + saved_message_id: message + .get_saved_msg_id(context) + .await? + .map(|id| id.to_u32()), + reactions, vcard_contact: vcard_contacts.first().cloned(),