jacquard_api/place_stream/
chat.rs

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}