1pub mod declaration;
9pub mod get_preferences;
10pub mod get_unread_count;
11pub mod list_activity_subscriptions;
12pub mod list_notifications;
13pub mod put_activity_subscription;
14pub mod put_preferences;
15pub mod put_preferences_v2;
16pub mod register_push;
17pub mod unregister_push;
18pub mod update_seen;
19
20#[jacquard_derive::lexicon]
21#[derive(
22 serde::Serialize,
23 serde::Deserialize,
24 Debug,
25 Clone,
26 PartialEq,
27 Eq,
28 jacquard_derive::IntoStatic
29)]
30#[serde(rename_all = "camelCase")]
31pub struct ActivitySubscription<'a> {
32 pub post: bool,
33 pub reply: bool,
34}
35
36pub mod activity_subscription_state {
37
38 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
39 #[allow(unused)]
40 use ::core::marker::PhantomData;
41 mod sealed {
42 pub trait Sealed {}
43 }
44 pub trait State: sealed::Sealed {
46 type Post;
47 type Reply;
48 }
49 pub struct Empty(());
51 impl sealed::Sealed for Empty {}
52 impl State for Empty {
53 type Post = Unset;
54 type Reply = Unset;
55 }
56 pub struct SetPost<S: State = Empty>(PhantomData<fn() -> S>);
58 impl<S: State> sealed::Sealed for SetPost<S> {}
59 impl<S: State> State for SetPost<S> {
60 type Post = Set<members::post>;
61 type Reply = S::Reply;
62 }
63 pub struct SetReply<S: State = Empty>(PhantomData<fn() -> S>);
65 impl<S: State> sealed::Sealed for SetReply<S> {}
66 impl<S: State> State for SetReply<S> {
67 type Post = S::Post;
68 type Reply = Set<members::reply>;
69 }
70 #[allow(non_camel_case_types)]
72 pub mod members {
73 pub struct post(());
75 pub struct reply(());
77 }
78}
79
80pub struct ActivitySubscriptionBuilder<'a, S: activity_subscription_state::State> {
82 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
83 __unsafe_private_named: (::core::option::Option<bool>, ::core::option::Option<bool>),
84 _phantom: ::core::marker::PhantomData<&'a ()>,
85}
86
87impl<'a> ActivitySubscription<'a> {
88 pub fn new() -> ActivitySubscriptionBuilder<'a, activity_subscription_state::Empty> {
90 ActivitySubscriptionBuilder::new()
91 }
92}
93
94impl<'a> ActivitySubscriptionBuilder<'a, activity_subscription_state::Empty> {
95 pub fn new() -> Self {
97 ActivitySubscriptionBuilder {
98 _phantom_state: ::core::marker::PhantomData,
99 __unsafe_private_named: (None, None),
100 _phantom: ::core::marker::PhantomData,
101 }
102 }
103}
104
105impl<'a, S> ActivitySubscriptionBuilder<'a, S>
106where
107 S: activity_subscription_state::State,
108 S::Post: activity_subscription_state::IsUnset,
109{
110 pub fn post(
112 mut self,
113 value: impl Into<bool>,
114 ) -> ActivitySubscriptionBuilder<'a, activity_subscription_state::SetPost<S>> {
115 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
116 ActivitySubscriptionBuilder {
117 _phantom_state: ::core::marker::PhantomData,
118 __unsafe_private_named: self.__unsafe_private_named,
119 _phantom: ::core::marker::PhantomData,
120 }
121 }
122}
123
124impl<'a, S> ActivitySubscriptionBuilder<'a, S>
125where
126 S: activity_subscription_state::State,
127 S::Reply: activity_subscription_state::IsUnset,
128{
129 pub fn reply(
131 mut self,
132 value: impl Into<bool>,
133 ) -> ActivitySubscriptionBuilder<'a, activity_subscription_state::SetReply<S>> {
134 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
135 ActivitySubscriptionBuilder {
136 _phantom_state: ::core::marker::PhantomData,
137 __unsafe_private_named: self.__unsafe_private_named,
138 _phantom: ::core::marker::PhantomData,
139 }
140 }
141}
142
143impl<'a, S> ActivitySubscriptionBuilder<'a, S>
144where
145 S: activity_subscription_state::State,
146 S::Post: activity_subscription_state::IsSet,
147 S::Reply: activity_subscription_state::IsSet,
148{
149 pub fn build(self) -> ActivitySubscription<'a> {
151 ActivitySubscription {
152 post: self.__unsafe_private_named.0.unwrap(),
153 reply: self.__unsafe_private_named.1.unwrap(),
154 extra_data: Default::default(),
155 }
156 }
157 pub fn build_with_data(
159 self,
160 extra_data: std::collections::BTreeMap<
161 jacquard_common::smol_str::SmolStr,
162 jacquard_common::types::value::Data<'a>,
163 >,
164 ) -> ActivitySubscription<'a> {
165 ActivitySubscription {
166 post: self.__unsafe_private_named.0.unwrap(),
167 reply: self.__unsafe_private_named.1.unwrap(),
168 extra_data: Some(extra_data),
169 }
170 }
171}
172
173fn lexicon_doc_app_bsky_notification_defs() -> ::jacquard_lexicon::lexicon::LexiconDoc<
174 'static,
175> {
176 ::jacquard_lexicon::lexicon::LexiconDoc {
177 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
178 id: ::jacquard_common::CowStr::new_static("app.bsky.notification.defs"),
179 revision: None,
180 description: None,
181 defs: {
182 let mut map = ::std::collections::BTreeMap::new();
183 map.insert(
184 ::jacquard_common::smol_str::SmolStr::new_static("activitySubscription"),
185 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
186 description: None,
187 required: Some(
188 vec![
189 ::jacquard_common::smol_str::SmolStr::new_static("post"),
190 ::jacquard_common::smol_str::SmolStr::new_static("reply")
191 ],
192 ),
193 nullable: None,
194 properties: {
195 #[allow(unused_mut)]
196 let mut map = ::std::collections::BTreeMap::new();
197 map.insert(
198 ::jacquard_common::smol_str::SmolStr::new_static("post"),
199 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
200 description: None,
201 default: None,
202 r#const: None,
203 }),
204 );
205 map.insert(
206 ::jacquard_common::smol_str::SmolStr::new_static("reply"),
207 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
208 description: None,
209 default: None,
210 r#const: None,
211 }),
212 );
213 map
214 },
215 }),
216 );
217 map.insert(
218 ::jacquard_common::smol_str::SmolStr::new_static("chatPreference"),
219 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
220 description: None,
221 required: Some(
222 vec![
223 ::jacquard_common::smol_str::SmolStr::new_static("include"),
224 ::jacquard_common::smol_str::SmolStr::new_static("push")
225 ],
226 ),
227 nullable: None,
228 properties: {
229 #[allow(unused_mut)]
230 let mut map = ::std::collections::BTreeMap::new();
231 map.insert(
232 ::jacquard_common::smol_str::SmolStr::new_static("include"),
233 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
234 description: None,
235 format: None,
236 default: None,
237 min_length: None,
238 max_length: None,
239 min_graphemes: None,
240 max_graphemes: None,
241 r#enum: None,
242 r#const: None,
243 known_values: None,
244 }),
245 );
246 map.insert(
247 ::jacquard_common::smol_str::SmolStr::new_static("push"),
248 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
249 description: None,
250 default: None,
251 r#const: None,
252 }),
253 );
254 map
255 },
256 }),
257 );
258 map.insert(
259 ::jacquard_common::smol_str::SmolStr::new_static("filterablePreference"),
260 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
261 description: None,
262 required: Some(
263 vec![
264 ::jacquard_common::smol_str::SmolStr::new_static("include"),
265 ::jacquard_common::smol_str::SmolStr::new_static("list"),
266 ::jacquard_common::smol_str::SmolStr::new_static("push")
267 ],
268 ),
269 nullable: None,
270 properties: {
271 #[allow(unused_mut)]
272 let mut map = ::std::collections::BTreeMap::new();
273 map.insert(
274 ::jacquard_common::smol_str::SmolStr::new_static("include"),
275 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
276 description: None,
277 format: None,
278 default: None,
279 min_length: None,
280 max_length: None,
281 min_graphemes: None,
282 max_graphemes: None,
283 r#enum: None,
284 r#const: None,
285 known_values: None,
286 }),
287 );
288 map.insert(
289 ::jacquard_common::smol_str::SmolStr::new_static("list"),
290 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
291 description: None,
292 default: None,
293 r#const: None,
294 }),
295 );
296 map.insert(
297 ::jacquard_common::smol_str::SmolStr::new_static("push"),
298 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
299 description: None,
300 default: None,
301 r#const: None,
302 }),
303 );
304 map
305 },
306 }),
307 );
308 map.insert(
309 ::jacquard_common::smol_str::SmolStr::new_static("preference"),
310 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
311 description: None,
312 required: Some(
313 vec![
314 ::jacquard_common::smol_str::SmolStr::new_static("list"),
315 ::jacquard_common::smol_str::SmolStr::new_static("push")
316 ],
317 ),
318 nullable: None,
319 properties: {
320 #[allow(unused_mut)]
321 let mut map = ::std::collections::BTreeMap::new();
322 map.insert(
323 ::jacquard_common::smol_str::SmolStr::new_static("list"),
324 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
325 description: None,
326 default: None,
327 r#const: None,
328 }),
329 );
330 map.insert(
331 ::jacquard_common::smol_str::SmolStr::new_static("push"),
332 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
333 description: None,
334 default: None,
335 r#const: None,
336 }),
337 );
338 map
339 },
340 }),
341 );
342 map.insert(
343 ::jacquard_common::smol_str::SmolStr::new_static("preferences"),
344 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
345 description: None,
346 required: Some(
347 vec![
348 ::jacquard_common::smol_str::SmolStr::new_static("chat"),
349 ::jacquard_common::smol_str::SmolStr::new_static("follow"),
350 ::jacquard_common::smol_str::SmolStr::new_static("like"),
351 ::jacquard_common::smol_str::SmolStr::new_static("likeViaRepost"),
352 ::jacquard_common::smol_str::SmolStr::new_static("mention"),
353 ::jacquard_common::smol_str::SmolStr::new_static("quote"),
354 ::jacquard_common::smol_str::SmolStr::new_static("reply"),
355 ::jacquard_common::smol_str::SmolStr::new_static("repost"),
356 ::jacquard_common::smol_str::SmolStr::new_static("repostViaRepost"),
357 ::jacquard_common::smol_str::SmolStr::new_static("starterpackJoined"),
358 ::jacquard_common::smol_str::SmolStr::new_static("subscribedPost"),
359 ::jacquard_common::smol_str::SmolStr::new_static("unverified"),
360 ::jacquard_common::smol_str::SmolStr::new_static("verified")
361 ],
362 ),
363 nullable: None,
364 properties: {
365 #[allow(unused_mut)]
366 let mut map = ::std::collections::BTreeMap::new();
367 map.insert(
368 ::jacquard_common::smol_str::SmolStr::new_static("chat"),
369 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
370 description: None,
371 r#ref: ::jacquard_common::CowStr::new_static(
372 "#chatPreference",
373 ),
374 }),
375 );
376 map.insert(
377 ::jacquard_common::smol_str::SmolStr::new_static("follow"),
378 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
379 description: None,
380 r#ref: ::jacquard_common::CowStr::new_static(
381 "#filterablePreference",
382 ),
383 }),
384 );
385 map.insert(
386 ::jacquard_common::smol_str::SmolStr::new_static("like"),
387 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
388 description: None,
389 r#ref: ::jacquard_common::CowStr::new_static(
390 "#filterablePreference",
391 ),
392 }),
393 );
394 map.insert(
395 ::jacquard_common::smol_str::SmolStr::new_static(
396 "likeViaRepost",
397 ),
398 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
399 description: None,
400 r#ref: ::jacquard_common::CowStr::new_static(
401 "#filterablePreference",
402 ),
403 }),
404 );
405 map.insert(
406 ::jacquard_common::smol_str::SmolStr::new_static("mention"),
407 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
408 description: None,
409 r#ref: ::jacquard_common::CowStr::new_static(
410 "#filterablePreference",
411 ),
412 }),
413 );
414 map.insert(
415 ::jacquard_common::smol_str::SmolStr::new_static("quote"),
416 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
417 description: None,
418 r#ref: ::jacquard_common::CowStr::new_static(
419 "#filterablePreference",
420 ),
421 }),
422 );
423 map.insert(
424 ::jacquard_common::smol_str::SmolStr::new_static("reply"),
425 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
426 description: None,
427 r#ref: ::jacquard_common::CowStr::new_static(
428 "#filterablePreference",
429 ),
430 }),
431 );
432 map.insert(
433 ::jacquard_common::smol_str::SmolStr::new_static("repost"),
434 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
435 description: None,
436 r#ref: ::jacquard_common::CowStr::new_static(
437 "#filterablePreference",
438 ),
439 }),
440 );
441 map.insert(
442 ::jacquard_common::smol_str::SmolStr::new_static(
443 "repostViaRepost",
444 ),
445 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
446 description: None,
447 r#ref: ::jacquard_common::CowStr::new_static(
448 "#filterablePreference",
449 ),
450 }),
451 );
452 map.insert(
453 ::jacquard_common::smol_str::SmolStr::new_static(
454 "starterpackJoined",
455 ),
456 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
457 description: None,
458 r#ref: ::jacquard_common::CowStr::new_static("#preference"),
459 }),
460 );
461 map.insert(
462 ::jacquard_common::smol_str::SmolStr::new_static(
463 "subscribedPost",
464 ),
465 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
466 description: None,
467 r#ref: ::jacquard_common::CowStr::new_static("#preference"),
468 }),
469 );
470 map.insert(
471 ::jacquard_common::smol_str::SmolStr::new_static(
472 "unverified",
473 ),
474 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
475 description: None,
476 r#ref: ::jacquard_common::CowStr::new_static("#preference"),
477 }),
478 );
479 map.insert(
480 ::jacquard_common::smol_str::SmolStr::new_static("verified"),
481 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
482 description: None,
483 r#ref: ::jacquard_common::CowStr::new_static("#preference"),
484 }),
485 );
486 map
487 },
488 }),
489 );
490 map.insert(
491 ::jacquard_common::smol_str::SmolStr::new_static("recordDeleted"),
492 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
493 description: None,
494 required: None,
495 nullable: None,
496 properties: {
497 #[allow(unused_mut)]
498 let mut map = ::std::collections::BTreeMap::new();
499 map
500 },
501 }),
502 );
503 map.insert(
504 ::jacquard_common::smol_str::SmolStr::new_static(
505 "subjectActivitySubscription",
506 ),
507 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
508 description: Some(
509 ::jacquard_common::CowStr::new_static(
510 "Object used to store activity subscription data in stash.",
511 ),
512 ),
513 required: Some(
514 vec![
515 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
516 ::jacquard_common::smol_str::SmolStr::new_static("activitySubscription")
517 ],
518 ),
519 nullable: None,
520 properties: {
521 #[allow(unused_mut)]
522 let mut map = ::std::collections::BTreeMap::new();
523 map.insert(
524 ::jacquard_common::smol_str::SmolStr::new_static(
525 "activitySubscription",
526 ),
527 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
528 description: None,
529 r#ref: ::jacquard_common::CowStr::new_static(
530 "#activitySubscription",
531 ),
532 }),
533 );
534 map.insert(
535 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
536 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
537 description: None,
538 format: Some(
539 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
540 ),
541 default: None,
542 min_length: None,
543 max_length: None,
544 min_graphemes: None,
545 max_graphemes: None,
546 r#enum: None,
547 r#const: None,
548 known_values: None,
549 }),
550 );
551 map
552 },
553 }),
554 );
555 map
556 },
557 }
558}
559
560impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ActivitySubscription<'a> {
561 fn nsid() -> &'static str {
562 "app.bsky.notification.defs"
563 }
564 fn def_name() -> &'static str {
565 "activitySubscription"
566 }
567 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
568 lexicon_doc_app_bsky_notification_defs()
569 }
570 fn validate(
571 &self,
572 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
573 Ok(())
574 }
575}
576
577#[jacquard_derive::lexicon]
578#[derive(
579 serde::Serialize,
580 serde::Deserialize,
581 Debug,
582 Clone,
583 PartialEq,
584 Eq,
585 jacquard_derive::IntoStatic
586)]
587#[serde(rename_all = "camelCase")]
588pub struct ChatPreference<'a> {
589 #[serde(borrow)]
590 pub include: jacquard_common::CowStr<'a>,
591 pub push: bool,
592}
593
594pub mod chat_preference_state {
595
596 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
597 #[allow(unused)]
598 use ::core::marker::PhantomData;
599 mod sealed {
600 pub trait Sealed {}
601 }
602 pub trait State: sealed::Sealed {
604 type Include;
605 type Push;
606 }
607 pub struct Empty(());
609 impl sealed::Sealed for Empty {}
610 impl State for Empty {
611 type Include = Unset;
612 type Push = Unset;
613 }
614 pub struct SetInclude<S: State = Empty>(PhantomData<fn() -> S>);
616 impl<S: State> sealed::Sealed for SetInclude<S> {}
617 impl<S: State> State for SetInclude<S> {
618 type Include = Set<members::include>;
619 type Push = S::Push;
620 }
621 pub struct SetPush<S: State = Empty>(PhantomData<fn() -> S>);
623 impl<S: State> sealed::Sealed for SetPush<S> {}
624 impl<S: State> State for SetPush<S> {
625 type Include = S::Include;
626 type Push = Set<members::push>;
627 }
628 #[allow(non_camel_case_types)]
630 pub mod members {
631 pub struct include(());
633 pub struct push(());
635 }
636}
637
638pub struct ChatPreferenceBuilder<'a, S: chat_preference_state::State> {
640 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
641 __unsafe_private_named: (
642 ::core::option::Option<jacquard_common::CowStr<'a>>,
643 ::core::option::Option<bool>,
644 ),
645 _phantom: ::core::marker::PhantomData<&'a ()>,
646}
647
648impl<'a> ChatPreference<'a> {
649 pub fn new() -> ChatPreferenceBuilder<'a, chat_preference_state::Empty> {
651 ChatPreferenceBuilder::new()
652 }
653}
654
655impl<'a> ChatPreferenceBuilder<'a, chat_preference_state::Empty> {
656 pub fn new() -> Self {
658 ChatPreferenceBuilder {
659 _phantom_state: ::core::marker::PhantomData,
660 __unsafe_private_named: (None, None),
661 _phantom: ::core::marker::PhantomData,
662 }
663 }
664}
665
666impl<'a, S> ChatPreferenceBuilder<'a, S>
667where
668 S: chat_preference_state::State,
669 S::Include: chat_preference_state::IsUnset,
670{
671 pub fn include(
673 mut self,
674 value: impl Into<jacquard_common::CowStr<'a>>,
675 ) -> ChatPreferenceBuilder<'a, chat_preference_state::SetInclude<S>> {
676 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
677 ChatPreferenceBuilder {
678 _phantom_state: ::core::marker::PhantomData,
679 __unsafe_private_named: self.__unsafe_private_named,
680 _phantom: ::core::marker::PhantomData,
681 }
682 }
683}
684
685impl<'a, S> ChatPreferenceBuilder<'a, S>
686where
687 S: chat_preference_state::State,
688 S::Push: chat_preference_state::IsUnset,
689{
690 pub fn push(
692 mut self,
693 value: impl Into<bool>,
694 ) -> ChatPreferenceBuilder<'a, chat_preference_state::SetPush<S>> {
695 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
696 ChatPreferenceBuilder {
697 _phantom_state: ::core::marker::PhantomData,
698 __unsafe_private_named: self.__unsafe_private_named,
699 _phantom: ::core::marker::PhantomData,
700 }
701 }
702}
703
704impl<'a, S> ChatPreferenceBuilder<'a, S>
705where
706 S: chat_preference_state::State,
707 S::Include: chat_preference_state::IsSet,
708 S::Push: chat_preference_state::IsSet,
709{
710 pub fn build(self) -> ChatPreference<'a> {
712 ChatPreference {
713 include: self.__unsafe_private_named.0.unwrap(),
714 push: self.__unsafe_private_named.1.unwrap(),
715 extra_data: Default::default(),
716 }
717 }
718 pub fn build_with_data(
720 self,
721 extra_data: std::collections::BTreeMap<
722 jacquard_common::smol_str::SmolStr,
723 jacquard_common::types::value::Data<'a>,
724 >,
725 ) -> ChatPreference<'a> {
726 ChatPreference {
727 include: self.__unsafe_private_named.0.unwrap(),
728 push: self.__unsafe_private_named.1.unwrap(),
729 extra_data: Some(extra_data),
730 }
731 }
732}
733
734impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ChatPreference<'a> {
735 fn nsid() -> &'static str {
736 "app.bsky.notification.defs"
737 }
738 fn def_name() -> &'static str {
739 "chatPreference"
740 }
741 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
742 lexicon_doc_app_bsky_notification_defs()
743 }
744 fn validate(
745 &self,
746 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
747 Ok(())
748 }
749}
750
751#[jacquard_derive::lexicon]
752#[derive(
753 serde::Serialize,
754 serde::Deserialize,
755 Debug,
756 Clone,
757 PartialEq,
758 Eq,
759 jacquard_derive::IntoStatic
760)]
761#[serde(rename_all = "camelCase")]
762pub struct FilterablePreference<'a> {
763 #[serde(borrow)]
764 pub include: jacquard_common::CowStr<'a>,
765 pub list: bool,
766 pub push: bool,
767}
768
769pub mod filterable_preference_state {
770
771 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
772 #[allow(unused)]
773 use ::core::marker::PhantomData;
774 mod sealed {
775 pub trait Sealed {}
776 }
777 pub trait State: sealed::Sealed {
779 type Include;
780 type List;
781 type Push;
782 }
783 pub struct Empty(());
785 impl sealed::Sealed for Empty {}
786 impl State for Empty {
787 type Include = Unset;
788 type List = Unset;
789 type Push = Unset;
790 }
791 pub struct SetInclude<S: State = Empty>(PhantomData<fn() -> S>);
793 impl<S: State> sealed::Sealed for SetInclude<S> {}
794 impl<S: State> State for SetInclude<S> {
795 type Include = Set<members::include>;
796 type List = S::List;
797 type Push = S::Push;
798 }
799 pub struct SetList<S: State = Empty>(PhantomData<fn() -> S>);
801 impl<S: State> sealed::Sealed for SetList<S> {}
802 impl<S: State> State for SetList<S> {
803 type Include = S::Include;
804 type List = Set<members::list>;
805 type Push = S::Push;
806 }
807 pub struct SetPush<S: State = Empty>(PhantomData<fn() -> S>);
809 impl<S: State> sealed::Sealed for SetPush<S> {}
810 impl<S: State> State for SetPush<S> {
811 type Include = S::Include;
812 type List = S::List;
813 type Push = Set<members::push>;
814 }
815 #[allow(non_camel_case_types)]
817 pub mod members {
818 pub struct include(());
820 pub struct list(());
822 pub struct push(());
824 }
825}
826
827pub struct FilterablePreferenceBuilder<'a, S: filterable_preference_state::State> {
829 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
830 __unsafe_private_named: (
831 ::core::option::Option<jacquard_common::CowStr<'a>>,
832 ::core::option::Option<bool>,
833 ::core::option::Option<bool>,
834 ),
835 _phantom: ::core::marker::PhantomData<&'a ()>,
836}
837
838impl<'a> FilterablePreference<'a> {
839 pub fn new() -> FilterablePreferenceBuilder<'a, filterable_preference_state::Empty> {
841 FilterablePreferenceBuilder::new()
842 }
843}
844
845impl<'a> FilterablePreferenceBuilder<'a, filterable_preference_state::Empty> {
846 pub fn new() -> Self {
848 FilterablePreferenceBuilder {
849 _phantom_state: ::core::marker::PhantomData,
850 __unsafe_private_named: (None, None, None),
851 _phantom: ::core::marker::PhantomData,
852 }
853 }
854}
855
856impl<'a, S> FilterablePreferenceBuilder<'a, S>
857where
858 S: filterable_preference_state::State,
859 S::Include: filterable_preference_state::IsUnset,
860{
861 pub fn include(
863 mut self,
864 value: impl Into<jacquard_common::CowStr<'a>>,
865 ) -> FilterablePreferenceBuilder<'a, filterable_preference_state::SetInclude<S>> {
866 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
867 FilterablePreferenceBuilder {
868 _phantom_state: ::core::marker::PhantomData,
869 __unsafe_private_named: self.__unsafe_private_named,
870 _phantom: ::core::marker::PhantomData,
871 }
872 }
873}
874
875impl<'a, S> FilterablePreferenceBuilder<'a, S>
876where
877 S: filterable_preference_state::State,
878 S::List: filterable_preference_state::IsUnset,
879{
880 pub fn list(
882 mut self,
883 value: impl Into<bool>,
884 ) -> FilterablePreferenceBuilder<'a, filterable_preference_state::SetList<S>> {
885 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
886 FilterablePreferenceBuilder {
887 _phantom_state: ::core::marker::PhantomData,
888 __unsafe_private_named: self.__unsafe_private_named,
889 _phantom: ::core::marker::PhantomData,
890 }
891 }
892}
893
894impl<'a, S> FilterablePreferenceBuilder<'a, S>
895where
896 S: filterable_preference_state::State,
897 S::Push: filterable_preference_state::IsUnset,
898{
899 pub fn push(
901 mut self,
902 value: impl Into<bool>,
903 ) -> FilterablePreferenceBuilder<'a, filterable_preference_state::SetPush<S>> {
904 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
905 FilterablePreferenceBuilder {
906 _phantom_state: ::core::marker::PhantomData,
907 __unsafe_private_named: self.__unsafe_private_named,
908 _phantom: ::core::marker::PhantomData,
909 }
910 }
911}
912
913impl<'a, S> FilterablePreferenceBuilder<'a, S>
914where
915 S: filterable_preference_state::State,
916 S::Include: filterable_preference_state::IsSet,
917 S::List: filterable_preference_state::IsSet,
918 S::Push: filterable_preference_state::IsSet,
919{
920 pub fn build(self) -> FilterablePreference<'a> {
922 FilterablePreference {
923 include: self.__unsafe_private_named.0.unwrap(),
924 list: self.__unsafe_private_named.1.unwrap(),
925 push: self.__unsafe_private_named.2.unwrap(),
926 extra_data: Default::default(),
927 }
928 }
929 pub fn build_with_data(
931 self,
932 extra_data: std::collections::BTreeMap<
933 jacquard_common::smol_str::SmolStr,
934 jacquard_common::types::value::Data<'a>,
935 >,
936 ) -> FilterablePreference<'a> {
937 FilterablePreference {
938 include: self.__unsafe_private_named.0.unwrap(),
939 list: self.__unsafe_private_named.1.unwrap(),
940 push: self.__unsafe_private_named.2.unwrap(),
941 extra_data: Some(extra_data),
942 }
943 }
944}
945
946impl<'a> ::jacquard_lexicon::schema::LexiconSchema for FilterablePreference<'a> {
947 fn nsid() -> &'static str {
948 "app.bsky.notification.defs"
949 }
950 fn def_name() -> &'static str {
951 "filterablePreference"
952 }
953 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
954 lexicon_doc_app_bsky_notification_defs()
955 }
956 fn validate(
957 &self,
958 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
959 Ok(())
960 }
961}
962
963#[jacquard_derive::lexicon]
964#[derive(
965 serde::Serialize,
966 serde::Deserialize,
967 Debug,
968 Clone,
969 PartialEq,
970 Eq,
971 jacquard_derive::IntoStatic
972)]
973#[serde(rename_all = "camelCase")]
974pub struct Preference<'a> {
975 pub list: bool,
976 pub push: bool,
977}
978
979pub mod preference_state {
980
981 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
982 #[allow(unused)]
983 use ::core::marker::PhantomData;
984 mod sealed {
985 pub trait Sealed {}
986 }
987 pub trait State: sealed::Sealed {
989 type List;
990 type Push;
991 }
992 pub struct Empty(());
994 impl sealed::Sealed for Empty {}
995 impl State for Empty {
996 type List = Unset;
997 type Push = Unset;
998 }
999 pub struct SetList<S: State = Empty>(PhantomData<fn() -> S>);
1001 impl<S: State> sealed::Sealed for SetList<S> {}
1002 impl<S: State> State for SetList<S> {
1003 type List = Set<members::list>;
1004 type Push = S::Push;
1005 }
1006 pub struct SetPush<S: State = Empty>(PhantomData<fn() -> S>);
1008 impl<S: State> sealed::Sealed for SetPush<S> {}
1009 impl<S: State> State for SetPush<S> {
1010 type List = S::List;
1011 type Push = Set<members::push>;
1012 }
1013 #[allow(non_camel_case_types)]
1015 pub mod members {
1016 pub struct list(());
1018 pub struct push(());
1020 }
1021}
1022
1023pub struct PreferenceBuilder<'a, S: preference_state::State> {
1025 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
1026 __unsafe_private_named: (::core::option::Option<bool>, ::core::option::Option<bool>),
1027 _phantom: ::core::marker::PhantomData<&'a ()>,
1028}
1029
1030impl<'a> Preference<'a> {
1031 pub fn new() -> PreferenceBuilder<'a, preference_state::Empty> {
1033 PreferenceBuilder::new()
1034 }
1035}
1036
1037impl<'a> PreferenceBuilder<'a, preference_state::Empty> {
1038 pub fn new() -> Self {
1040 PreferenceBuilder {
1041 _phantom_state: ::core::marker::PhantomData,
1042 __unsafe_private_named: (None, None),
1043 _phantom: ::core::marker::PhantomData,
1044 }
1045 }
1046}
1047
1048impl<'a, S> PreferenceBuilder<'a, S>
1049where
1050 S: preference_state::State,
1051 S::List: preference_state::IsUnset,
1052{
1053 pub fn list(
1055 mut self,
1056 value: impl Into<bool>,
1057 ) -> PreferenceBuilder<'a, preference_state::SetList<S>> {
1058 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
1059 PreferenceBuilder {
1060 _phantom_state: ::core::marker::PhantomData,
1061 __unsafe_private_named: self.__unsafe_private_named,
1062 _phantom: ::core::marker::PhantomData,
1063 }
1064 }
1065}
1066
1067impl<'a, S> PreferenceBuilder<'a, S>
1068where
1069 S: preference_state::State,
1070 S::Push: preference_state::IsUnset,
1071{
1072 pub fn push(
1074 mut self,
1075 value: impl Into<bool>,
1076 ) -> PreferenceBuilder<'a, preference_state::SetPush<S>> {
1077 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
1078 PreferenceBuilder {
1079 _phantom_state: ::core::marker::PhantomData,
1080 __unsafe_private_named: self.__unsafe_private_named,
1081 _phantom: ::core::marker::PhantomData,
1082 }
1083 }
1084}
1085
1086impl<'a, S> PreferenceBuilder<'a, S>
1087where
1088 S: preference_state::State,
1089 S::List: preference_state::IsSet,
1090 S::Push: preference_state::IsSet,
1091{
1092 pub fn build(self) -> Preference<'a> {
1094 Preference {
1095 list: self.__unsafe_private_named.0.unwrap(),
1096 push: self.__unsafe_private_named.1.unwrap(),
1097 extra_data: Default::default(),
1098 }
1099 }
1100 pub fn build_with_data(
1102 self,
1103 extra_data: std::collections::BTreeMap<
1104 jacquard_common::smol_str::SmolStr,
1105 jacquard_common::types::value::Data<'a>,
1106 >,
1107 ) -> Preference<'a> {
1108 Preference {
1109 list: self.__unsafe_private_named.0.unwrap(),
1110 push: self.__unsafe_private_named.1.unwrap(),
1111 extra_data: Some(extra_data),
1112 }
1113 }
1114}
1115
1116impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Preference<'a> {
1117 fn nsid() -> &'static str {
1118 "app.bsky.notification.defs"
1119 }
1120 fn def_name() -> &'static str {
1121 "preference"
1122 }
1123 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1124 lexicon_doc_app_bsky_notification_defs()
1125 }
1126 fn validate(
1127 &self,
1128 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1129 Ok(())
1130 }
1131}
1132
1133#[jacquard_derive::lexicon]
1134#[derive(
1135 serde::Serialize,
1136 serde::Deserialize,
1137 Debug,
1138 Clone,
1139 PartialEq,
1140 Eq,
1141 jacquard_derive::IntoStatic
1142)]
1143#[serde(rename_all = "camelCase")]
1144pub struct Preferences<'a> {
1145 #[serde(borrow)]
1146 pub chat: crate::app_bsky::notification::ChatPreference<'a>,
1147 #[serde(borrow)]
1148 pub follow: crate::app_bsky::notification::FilterablePreference<'a>,
1149 #[serde(borrow)]
1150 pub like: crate::app_bsky::notification::FilterablePreference<'a>,
1151 #[serde(borrow)]
1152 pub like_via_repost: crate::app_bsky::notification::FilterablePreference<'a>,
1153 #[serde(borrow)]
1154 pub mention: crate::app_bsky::notification::FilterablePreference<'a>,
1155 #[serde(borrow)]
1156 pub quote: crate::app_bsky::notification::FilterablePreference<'a>,
1157 #[serde(borrow)]
1158 pub reply: crate::app_bsky::notification::FilterablePreference<'a>,
1159 #[serde(borrow)]
1160 pub repost: crate::app_bsky::notification::FilterablePreference<'a>,
1161 #[serde(borrow)]
1162 pub repost_via_repost: crate::app_bsky::notification::FilterablePreference<'a>,
1163 #[serde(borrow)]
1164 pub starterpack_joined: crate::app_bsky::notification::Preference<'a>,
1165 #[serde(borrow)]
1166 pub subscribed_post: crate::app_bsky::notification::Preference<'a>,
1167 #[serde(borrow)]
1168 pub unverified: crate::app_bsky::notification::Preference<'a>,
1169 #[serde(borrow)]
1170 pub verified: crate::app_bsky::notification::Preference<'a>,
1171}
1172
1173pub mod preferences_state {
1174
1175 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
1176 #[allow(unused)]
1177 use ::core::marker::PhantomData;
1178 mod sealed {
1179 pub trait Sealed {}
1180 }
1181 pub trait State: sealed::Sealed {
1183 type Chat;
1184 type Follow;
1185 type Like;
1186 type LikeViaRepost;
1187 type Mention;
1188 type Quote;
1189 type Reply;
1190 type Repost;
1191 type RepostViaRepost;
1192 type StarterpackJoined;
1193 type SubscribedPost;
1194 type Unverified;
1195 type Verified;
1196 }
1197 pub struct Empty(());
1199 impl sealed::Sealed for Empty {}
1200 impl State for Empty {
1201 type Chat = Unset;
1202 type Follow = Unset;
1203 type Like = Unset;
1204 type LikeViaRepost = Unset;
1205 type Mention = Unset;
1206 type Quote = Unset;
1207 type Reply = Unset;
1208 type Repost = Unset;
1209 type RepostViaRepost = Unset;
1210 type StarterpackJoined = Unset;
1211 type SubscribedPost = Unset;
1212 type Unverified = Unset;
1213 type Verified = Unset;
1214 }
1215 pub struct SetChat<S: State = Empty>(PhantomData<fn() -> S>);
1217 impl<S: State> sealed::Sealed for SetChat<S> {}
1218 impl<S: State> State for SetChat<S> {
1219 type Chat = Set<members::chat>;
1220 type Follow = S::Follow;
1221 type Like = S::Like;
1222 type LikeViaRepost = S::LikeViaRepost;
1223 type Mention = S::Mention;
1224 type Quote = S::Quote;
1225 type Reply = S::Reply;
1226 type Repost = S::Repost;
1227 type RepostViaRepost = S::RepostViaRepost;
1228 type StarterpackJoined = S::StarterpackJoined;
1229 type SubscribedPost = S::SubscribedPost;
1230 type Unverified = S::Unverified;
1231 type Verified = S::Verified;
1232 }
1233 pub struct SetFollow<S: State = Empty>(PhantomData<fn() -> S>);
1235 impl<S: State> sealed::Sealed for SetFollow<S> {}
1236 impl<S: State> State for SetFollow<S> {
1237 type Chat = S::Chat;
1238 type Follow = Set<members::follow>;
1239 type Like = S::Like;
1240 type LikeViaRepost = S::LikeViaRepost;
1241 type Mention = S::Mention;
1242 type Quote = S::Quote;
1243 type Reply = S::Reply;
1244 type Repost = S::Repost;
1245 type RepostViaRepost = S::RepostViaRepost;
1246 type StarterpackJoined = S::StarterpackJoined;
1247 type SubscribedPost = S::SubscribedPost;
1248 type Unverified = S::Unverified;
1249 type Verified = S::Verified;
1250 }
1251 pub struct SetLike<S: State = Empty>(PhantomData<fn() -> S>);
1253 impl<S: State> sealed::Sealed for SetLike<S> {}
1254 impl<S: State> State for SetLike<S> {
1255 type Chat = S::Chat;
1256 type Follow = S::Follow;
1257 type Like = Set<members::like>;
1258 type LikeViaRepost = S::LikeViaRepost;
1259 type Mention = S::Mention;
1260 type Quote = S::Quote;
1261 type Reply = S::Reply;
1262 type Repost = S::Repost;
1263 type RepostViaRepost = S::RepostViaRepost;
1264 type StarterpackJoined = S::StarterpackJoined;
1265 type SubscribedPost = S::SubscribedPost;
1266 type Unverified = S::Unverified;
1267 type Verified = S::Verified;
1268 }
1269 pub struct SetLikeViaRepost<S: State = Empty>(PhantomData<fn() -> S>);
1271 impl<S: State> sealed::Sealed for SetLikeViaRepost<S> {}
1272 impl<S: State> State for SetLikeViaRepost<S> {
1273 type Chat = S::Chat;
1274 type Follow = S::Follow;
1275 type Like = S::Like;
1276 type LikeViaRepost = Set<members::like_via_repost>;
1277 type Mention = S::Mention;
1278 type Quote = S::Quote;
1279 type Reply = S::Reply;
1280 type Repost = S::Repost;
1281 type RepostViaRepost = S::RepostViaRepost;
1282 type StarterpackJoined = S::StarterpackJoined;
1283 type SubscribedPost = S::SubscribedPost;
1284 type Unverified = S::Unverified;
1285 type Verified = S::Verified;
1286 }
1287 pub struct SetMention<S: State = Empty>(PhantomData<fn() -> S>);
1289 impl<S: State> sealed::Sealed for SetMention<S> {}
1290 impl<S: State> State for SetMention<S> {
1291 type Chat = S::Chat;
1292 type Follow = S::Follow;
1293 type Like = S::Like;
1294 type LikeViaRepost = S::LikeViaRepost;
1295 type Mention = Set<members::mention>;
1296 type Quote = S::Quote;
1297 type Reply = S::Reply;
1298 type Repost = S::Repost;
1299 type RepostViaRepost = S::RepostViaRepost;
1300 type StarterpackJoined = S::StarterpackJoined;
1301 type SubscribedPost = S::SubscribedPost;
1302 type Unverified = S::Unverified;
1303 type Verified = S::Verified;
1304 }
1305 pub struct SetQuote<S: State = Empty>(PhantomData<fn() -> S>);
1307 impl<S: State> sealed::Sealed for SetQuote<S> {}
1308 impl<S: State> State for SetQuote<S> {
1309 type Chat = S::Chat;
1310 type Follow = S::Follow;
1311 type Like = S::Like;
1312 type LikeViaRepost = S::LikeViaRepost;
1313 type Mention = S::Mention;
1314 type Quote = Set<members::quote>;
1315 type Reply = S::Reply;
1316 type Repost = S::Repost;
1317 type RepostViaRepost = S::RepostViaRepost;
1318 type StarterpackJoined = S::StarterpackJoined;
1319 type SubscribedPost = S::SubscribedPost;
1320 type Unverified = S::Unverified;
1321 type Verified = S::Verified;
1322 }
1323 pub struct SetReply<S: State = Empty>(PhantomData<fn() -> S>);
1325 impl<S: State> sealed::Sealed for SetReply<S> {}
1326 impl<S: State> State for SetReply<S> {
1327 type Chat = S::Chat;
1328 type Follow = S::Follow;
1329 type Like = S::Like;
1330 type LikeViaRepost = S::LikeViaRepost;
1331 type Mention = S::Mention;
1332 type Quote = S::Quote;
1333 type Reply = Set<members::reply>;
1334 type Repost = S::Repost;
1335 type RepostViaRepost = S::RepostViaRepost;
1336 type StarterpackJoined = S::StarterpackJoined;
1337 type SubscribedPost = S::SubscribedPost;
1338 type Unverified = S::Unverified;
1339 type Verified = S::Verified;
1340 }
1341 pub struct SetRepost<S: State = Empty>(PhantomData<fn() -> S>);
1343 impl<S: State> sealed::Sealed for SetRepost<S> {}
1344 impl<S: State> State for SetRepost<S> {
1345 type Chat = S::Chat;
1346 type Follow = S::Follow;
1347 type Like = S::Like;
1348 type LikeViaRepost = S::LikeViaRepost;
1349 type Mention = S::Mention;
1350 type Quote = S::Quote;
1351 type Reply = S::Reply;
1352 type Repost = Set<members::repost>;
1353 type RepostViaRepost = S::RepostViaRepost;
1354 type StarterpackJoined = S::StarterpackJoined;
1355 type SubscribedPost = S::SubscribedPost;
1356 type Unverified = S::Unverified;
1357 type Verified = S::Verified;
1358 }
1359 pub struct SetRepostViaRepost<S: State = Empty>(PhantomData<fn() -> S>);
1361 impl<S: State> sealed::Sealed for SetRepostViaRepost<S> {}
1362 impl<S: State> State for SetRepostViaRepost<S> {
1363 type Chat = S::Chat;
1364 type Follow = S::Follow;
1365 type Like = S::Like;
1366 type LikeViaRepost = S::LikeViaRepost;
1367 type Mention = S::Mention;
1368 type Quote = S::Quote;
1369 type Reply = S::Reply;
1370 type Repost = S::Repost;
1371 type RepostViaRepost = Set<members::repost_via_repost>;
1372 type StarterpackJoined = S::StarterpackJoined;
1373 type SubscribedPost = S::SubscribedPost;
1374 type Unverified = S::Unverified;
1375 type Verified = S::Verified;
1376 }
1377 pub struct SetStarterpackJoined<S: State = Empty>(PhantomData<fn() -> S>);
1379 impl<S: State> sealed::Sealed for SetStarterpackJoined<S> {}
1380 impl<S: State> State for SetStarterpackJoined<S> {
1381 type Chat = S::Chat;
1382 type Follow = S::Follow;
1383 type Like = S::Like;
1384 type LikeViaRepost = S::LikeViaRepost;
1385 type Mention = S::Mention;
1386 type Quote = S::Quote;
1387 type Reply = S::Reply;
1388 type Repost = S::Repost;
1389 type RepostViaRepost = S::RepostViaRepost;
1390 type StarterpackJoined = Set<members::starterpack_joined>;
1391 type SubscribedPost = S::SubscribedPost;
1392 type Unverified = S::Unverified;
1393 type Verified = S::Verified;
1394 }
1395 pub struct SetSubscribedPost<S: State = Empty>(PhantomData<fn() -> S>);
1397 impl<S: State> sealed::Sealed for SetSubscribedPost<S> {}
1398 impl<S: State> State for SetSubscribedPost<S> {
1399 type Chat = S::Chat;
1400 type Follow = S::Follow;
1401 type Like = S::Like;
1402 type LikeViaRepost = S::LikeViaRepost;
1403 type Mention = S::Mention;
1404 type Quote = S::Quote;
1405 type Reply = S::Reply;
1406 type Repost = S::Repost;
1407 type RepostViaRepost = S::RepostViaRepost;
1408 type StarterpackJoined = S::StarterpackJoined;
1409 type SubscribedPost = Set<members::subscribed_post>;
1410 type Unverified = S::Unverified;
1411 type Verified = S::Verified;
1412 }
1413 pub struct SetUnverified<S: State = Empty>(PhantomData<fn() -> S>);
1415 impl<S: State> sealed::Sealed for SetUnverified<S> {}
1416 impl<S: State> State for SetUnverified<S> {
1417 type Chat = S::Chat;
1418 type Follow = S::Follow;
1419 type Like = S::Like;
1420 type LikeViaRepost = S::LikeViaRepost;
1421 type Mention = S::Mention;
1422 type Quote = S::Quote;
1423 type Reply = S::Reply;
1424 type Repost = S::Repost;
1425 type RepostViaRepost = S::RepostViaRepost;
1426 type StarterpackJoined = S::StarterpackJoined;
1427 type SubscribedPost = S::SubscribedPost;
1428 type Unverified = Set<members::unverified>;
1429 type Verified = S::Verified;
1430 }
1431 pub struct SetVerified<S: State = Empty>(PhantomData<fn() -> S>);
1433 impl<S: State> sealed::Sealed for SetVerified<S> {}
1434 impl<S: State> State for SetVerified<S> {
1435 type Chat = S::Chat;
1436 type Follow = S::Follow;
1437 type Like = S::Like;
1438 type LikeViaRepost = S::LikeViaRepost;
1439 type Mention = S::Mention;
1440 type Quote = S::Quote;
1441 type Reply = S::Reply;
1442 type Repost = S::Repost;
1443 type RepostViaRepost = S::RepostViaRepost;
1444 type StarterpackJoined = S::StarterpackJoined;
1445 type SubscribedPost = S::SubscribedPost;
1446 type Unverified = S::Unverified;
1447 type Verified = Set<members::verified>;
1448 }
1449 #[allow(non_camel_case_types)]
1451 pub mod members {
1452 pub struct chat(());
1454 pub struct follow(());
1456 pub struct like(());
1458 pub struct like_via_repost(());
1460 pub struct mention(());
1462 pub struct quote(());
1464 pub struct reply(());
1466 pub struct repost(());
1468 pub struct repost_via_repost(());
1470 pub struct starterpack_joined(());
1472 pub struct subscribed_post(());
1474 pub struct unverified(());
1476 pub struct verified(());
1478 }
1479}
1480
1481pub struct PreferencesBuilder<'a, S: preferences_state::State> {
1483 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
1484 __unsafe_private_named: (
1485 ::core::option::Option<crate::app_bsky::notification::ChatPreference<'a>>,
1486 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1487 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1488 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1489 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1490 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1491 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1492 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1493 ::core::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>,
1494 ::core::option::Option<crate::app_bsky::notification::Preference<'a>>,
1495 ::core::option::Option<crate::app_bsky::notification::Preference<'a>>,
1496 ::core::option::Option<crate::app_bsky::notification::Preference<'a>>,
1497 ::core::option::Option<crate::app_bsky::notification::Preference<'a>>,
1498 ),
1499 _phantom: ::core::marker::PhantomData<&'a ()>,
1500}
1501
1502impl<'a> Preferences<'a> {
1503 pub fn new() -> PreferencesBuilder<'a, preferences_state::Empty> {
1505 PreferencesBuilder::new()
1506 }
1507}
1508
1509impl<'a> PreferencesBuilder<'a, preferences_state::Empty> {
1510 pub fn new() -> Self {
1512 PreferencesBuilder {
1513 _phantom_state: ::core::marker::PhantomData,
1514 __unsafe_private_named: (
1515 None,
1516 None,
1517 None,
1518 None,
1519 None,
1520 None,
1521 None,
1522 None,
1523 None,
1524 None,
1525 None,
1526 None,
1527 None,
1528 ),
1529 _phantom: ::core::marker::PhantomData,
1530 }
1531 }
1532}
1533
1534impl<'a, S> PreferencesBuilder<'a, S>
1535where
1536 S: preferences_state::State,
1537 S::Chat: preferences_state::IsUnset,
1538{
1539 pub fn chat(
1541 mut self,
1542 value: impl Into<crate::app_bsky::notification::ChatPreference<'a>>,
1543 ) -> PreferencesBuilder<'a, preferences_state::SetChat<S>> {
1544 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
1545 PreferencesBuilder {
1546 _phantom_state: ::core::marker::PhantomData,
1547 __unsafe_private_named: self.__unsafe_private_named,
1548 _phantom: ::core::marker::PhantomData,
1549 }
1550 }
1551}
1552
1553impl<'a, S> PreferencesBuilder<'a, S>
1554where
1555 S: preferences_state::State,
1556 S::Follow: preferences_state::IsUnset,
1557{
1558 pub fn follow(
1560 mut self,
1561 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1562 ) -> PreferencesBuilder<'a, preferences_state::SetFollow<S>> {
1563 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
1564 PreferencesBuilder {
1565 _phantom_state: ::core::marker::PhantomData,
1566 __unsafe_private_named: self.__unsafe_private_named,
1567 _phantom: ::core::marker::PhantomData,
1568 }
1569 }
1570}
1571
1572impl<'a, S> PreferencesBuilder<'a, S>
1573where
1574 S: preferences_state::State,
1575 S::Like: preferences_state::IsUnset,
1576{
1577 pub fn like(
1579 mut self,
1580 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1581 ) -> PreferencesBuilder<'a, preferences_state::SetLike<S>> {
1582 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
1583 PreferencesBuilder {
1584 _phantom_state: ::core::marker::PhantomData,
1585 __unsafe_private_named: self.__unsafe_private_named,
1586 _phantom: ::core::marker::PhantomData,
1587 }
1588 }
1589}
1590
1591impl<'a, S> PreferencesBuilder<'a, S>
1592where
1593 S: preferences_state::State,
1594 S::LikeViaRepost: preferences_state::IsUnset,
1595{
1596 pub fn like_via_repost(
1598 mut self,
1599 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1600 ) -> PreferencesBuilder<'a, preferences_state::SetLikeViaRepost<S>> {
1601 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
1602 PreferencesBuilder {
1603 _phantom_state: ::core::marker::PhantomData,
1604 __unsafe_private_named: self.__unsafe_private_named,
1605 _phantom: ::core::marker::PhantomData,
1606 }
1607 }
1608}
1609
1610impl<'a, S> PreferencesBuilder<'a, S>
1611where
1612 S: preferences_state::State,
1613 S::Mention: preferences_state::IsUnset,
1614{
1615 pub fn mention(
1617 mut self,
1618 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1619 ) -> PreferencesBuilder<'a, preferences_state::SetMention<S>> {
1620 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
1621 PreferencesBuilder {
1622 _phantom_state: ::core::marker::PhantomData,
1623 __unsafe_private_named: self.__unsafe_private_named,
1624 _phantom: ::core::marker::PhantomData,
1625 }
1626 }
1627}
1628
1629impl<'a, S> PreferencesBuilder<'a, S>
1630where
1631 S: preferences_state::State,
1632 S::Quote: preferences_state::IsUnset,
1633{
1634 pub fn quote(
1636 mut self,
1637 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1638 ) -> PreferencesBuilder<'a, preferences_state::SetQuote<S>> {
1639 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
1640 PreferencesBuilder {
1641 _phantom_state: ::core::marker::PhantomData,
1642 __unsafe_private_named: self.__unsafe_private_named,
1643 _phantom: ::core::marker::PhantomData,
1644 }
1645 }
1646}
1647
1648impl<'a, S> PreferencesBuilder<'a, S>
1649where
1650 S: preferences_state::State,
1651 S::Reply: preferences_state::IsUnset,
1652{
1653 pub fn reply(
1655 mut self,
1656 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1657 ) -> PreferencesBuilder<'a, preferences_state::SetReply<S>> {
1658 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
1659 PreferencesBuilder {
1660 _phantom_state: ::core::marker::PhantomData,
1661 __unsafe_private_named: self.__unsafe_private_named,
1662 _phantom: ::core::marker::PhantomData,
1663 }
1664 }
1665}
1666
1667impl<'a, S> PreferencesBuilder<'a, S>
1668where
1669 S: preferences_state::State,
1670 S::Repost: preferences_state::IsUnset,
1671{
1672 pub fn repost(
1674 mut self,
1675 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1676 ) -> PreferencesBuilder<'a, preferences_state::SetRepost<S>> {
1677 self.__unsafe_private_named.7 = ::core::option::Option::Some(value.into());
1678 PreferencesBuilder {
1679 _phantom_state: ::core::marker::PhantomData,
1680 __unsafe_private_named: self.__unsafe_private_named,
1681 _phantom: ::core::marker::PhantomData,
1682 }
1683 }
1684}
1685
1686impl<'a, S> PreferencesBuilder<'a, S>
1687where
1688 S: preferences_state::State,
1689 S::RepostViaRepost: preferences_state::IsUnset,
1690{
1691 pub fn repost_via_repost(
1693 mut self,
1694 value: impl Into<crate::app_bsky::notification::FilterablePreference<'a>>,
1695 ) -> PreferencesBuilder<'a, preferences_state::SetRepostViaRepost<S>> {
1696 self.__unsafe_private_named.8 = ::core::option::Option::Some(value.into());
1697 PreferencesBuilder {
1698 _phantom_state: ::core::marker::PhantomData,
1699 __unsafe_private_named: self.__unsafe_private_named,
1700 _phantom: ::core::marker::PhantomData,
1701 }
1702 }
1703}
1704
1705impl<'a, S> PreferencesBuilder<'a, S>
1706where
1707 S: preferences_state::State,
1708 S::StarterpackJoined: preferences_state::IsUnset,
1709{
1710 pub fn starterpack_joined(
1712 mut self,
1713 value: impl Into<crate::app_bsky::notification::Preference<'a>>,
1714 ) -> PreferencesBuilder<'a, preferences_state::SetStarterpackJoined<S>> {
1715 self.__unsafe_private_named.9 = ::core::option::Option::Some(value.into());
1716 PreferencesBuilder {
1717 _phantom_state: ::core::marker::PhantomData,
1718 __unsafe_private_named: self.__unsafe_private_named,
1719 _phantom: ::core::marker::PhantomData,
1720 }
1721 }
1722}
1723
1724impl<'a, S> PreferencesBuilder<'a, S>
1725where
1726 S: preferences_state::State,
1727 S::SubscribedPost: preferences_state::IsUnset,
1728{
1729 pub fn subscribed_post(
1731 mut self,
1732 value: impl Into<crate::app_bsky::notification::Preference<'a>>,
1733 ) -> PreferencesBuilder<'a, preferences_state::SetSubscribedPost<S>> {
1734 self.__unsafe_private_named.10 = ::core::option::Option::Some(value.into());
1735 PreferencesBuilder {
1736 _phantom_state: ::core::marker::PhantomData,
1737 __unsafe_private_named: self.__unsafe_private_named,
1738 _phantom: ::core::marker::PhantomData,
1739 }
1740 }
1741}
1742
1743impl<'a, S> PreferencesBuilder<'a, S>
1744where
1745 S: preferences_state::State,
1746 S::Unverified: preferences_state::IsUnset,
1747{
1748 pub fn unverified(
1750 mut self,
1751 value: impl Into<crate::app_bsky::notification::Preference<'a>>,
1752 ) -> PreferencesBuilder<'a, preferences_state::SetUnverified<S>> {
1753 self.__unsafe_private_named.11 = ::core::option::Option::Some(value.into());
1754 PreferencesBuilder {
1755 _phantom_state: ::core::marker::PhantomData,
1756 __unsafe_private_named: self.__unsafe_private_named,
1757 _phantom: ::core::marker::PhantomData,
1758 }
1759 }
1760}
1761
1762impl<'a, S> PreferencesBuilder<'a, S>
1763where
1764 S: preferences_state::State,
1765 S::Verified: preferences_state::IsUnset,
1766{
1767 pub fn verified(
1769 mut self,
1770 value: impl Into<crate::app_bsky::notification::Preference<'a>>,
1771 ) -> PreferencesBuilder<'a, preferences_state::SetVerified<S>> {
1772 self.__unsafe_private_named.12 = ::core::option::Option::Some(value.into());
1773 PreferencesBuilder {
1774 _phantom_state: ::core::marker::PhantomData,
1775 __unsafe_private_named: self.__unsafe_private_named,
1776 _phantom: ::core::marker::PhantomData,
1777 }
1778 }
1779}
1780
1781impl<'a, S> PreferencesBuilder<'a, S>
1782where
1783 S: preferences_state::State,
1784 S::Chat: preferences_state::IsSet,
1785 S::Follow: preferences_state::IsSet,
1786 S::Like: preferences_state::IsSet,
1787 S::LikeViaRepost: preferences_state::IsSet,
1788 S::Mention: preferences_state::IsSet,
1789 S::Quote: preferences_state::IsSet,
1790 S::Reply: preferences_state::IsSet,
1791 S::Repost: preferences_state::IsSet,
1792 S::RepostViaRepost: preferences_state::IsSet,
1793 S::StarterpackJoined: preferences_state::IsSet,
1794 S::SubscribedPost: preferences_state::IsSet,
1795 S::Unverified: preferences_state::IsSet,
1796 S::Verified: preferences_state::IsSet,
1797{
1798 pub fn build(self) -> Preferences<'a> {
1800 Preferences {
1801 chat: self.__unsafe_private_named.0.unwrap(),
1802 follow: self.__unsafe_private_named.1.unwrap(),
1803 like: self.__unsafe_private_named.2.unwrap(),
1804 like_via_repost: self.__unsafe_private_named.3.unwrap(),
1805 mention: self.__unsafe_private_named.4.unwrap(),
1806 quote: self.__unsafe_private_named.5.unwrap(),
1807 reply: self.__unsafe_private_named.6.unwrap(),
1808 repost: self.__unsafe_private_named.7.unwrap(),
1809 repost_via_repost: self.__unsafe_private_named.8.unwrap(),
1810 starterpack_joined: self.__unsafe_private_named.9.unwrap(),
1811 subscribed_post: self.__unsafe_private_named.10.unwrap(),
1812 unverified: self.__unsafe_private_named.11.unwrap(),
1813 verified: self.__unsafe_private_named.12.unwrap(),
1814 extra_data: Default::default(),
1815 }
1816 }
1817 pub fn build_with_data(
1819 self,
1820 extra_data: std::collections::BTreeMap<
1821 jacquard_common::smol_str::SmolStr,
1822 jacquard_common::types::value::Data<'a>,
1823 >,
1824 ) -> Preferences<'a> {
1825 Preferences {
1826 chat: self.__unsafe_private_named.0.unwrap(),
1827 follow: self.__unsafe_private_named.1.unwrap(),
1828 like: self.__unsafe_private_named.2.unwrap(),
1829 like_via_repost: self.__unsafe_private_named.3.unwrap(),
1830 mention: self.__unsafe_private_named.4.unwrap(),
1831 quote: self.__unsafe_private_named.5.unwrap(),
1832 reply: self.__unsafe_private_named.6.unwrap(),
1833 repost: self.__unsafe_private_named.7.unwrap(),
1834 repost_via_repost: self.__unsafe_private_named.8.unwrap(),
1835 starterpack_joined: self.__unsafe_private_named.9.unwrap(),
1836 subscribed_post: self.__unsafe_private_named.10.unwrap(),
1837 unverified: self.__unsafe_private_named.11.unwrap(),
1838 verified: self.__unsafe_private_named.12.unwrap(),
1839 extra_data: Some(extra_data),
1840 }
1841 }
1842}
1843
1844impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Preferences<'a> {
1845 fn nsid() -> &'static str {
1846 "app.bsky.notification.defs"
1847 }
1848 fn def_name() -> &'static str {
1849 "preferences"
1850 }
1851 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1852 lexicon_doc_app_bsky_notification_defs()
1853 }
1854 fn validate(
1855 &self,
1856 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1857 Ok(())
1858 }
1859}
1860
1861#[jacquard_derive::lexicon]
1862#[derive(
1863 serde::Serialize,
1864 serde::Deserialize,
1865 Debug,
1866 Clone,
1867 PartialEq,
1868 Eq,
1869 jacquard_derive::IntoStatic,
1870 Default
1871)]
1872#[serde(rename_all = "camelCase")]
1873pub struct RecordDeleted<'a> {}
1874impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordDeleted<'a> {
1875 fn nsid() -> &'static str {
1876 "app.bsky.notification.defs"
1877 }
1878 fn def_name() -> &'static str {
1879 "recordDeleted"
1880 }
1881 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1882 lexicon_doc_app_bsky_notification_defs()
1883 }
1884 fn validate(
1885 &self,
1886 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1887 Ok(())
1888 }
1889}
1890
1891#[jacquard_derive::lexicon]
1893#[derive(
1894 serde::Serialize,
1895 serde::Deserialize,
1896 Debug,
1897 Clone,
1898 PartialEq,
1899 Eq,
1900 jacquard_derive::IntoStatic
1901)]
1902#[serde(rename_all = "camelCase")]
1903pub struct SubjectActivitySubscription<'a> {
1904 #[serde(borrow)]
1905 pub activity_subscription: crate::app_bsky::notification::ActivitySubscription<'a>,
1906 #[serde(borrow)]
1907 pub subject: jacquard_common::types::string::Did<'a>,
1908}
1909
1910pub mod subject_activity_subscription_state {
1911
1912 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
1913 #[allow(unused)]
1914 use ::core::marker::PhantomData;
1915 mod sealed {
1916 pub trait Sealed {}
1917 }
1918 pub trait State: sealed::Sealed {
1920 type Subject;
1921 type ActivitySubscription;
1922 }
1923 pub struct Empty(());
1925 impl sealed::Sealed for Empty {}
1926 impl State for Empty {
1927 type Subject = Unset;
1928 type ActivitySubscription = Unset;
1929 }
1930 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
1932 impl<S: State> sealed::Sealed for SetSubject<S> {}
1933 impl<S: State> State for SetSubject<S> {
1934 type Subject = Set<members::subject>;
1935 type ActivitySubscription = S::ActivitySubscription;
1936 }
1937 pub struct SetActivitySubscription<S: State = Empty>(PhantomData<fn() -> S>);
1939 impl<S: State> sealed::Sealed for SetActivitySubscription<S> {}
1940 impl<S: State> State for SetActivitySubscription<S> {
1941 type Subject = S::Subject;
1942 type ActivitySubscription = Set<members::activity_subscription>;
1943 }
1944 #[allow(non_camel_case_types)]
1946 pub mod members {
1947 pub struct subject(());
1949 pub struct activity_subscription(());
1951 }
1952}
1953
1954pub struct SubjectActivitySubscriptionBuilder<
1956 'a,
1957 S: subject_activity_subscription_state::State,
1958> {
1959 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
1960 __unsafe_private_named: (
1961 ::core::option::Option<crate::app_bsky::notification::ActivitySubscription<'a>>,
1962 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
1963 ),
1964 _phantom: ::core::marker::PhantomData<&'a ()>,
1965}
1966
1967impl<'a> SubjectActivitySubscription<'a> {
1968 pub fn new() -> SubjectActivitySubscriptionBuilder<
1970 'a,
1971 subject_activity_subscription_state::Empty,
1972 > {
1973 SubjectActivitySubscriptionBuilder::new()
1974 }
1975}
1976
1977impl<
1978 'a,
1979> SubjectActivitySubscriptionBuilder<'a, subject_activity_subscription_state::Empty> {
1980 pub fn new() -> Self {
1982 SubjectActivitySubscriptionBuilder {
1983 _phantom_state: ::core::marker::PhantomData,
1984 __unsafe_private_named: (None, None),
1985 _phantom: ::core::marker::PhantomData,
1986 }
1987 }
1988}
1989
1990impl<'a, S> SubjectActivitySubscriptionBuilder<'a, S>
1991where
1992 S: subject_activity_subscription_state::State,
1993 S::ActivitySubscription: subject_activity_subscription_state::IsUnset,
1994{
1995 pub fn activity_subscription(
1997 mut self,
1998 value: impl Into<crate::app_bsky::notification::ActivitySubscription<'a>>,
1999 ) -> SubjectActivitySubscriptionBuilder<
2000 'a,
2001 subject_activity_subscription_state::SetActivitySubscription<S>,
2002 > {
2003 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
2004 SubjectActivitySubscriptionBuilder {
2005 _phantom_state: ::core::marker::PhantomData,
2006 __unsafe_private_named: self.__unsafe_private_named,
2007 _phantom: ::core::marker::PhantomData,
2008 }
2009 }
2010}
2011
2012impl<'a, S> SubjectActivitySubscriptionBuilder<'a, S>
2013where
2014 S: subject_activity_subscription_state::State,
2015 S::Subject: subject_activity_subscription_state::IsUnset,
2016{
2017 pub fn subject(
2019 mut self,
2020 value: impl Into<jacquard_common::types::string::Did<'a>>,
2021 ) -> SubjectActivitySubscriptionBuilder<
2022 'a,
2023 subject_activity_subscription_state::SetSubject<S>,
2024 > {
2025 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
2026 SubjectActivitySubscriptionBuilder {
2027 _phantom_state: ::core::marker::PhantomData,
2028 __unsafe_private_named: self.__unsafe_private_named,
2029 _phantom: ::core::marker::PhantomData,
2030 }
2031 }
2032}
2033
2034impl<'a, S> SubjectActivitySubscriptionBuilder<'a, S>
2035where
2036 S: subject_activity_subscription_state::State,
2037 S::Subject: subject_activity_subscription_state::IsSet,
2038 S::ActivitySubscription: subject_activity_subscription_state::IsSet,
2039{
2040 pub fn build(self) -> SubjectActivitySubscription<'a> {
2042 SubjectActivitySubscription {
2043 activity_subscription: self.__unsafe_private_named.0.unwrap(),
2044 subject: self.__unsafe_private_named.1.unwrap(),
2045 extra_data: Default::default(),
2046 }
2047 }
2048 pub fn build_with_data(
2050 self,
2051 extra_data: std::collections::BTreeMap<
2052 jacquard_common::smol_str::SmolStr,
2053 jacquard_common::types::value::Data<'a>,
2054 >,
2055 ) -> SubjectActivitySubscription<'a> {
2056 SubjectActivitySubscription {
2057 activity_subscription: self.__unsafe_private_named.0.unwrap(),
2058 subject: self.__unsafe_private_named.1.unwrap(),
2059 extra_data: Some(extra_data),
2060 }
2061 }
2062}
2063
2064impl<'a> ::jacquard_lexicon::schema::LexiconSchema for SubjectActivitySubscription<'a> {
2065 fn nsid() -> &'static str {
2066 "app.bsky.notification.defs"
2067 }
2068 fn def_name() -> &'static str {
2069 "subjectActivitySubscription"
2070 }
2071 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
2072 lexicon_doc_app_bsky_notification_defs()
2073 }
2074 fn validate(
2075 &self,
2076 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
2077 Ok(())
2078 }
2079}