proto_blue_api/generated/app/bsky/feed/
defs.rs1use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct BlockedAuthor {
9 pub did: String,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub viewer: Option<crate::app::bsky::actor::defs::ViewerState>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct BlockedPost {
17 pub author: BlockedAuthor,
18 pub blocked: bool,
19 pub uri: String,
20}
21
22pub const CLICKTHROUGH_AUTHOR: &str = "app.bsky.feed.defs#clickthroughAuthor";
24
25pub const CLICKTHROUGH_EMBED: &str = "app.bsky.feed.defs#clickthroughEmbed";
27
28pub const CLICKTHROUGH_ITEM: &str = "app.bsky.feed.defs#clickthroughItem";
30
31pub const CLICKTHROUGH_REPOSTER: &str = "app.bsky.feed.defs#clickthroughReposter";
33
34pub const CONTENT_MODE_UNSPECIFIED: &str = "app.bsky.feed.defs#contentModeUnspecified";
36
37pub const CONTENT_MODE_VIDEO: &str = "app.bsky.feed.defs#contentModeVideo";
39
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct FeedViewPost {
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub feed_context: Option<String>,
45 pub post: PostView,
46 #[serde(skip_serializing_if = "Option::is_none")]
47 pub reason: Option<serde_json::Value>,
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub reply: Option<ReplyRef>,
50 #[serde(skip_serializing_if = "Option::is_none")]
51 pub req_id: Option<String>,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(rename_all = "camelCase")]
56pub struct GeneratorView {
57 #[serde(skip_serializing_if = "Option::is_none")]
58 pub accepts_interactions: Option<bool>,
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub avatar: Option<String>,
61 pub cid: String,
62 #[serde(skip_serializing_if = "Option::is_none")]
63 pub content_mode: Option<String>,
64 pub creator: crate::app::bsky::actor::defs::ProfileView,
65 #[serde(skip_serializing_if = "Option::is_none")]
66 pub description: Option<String>,
67 #[serde(skip_serializing_if = "Option::is_none")]
68 pub description_facets: Option<Vec<crate::app::bsky::richtext::facet::Main>>,
69 pub did: String,
70 pub display_name: String,
71 pub indexed_at: String,
72 #[serde(skip_serializing_if = "Option::is_none")]
73 pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
74 #[serde(skip_serializing_if = "Option::is_none")]
75 pub like_count: Option<i64>,
76 pub uri: String,
77 #[serde(skip_serializing_if = "Option::is_none")]
78 pub viewer: Option<GeneratorViewerState>,
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
82#[serde(rename_all = "camelCase")]
83pub struct GeneratorViewerState {
84 #[serde(skip_serializing_if = "Option::is_none")]
85 pub like: Option<String>,
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
89#[serde(rename_all = "camelCase")]
90pub struct Interaction {
91 #[serde(skip_serializing_if = "Option::is_none")]
92 pub event: Option<String>,
93 #[serde(skip_serializing_if = "Option::is_none")]
94 pub feed_context: Option<String>,
95 #[serde(skip_serializing_if = "Option::is_none")]
96 pub item: Option<String>,
97 #[serde(skip_serializing_if = "Option::is_none")]
98 pub req_id: Option<String>,
99}
100
101pub const INTERACTION_LIKE: &str = "app.bsky.feed.defs#interactionLike";
103
104pub const INTERACTION_QUOTE: &str = "app.bsky.feed.defs#interactionQuote";
106
107pub const INTERACTION_REPLY: &str = "app.bsky.feed.defs#interactionReply";
109
110pub const INTERACTION_REPOST: &str = "app.bsky.feed.defs#interactionRepost";
112
113pub const INTERACTION_SEEN: &str = "app.bsky.feed.defs#interactionSeen";
115
116pub const INTERACTION_SHARE: &str = "app.bsky.feed.defs#interactionShare";
118
119#[derive(Debug, Clone, Serialize, Deserialize)]
120#[serde(rename_all = "camelCase")]
121pub struct NotFoundPost {
122 pub not_found: bool,
123 pub uri: String,
124}
125
126#[derive(Debug, Clone, Serialize, Deserialize)]
127#[serde(rename_all = "camelCase")]
128pub struct PostView {
129 pub author: crate::app::bsky::actor::defs::ProfileViewBasic,
130 #[serde(skip_serializing_if = "Option::is_none")]
131 pub bookmark_count: Option<i64>,
132 pub cid: String,
133 #[serde(skip_serializing_if = "Option::is_none")]
134 pub debug: Option<serde_json::Value>,
135 #[serde(skip_serializing_if = "Option::is_none")]
136 pub embed: Option<serde_json::Value>,
137 pub indexed_at: String,
138 #[serde(skip_serializing_if = "Option::is_none")]
139 pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
140 #[serde(skip_serializing_if = "Option::is_none")]
141 pub like_count: Option<i64>,
142 #[serde(skip_serializing_if = "Option::is_none")]
143 pub quote_count: Option<i64>,
144 pub record: serde_json::Value,
145 #[serde(skip_serializing_if = "Option::is_none")]
146 pub reply_count: Option<i64>,
147 #[serde(skip_serializing_if = "Option::is_none")]
148 pub repost_count: Option<i64>,
149 #[serde(skip_serializing_if = "Option::is_none")]
150 pub threadgate: Option<ThreadgateView>,
151 pub uri: String,
152 #[serde(skip_serializing_if = "Option::is_none")]
153 pub viewer: Option<ViewerState>,
154}
155
156#[derive(Debug, Clone, Serialize, Deserialize)]
157#[serde(rename_all = "camelCase")]
158pub struct ReasonPin {}
159
160#[derive(Debug, Clone, Serialize, Deserialize)]
161#[serde(rename_all = "camelCase")]
162pub struct ReasonRepost {
163 pub by: crate::app::bsky::actor::defs::ProfileViewBasic,
164 #[serde(skip_serializing_if = "Option::is_none")]
165 pub cid: Option<String>,
166 pub indexed_at: String,
167 #[serde(skip_serializing_if = "Option::is_none")]
168 pub uri: Option<String>,
169}
170
171#[derive(Debug, Clone, Serialize, Deserialize)]
172#[serde(rename_all = "camelCase")]
173pub struct ReplyRef {
174 #[serde(skip_serializing_if = "Option::is_none")]
175 pub grandparent_author: Option<crate::app::bsky::actor::defs::ProfileViewBasic>,
176 pub parent: serde_json::Value,
177 pub root: serde_json::Value,
178}
179
180pub const REQUEST_LESS: &str = "app.bsky.feed.defs#requestLess";
182
183pub const REQUEST_MORE: &str = "app.bsky.feed.defs#requestMore";
185
186#[derive(Debug, Clone, Serialize, Deserialize)]
187#[serde(rename_all = "camelCase")]
188pub struct SkeletonFeedPost {
189 #[serde(skip_serializing_if = "Option::is_none")]
190 pub feed_context: Option<String>,
191 pub post: String,
192 #[serde(skip_serializing_if = "Option::is_none")]
193 pub reason: Option<serde_json::Value>,
194}
195
196#[derive(Debug, Clone, Serialize, Deserialize)]
197#[serde(rename_all = "camelCase")]
198pub struct SkeletonReasonPin {}
199
200#[derive(Debug, Clone, Serialize, Deserialize)]
201#[serde(rename_all = "camelCase")]
202pub struct SkeletonReasonRepost {
203 pub repost: String,
204}
205
206#[derive(Debug, Clone, Serialize, Deserialize)]
208#[serde(rename_all = "camelCase")]
209pub struct ThreadContext {
210 #[serde(skip_serializing_if = "Option::is_none")]
211 pub root_author_like: Option<String>,
212}
213
214#[derive(Debug, Clone, Serialize, Deserialize)]
215#[serde(rename_all = "camelCase")]
216pub struct ThreadViewPost {
217 #[serde(skip_serializing_if = "Option::is_none")]
218 pub parent: Option<serde_json::Value>,
219 pub post: PostView,
220 #[serde(skip_serializing_if = "Option::is_none")]
221 pub replies: Option<Vec<serde_json::Value>>,
222 #[serde(skip_serializing_if = "Option::is_none")]
223 pub thread_context: Option<ThreadContext>,
224}
225
226#[derive(Debug, Clone, Serialize, Deserialize)]
227#[serde(rename_all = "camelCase")]
228pub struct ThreadgateView {
229 #[serde(skip_serializing_if = "Option::is_none")]
230 pub cid: Option<String>,
231 #[serde(skip_serializing_if = "Option::is_none")]
232 pub lists: Option<Vec<crate::app::bsky::graph::defs::ListViewBasic>>,
233 #[serde(skip_serializing_if = "Option::is_none")]
234 pub record: Option<serde_json::Value>,
235 #[serde(skip_serializing_if = "Option::is_none")]
236 pub uri: Option<String>,
237}
238
239#[derive(Debug, Clone, Serialize, Deserialize)]
241#[serde(rename_all = "camelCase")]
242pub struct ViewerState {
243 #[serde(skip_serializing_if = "Option::is_none")]
244 pub bookmarked: Option<bool>,
245 #[serde(skip_serializing_if = "Option::is_none")]
246 pub embedding_disabled: Option<bool>,
247 #[serde(skip_serializing_if = "Option::is_none")]
248 pub like: Option<String>,
249 #[serde(skip_serializing_if = "Option::is_none")]
250 pub pinned: Option<bool>,
251 #[serde(skip_serializing_if = "Option::is_none")]
252 pub reply_disabled: Option<bool>,
253 #[serde(skip_serializing_if = "Option::is_none")]
254 pub repost: Option<String>,
255 #[serde(skip_serializing_if = "Option::is_none")]
256 pub thread_muted: Option<bool>,
257}