jacquard_api/app_bsky/embed/
record.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.embed.record
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[jacquard_derive::lexicon]
9#[derive(
10    serde::Serialize,
11    serde::Deserialize,
12    Debug,
13    Clone,
14    PartialEq,
15    Eq,
16    jacquard_derive::IntoStatic
17)]
18#[serde(rename_all = "camelCase")]
19pub struct Record<'a> {
20    #[serde(borrow)]
21    pub record: crate::com_atproto::repo::strong_ref::StrongRef<'a>,
22}
23
24#[jacquard_derive::lexicon]
25#[derive(
26    serde::Serialize,
27    serde::Deserialize,
28    Debug,
29    Clone,
30    PartialEq,
31    Eq,
32    jacquard_derive::IntoStatic
33)]
34#[serde(rename_all = "camelCase")]
35pub struct View<'a> {
36    #[serde(borrow)]
37    pub record: ViewUnionRecord<'a>,
38}
39
40#[jacquard_derive::open_union]
41#[derive(
42    serde::Serialize,
43    serde::Deserialize,
44    Debug,
45    Clone,
46    PartialEq,
47    Eq,
48    jacquard_derive::IntoStatic
49)]
50#[serde(tag = "$type")]
51#[serde(bound(deserialize = "'de: 'a"))]
52pub enum ViewUnionRecord<'a> {
53    #[serde(rename = "app.bsky.embed.record#viewRecord")]
54    ViewRecord(Box<crate::app_bsky::embed::record::ViewRecord<'a>>),
55    #[serde(rename = "app.bsky.embed.record#viewNotFound")]
56    ViewNotFound(Box<crate::app_bsky::embed::record::ViewNotFound<'a>>),
57    #[serde(rename = "app.bsky.embed.record#viewBlocked")]
58    ViewBlocked(Box<crate::app_bsky::embed::record::ViewBlocked<'a>>),
59    #[serde(rename = "app.bsky.embed.record#viewDetached")]
60    ViewDetached(Box<crate::app_bsky::embed::record::ViewDetached<'a>>),
61    #[serde(rename = "app.bsky.feed.defs#generatorView")]
62    GeneratorView(Box<crate::app_bsky::feed::GeneratorView<'a>>),
63    #[serde(rename = "app.bsky.graph.defs#listView")]
64    ListView(Box<crate::app_bsky::graph::ListView<'a>>),
65    #[serde(rename = "app.bsky.labeler.defs#labelerView")]
66    LabelerView(Box<crate::app_bsky::labeler::LabelerView<'a>>),
67    #[serde(rename = "app.bsky.graph.defs#starterPackViewBasic")]
68    StarterPackViewBasic(Box<crate::app_bsky::graph::StarterPackViewBasic<'a>>),
69}
70
71#[jacquard_derive::lexicon]
72#[derive(
73    serde::Serialize,
74    serde::Deserialize,
75    Debug,
76    Clone,
77    PartialEq,
78    Eq,
79    jacquard_derive::IntoStatic
80)]
81#[serde(rename_all = "camelCase")]
82pub struct ViewBlocked<'a> {
83    #[serde(borrow)]
84    pub author: crate::app_bsky::feed::BlockedAuthor<'a>,
85    pub blocked: bool,
86    #[serde(borrow)]
87    pub uri: jacquard_common::types::string::AtUri<'a>,
88}
89
90#[jacquard_derive::lexicon]
91#[derive(
92    serde::Serialize,
93    serde::Deserialize,
94    Debug,
95    Clone,
96    PartialEq,
97    Eq,
98    jacquard_derive::IntoStatic
99)]
100#[serde(rename_all = "camelCase")]
101pub struct ViewDetached<'a> {
102    pub detached: bool,
103    #[serde(borrow)]
104    pub uri: jacquard_common::types::string::AtUri<'a>,
105}
106
107#[jacquard_derive::lexicon]
108#[derive(
109    serde::Serialize,
110    serde::Deserialize,
111    Debug,
112    Clone,
113    PartialEq,
114    Eq,
115    jacquard_derive::IntoStatic
116)]
117#[serde(rename_all = "camelCase")]
118pub struct ViewNotFound<'a> {
119    pub not_found: bool,
120    #[serde(borrow)]
121    pub uri: jacquard_common::types::string::AtUri<'a>,
122}
123
124#[jacquard_derive::lexicon]
125#[derive(
126    serde::Serialize,
127    serde::Deserialize,
128    Debug,
129    Clone,
130    PartialEq,
131    Eq,
132    jacquard_derive::IntoStatic
133)]
134#[serde(rename_all = "camelCase")]
135pub struct ViewRecord<'a> {
136    #[serde(borrow)]
137    pub author: crate::app_bsky::actor::ProfileViewBasic<'a>,
138    #[serde(borrow)]
139    pub cid: jacquard_common::types::string::Cid<'a>,
140    #[serde(skip_serializing_if = "std::option::Option::is_none")]
141    #[serde(borrow)]
142    pub embeds: std::option::Option<Vec<ViewRecordEmbedsItem<'a>>>,
143    pub indexed_at: jacquard_common::types::string::Datetime,
144    #[serde(skip_serializing_if = "std::option::Option::is_none")]
145    #[serde(borrow)]
146    pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
147    #[serde(skip_serializing_if = "std::option::Option::is_none")]
148    pub like_count: std::option::Option<i64>,
149    #[serde(skip_serializing_if = "std::option::Option::is_none")]
150    pub quote_count: std::option::Option<i64>,
151    #[serde(skip_serializing_if = "std::option::Option::is_none")]
152    pub reply_count: std::option::Option<i64>,
153    #[serde(skip_serializing_if = "std::option::Option::is_none")]
154    pub repost_count: std::option::Option<i64>,
155    #[serde(borrow)]
156    pub uri: jacquard_common::types::string::AtUri<'a>,
157    ///The record data itself.
158    #[serde(borrow)]
159    pub value: jacquard_common::types::value::Data<'a>,
160}
161
162#[jacquard_derive::open_union]
163#[derive(
164    serde::Serialize,
165    serde::Deserialize,
166    Debug,
167    Clone,
168    PartialEq,
169    Eq,
170    jacquard_derive::IntoStatic
171)]
172#[serde(tag = "$type")]
173#[serde(bound(deserialize = "'de: 'a"))]
174pub enum ViewRecordEmbedsItem<'a> {
175    #[serde(rename = "app.bsky.embed.images#view")]
176    ImagesView(Box<crate::app_bsky::embed::images::View<'a>>),
177    #[serde(rename = "app.bsky.embed.video#view")]
178    VideoView(Box<crate::app_bsky::embed::video::View<'a>>),
179    #[serde(rename = "app.bsky.embed.external#view")]
180    ExternalView(Box<crate::app_bsky::embed::external::View<'a>>),
181    #[serde(rename = "app.bsky.embed.record#view")]
182    View(Box<crate::app_bsky::embed::record::View<'a>>),
183    #[serde(rename = "app.bsky.embed.recordWithMedia#view")]
184    RecordWithMediaView(Box<crate::app_bsky::embed::record_with_media::View<'a>>),
185}