atrium_api/app/bsky/feed/
post.rs1#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct RecordData {
6 pub created_at: crate::types::string::Datetime,
8 #[serde(skip_serializing_if = "core::option::Option::is_none")]
9 pub embed: core::option::Option<crate::types::Union<RecordEmbedRefs>>,
10 #[serde(skip_serializing_if = "core::option::Option::is_none")]
12 pub entities: core::option::Option<Vec<Entity>>,
13 #[serde(skip_serializing_if = "core::option::Option::is_none")]
15 pub facets: core::option::Option<Vec<crate::app::bsky::richtext::facet::Main>>,
16 #[serde(skip_serializing_if = "core::option::Option::is_none")]
18 pub labels: core::option::Option<crate::types::Union<RecordLabelsRefs>>,
19 #[serde(skip_serializing_if = "core::option::Option::is_none")]
21 pub langs: core::option::Option<Vec<crate::types::string::Language>>,
22 #[serde(skip_serializing_if = "core::option::Option::is_none")]
23 pub reply: core::option::Option<ReplyRef>,
24 #[serde(skip_serializing_if = "core::option::Option::is_none")]
26 pub tags: core::option::Option<Vec<String>>,
27 pub text: String,
29}
30pub type Record = crate::types::Object<RecordData>;
31#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
33#[serde(rename_all = "camelCase")]
34pub struct EntityData {
35 pub index: TextSlice,
36 pub r#type: String,
38 pub value: String,
39}
40pub type Entity = crate::types::Object<EntityData>;
41#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
42#[serde(rename_all = "camelCase")]
43pub struct ReplyRefData {
44 pub parent: crate::com::atproto::repo::strong_ref::Main,
45 pub root: crate::com::atproto::repo::strong_ref::Main,
46}
47pub type ReplyRef = crate::types::Object<ReplyRefData>;
48#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
50#[serde(rename_all = "camelCase")]
51pub struct TextSliceData {
52 pub end: usize,
53 pub start: usize,
54}
55pub type TextSlice = crate::types::Object<TextSliceData>;
56#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
57#[serde(tag = "$type")]
58pub enum RecordEmbedRefs {
59 #[serde(rename = "app.bsky.embed.images")]
60 AppBskyEmbedImagesMain(Box<crate::app::bsky::embed::images::Main>),
61 #[serde(rename = "app.bsky.embed.video")]
62 AppBskyEmbedVideoMain(Box<crate::app::bsky::embed::video::Main>),
63 #[serde(rename = "app.bsky.embed.external")]
64 AppBskyEmbedExternalMain(Box<crate::app::bsky::embed::external::Main>),
65 #[serde(rename = "app.bsky.embed.record")]
66 AppBskyEmbedRecordMain(Box<crate::app::bsky::embed::record::Main>),
67 #[serde(rename = "app.bsky.embed.recordWithMedia")]
68 AppBskyEmbedRecordWithMediaMain(
69 Box<crate::app::bsky::embed::record_with_media::Main>,
70 ),
71}
72#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
73#[serde(tag = "$type")]
74pub enum RecordLabelsRefs {
75 #[serde(rename = "com.atproto.label.defs#selfLabels")]
76 ComAtprotoLabelDefsSelfLabels(Box<crate::com::atproto::label::defs::SelfLabels>),
77}