1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: place.stream.chat.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub 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 bon::Builder
22)]
23#[serde(rename_all = "camelCase")]
24pub struct MessageView<'a> {
25 #[serde(borrow)]
26 pub author: crate::app_bsky::actor::ProfileViewBasic<'a>,
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[builder(into)]
29 #[serde(borrow)]
30 pub chat_profile: Option<crate::place_stream::chat::profile::Profile<'a>>,
31 #[serde(borrow)]
32 pub cid: jacquard_common::types::string::Cid<'a>,
33 /// If true, this message has been deleted or labeled and should be cleared from the cache
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[builder(into)]
36 pub deleted: Option<bool>,
37 pub indexed_at: jacquard_common::types::string::Datetime,
38 #[serde(borrow)]
39 pub record: jacquard_common::types::value::Data<'a>,
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[builder(into)]
42 #[serde(borrow)]
43 pub reply_to: Option<MessageViewReplyTo<'a>>,
44 #[serde(borrow)]
45 pub uri: jacquard_common::types::string::AtUri<'a>,
46}
47
48#[jacquard_derive::open_union]
49#[derive(
50 serde::Serialize,
51 serde::Deserialize,
52 Debug,
53 Clone,
54 PartialEq,
55 Eq,
56 jacquard_derive::IntoStatic
57)]
58#[serde(tag = "$type")]
59#[serde(bound(deserialize = "'de: 'a"))]
60pub enum MessageViewReplyTo<'a> {
61 #[serde(rename = "place.stream.chat.defs#messageView")]
62 MessageView(Box<crate::place_stream::chat::MessageView<'a>>),
63}