A better Rust ATProto crate
at main 1.8 kB view raw
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}