1pub mod get_preferences;
9pub mod get_profile;
10pub mod get_profiles;
11pub mod get_suggestions;
12pub mod profile;
13pub mod put_preferences;
14pub mod search_actors;
15pub mod search_actors_typeahead;
16pub mod status;
17
18#[jacquard_derive::lexicon]
19#[derive(
20 serde::Serialize,
21 serde::Deserialize,
22 Debug,
23 Clone,
24 PartialEq,
25 Eq,
26 jacquard_derive::IntoStatic
27)]
28#[serde(rename_all = "camelCase")]
29pub struct AdultContentPref<'a> {
30 pub enabled: bool,
31}
32
33#[jacquard_derive::lexicon]
35#[derive(
36 serde::Serialize,
37 serde::Deserialize,
38 Debug,
39 Clone,
40 PartialEq,
41 Eq,
42 jacquard_derive::IntoStatic
43)]
44#[serde(rename_all = "camelCase")]
45pub struct BskyAppProgressGuide<'a> {
46 #[serde(borrow)]
47 pub guide: jacquard_common::CowStr<'a>,
48}
49
50#[jacquard_derive::lexicon]
52#[derive(
53 serde::Serialize,
54 serde::Deserialize,
55 Debug,
56 Clone,
57 PartialEq,
58 Eq,
59 jacquard_derive::IntoStatic
60)]
61#[serde(rename_all = "camelCase")]
62pub struct BskyAppStatePref<'a> {
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65 pub active_progress_guide: std::option::Option<
66 crate::app_bsky::actor::BskyAppProgressGuide<'a>,
67 >,
68 #[serde(skip_serializing_if = "std::option::Option::is_none")]
70 #[serde(borrow)]
71 pub nuxs: std::option::Option<Vec<crate::app_bsky::actor::Nux<'a>>>,
72 #[serde(skip_serializing_if = "std::option::Option::is_none")]
74 #[serde(borrow)]
75 pub queued_nudges: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
76}
77
78#[jacquard_derive::lexicon]
79#[derive(
80 serde::Serialize,
81 serde::Deserialize,
82 Debug,
83 Clone,
84 PartialEq,
85 Eq,
86 jacquard_derive::IntoStatic
87)]
88#[serde(rename_all = "camelCase")]
89pub struct ContentLabelPref<'a> {
90 #[serde(borrow)]
91 pub label: jacquard_common::CowStr<'a>,
92 #[serde(skip_serializing_if = "std::option::Option::is_none")]
94 #[serde(borrow)]
95 pub labeler_did: std::option::Option<jacquard_common::types::string::Did<'a>>,
96 #[serde(borrow)]
97 pub visibility: jacquard_common::CowStr<'a>,
98}
99
100#[jacquard_derive::lexicon]
101#[derive(
102 serde::Serialize,
103 serde::Deserialize,
104 Debug,
105 Clone,
106 PartialEq,
107 Eq,
108 jacquard_derive::IntoStatic
109)]
110#[serde(rename_all = "camelCase")]
111pub struct FeedViewPref<'a> {
112 #[serde(borrow)]
114 pub feed: jacquard_common::CowStr<'a>,
115 #[serde(skip_serializing_if = "std::option::Option::is_none")]
117 pub hide_quote_posts: std::option::Option<bool>,
118 #[serde(skip_serializing_if = "std::option::Option::is_none")]
120 pub hide_replies: std::option::Option<bool>,
121 #[serde(skip_serializing_if = "std::option::Option::is_none")]
123 pub hide_replies_by_like_count: std::option::Option<i64>,
124 #[serde(skip_serializing_if = "std::option::Option::is_none")]
126 pub hide_replies_by_unfollowed: std::option::Option<bool>,
127 #[serde(skip_serializing_if = "std::option::Option::is_none")]
129 pub hide_reposts: std::option::Option<bool>,
130}
131
132#[jacquard_derive::lexicon]
133#[derive(
134 serde::Serialize,
135 serde::Deserialize,
136 Debug,
137 Clone,
138 PartialEq,
139 Eq,
140 jacquard_derive::IntoStatic
141)]
142#[serde(rename_all = "camelCase")]
143pub struct HiddenPostsPref<'a> {
144 #[serde(borrow)]
146 pub items: Vec<jacquard_common::types::string::AtUri<'a>>,
147}
148
149#[jacquard_derive::lexicon]
150#[derive(
151 serde::Serialize,
152 serde::Deserialize,
153 Debug,
154 Clone,
155 PartialEq,
156 Eq,
157 jacquard_derive::IntoStatic
158)]
159#[serde(rename_all = "camelCase")]
160pub struct InterestsPref<'a> {
161 #[serde(borrow)]
163 pub tags: Vec<jacquard_common::CowStr<'a>>,
164}
165
166#[jacquard_derive::lexicon]
168#[derive(
169 serde::Serialize,
170 serde::Deserialize,
171 Debug,
172 Clone,
173 PartialEq,
174 Eq,
175 jacquard_derive::IntoStatic
176)]
177#[serde(rename_all = "camelCase")]
178pub struct KnownFollowers<'a> {
179 pub count: i64,
180 #[serde(borrow)]
181 pub followers: Vec<crate::app_bsky::actor::ProfileViewBasic<'a>>,
182}
183
184#[jacquard_derive::lexicon]
185#[derive(
186 serde::Serialize,
187 serde::Deserialize,
188 Debug,
189 Clone,
190 PartialEq,
191 Eq,
192 jacquard_derive::IntoStatic
193)]
194#[serde(rename_all = "camelCase")]
195pub struct LabelerPrefItem<'a> {
196 #[serde(borrow)]
197 pub did: jacquard_common::types::string::Did<'a>,
198}
199
200#[jacquard_derive::lexicon]
201#[derive(
202 serde::Serialize,
203 serde::Deserialize,
204 Debug,
205 Clone,
206 PartialEq,
207 Eq,
208 jacquard_derive::IntoStatic
209)]
210#[serde(rename_all = "camelCase")]
211pub struct LabelersPref<'a> {
212 #[serde(borrow)]
213 pub labelers: Vec<crate::app_bsky::actor::LabelerPrefItem<'a>>,
214}
215
216#[jacquard_derive::lexicon]
218#[derive(
219 serde::Serialize,
220 serde::Deserialize,
221 Debug,
222 Clone,
223 PartialEq,
224 Eq,
225 jacquard_derive::IntoStatic
226)]
227#[serde(rename_all = "camelCase")]
228pub struct MutedWord<'a> {
229 #[serde(skip_serializing_if = "std::option::Option::is_none")]
231 #[serde(borrow)]
232 pub actor_target: std::option::Option<jacquard_common::CowStr<'a>>,
233 #[serde(skip_serializing_if = "std::option::Option::is_none")]
235 pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
236 #[serde(skip_serializing_if = "std::option::Option::is_none")]
237 #[serde(borrow)]
238 pub id: std::option::Option<jacquard_common::CowStr<'a>>,
239 #[serde(borrow)]
241 pub targets: Vec<crate::app_bsky::actor::MutedWordTarget<'a>>,
242 #[serde(borrow)]
244 pub value: jacquard_common::CowStr<'a>,
245}
246
247#[derive(Debug, Clone, PartialEq, Eq, Hash)]
248pub enum MutedWordTarget<'a> {
249 Content,
250 Tag,
251 Other(jacquard_common::CowStr<'a>),
252}
253
254impl<'a> MutedWordTarget<'a> {
255 pub fn as_str(&self) -> &str {
256 match self {
257 Self::Content => "content",
258 Self::Tag => "tag",
259 Self::Other(s) => s.as_ref(),
260 }
261 }
262}
263
264impl<'a> From<&'a str> for MutedWordTarget<'a> {
265 fn from(s: &'a str) -> Self {
266 match s {
267 "content" => Self::Content,
268 "tag" => Self::Tag,
269 _ => Self::Other(jacquard_common::CowStr::from(s)),
270 }
271 }
272}
273
274impl<'a> From<String> for MutedWordTarget<'a> {
275 fn from(s: String) -> Self {
276 match s.as_str() {
277 "content" => Self::Content,
278 "tag" => Self::Tag,
279 _ => Self::Other(jacquard_common::CowStr::from(s)),
280 }
281 }
282}
283
284impl<'a> AsRef<str> for MutedWordTarget<'a> {
285 fn as_ref(&self) -> &str {
286 self.as_str()
287 }
288}
289
290impl<'a> serde::Serialize for MutedWordTarget<'a> {
291 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
292 where
293 S: serde::Serializer,
294 {
295 serializer.serialize_str(self.as_str())
296 }
297}
298
299impl<'de, 'a> serde::Deserialize<'de> for MutedWordTarget<'a>
300where
301 'de: 'a,
302{
303 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
304 where
305 D: serde::Deserializer<'de>,
306 {
307 let s = <&'de str>::deserialize(deserializer)?;
308 Ok(Self::from(s))
309 }
310}
311
312impl jacquard_common::IntoStatic for MutedWordTarget<'_> {
313 type Output = MutedWordTarget<'static>;
314 fn into_static(self) -> Self::Output {
315 match self {
316 MutedWordTarget::Content => MutedWordTarget::Content,
317 MutedWordTarget::Tag => MutedWordTarget::Tag,
318 MutedWordTarget::Other(v) => MutedWordTarget::Other(v.into_static()),
319 }
320 }
321}
322
323#[jacquard_derive::lexicon]
324#[derive(
325 serde::Serialize,
326 serde::Deserialize,
327 Debug,
328 Clone,
329 PartialEq,
330 Eq,
331 jacquard_derive::IntoStatic
332)]
333#[serde(rename_all = "camelCase")]
334pub struct MutedWordsPref<'a> {
335 #[serde(borrow)]
337 pub items: Vec<crate::app_bsky::actor::MutedWord<'a>>,
338}
339
340#[jacquard_derive::lexicon]
342#[derive(
343 serde::Serialize,
344 serde::Deserialize,
345 Debug,
346 Clone,
347 PartialEq,
348 Eq,
349 jacquard_derive::IntoStatic
350)]
351#[serde(rename_all = "camelCase")]
352pub struct Nux<'a> {
353 pub completed: bool,
354 #[serde(skip_serializing_if = "std::option::Option::is_none")]
356 #[serde(borrow)]
357 pub data: std::option::Option<jacquard_common::CowStr<'a>>,
358 #[serde(skip_serializing_if = "std::option::Option::is_none")]
360 pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
361 #[serde(borrow)]
362 pub id: jacquard_common::CowStr<'a>,
363}
364
365#[jacquard_derive::lexicon]
366#[derive(
367 serde::Serialize,
368 serde::Deserialize,
369 Debug,
370 Clone,
371 PartialEq,
372 Eq,
373 jacquard_derive::IntoStatic
374)]
375#[serde(rename_all = "camelCase")]
376pub struct PersonalDetailsPref<'a> {
377 #[serde(skip_serializing_if = "std::option::Option::is_none")]
379 pub birth_date: std::option::Option<jacquard_common::types::string::Datetime>,
380}
381
382#[jacquard_derive::lexicon]
384#[derive(
385 serde::Serialize,
386 serde::Deserialize,
387 Debug,
388 Clone,
389 PartialEq,
390 Eq,
391 jacquard_derive::IntoStatic
392)]
393#[serde(rename_all = "camelCase")]
394pub struct PostInteractionSettingsPref<'a> {
395 #[serde(skip_serializing_if = "std::option::Option::is_none")]
397 #[serde(borrow)]
398 pub postgate_embedding_rules: std::option::Option<
399 Vec<crate::app_bsky::feed::postgate::DisableRule<'a>>,
400 >,
401 #[serde(skip_serializing_if = "std::option::Option::is_none")]
403 #[serde(borrow)]
404 pub threadgate_allow_rules: std::option::Option<
405 Vec<PostInteractionSettingsPrefThreadgateAllowRulesItem<'a>>,
406 >,
407}
408
409#[jacquard_derive::open_union]
410#[derive(
411 serde::Serialize,
412 serde::Deserialize,
413 Debug,
414 Clone,
415 PartialEq,
416 Eq,
417 jacquard_derive::IntoStatic
418)]
419#[serde(tag = "$type")]
420#[serde(bound(deserialize = "'de: 'a"))]
421pub enum PostInteractionSettingsPrefThreadgateAllowRulesItem<'a> {
422 #[serde(rename = "app.bsky.feed.threadgate#mentionRule")]
423 ThreadgateMentionRule(Box<crate::app_bsky::feed::threadgate::MentionRule<'a>>),
424 #[serde(rename = "app.bsky.feed.threadgate#followerRule")]
425 ThreadgateFollowerRule(Box<crate::app_bsky::feed::threadgate::FollowerRule<'a>>),
426 #[serde(rename = "app.bsky.feed.threadgate#followingRule")]
427 ThreadgateFollowingRule(Box<crate::app_bsky::feed::threadgate::FollowingRule<'a>>),
428 #[serde(rename = "app.bsky.feed.threadgate#listRule")]
429 ThreadgateListRule(Box<crate::app_bsky::feed::threadgate::ListRule<'a>>),
430}
431
432#[jacquard_derive::open_union]
433#[derive(
434 serde::Serialize,
435 serde::Deserialize,
436 Debug,
437 Clone,
438 PartialEq,
439 Eq,
440 jacquard_derive::IntoStatic
441)]
442#[serde(tag = "$type")]
443#[serde(bound(deserialize = "'de: 'a"))]
444pub enum PreferencesItem<'a> {
445 #[serde(rename = "app.bsky.actor.defs#adultContentPref")]
446 AdultContentPref(Box<crate::app_bsky::actor::AdultContentPref<'a>>),
447 #[serde(rename = "app.bsky.actor.defs#contentLabelPref")]
448 ContentLabelPref(Box<crate::app_bsky::actor::ContentLabelPref<'a>>),
449 #[serde(rename = "app.bsky.actor.defs#savedFeedsPref")]
450 SavedFeedsPref(Box<crate::app_bsky::actor::SavedFeedsPref<'a>>),
451 #[serde(rename = "app.bsky.actor.defs#savedFeedsPrefV2")]
452 SavedFeedsPrefV2(Box<crate::app_bsky::actor::SavedFeedsPrefV2<'a>>),
453 #[serde(rename = "app.bsky.actor.defs#personalDetailsPref")]
454 PersonalDetailsPref(Box<crate::app_bsky::actor::PersonalDetailsPref<'a>>),
455 #[serde(rename = "app.bsky.actor.defs#feedViewPref")]
456 FeedViewPref(Box<crate::app_bsky::actor::FeedViewPref<'a>>),
457 #[serde(rename = "app.bsky.actor.defs#threadViewPref")]
458 ThreadViewPref(Box<crate::app_bsky::actor::ThreadViewPref<'a>>),
459 #[serde(rename = "app.bsky.actor.defs#interestsPref")]
460 InterestsPref(Box<crate::app_bsky::actor::InterestsPref<'a>>),
461 #[serde(rename = "app.bsky.actor.defs#mutedWordsPref")]
462 MutedWordsPref(Box<crate::app_bsky::actor::MutedWordsPref<'a>>),
463 #[serde(rename = "app.bsky.actor.defs#hiddenPostsPref")]
464 HiddenPostsPref(Box<crate::app_bsky::actor::HiddenPostsPref<'a>>),
465 #[serde(rename = "app.bsky.actor.defs#bskyAppStatePref")]
466 BskyAppStatePref(Box<crate::app_bsky::actor::BskyAppStatePref<'a>>),
467 #[serde(rename = "app.bsky.actor.defs#labelersPref")]
468 LabelersPref(Box<crate::app_bsky::actor::LabelersPref<'a>>),
469 #[serde(rename = "app.bsky.actor.defs#postInteractionSettingsPref")]
470 PostInteractionSettingsPref(
471 Box<crate::app_bsky::actor::PostInteractionSettingsPref<'a>>,
472 ),
473 #[serde(rename = "app.bsky.actor.defs#verificationPrefs")]
474 VerificationPrefs(Box<crate::app_bsky::actor::VerificationPrefs<'a>>),
475}
476
477pub type Preferences<'a> = Vec<PreferencesItem<'a>>;
478#[jacquard_derive::lexicon]
479#[derive(
480 serde::Serialize,
481 serde::Deserialize,
482 Debug,
483 Clone,
484 PartialEq,
485 Eq,
486 jacquard_derive::IntoStatic
487)]
488#[serde(rename_all = "camelCase")]
489pub struct ProfileAssociated<'a> {
490 #[serde(skip_serializing_if = "std::option::Option::is_none")]
491 #[serde(borrow)]
492 pub activity_subscription: std::option::Option<
493 crate::app_bsky::actor::ProfileAssociatedActivitySubscription<'a>,
494 >,
495 #[serde(skip_serializing_if = "std::option::Option::is_none")]
496 #[serde(borrow)]
497 pub chat: std::option::Option<crate::app_bsky::actor::ProfileAssociatedChat<'a>>,
498 #[serde(skip_serializing_if = "std::option::Option::is_none")]
499 pub feedgens: std::option::Option<i64>,
500 #[serde(skip_serializing_if = "std::option::Option::is_none")]
501 pub labeler: std::option::Option<bool>,
502 #[serde(skip_serializing_if = "std::option::Option::is_none")]
503 pub lists: std::option::Option<i64>,
504 #[serde(skip_serializing_if = "std::option::Option::is_none")]
505 pub starter_packs: std::option::Option<i64>,
506}
507
508#[jacquard_derive::lexicon]
509#[derive(
510 serde::Serialize,
511 serde::Deserialize,
512 Debug,
513 Clone,
514 PartialEq,
515 Eq,
516 jacquard_derive::IntoStatic
517)]
518#[serde(rename_all = "camelCase")]
519pub struct ProfileAssociatedActivitySubscription<'a> {
520 #[serde(borrow)]
521 pub allow_subscriptions: jacquard_common::CowStr<'a>,
522}
523
524#[jacquard_derive::lexicon]
525#[derive(
526 serde::Serialize,
527 serde::Deserialize,
528 Debug,
529 Clone,
530 PartialEq,
531 Eq,
532 jacquard_derive::IntoStatic
533)]
534#[serde(rename_all = "camelCase")]
535pub struct ProfileAssociatedChat<'a> {
536 #[serde(borrow)]
537 pub allow_incoming: jacquard_common::CowStr<'a>,
538}
539
540#[jacquard_derive::lexicon]
541#[derive(
542 serde::Serialize,
543 serde::Deserialize,
544 Debug,
545 Clone,
546 PartialEq,
547 Eq,
548 jacquard_derive::IntoStatic
549)]
550#[serde(rename_all = "camelCase")]
551pub struct ProfileView<'a> {
552 #[serde(skip_serializing_if = "std::option::Option::is_none")]
553 #[serde(borrow)]
554 pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
555 #[serde(skip_serializing_if = "std::option::Option::is_none")]
556 #[serde(borrow)]
557 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
558 #[serde(skip_serializing_if = "std::option::Option::is_none")]
559 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
560 #[serde(skip_serializing_if = "std::option::Option::is_none")]
561 #[serde(borrow)]
562 pub description: std::option::Option<jacquard_common::CowStr<'a>>,
563 #[serde(borrow)]
564 pub did: jacquard_common::types::string::Did<'a>,
565 #[serde(skip_serializing_if = "std::option::Option::is_none")]
566 #[serde(borrow)]
567 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
568 #[serde(borrow)]
569 pub handle: jacquard_common::types::string::Handle<'a>,
570 #[serde(skip_serializing_if = "std::option::Option::is_none")]
571 pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
572 #[serde(skip_serializing_if = "std::option::Option::is_none")]
573 #[serde(borrow)]
574 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
575 #[serde(skip_serializing_if = "std::option::Option::is_none")]
576 #[serde(borrow)]
577 pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
578 #[serde(skip_serializing_if = "std::option::Option::is_none")]
579 #[serde(borrow)]
580 pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
581 #[serde(skip_serializing_if = "std::option::Option::is_none")]
582 #[serde(borrow)]
583 pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
584 #[serde(skip_serializing_if = "std::option::Option::is_none")]
585 #[serde(borrow)]
586 pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
587}
588
589#[jacquard_derive::lexicon]
590#[derive(
591 serde::Serialize,
592 serde::Deserialize,
593 Debug,
594 Clone,
595 PartialEq,
596 Eq,
597 jacquard_derive::IntoStatic
598)]
599#[serde(rename_all = "camelCase")]
600pub struct ProfileViewBasic<'a> {
601 #[serde(skip_serializing_if = "std::option::Option::is_none")]
602 #[serde(borrow)]
603 pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
604 #[serde(skip_serializing_if = "std::option::Option::is_none")]
605 #[serde(borrow)]
606 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
607 #[serde(skip_serializing_if = "std::option::Option::is_none")]
608 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
609 #[serde(borrow)]
610 pub did: jacquard_common::types::string::Did<'a>,
611 #[serde(skip_serializing_if = "std::option::Option::is_none")]
612 #[serde(borrow)]
613 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
614 #[serde(borrow)]
615 pub handle: jacquard_common::types::string::Handle<'a>,
616 #[serde(skip_serializing_if = "std::option::Option::is_none")]
617 #[serde(borrow)]
618 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
619 #[serde(skip_serializing_if = "std::option::Option::is_none")]
620 #[serde(borrow)]
621 pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
622 #[serde(skip_serializing_if = "std::option::Option::is_none")]
623 #[serde(borrow)]
624 pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
625 #[serde(skip_serializing_if = "std::option::Option::is_none")]
626 #[serde(borrow)]
627 pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
628 #[serde(skip_serializing_if = "std::option::Option::is_none")]
629 #[serde(borrow)]
630 pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
631}
632
633#[jacquard_derive::lexicon]
634#[derive(
635 serde::Serialize,
636 serde::Deserialize,
637 Debug,
638 Clone,
639 PartialEq,
640 Eq,
641 jacquard_derive::IntoStatic
642)]
643#[serde(rename_all = "camelCase")]
644pub struct ProfileViewDetailed<'a> {
645 #[serde(skip_serializing_if = "std::option::Option::is_none")]
646 #[serde(borrow)]
647 pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
648 #[serde(skip_serializing_if = "std::option::Option::is_none")]
649 #[serde(borrow)]
650 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
651 #[serde(skip_serializing_if = "std::option::Option::is_none")]
652 #[serde(borrow)]
653 pub banner: std::option::Option<jacquard_common::types::string::Uri<'a>>,
654 #[serde(skip_serializing_if = "std::option::Option::is_none")]
655 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
656 #[serde(skip_serializing_if = "std::option::Option::is_none")]
657 #[serde(borrow)]
658 pub description: std::option::Option<jacquard_common::CowStr<'a>>,
659 #[serde(borrow)]
660 pub did: jacquard_common::types::string::Did<'a>,
661 #[serde(skip_serializing_if = "std::option::Option::is_none")]
662 #[serde(borrow)]
663 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
664 #[serde(skip_serializing_if = "std::option::Option::is_none")]
665 pub followers_count: std::option::Option<i64>,
666 #[serde(skip_serializing_if = "std::option::Option::is_none")]
667 pub follows_count: std::option::Option<i64>,
668 #[serde(borrow)]
669 pub handle: jacquard_common::types::string::Handle<'a>,
670 #[serde(skip_serializing_if = "std::option::Option::is_none")]
671 pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
672 #[serde(skip_serializing_if = "std::option::Option::is_none")]
673 #[serde(borrow)]
674 pub joined_via_starter_pack: std::option::Option<
675 crate::app_bsky::graph::StarterPackViewBasic<'a>,
676 >,
677 #[serde(skip_serializing_if = "std::option::Option::is_none")]
678 #[serde(borrow)]
679 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
680 #[serde(skip_serializing_if = "std::option::Option::is_none")]
681 #[serde(borrow)]
682 pub pinned_post: std::option::Option<
683 crate::com_atproto::repo::strong_ref::StrongRef<'a>,
684 >,
685 #[serde(skip_serializing_if = "std::option::Option::is_none")]
686 pub posts_count: std::option::Option<i64>,
687 #[serde(skip_serializing_if = "std::option::Option::is_none")]
688 #[serde(borrow)]
689 pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
690 #[serde(skip_serializing_if = "std::option::Option::is_none")]
691 #[serde(borrow)]
692 pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
693 #[serde(skip_serializing_if = "std::option::Option::is_none")]
694 #[serde(borrow)]
695 pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
696 #[serde(skip_serializing_if = "std::option::Option::is_none")]
697 #[serde(borrow)]
698 pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
699 #[serde(skip_serializing_if = "std::option::Option::is_none")]
700 #[serde(borrow)]
701 pub website: std::option::Option<jacquard_common::types::string::Uri<'a>>,
702}
703
704#[jacquard_derive::lexicon]
705#[derive(
706 serde::Serialize,
707 serde::Deserialize,
708 Debug,
709 Clone,
710 PartialEq,
711 Eq,
712 jacquard_derive::IntoStatic
713)]
714#[serde(rename_all = "camelCase")]
715pub struct SavedFeed<'a> {
716 #[serde(borrow)]
717 pub id: jacquard_common::CowStr<'a>,
718 pub pinned: bool,
719 #[serde(borrow)]
720 pub r#type: jacquard_common::CowStr<'a>,
721 #[serde(borrow)]
722 pub value: jacquard_common::CowStr<'a>,
723}
724
725#[jacquard_derive::lexicon]
726#[derive(
727 serde::Serialize,
728 serde::Deserialize,
729 Debug,
730 Clone,
731 PartialEq,
732 Eq,
733 jacquard_derive::IntoStatic
734)]
735#[serde(rename_all = "camelCase")]
736pub struct SavedFeedsPref<'a> {
737 #[serde(borrow)]
738 pub pinned: Vec<jacquard_common::types::string::AtUri<'a>>,
739 #[serde(borrow)]
740 pub saved: Vec<jacquard_common::types::string::AtUri<'a>>,
741 #[serde(skip_serializing_if = "std::option::Option::is_none")]
742 pub timeline_index: std::option::Option<i64>,
743}
744
745#[jacquard_derive::lexicon]
746#[derive(
747 serde::Serialize,
748 serde::Deserialize,
749 Debug,
750 Clone,
751 PartialEq,
752 Eq,
753 jacquard_derive::IntoStatic
754)]
755#[serde(rename_all = "camelCase")]
756pub struct SavedFeedsPrefV2<'a> {
757 #[serde(borrow)]
758 pub items: Vec<crate::app_bsky::actor::SavedFeed<'a>>,
759}
760
761#[jacquard_derive::lexicon]
762#[derive(
763 serde::Serialize,
764 serde::Deserialize,
765 Debug,
766 Clone,
767 PartialEq,
768 Eq,
769 jacquard_derive::IntoStatic
770)]
771#[serde(rename_all = "camelCase")]
772pub struct StatusView<'a> {
773 #[serde(skip_serializing_if = "std::option::Option::is_none")]
775 #[serde(borrow)]
776 pub embed: std::option::Option<crate::app_bsky::embed::external::View<'a>>,
777 #[serde(skip_serializing_if = "std::option::Option::is_none")]
779 pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
780 #[serde(skip_serializing_if = "std::option::Option::is_none")]
782 pub is_active: std::option::Option<bool>,
783 #[serde(borrow)]
784 pub record: jacquard_common::types::value::Data<'a>,
785 #[serde(borrow)]
787 pub status: jacquard_common::CowStr<'a>,
788}
789
790#[jacquard_derive::lexicon]
791#[derive(
792 serde::Serialize,
793 serde::Deserialize,
794 Debug,
795 Clone,
796 PartialEq,
797 Eq,
798 jacquard_derive::IntoStatic
799)]
800#[serde(rename_all = "camelCase")]
801pub struct ThreadViewPref<'a> {
802 #[serde(skip_serializing_if = "std::option::Option::is_none")]
804 pub prioritize_followed_users: std::option::Option<bool>,
805 #[serde(skip_serializing_if = "std::option::Option::is_none")]
807 #[serde(borrow)]
808 pub sort: std::option::Option<jacquard_common::CowStr<'a>>,
809}
810
811#[jacquard_derive::lexicon]
813#[derive(
814 serde::Serialize,
815 serde::Deserialize,
816 Debug,
817 Clone,
818 PartialEq,
819 Eq,
820 jacquard_derive::IntoStatic
821)]
822#[serde(rename_all = "camelCase")]
823pub struct VerificationPrefs<'a> {
824 #[serde(skip_serializing_if = "std::option::Option::is_none")]
826 pub hide_badges: std::option::Option<bool>,
827}
828
829#[jacquard_derive::lexicon]
831#[derive(
832 serde::Serialize,
833 serde::Deserialize,
834 Debug,
835 Clone,
836 PartialEq,
837 Eq,
838 jacquard_derive::IntoStatic
839)]
840#[serde(rename_all = "camelCase")]
841pub struct VerificationState<'a> {
842 #[serde(borrow)]
844 pub trusted_verifier_status: jacquard_common::CowStr<'a>,
845 #[serde(borrow)]
847 pub verifications: Vec<crate::app_bsky::actor::VerificationView<'a>>,
848 #[serde(borrow)]
850 pub verified_status: jacquard_common::CowStr<'a>,
851}
852
853#[jacquard_derive::lexicon]
855#[derive(
856 serde::Serialize,
857 serde::Deserialize,
858 Debug,
859 Clone,
860 PartialEq,
861 Eq,
862 jacquard_derive::IntoStatic
863)]
864#[serde(rename_all = "camelCase")]
865pub struct VerificationView<'a> {
866 pub created_at: jacquard_common::types::string::Datetime,
868 pub is_valid: bool,
870 #[serde(borrow)]
872 pub issuer: jacquard_common::types::string::Did<'a>,
873 #[serde(borrow)]
875 pub uri: jacquard_common::types::string::AtUri<'a>,
876}
877
878#[jacquard_derive::lexicon]
880#[derive(
881 serde::Serialize,
882 serde::Deserialize,
883 Debug,
884 Clone,
885 PartialEq,
886 Eq,
887 jacquard_derive::IntoStatic
888)]
889#[serde(rename_all = "camelCase")]
890pub struct ViewerState<'a> {
891 #[serde(skip_serializing_if = "std::option::Option::is_none")]
893 #[serde(borrow)]
894 pub activity_subscription: std::option::Option<
895 crate::app_bsky::notification::ActivitySubscription<'a>,
896 >,
897 #[serde(skip_serializing_if = "std::option::Option::is_none")]
898 pub blocked_by: std::option::Option<bool>,
899 #[serde(skip_serializing_if = "std::option::Option::is_none")]
900 #[serde(borrow)]
901 pub blocking: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
902 #[serde(skip_serializing_if = "std::option::Option::is_none")]
903 #[serde(borrow)]
904 pub blocking_by_list: std::option::Option<crate::app_bsky::graph::ListViewBasic<'a>>,
905 #[serde(skip_serializing_if = "std::option::Option::is_none")]
906 #[serde(borrow)]
907 pub followed_by: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
908 #[serde(skip_serializing_if = "std::option::Option::is_none")]
909 #[serde(borrow)]
910 pub following: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
911 #[serde(skip_serializing_if = "std::option::Option::is_none")]
913 #[serde(borrow)]
914 pub known_followers: std::option::Option<crate::app_bsky::actor::KnownFollowers<'a>>,
915 #[serde(skip_serializing_if = "std::option::Option::is_none")]
916 pub muted: std::option::Option<bool>,
917 #[serde(skip_serializing_if = "std::option::Option::is_none")]
918 #[serde(borrow)]
919 pub muted_by_list: std::option::Option<crate::app_bsky::graph::ListViewBasic<'a>>,
920}