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(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
10#[serde(rename_all = "camelCase")]
11pub struct Record<'a> {
12    #[serde(borrow)]
13    pub record: crate::com_atproto::repo::strong_ref::StrongRef<'a>,
14}
15
16impl jacquard_common::IntoStatic for Record<'_> {
17    type Output = Record<'static>;
18    fn into_static(self) -> Self::Output {
19        Record {
20            record: self.record.into_static(),
21            extra_data: self.extra_data.into_static(),
22        }
23    }
24}
25
26#[jacquard_derive::lexicon]
27#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
28#[serde(rename_all = "camelCase")]
29pub struct View<'a> {
30    #[serde(borrow)]
31    pub record: ViewRecordRecord<'a>,
32}
33
34#[jacquard_derive::open_union]
35#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
36#[serde(tag = "$type")]
37#[serde(bound(deserialize = "'de: 'a"))]
38pub enum ViewRecordRecord<'a> {
39    #[serde(rename = "app.bsky.feed.defs#generatorView")]
40    DefsGeneratorView(Box<crate::app_bsky::feed::GeneratorView<'a>>),
41    #[serde(rename = "app.bsky.graph.defs#listView")]
42    DefsListView(Box<crate::app_bsky::graph::ListView<'a>>),
43    #[serde(rename = "app.bsky.labeler.defs#labelerView")]
44    DefsLabelerView(Box<crate::app_bsky::labeler::LabelerView<'a>>),
45    #[serde(rename = "app.bsky.graph.defs#starterPackViewBasic")]
46    DefsStarterPackViewBasic(Box<crate::app_bsky::graph::StarterPackViewBasic<'a>>),
47}
48
49impl jacquard_common::IntoStatic for ViewRecordRecord<'_> {
50    type Output = ViewRecordRecord<'static>;
51    fn into_static(self) -> Self::Output {
52        match self {
53            ViewRecordRecord::DefsGeneratorView(v) => {
54                ViewRecordRecord::DefsGeneratorView(v.into_static())
55            }
56            ViewRecordRecord::DefsListView(v) => {
57                ViewRecordRecord::DefsListView(v.into_static())
58            }
59            ViewRecordRecord::DefsLabelerView(v) => {
60                ViewRecordRecord::DefsLabelerView(v.into_static())
61            }
62            ViewRecordRecord::DefsStarterPackViewBasic(v) => {
63                ViewRecordRecord::DefsStarterPackViewBasic(v.into_static())
64            }
65            ViewRecordRecord::Unknown(v) => ViewRecordRecord::Unknown(v.into_static()),
66        }
67    }
68}
69
70impl jacquard_common::IntoStatic for View<'_> {
71    type Output = View<'static>;
72    fn into_static(self) -> Self::Output {
73        View {
74            record: self.record.into_static(),
75            extra_data: self.extra_data.into_static(),
76        }
77    }
78}
79
80#[jacquard_derive::lexicon]
81#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
82#[serde(rename_all = "camelCase")]
83pub struct ViewBlocked<'a> {
84    #[serde(borrow)]
85    pub author: crate::app_bsky::feed::BlockedAuthor<'a>,
86    pub blocked: bool,
87    #[serde(borrow)]
88    pub uri: jacquard_common::types::string::AtUri<'a>,
89}
90
91impl jacquard_common::IntoStatic for ViewBlocked<'_> {
92    type Output = ViewBlocked<'static>;
93    fn into_static(self) -> Self::Output {
94        ViewBlocked {
95            author: self.author.into_static(),
96            blocked: self.blocked.into_static(),
97            uri: self.uri.into_static(),
98            extra_data: self.extra_data.into_static(),
99        }
100    }
101}
102
103#[jacquard_derive::lexicon]
104#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
105#[serde(rename_all = "camelCase")]
106pub struct ViewDetached<'a> {
107    pub detached: bool,
108    #[serde(borrow)]
109    pub uri: jacquard_common::types::string::AtUri<'a>,
110}
111
112impl jacquard_common::IntoStatic for ViewDetached<'_> {
113    type Output = ViewDetached<'static>;
114    fn into_static(self) -> Self::Output {
115        ViewDetached {
116            detached: self.detached.into_static(),
117            uri: self.uri.into_static(),
118            extra_data: self.extra_data.into_static(),
119        }
120    }
121}
122
123#[jacquard_derive::lexicon]
124#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
125#[serde(rename_all = "camelCase")]
126pub struct ViewNotFound<'a> {
127    pub not_found: bool,
128    #[serde(borrow)]
129    pub uri: jacquard_common::types::string::AtUri<'a>,
130}
131
132impl jacquard_common::IntoStatic for ViewNotFound<'_> {
133    type Output = ViewNotFound<'static>;
134    fn into_static(self) -> Self::Output {
135        ViewNotFound {
136            not_found: self.not_found.into_static(),
137            uri: self.uri.into_static(),
138            extra_data: self.extra_data.into_static(),
139        }
140    }
141}
142
143#[jacquard_derive::lexicon]
144#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
145#[serde(rename_all = "camelCase")]
146pub struct ViewRecord<'a> {
147    #[serde(borrow)]
148    pub author: crate::app_bsky::actor::ProfileViewBasic<'a>,
149    #[serde(borrow)]
150    pub cid: jacquard_common::types::string::Cid<'a>,
151    #[serde(skip_serializing_if = "std::option::Option::is_none")]
152    #[serde(borrow)]
153    pub embeds: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
154    pub indexed_at: jacquard_common::types::string::Datetime,
155    #[serde(skip_serializing_if = "std::option::Option::is_none")]
156    #[serde(borrow)]
157    pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
158    #[serde(skip_serializing_if = "std::option::Option::is_none")]
159    pub like_count: std::option::Option<i64>,
160    #[serde(skip_serializing_if = "std::option::Option::is_none")]
161    pub quote_count: std::option::Option<i64>,
162    #[serde(skip_serializing_if = "std::option::Option::is_none")]
163    pub reply_count: std::option::Option<i64>,
164    #[serde(skip_serializing_if = "std::option::Option::is_none")]
165    pub repost_count: std::option::Option<i64>,
166    #[serde(borrow)]
167    pub uri: jacquard_common::types::string::AtUri<'a>,
168    ///The record data itself.
169    #[serde(borrow)]
170    pub value: jacquard_common::types::value::Data<'a>,
171}
172
173impl jacquard_common::IntoStatic for ViewRecord<'_> {
174    type Output = ViewRecord<'static>;
175    fn into_static(self) -> Self::Output {
176        ViewRecord {
177            author: self.author.into_static(),
178            cid: self.cid.into_static(),
179            embeds: self.embeds.into_static(),
180            indexed_at: self.indexed_at.into_static(),
181            labels: self.labels.into_static(),
182            like_count: self.like_count.into_static(),
183            quote_count: self.quote_count.into_static(),
184            reply_count: self.reply_count.into_static(),
185            repost_count: self.repost_count.into_static(),
186            uri: self.uri.into_static(),
187            value: self.value.into_static(),
188            extra_data: self.extra_data.into_static(),
189        }
190    }
191}