From 4c93feeddbc28f108849bb48b56ee5e580eac964 Mon Sep 17 00:00:00 2001 From: Nico de Haen Date: Mon, 17 Mar 2025 14:29:04 +0100 Subject: [PATCH] feat: add "delete_for_all" function in json-rpc (#6672) --- deltachat-jsonrpc/src/api.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/deltachat-jsonrpc/src/api.rs b/deltachat-jsonrpc/src/api.rs index c777763a0..8ccbe7ead 100644 --- a/deltachat-jsonrpc/src/api.rs +++ b/deltachat-jsonrpc/src/api.rs @@ -22,7 +22,7 @@ use deltachat::ephemeral::Timer; use deltachat::location; use deltachat::message::get_msg_read_receipts; use deltachat::message::{ - self, delete_msgs, markseen_msgs, Message, MessageState, MsgId, Viewtype, + self, delete_msgs_ex, markseen_msgs, Message, MessageState, MsgId, Viewtype, }; use deltachat::peer_channels::{ leave_webxdc_realtime, send_webxdc_realtime_advertisement, send_webxdc_realtime_data, @@ -1214,7 +1214,15 @@ impl CommandApi { async fn delete_messages(&self, account_id: u32, message_ids: Vec) -> Result<()> { let ctx = self.get_context(account_id).await?; let msgs: Vec = message_ids.into_iter().map(MsgId::new).collect(); - delete_msgs(&ctx, &msgs).await + delete_msgs_ex(&ctx, &msgs, false).await + } + + /// Delete messages. The messages are deleted on the current device, + /// on the IMAP server and also for all chat members + async fn delete_messages_for_all(&self, account_id: u32, message_ids: Vec) -> Result<()> { + let ctx = self.get_context(account_id).await?; + let msgs: Vec = message_ids.into_iter().map(MsgId::new).collect(); + delete_msgs_ex(&ctx, &msgs, true).await } /// Get an informational text for a single message. The text is multiline and may