jacquard_api/place_stream/
chat.rs1pub mod gate;
9pub mod message;
10pub mod profile;
11
12#[jacquard_derive::lexicon]
13#[derive(
14 serde::Serialize,
15 serde::Deserialize,
16 Debug,
17 Clone,
18 PartialEq,
19 Eq,
20 jacquard_derive::IntoStatic
21)]
22#[serde(rename_all = "camelCase")]
23pub struct MessageView<'a> {
24 #[serde(borrow)]
25 pub author: crate::app_bsky::actor::ProfileViewBasic<'a>,
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28 pub chat_profile: std::option::Option<
29 crate::place_stream::chat::profile::Profile<'a>,
30 >,
31 #[serde(borrow)]
32 pub cid: jacquard_common::types::string::Cid<'a>,
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 pub deleted: std::option::Option<bool>,
36 pub indexed_at: jacquard_common::types::string::Datetime,
37 #[serde(borrow)]
38 pub record: jacquard_common::types::value::Data<'a>,
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41 pub reply_to: std::option::Option<MessageViewReplyTo<'a>>,
42 #[serde(borrow)]
43 pub uri: jacquard_common::types::string::AtUri<'a>,
44}
45
46#[jacquard_derive::open_union]
47#[derive(
48 serde::Serialize,
49 serde::Deserialize,
50 Debug,
51 Clone,
52 PartialEq,
53 Eq,
54 jacquard_derive::IntoStatic
55)]
56#[serde(tag = "$type")]
57#[serde(bound(deserialize = "'de: 'a"))]
58pub enum MessageViewReplyTo<'a> {
59 #[serde(rename = "place.stream.chat.defs#messageView")]
60 MessageView(Box<crate::place_stream::chat::MessageView<'a>>),
61}