1#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct AdultContentPrefData {
6 pub enabled: bool,
7}
8pub type AdultContentPref = crate::types::Object<AdultContentPrefData>;
9#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
11#[serde(rename_all = "camelCase")]
12pub struct BskyAppProgressGuideData {
13 pub guide: String,
14}
15pub type BskyAppProgressGuide = crate::types::Object<BskyAppProgressGuideData>;
16#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
19pub struct BskyAppStatePrefData {
20 #[serde(skip_serializing_if = "core::option::Option::is_none")]
21 pub active_progress_guide: core::option::Option<BskyAppProgressGuide>,
22 #[serde(skip_serializing_if = "core::option::Option::is_none")]
24 pub is_beta_user: core::option::Option<bool>,
25 #[serde(skip_serializing_if = "core::option::Option::is_none")]
27 pub nuxs: core::option::Option<Vec<crate::app::bsky::actor::defs::Nux>>,
28 #[serde(skip_serializing_if = "core::option::Option::is_none")]
30 pub queued_nudges: core::option::Option<Vec<String>>,
31}
32pub type BskyAppStatePref = crate::types::Object<BskyAppStatePrefData>;
33#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
34#[serde(rename_all = "camelCase")]
35pub struct ContentLabelPrefData {
36 pub label: String,
37 #[serde(skip_serializing_if = "core::option::Option::is_none")]
39 pub labeler_did: core::option::Option<crate::types::string::Did>,
40 pub visibility: String,
41}
42pub type ContentLabelPref = crate::types::Object<ContentLabelPrefData>;
43#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
45#[serde(rename_all = "camelCase")]
46pub struct DeclaredAgePrefData {
47 #[serde(skip_serializing_if = "core::option::Option::is_none")]
49 pub is_over_age13: core::option::Option<bool>,
50 #[serde(skip_serializing_if = "core::option::Option::is_none")]
52 pub is_over_age16: core::option::Option<bool>,
53 #[serde(skip_serializing_if = "core::option::Option::is_none")]
55 pub is_over_age18: core::option::Option<bool>,
56}
57pub type DeclaredAgePref = crate::types::Object<DeclaredAgePrefData>;
58#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
59#[serde(rename_all = "camelCase")]
60pub struct FeedViewPrefData {
61 pub feed: String,
63 #[serde(skip_serializing_if = "core::option::Option::is_none")]
65 pub hide_quote_posts: core::option::Option<bool>,
66 #[serde(skip_serializing_if = "core::option::Option::is_none")]
68 pub hide_replies: core::option::Option<bool>,
69 #[serde(skip_serializing_if = "core::option::Option::is_none")]
71 pub hide_replies_by_like_count: core::option::Option<i64>,
72 #[serde(skip_serializing_if = "core::option::Option::is_none")]
74 pub hide_replies_by_unfollowed: core::option::Option<bool>,
75 #[serde(skip_serializing_if = "core::option::Option::is_none")]
77 pub hide_reposts: core::option::Option<bool>,
78}
79pub type FeedViewPref = crate::types::Object<FeedViewPrefData>;
80#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
81#[serde(rename_all = "camelCase")]
82pub struct HiddenPostsPrefData {
83 pub items: Vec<String>,
85}
86pub type HiddenPostsPref = crate::types::Object<HiddenPostsPrefData>;
87#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
88#[serde(rename_all = "camelCase")]
89pub struct InterestsPrefData {
90 pub tags: Vec<String>,
92}
93pub type InterestsPref = crate::types::Object<InterestsPrefData>;
94#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
96#[serde(rename_all = "camelCase")]
97pub struct KnownFollowersData {
98 pub count: i64,
99 pub followers: Vec<ProfileViewBasic>,
100}
101pub type KnownFollowers = crate::types::Object<KnownFollowersData>;
102#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
103#[serde(rename_all = "camelCase")]
104pub struct LabelerPrefItemData {
105 pub did: crate::types::string::Did,
106}
107pub type LabelerPrefItem = crate::types::Object<LabelerPrefItemData>;
108#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
109#[serde(rename_all = "camelCase")]
110pub struct LabelersPrefData {
111 pub labelers: Vec<LabelerPrefItem>,
112}
113pub type LabelersPref = crate::types::Object<LabelersPrefData>;
114#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
116#[serde(rename_all = "camelCase")]
117pub struct LiveEventPreferencesData {
118 #[serde(skip_serializing_if = "core::option::Option::is_none")]
120 pub hidden_feed_ids: core::option::Option<Vec<String>>,
121 #[serde(skip_serializing_if = "core::option::Option::is_none")]
123 pub hide_all_feeds: core::option::Option<bool>,
124}
125pub type LiveEventPreferences = crate::types::Object<LiveEventPreferencesData>;
126#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
128#[serde(rename_all = "camelCase")]
129pub struct MutedWordData {
130 #[serde(skip_serializing_if = "core::option::Option::is_none")]
132 pub actor_target: core::option::Option<String>,
133 #[serde(skip_serializing_if = "core::option::Option::is_none")]
135 pub expires_at: core::option::Option<crate::types::string::Datetime>,
136 #[serde(skip_serializing_if = "core::option::Option::is_none")]
137 pub id: core::option::Option<String>,
138 pub targets: Vec<crate::app::bsky::actor::defs::MutedWordTarget>,
140 pub value: String,
142}
143pub type MutedWord = crate::types::Object<MutedWordData>;
144pub type MutedWordTarget = String;
145#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
146#[serde(rename_all = "camelCase")]
147pub struct MutedWordsPrefData {
148 pub items: Vec<crate::app::bsky::actor::defs::MutedWord>,
150}
151pub type MutedWordsPref = crate::types::Object<MutedWordsPrefData>;
152#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
154#[serde(rename_all = "camelCase")]
155pub struct NuxData {
156 pub completed: bool,
157 #[serde(skip_serializing_if = "core::option::Option::is_none")]
159 pub data: core::option::Option<String>,
160 #[serde(skip_serializing_if = "core::option::Option::is_none")]
162 pub expires_at: core::option::Option<crate::types::string::Datetime>,
163 pub id: String,
164}
165pub type Nux = crate::types::Object<NuxData>;
166#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
167#[serde(rename_all = "camelCase")]
168pub struct PersonalDetailsPrefData {
169 #[serde(skip_serializing_if = "core::option::Option::is_none")]
171 pub birth_date: core::option::Option<crate::types::string::Datetime>,
172}
173pub type PersonalDetailsPref = crate::types::Object<PersonalDetailsPrefData>;
174#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
176#[serde(rename_all = "camelCase")]
177pub struct PostInteractionSettingsPrefData {
178 #[serde(skip_serializing_if = "core::option::Option::is_none")]
180 pub postgate_embedding_rules: core::option::Option<
181 Vec<crate::types::Union<PostInteractionSettingsPrefPostgateEmbeddingRulesItem>>,
182 >,
183 #[serde(skip_serializing_if = "core::option::Option::is_none")]
185 pub threadgate_allow_rules: core::option::Option<
186 Vec<crate::types::Union<PostInteractionSettingsPrefThreadgateAllowRulesItem>>,
187 >,
188}
189pub type PostInteractionSettingsPref = crate::types::Object<
190 PostInteractionSettingsPrefData,
191>;
192pub type Preferences = Vec<crate::types::Union<PreferencesItem>>;
193#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
194#[serde(rename_all = "camelCase")]
195pub struct ProfileAssociatedData {
196 #[serde(skip_serializing_if = "core::option::Option::is_none")]
197 pub activity_subscription: core::option::Option<
198 ProfileAssociatedActivitySubscription,
199 >,
200 #[serde(skip_serializing_if = "core::option::Option::is_none")]
201 pub chat: core::option::Option<ProfileAssociatedChat>,
202 #[serde(skip_serializing_if = "core::option::Option::is_none")]
203 pub feedgens: core::option::Option<i64>,
204 #[serde(skip_serializing_if = "core::option::Option::is_none")]
205 pub germ: core::option::Option<ProfileAssociatedGerm>,
206 #[serde(skip_serializing_if = "core::option::Option::is_none")]
207 pub labeler: core::option::Option<bool>,
208 #[serde(skip_serializing_if = "core::option::Option::is_none")]
209 pub lists: core::option::Option<i64>,
210 #[serde(skip_serializing_if = "core::option::Option::is_none")]
211 pub starter_packs: core::option::Option<i64>,
212}
213pub type ProfileAssociated = crate::types::Object<ProfileAssociatedData>;
214#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
215#[serde(rename_all = "camelCase")]
216pub struct ProfileAssociatedActivitySubscriptionData {
217 pub allow_subscriptions: String,
218}
219pub type ProfileAssociatedActivitySubscription = crate::types::Object<
220 ProfileAssociatedActivitySubscriptionData,
221>;
222#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
223#[serde(rename_all = "camelCase")]
224pub struct ProfileAssociatedChatData {
225 #[serde(skip_serializing_if = "core::option::Option::is_none")]
226 pub allow_group_invites: core::option::Option<String>,
227 pub allow_incoming: String,
228}
229pub type ProfileAssociatedChat = crate::types::Object<ProfileAssociatedChatData>;
230#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
231#[serde(rename_all = "camelCase")]
232pub struct ProfileAssociatedGermData {
233 pub message_me_url: String,
234 pub show_button_to: String,
235}
236pub type ProfileAssociatedGerm = crate::types::Object<ProfileAssociatedGermData>;
237#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
238#[serde(rename_all = "camelCase")]
239pub struct ProfileViewData {
240 #[serde(skip_serializing_if = "core::option::Option::is_none")]
241 pub associated: core::option::Option<ProfileAssociated>,
242 #[serde(skip_serializing_if = "core::option::Option::is_none")]
243 pub avatar: core::option::Option<String>,
244 #[serde(skip_serializing_if = "core::option::Option::is_none")]
245 pub created_at: core::option::Option<crate::types::string::Datetime>,
246 #[serde(skip_serializing_if = "core::option::Option::is_none")]
248 pub debug: core::option::Option<crate::types::Unknown>,
249 #[serde(skip_serializing_if = "core::option::Option::is_none")]
250 pub description: core::option::Option<String>,
251 pub did: crate::types::string::Did,
252 #[serde(skip_serializing_if = "core::option::Option::is_none")]
253 pub display_name: core::option::Option<String>,
254 pub handle: crate::types::string::Handle,
255 #[serde(skip_serializing_if = "core::option::Option::is_none")]
256 pub indexed_at: core::option::Option<crate::types::string::Datetime>,
257 #[serde(skip_serializing_if = "core::option::Option::is_none")]
258 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
259 #[serde(skip_serializing_if = "core::option::Option::is_none")]
260 pub pronouns: core::option::Option<String>,
261 #[serde(skip_serializing_if = "core::option::Option::is_none")]
262 pub status: core::option::Option<StatusView>,
263 #[serde(skip_serializing_if = "core::option::Option::is_none")]
264 pub verification: core::option::Option<VerificationState>,
265 #[serde(skip_serializing_if = "core::option::Option::is_none")]
266 pub viewer: core::option::Option<ViewerState>,
267}
268pub type ProfileView = crate::types::Object<ProfileViewData>;
269#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
270#[serde(rename_all = "camelCase")]
271pub struct ProfileViewBasicData {
272 #[serde(skip_serializing_if = "core::option::Option::is_none")]
273 pub associated: core::option::Option<ProfileAssociated>,
274 #[serde(skip_serializing_if = "core::option::Option::is_none")]
275 pub avatar: core::option::Option<String>,
276 #[serde(skip_serializing_if = "core::option::Option::is_none")]
277 pub created_at: core::option::Option<crate::types::string::Datetime>,
278 #[serde(skip_serializing_if = "core::option::Option::is_none")]
280 pub debug: core::option::Option<crate::types::Unknown>,
281 pub did: crate::types::string::Did,
282 #[serde(skip_serializing_if = "core::option::Option::is_none")]
283 pub display_name: core::option::Option<String>,
284 pub handle: crate::types::string::Handle,
285 #[serde(skip_serializing_if = "core::option::Option::is_none")]
286 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
287 #[serde(skip_serializing_if = "core::option::Option::is_none")]
288 pub pronouns: core::option::Option<String>,
289 #[serde(skip_serializing_if = "core::option::Option::is_none")]
290 pub status: core::option::Option<StatusView>,
291 #[serde(skip_serializing_if = "core::option::Option::is_none")]
292 pub verification: core::option::Option<VerificationState>,
293 #[serde(skip_serializing_if = "core::option::Option::is_none")]
294 pub viewer: core::option::Option<ViewerState>,
295}
296pub type ProfileViewBasic = crate::types::Object<ProfileViewBasicData>;
297#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
298#[serde(rename_all = "camelCase")]
299pub struct ProfileViewDetailedData {
300 #[serde(skip_serializing_if = "core::option::Option::is_none")]
301 pub associated: core::option::Option<ProfileAssociated>,
302 #[serde(skip_serializing_if = "core::option::Option::is_none")]
303 pub avatar: core::option::Option<String>,
304 #[serde(skip_serializing_if = "core::option::Option::is_none")]
305 pub banner: core::option::Option<String>,
306 #[serde(skip_serializing_if = "core::option::Option::is_none")]
307 pub created_at: core::option::Option<crate::types::string::Datetime>,
308 #[serde(skip_serializing_if = "core::option::Option::is_none")]
310 pub debug: core::option::Option<crate::types::Unknown>,
311 #[serde(skip_serializing_if = "core::option::Option::is_none")]
312 pub description: core::option::Option<String>,
313 pub did: crate::types::string::Did,
314 #[serde(skip_serializing_if = "core::option::Option::is_none")]
315 pub display_name: core::option::Option<String>,
316 #[serde(skip_serializing_if = "core::option::Option::is_none")]
317 pub followers_count: core::option::Option<i64>,
318 #[serde(skip_serializing_if = "core::option::Option::is_none")]
319 pub follows_count: core::option::Option<i64>,
320 pub handle: crate::types::string::Handle,
321 #[serde(skip_serializing_if = "core::option::Option::is_none")]
322 pub indexed_at: core::option::Option<crate::types::string::Datetime>,
323 #[serde(skip_serializing_if = "core::option::Option::is_none")]
324 pub joined_via_starter_pack: core::option::Option<
325 crate::app::bsky::graph::defs::StarterPackViewBasic,
326 >,
327 #[serde(skip_serializing_if = "core::option::Option::is_none")]
328 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
329 #[serde(skip_serializing_if = "core::option::Option::is_none")]
330 pub pinned_post: core::option::Option<crate::com::atproto::repo::strong_ref::Main>,
331 #[serde(skip_serializing_if = "core::option::Option::is_none")]
332 pub posts_count: core::option::Option<i64>,
333 #[serde(skip_serializing_if = "core::option::Option::is_none")]
334 pub pronouns: core::option::Option<String>,
335 #[serde(skip_serializing_if = "core::option::Option::is_none")]
336 pub status: core::option::Option<StatusView>,
337 #[serde(skip_serializing_if = "core::option::Option::is_none")]
338 pub verification: core::option::Option<VerificationState>,
339 #[serde(skip_serializing_if = "core::option::Option::is_none")]
340 pub viewer: core::option::Option<ViewerState>,
341 #[serde(skip_serializing_if = "core::option::Option::is_none")]
342 pub website: core::option::Option<String>,
343}
344pub type ProfileViewDetailed = crate::types::Object<ProfileViewDetailedData>;
345#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
346#[serde(rename_all = "camelCase")]
347pub struct SavedFeedData {
348 pub id: String,
349 pub pinned: bool,
350 pub r#type: String,
351 pub value: String,
352}
353pub type SavedFeed = crate::types::Object<SavedFeedData>;
354#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
355#[serde(rename_all = "camelCase")]
356pub struct SavedFeedsPrefData {
357 pub pinned: Vec<String>,
358 pub saved: Vec<String>,
359 #[serde(skip_serializing_if = "core::option::Option::is_none")]
360 pub timeline_index: core::option::Option<i64>,
361}
362pub type SavedFeedsPref = crate::types::Object<SavedFeedsPrefData>;
363#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
364#[serde(rename_all = "camelCase")]
365pub struct SavedFeedsPrefV2Data {
366 pub items: Vec<crate::app::bsky::actor::defs::SavedFeed>,
367}
368pub type SavedFeedsPrefV2 = crate::types::Object<SavedFeedsPrefV2Data>;
369#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
370#[serde(rename_all = "camelCase")]
371pub struct StatusViewData {
372 #[serde(skip_serializing_if = "core::option::Option::is_none")]
373 pub cid: core::option::Option<crate::types::string::Cid>,
374 #[serde(skip_serializing_if = "core::option::Option::is_none")]
376 pub embed: core::option::Option<crate::types::Union<StatusViewEmbedRefs>>,
377 #[serde(skip_serializing_if = "core::option::Option::is_none")]
379 pub expires_at: core::option::Option<crate::types::string::Datetime>,
380 #[serde(skip_serializing_if = "core::option::Option::is_none")]
382 pub is_active: core::option::Option<bool>,
383 #[serde(skip_serializing_if = "core::option::Option::is_none")]
385 pub is_disabled: core::option::Option<bool>,
386 #[serde(skip_serializing_if = "core::option::Option::is_none")]
387 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
388 pub record: crate::types::Unknown,
389 pub status: String,
391 #[serde(skip_serializing_if = "core::option::Option::is_none")]
392 pub uri: core::option::Option<String>,
393}
394pub type StatusView = crate::types::Object<StatusViewData>;
395#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
396#[serde(rename_all = "camelCase")]
397pub struct ThreadViewPrefData {
398 #[serde(skip_serializing_if = "core::option::Option::is_none")]
400 pub sort: core::option::Option<String>,
401}
402pub type ThreadViewPref = crate::types::Object<ThreadViewPrefData>;
403#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
405#[serde(rename_all = "camelCase")]
406pub struct VerificationPrefsData {
407 #[serde(skip_serializing_if = "core::option::Option::is_none")]
409 pub hide_badges: core::option::Option<bool>,
410}
411pub type VerificationPrefs = crate::types::Object<VerificationPrefsData>;
412#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
414#[serde(rename_all = "camelCase")]
415pub struct VerificationStateData {
416 pub trusted_verifier_status: String,
418 pub verifications: Vec<VerificationView>,
420 pub verified_status: String,
422}
423pub type VerificationState = crate::types::Object<VerificationStateData>;
424#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
426#[serde(rename_all = "camelCase")]
427pub struct VerificationViewData {
428 pub created_at: crate::types::string::Datetime,
430 pub is_valid: bool,
432 pub issuer: crate::types::string::Did,
434 #[serde(skip_serializing_if = "core::option::Option::is_none")]
436 pub issuer_display_name: core::option::Option<String>,
437 #[serde(skip_serializing_if = "core::option::Option::is_none")]
439 pub issuer_handle: core::option::Option<crate::types::string::Handle>,
440 pub uri: String,
442}
443pub type VerificationView = crate::types::Object<VerificationViewData>;
444#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
446#[serde(rename_all = "camelCase")]
447pub struct ViewerStateData {
448 #[serde(skip_serializing_if = "core::option::Option::is_none")]
450 pub activity_subscription: core::option::Option<
451 crate::app::bsky::notification::defs::ActivitySubscription,
452 >,
453 #[serde(skip_serializing_if = "core::option::Option::is_none")]
454 pub blocked_by: core::option::Option<bool>,
455 #[serde(skip_serializing_if = "core::option::Option::is_none")]
456 pub blocking: core::option::Option<String>,
457 #[serde(skip_serializing_if = "core::option::Option::is_none")]
458 pub blocking_by_list: core::option::Option<
459 crate::app::bsky::graph::defs::ListViewBasic,
460 >,
461 #[serde(skip_serializing_if = "core::option::Option::is_none")]
462 pub followed_by: core::option::Option<String>,
463 #[serde(skip_serializing_if = "core::option::Option::is_none")]
464 pub following: core::option::Option<String>,
465 #[serde(skip_serializing_if = "core::option::Option::is_none")]
467 pub known_followers: core::option::Option<KnownFollowers>,
468 #[serde(skip_serializing_if = "core::option::Option::is_none")]
470 pub muted: core::option::Option<bool>,
471 #[serde(skip_serializing_if = "core::option::Option::is_none")]
472 pub muted_by_list: core::option::Option<
473 crate::app::bsky::graph::defs::ListViewBasic,
474 >,
475 #[serde(skip_serializing_if = "core::option::Option::is_none")]
477 pub muted_only_quoteposts: core::option::Option<bool>,
478 #[serde(skip_serializing_if = "core::option::Option::is_none")]
480 pub muted_only_reposts: core::option::Option<bool>,
481}
482pub type ViewerState = crate::types::Object<ViewerStateData>;
483#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
484#[serde(tag = "$type")]
485pub enum PostInteractionSettingsPrefPostgateEmbeddingRulesItem {
486 #[serde(rename = "app.bsky.feed.postgate#disableRule")]
487 AppBskyFeedPostgateDisableRule(Box<crate::app::bsky::feed::postgate::DisableRule>),
488}
489#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
490#[serde(tag = "$type")]
491pub enum PostInteractionSettingsPrefThreadgateAllowRulesItem {
492 #[serde(rename = "app.bsky.feed.threadgate#mentionRule")]
493 AppBskyFeedThreadgateMentionRule(
494 Box<crate::app::bsky::feed::threadgate::MentionRule>,
495 ),
496 #[serde(rename = "app.bsky.feed.threadgate#followerRule")]
497 AppBskyFeedThreadgateFollowerRule(
498 Box<crate::app::bsky::feed::threadgate::FollowerRule>,
499 ),
500 #[serde(rename = "app.bsky.feed.threadgate#followingRule")]
501 AppBskyFeedThreadgateFollowingRule(
502 Box<crate::app::bsky::feed::threadgate::FollowingRule>,
503 ),
504 #[serde(rename = "app.bsky.feed.threadgate#listRule")]
505 AppBskyFeedThreadgateListRule(Box<crate::app::bsky::feed::threadgate::ListRule>),
506}
507#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
508#[serde(tag = "$type")]
509pub enum PreferencesItem {
510 #[serde(rename = "app.bsky.actor.defs#adultContentPref")]
511 AdultContentPref(Box<AdultContentPref>),
512 #[serde(rename = "app.bsky.actor.defs#contentLabelPref")]
513 ContentLabelPref(Box<ContentLabelPref>),
514 #[serde(rename = "app.bsky.actor.defs#savedFeedsPref")]
515 SavedFeedsPref(Box<SavedFeedsPref>),
516 #[serde(rename = "app.bsky.actor.defs#savedFeedsPrefV2")]
517 SavedFeedsPrefV2(Box<SavedFeedsPrefV2>),
518 #[serde(rename = "app.bsky.actor.defs#personalDetailsPref")]
519 PersonalDetailsPref(Box<PersonalDetailsPref>),
520 #[serde(rename = "app.bsky.actor.defs#declaredAgePref")]
521 DeclaredAgePref(Box<DeclaredAgePref>),
522 #[serde(rename = "app.bsky.actor.defs#feedViewPref")]
523 FeedViewPref(Box<FeedViewPref>),
524 #[serde(rename = "app.bsky.actor.defs#threadViewPref")]
525 ThreadViewPref(Box<ThreadViewPref>),
526 #[serde(rename = "app.bsky.actor.defs#interestsPref")]
527 InterestsPref(Box<InterestsPref>),
528 #[serde(rename = "app.bsky.actor.defs#mutedWordsPref")]
529 MutedWordsPref(Box<MutedWordsPref>),
530 #[serde(rename = "app.bsky.actor.defs#hiddenPostsPref")]
531 HiddenPostsPref(Box<HiddenPostsPref>),
532 #[serde(rename = "app.bsky.actor.defs#bskyAppStatePref")]
533 BskyAppStatePref(Box<BskyAppStatePref>),
534 #[serde(rename = "app.bsky.actor.defs#labelersPref")]
535 LabelersPref(Box<LabelersPref>),
536 #[serde(rename = "app.bsky.actor.defs#postInteractionSettingsPref")]
537 PostInteractionSettingsPref(Box<PostInteractionSettingsPref>),
538 #[serde(rename = "app.bsky.actor.defs#verificationPrefs")]
539 VerificationPrefs(Box<VerificationPrefs>),
540 #[serde(rename = "app.bsky.actor.defs#liveEventPreferences")]
541 LiveEventPreferences(Box<LiveEventPreferences>),
542}
543#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
544#[serde(tag = "$type")]
545pub enum StatusViewEmbedRefs {
546 #[serde(rename = "app.bsky.embed.external#view")]
547 AppBskyEmbedExternalView(Box<crate::app::bsky::embed::external::View>),
548}