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<jacquard_common::types::value::Data<'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<jacquard_common::types::value::Data<'a>>,
406 >,
407}
408
409pub type Preferences<'a> = Vec<jacquard_common::types::value::Data<'a>>;
410#[jacquard_derive::lexicon]
411#[derive(
412 serde::Serialize,
413 serde::Deserialize,
414 Debug,
415 Clone,
416 PartialEq,
417 Eq,
418 jacquard_derive::IntoStatic
419)]
420#[serde(rename_all = "camelCase")]
421pub struct ProfileAssociated<'a> {
422 #[serde(skip_serializing_if = "std::option::Option::is_none")]
423 #[serde(borrow)]
424 pub activity_subscription: std::option::Option<
425 crate::app_bsky::actor::ProfileAssociatedActivitySubscription<'a>,
426 >,
427 #[serde(skip_serializing_if = "std::option::Option::is_none")]
428 #[serde(borrow)]
429 pub chat: std::option::Option<crate::app_bsky::actor::ProfileAssociatedChat<'a>>,
430 #[serde(skip_serializing_if = "std::option::Option::is_none")]
431 pub feedgens: std::option::Option<i64>,
432 #[serde(skip_serializing_if = "std::option::Option::is_none")]
433 pub labeler: std::option::Option<bool>,
434 #[serde(skip_serializing_if = "std::option::Option::is_none")]
435 pub lists: std::option::Option<i64>,
436 #[serde(skip_serializing_if = "std::option::Option::is_none")]
437 pub starter_packs: std::option::Option<i64>,
438}
439
440#[jacquard_derive::lexicon]
441#[derive(
442 serde::Serialize,
443 serde::Deserialize,
444 Debug,
445 Clone,
446 PartialEq,
447 Eq,
448 jacquard_derive::IntoStatic
449)]
450#[serde(rename_all = "camelCase")]
451pub struct ProfileAssociatedActivitySubscription<'a> {
452 #[serde(borrow)]
453 pub allow_subscriptions: jacquard_common::CowStr<'a>,
454}
455
456#[jacquard_derive::lexicon]
457#[derive(
458 serde::Serialize,
459 serde::Deserialize,
460 Debug,
461 Clone,
462 PartialEq,
463 Eq,
464 jacquard_derive::IntoStatic
465)]
466#[serde(rename_all = "camelCase")]
467pub struct ProfileAssociatedChat<'a> {
468 #[serde(borrow)]
469 pub allow_incoming: jacquard_common::CowStr<'a>,
470}
471
472#[jacquard_derive::lexicon]
473#[derive(
474 serde::Serialize,
475 serde::Deserialize,
476 Debug,
477 Clone,
478 PartialEq,
479 Eq,
480 jacquard_derive::IntoStatic
481)]
482#[serde(rename_all = "camelCase")]
483pub struct ProfileView<'a> {
484 #[serde(skip_serializing_if = "std::option::Option::is_none")]
485 #[serde(borrow)]
486 pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
487 #[serde(skip_serializing_if = "std::option::Option::is_none")]
488 #[serde(borrow)]
489 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
490 #[serde(skip_serializing_if = "std::option::Option::is_none")]
491 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
492 #[serde(skip_serializing_if = "std::option::Option::is_none")]
493 #[serde(borrow)]
494 pub description: std::option::Option<jacquard_common::CowStr<'a>>,
495 #[serde(borrow)]
496 pub did: jacquard_common::types::string::Did<'a>,
497 #[serde(skip_serializing_if = "std::option::Option::is_none")]
498 #[serde(borrow)]
499 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
500 #[serde(borrow)]
501 pub handle: jacquard_common::types::string::Handle<'a>,
502 #[serde(skip_serializing_if = "std::option::Option::is_none")]
503 pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
504 #[serde(skip_serializing_if = "std::option::Option::is_none")]
505 #[serde(borrow)]
506 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
507 #[serde(skip_serializing_if = "std::option::Option::is_none")]
508 #[serde(borrow)]
509 pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
510 #[serde(skip_serializing_if = "std::option::Option::is_none")]
511 #[serde(borrow)]
512 pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
513 #[serde(skip_serializing_if = "std::option::Option::is_none")]
514 #[serde(borrow)]
515 pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
516 #[serde(skip_serializing_if = "std::option::Option::is_none")]
517 #[serde(borrow)]
518 pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
519}
520
521#[jacquard_derive::lexicon]
522#[derive(
523 serde::Serialize,
524 serde::Deserialize,
525 Debug,
526 Clone,
527 PartialEq,
528 Eq,
529 jacquard_derive::IntoStatic
530)]
531#[serde(rename_all = "camelCase")]
532pub struct ProfileViewBasic<'a> {
533 #[serde(skip_serializing_if = "std::option::Option::is_none")]
534 #[serde(borrow)]
535 pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
536 #[serde(skip_serializing_if = "std::option::Option::is_none")]
537 #[serde(borrow)]
538 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
539 #[serde(skip_serializing_if = "std::option::Option::is_none")]
540 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
541 #[serde(borrow)]
542 pub did: jacquard_common::types::string::Did<'a>,
543 #[serde(skip_serializing_if = "std::option::Option::is_none")]
544 #[serde(borrow)]
545 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
546 #[serde(borrow)]
547 pub handle: jacquard_common::types::string::Handle<'a>,
548 #[serde(skip_serializing_if = "std::option::Option::is_none")]
549 #[serde(borrow)]
550 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
551 #[serde(skip_serializing_if = "std::option::Option::is_none")]
552 #[serde(borrow)]
553 pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
554 #[serde(skip_serializing_if = "std::option::Option::is_none")]
555 #[serde(borrow)]
556 pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
557 #[serde(skip_serializing_if = "std::option::Option::is_none")]
558 #[serde(borrow)]
559 pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
560 #[serde(skip_serializing_if = "std::option::Option::is_none")]
561 #[serde(borrow)]
562 pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
563}
564
565#[jacquard_derive::lexicon]
566#[derive(
567 serde::Serialize,
568 serde::Deserialize,
569 Debug,
570 Clone,
571 PartialEq,
572 Eq,
573 jacquard_derive::IntoStatic
574)]
575#[serde(rename_all = "camelCase")]
576pub struct ProfileViewDetailed<'a> {
577 #[serde(skip_serializing_if = "std::option::Option::is_none")]
578 #[serde(borrow)]
579 pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
580 #[serde(skip_serializing_if = "std::option::Option::is_none")]
581 #[serde(borrow)]
582 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
583 #[serde(skip_serializing_if = "std::option::Option::is_none")]
584 #[serde(borrow)]
585 pub banner: std::option::Option<jacquard_common::types::string::Uri<'a>>,
586 #[serde(skip_serializing_if = "std::option::Option::is_none")]
587 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
588 #[serde(skip_serializing_if = "std::option::Option::is_none")]
589 #[serde(borrow)]
590 pub description: std::option::Option<jacquard_common::CowStr<'a>>,
591 #[serde(borrow)]
592 pub did: jacquard_common::types::string::Did<'a>,
593 #[serde(skip_serializing_if = "std::option::Option::is_none")]
594 #[serde(borrow)]
595 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
596 #[serde(skip_serializing_if = "std::option::Option::is_none")]
597 pub followers_count: std::option::Option<i64>,
598 #[serde(skip_serializing_if = "std::option::Option::is_none")]
599 pub follows_count: std::option::Option<i64>,
600 #[serde(borrow)]
601 pub handle: jacquard_common::types::string::Handle<'a>,
602 #[serde(skip_serializing_if = "std::option::Option::is_none")]
603 pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
604 #[serde(skip_serializing_if = "std::option::Option::is_none")]
605 #[serde(borrow)]
606 pub joined_via_starter_pack: std::option::Option<
607 crate::app_bsky::graph::StarterPackViewBasic<'a>,
608 >,
609 #[serde(skip_serializing_if = "std::option::Option::is_none")]
610 #[serde(borrow)]
611 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
612 #[serde(skip_serializing_if = "std::option::Option::is_none")]
613 #[serde(borrow)]
614 pub pinned_post: std::option::Option<
615 crate::com_atproto::repo::strong_ref::StrongRef<'a>,
616 >,
617 #[serde(skip_serializing_if = "std::option::Option::is_none")]
618 pub posts_count: std::option::Option<i64>,
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 #[serde(skip_serializing_if = "std::option::Option::is_none")]
632 #[serde(borrow)]
633 pub website: std::option::Option<jacquard_common::types::string::Uri<'a>>,
634}
635
636#[jacquard_derive::lexicon]
637#[derive(
638 serde::Serialize,
639 serde::Deserialize,
640 Debug,
641 Clone,
642 PartialEq,
643 Eq,
644 jacquard_derive::IntoStatic
645)]
646#[serde(rename_all = "camelCase")]
647pub struct SavedFeed<'a> {
648 #[serde(borrow)]
649 pub id: jacquard_common::CowStr<'a>,
650 pub pinned: bool,
651 #[serde(borrow)]
652 pub r#type: jacquard_common::CowStr<'a>,
653 #[serde(borrow)]
654 pub value: jacquard_common::CowStr<'a>,
655}
656
657#[jacquard_derive::lexicon]
658#[derive(
659 serde::Serialize,
660 serde::Deserialize,
661 Debug,
662 Clone,
663 PartialEq,
664 Eq,
665 jacquard_derive::IntoStatic
666)]
667#[serde(rename_all = "camelCase")]
668pub struct SavedFeedsPref<'a> {
669 #[serde(borrow)]
670 pub pinned: Vec<jacquard_common::types::string::AtUri<'a>>,
671 #[serde(borrow)]
672 pub saved: Vec<jacquard_common::types::string::AtUri<'a>>,
673 #[serde(skip_serializing_if = "std::option::Option::is_none")]
674 pub timeline_index: std::option::Option<i64>,
675}
676
677#[jacquard_derive::lexicon]
678#[derive(
679 serde::Serialize,
680 serde::Deserialize,
681 Debug,
682 Clone,
683 PartialEq,
684 Eq,
685 jacquard_derive::IntoStatic
686)]
687#[serde(rename_all = "camelCase")]
688pub struct SavedFeedsPrefV2<'a> {
689 #[serde(borrow)]
690 pub items: Vec<crate::app_bsky::actor::SavedFeed<'a>>,
691}
692
693#[jacquard_derive::lexicon]
694#[derive(
695 serde::Serialize,
696 serde::Deserialize,
697 Debug,
698 Clone,
699 PartialEq,
700 Eq,
701 jacquard_derive::IntoStatic
702)]
703#[serde(rename_all = "camelCase")]
704pub struct StatusView<'a> {
705 #[serde(skip_serializing_if = "std::option::Option::is_none")]
707 #[serde(borrow)]
708 pub embed: std::option::Option<StatusViewRecordEmbed<'a>>,
709 #[serde(skip_serializing_if = "std::option::Option::is_none")]
711 pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
712 #[serde(skip_serializing_if = "std::option::Option::is_none")]
714 pub is_active: std::option::Option<bool>,
715 #[serde(borrow)]
716 pub record: jacquard_common::types::value::Data<'a>,
717 #[serde(borrow)]
719 pub status: jacquard_common::CowStr<'a>,
720}
721
722#[jacquard_derive::open_union]
723#[derive(
724 serde::Serialize,
725 serde::Deserialize,
726 Debug,
727 Clone,
728 PartialEq,
729 Eq,
730 jacquard_derive::IntoStatic
731)]
732#[serde(tag = "$type")]
733#[serde(bound(deserialize = "'de: 'a"))]
734pub enum StatusViewRecordEmbed<'a> {
735 #[serde(rename = "app.bsky.embed.external#view")]
736 ExternalView(Box<crate::app_bsky::embed::external::View<'a>>),
737}
738
739#[jacquard_derive::lexicon]
740#[derive(
741 serde::Serialize,
742 serde::Deserialize,
743 Debug,
744 Clone,
745 PartialEq,
746 Eq,
747 jacquard_derive::IntoStatic
748)]
749#[serde(rename_all = "camelCase")]
750pub struct ThreadViewPref<'a> {
751 #[serde(skip_serializing_if = "std::option::Option::is_none")]
753 pub prioritize_followed_users: std::option::Option<bool>,
754 #[serde(skip_serializing_if = "std::option::Option::is_none")]
756 #[serde(borrow)]
757 pub sort: std::option::Option<jacquard_common::CowStr<'a>>,
758}
759
760#[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 VerificationPrefs<'a> {
773 #[serde(skip_serializing_if = "std::option::Option::is_none")]
775 pub hide_badges: std::option::Option<bool>,
776}
777
778#[jacquard_derive::lexicon]
780#[derive(
781 serde::Serialize,
782 serde::Deserialize,
783 Debug,
784 Clone,
785 PartialEq,
786 Eq,
787 jacquard_derive::IntoStatic
788)]
789#[serde(rename_all = "camelCase")]
790pub struct VerificationState<'a> {
791 #[serde(borrow)]
793 pub trusted_verifier_status: jacquard_common::CowStr<'a>,
794 #[serde(borrow)]
796 pub verifications: Vec<crate::app_bsky::actor::VerificationView<'a>>,
797 #[serde(borrow)]
799 pub verified_status: jacquard_common::CowStr<'a>,
800}
801
802#[jacquard_derive::lexicon]
804#[derive(
805 serde::Serialize,
806 serde::Deserialize,
807 Debug,
808 Clone,
809 PartialEq,
810 Eq,
811 jacquard_derive::IntoStatic
812)]
813#[serde(rename_all = "camelCase")]
814pub struct VerificationView<'a> {
815 pub created_at: jacquard_common::types::string::Datetime,
817 pub is_valid: bool,
819 #[serde(borrow)]
821 pub issuer: jacquard_common::types::string::Did<'a>,
822 #[serde(borrow)]
824 pub uri: jacquard_common::types::string::AtUri<'a>,
825}
826
827#[jacquard_derive::lexicon]
829#[derive(
830 serde::Serialize,
831 serde::Deserialize,
832 Debug,
833 Clone,
834 PartialEq,
835 Eq,
836 jacquard_derive::IntoStatic
837)]
838#[serde(rename_all = "camelCase")]
839pub struct ViewerState<'a> {
840 #[serde(skip_serializing_if = "std::option::Option::is_none")]
842 #[serde(borrow)]
843 pub activity_subscription: std::option::Option<
844 crate::app_bsky::notification::ActivitySubscription<'a>,
845 >,
846 #[serde(skip_serializing_if = "std::option::Option::is_none")]
847 pub blocked_by: std::option::Option<bool>,
848 #[serde(skip_serializing_if = "std::option::Option::is_none")]
849 #[serde(borrow)]
850 pub blocking: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
851 #[serde(skip_serializing_if = "std::option::Option::is_none")]
852 #[serde(borrow)]
853 pub blocking_by_list: std::option::Option<crate::app_bsky::graph::ListViewBasic<'a>>,
854 #[serde(skip_serializing_if = "std::option::Option::is_none")]
855 #[serde(borrow)]
856 pub followed_by: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
857 #[serde(skip_serializing_if = "std::option::Option::is_none")]
858 #[serde(borrow)]
859 pub following: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
860 #[serde(skip_serializing_if = "std::option::Option::is_none")]
862 #[serde(borrow)]
863 pub known_followers: std::option::Option<crate::app_bsky::actor::KnownFollowers<'a>>,
864 #[serde(skip_serializing_if = "std::option::Option::is_none")]
865 pub muted: std::option::Option<bool>,
866 #[serde(skip_serializing_if = "std::option::Option::is_none")]
867 #[serde(borrow)]
868 pub muted_by_list: std::option::Option<crate::app_bsky::graph::ListViewBasic<'a>>,
869}