Skip to content

Commit 4c93fee

Browse files
authored
feat: add "delete_for_all" function in json-rpc (#6672)
1 parent 3d061d1 commit 4c93fee

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

deltachat-jsonrpc/src/api.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use deltachat::ephemeral::Timer;
2222
use deltachat::location;
2323
use deltachat::message::get_msg_read_receipts;
2424
use deltachat::message::{
25-
self, delete_msgs, markseen_msgs, Message, MessageState, MsgId, Viewtype,
25+
self, delete_msgs_ex, markseen_msgs, Message, MessageState, MsgId, Viewtype,
2626
};
2727
use deltachat::peer_channels::{
2828
leave_webxdc_realtime, send_webxdc_realtime_advertisement, send_webxdc_realtime_data,
@@ -1214,7 +1214,15 @@ impl CommandApi {
12141214
async fn delete_messages(&self, account_id: u32, message_ids: Vec<u32>) -> Result<()> {
12151215
let ctx = self.get_context(account_id).await?;
12161216
let msgs: Vec<MsgId> = message_ids.into_iter().map(MsgId::new).collect();
1217-
delete_msgs(&ctx, &msgs).await
1217+
delete_msgs_ex(&ctx, &msgs, false).await
1218+
}
1219+
1220+
/// Delete messages. The messages are deleted on the current device,
1221+
/// on the IMAP server and also for all chat members
1222+
async fn delete_messages_for_all(&self, account_id: u32, message_ids: Vec<u32>) -> Result<()> {
1223+
let ctx = self.get_context(account_id).await?;
1224+
let msgs: Vec<MsgId> = message_ids.into_iter().map(MsgId::new).collect();
1225+
delete_msgs_ex(&ctx, &msgs, true).await
12181226
}
12191227

12201228
/// Get an informational text for a single message. The text is multiline and may

0 commit comments

Comments
 (0)