mirror of
https://github.com/chatmail/core.git
synced 2026-05-03 21:36:29 +03:00
jsonrpc: add webxdc_info property to Message (#3588)
* jsonrpc: add `webxdc_info` property to `Message` * add pr number to changelog
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
- `addContactToChat()`
|
- `addContactToChat()`
|
||||||
- jsonrpc: add `is_broadcast` property to `ChatListItemFetchResult` #3584
|
- jsonrpc: add `is_broadcast` property to `ChatListItemFetchResult` #3584
|
||||||
- jsonrpc: add `was_seen_recently` property to `ChatListItemFetchResult`, `FullChat` and `Contact` #3584
|
- jsonrpc: add `was_seen_recently` property to `ChatListItemFetchResult`, `FullChat` and `Contact` #3584
|
||||||
|
- jsonrpc: add `webxdc_info` property to `Message` #3588
|
||||||
|
|
||||||
### Changes
|
### Changes
|
||||||
- order contact lists by "last seen";
|
- order contact lists by "last seen";
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ use serde::Serialize;
|
|||||||
use typescript_type_def::TypeDef;
|
use typescript_type_def::TypeDef;
|
||||||
|
|
||||||
use super::contact::ContactObject;
|
use super::contact::ContactObject;
|
||||||
|
use super::webxdc::WebxdcMessageInfo;
|
||||||
|
|
||||||
#[derive(Serialize, TypeDef)]
|
#[derive(Serialize, TypeDef)]
|
||||||
#[serde(rename = "Message", rename_all = "camelCase")]
|
#[serde(rename = "Message", rename_all = "camelCase")]
|
||||||
@@ -53,6 +54,8 @@ pub struct MessageObject {
|
|||||||
file_mime: Option<String>,
|
file_mime: Option<String>,
|
||||||
file_bytes: u64,
|
file_bytes: u64,
|
||||||
file_name: Option<String>,
|
file_name: Option<String>,
|
||||||
|
|
||||||
|
webxdc_info: Option<WebxdcMessageInfo>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MessageObject {
|
impl MessageObject {
|
||||||
@@ -70,6 +73,12 @@ impl MessageObject {
|
|||||||
let file_bytes = message.get_filebytes(context).await;
|
let file_bytes = message.get_filebytes(context).await;
|
||||||
let override_sender_name = message.get_override_sender_name();
|
let override_sender_name = message.get_override_sender_name();
|
||||||
|
|
||||||
|
let webxdc_info = if message.get_viewtype() == Viewtype::Webxdc {
|
||||||
|
Some(WebxdcMessageInfo::get_for_message(context, msg_id).await?)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
Ok(MessageObject {
|
Ok(MessageObject {
|
||||||
id: message_id,
|
id: message_id,
|
||||||
chat_id: message.get_chat_id().to_u32(),
|
chat_id: message.get_chat_id().to_u32(),
|
||||||
@@ -121,6 +130,7 @@ impl MessageObject {
|
|||||||
file_mime: message.get_filemime(),
|
file_mime: message.get_filemime(),
|
||||||
file_bytes,
|
file_bytes,
|
||||||
file_name: message.get_filename(),
|
file_name: message.get_filename(),
|
||||||
|
webxdc_info,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user