jacquard_api/com_atproto/
admin.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.admin.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod delete_account;
9pub mod disable_account_invites;
10pub mod disable_invite_codes;
11pub mod enable_account_invites;
12pub mod get_account_info;
13pub mod get_account_infos;
14pub mod get_invite_codes;
15pub mod get_subject_status;
16pub mod search_accounts;
17pub mod send_email;
18pub mod update_account_email;
19pub mod update_account_handle;
20pub mod update_account_password;
21pub mod update_account_signing_key;
22pub mod update_subject_status;
23
24#[jacquard_derive::lexicon]
25#[derive(
26    serde::Serialize,
27    serde::Deserialize,
28    Debug,
29    Clone,
30    PartialEq,
31    Eq,
32    jacquard_derive::IntoStatic
33)]
34#[serde(rename_all = "camelCase")]
35pub struct AccountView<'a> {
36    #[serde(skip_serializing_if = "std::option::Option::is_none")]
37    pub deactivated_at: Option<jacquard_common::types::string::Datetime>,
38    #[serde(borrow)]
39    pub did: jacquard_common::types::string::Did<'a>,
40    #[serde(skip_serializing_if = "std::option::Option::is_none")]
41    #[serde(borrow)]
42    pub email: Option<jacquard_common::CowStr<'a>>,
43    #[serde(skip_serializing_if = "std::option::Option::is_none")]
44    pub email_confirmed_at: Option<jacquard_common::types::string::Datetime>,
45    #[serde(borrow)]
46    pub handle: jacquard_common::types::string::Handle<'a>,
47    pub indexed_at: jacquard_common::types::string::Datetime,
48    #[serde(skip_serializing_if = "std::option::Option::is_none")]
49    #[serde(borrow)]
50    pub invite_note: Option<jacquard_common::CowStr<'a>>,
51    #[serde(skip_serializing_if = "std::option::Option::is_none")]
52    #[serde(borrow)]
53    pub invited_by: Option<crate::com_atproto::server::InviteCode<'a>>,
54    #[serde(skip_serializing_if = "std::option::Option::is_none")]
55    #[serde(borrow)]
56    pub invites: Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
57    #[serde(skip_serializing_if = "std::option::Option::is_none")]
58    pub invites_disabled: Option<bool>,
59    #[serde(skip_serializing_if = "std::option::Option::is_none")]
60    #[serde(borrow)]
61    pub related_records: Option<Vec<jacquard_common::types::value::Data<'a>>>,
62    #[serde(skip_serializing_if = "std::option::Option::is_none")]
63    #[serde(borrow)]
64    pub threat_signatures: Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
65}
66
67pub mod account_view_state {
68
69    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
70    #[allow(unused)]
71    use ::core::marker::PhantomData;
72    mod sealed {
73        pub trait Sealed {}
74    }
75    /// State trait tracking which required fields have been set
76    pub trait State: sealed::Sealed {
77        type Did;
78        type Handle;
79        type IndexedAt;
80    }
81    /// Empty state - all required fields are unset
82    pub struct Empty(());
83    impl sealed::Sealed for Empty {}
84    impl State for Empty {
85        type Did = Unset;
86        type Handle = Unset;
87        type IndexedAt = Unset;
88    }
89    ///State transition - sets the `did` field to Set
90    pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
91    impl<S: State> sealed::Sealed for SetDid<S> {}
92    impl<S: State> State for SetDid<S> {
93        type Did = Set<members::did>;
94        type Handle = S::Handle;
95        type IndexedAt = S::IndexedAt;
96    }
97    ///State transition - sets the `handle` field to Set
98    pub struct SetHandle<S: State = Empty>(PhantomData<fn() -> S>);
99    impl<S: State> sealed::Sealed for SetHandle<S> {}
100    impl<S: State> State for SetHandle<S> {
101        type Did = S::Did;
102        type Handle = Set<members::handle>;
103        type IndexedAt = S::IndexedAt;
104    }
105    ///State transition - sets the `indexed_at` field to Set
106    pub struct SetIndexedAt<S: State = Empty>(PhantomData<fn() -> S>);
107    impl<S: State> sealed::Sealed for SetIndexedAt<S> {}
108    impl<S: State> State for SetIndexedAt<S> {
109        type Did = S::Did;
110        type Handle = S::Handle;
111        type IndexedAt = Set<members::indexed_at>;
112    }
113    /// Marker types for field names
114    #[allow(non_camel_case_types)]
115    pub mod members {
116        ///Marker type for the `did` field
117        pub struct did(());
118        ///Marker type for the `handle` field
119        pub struct handle(());
120        ///Marker type for the `indexed_at` field
121        pub struct indexed_at(());
122    }
123}
124
125/// Builder for constructing an instance of this type
126pub struct AccountViewBuilder<'a, S: account_view_state::State> {
127    _phantom_state: ::core::marker::PhantomData<fn() -> S>,
128    __unsafe_private_named: (
129        ::core::option::Option<jacquard_common::types::string::Datetime>,
130        ::core::option::Option<jacquard_common::types::string::Did<'a>>,
131        ::core::option::Option<jacquard_common::CowStr<'a>>,
132        ::core::option::Option<jacquard_common::types::string::Datetime>,
133        ::core::option::Option<jacquard_common::types::string::Handle<'a>>,
134        ::core::option::Option<jacquard_common::types::string::Datetime>,
135        ::core::option::Option<jacquard_common::CowStr<'a>>,
136        ::core::option::Option<crate::com_atproto::server::InviteCode<'a>>,
137        ::core::option::Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
138        ::core::option::Option<bool>,
139        ::core::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
140        ::core::option::Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
141    ),
142    _phantom: ::core::marker::PhantomData<&'a ()>,
143}
144
145impl<'a> AccountView<'a> {
146    /// Create a new builder for this type
147    pub fn new() -> AccountViewBuilder<'a, account_view_state::Empty> {
148        AccountViewBuilder::new()
149    }
150}
151
152impl<'a> AccountViewBuilder<'a, account_view_state::Empty> {
153    /// Create a new builder with all fields unset
154    pub fn new() -> Self {
155        AccountViewBuilder {
156            _phantom_state: ::core::marker::PhantomData,
157            __unsafe_private_named: (
158                None,
159                None,
160                None,
161                None,
162                None,
163                None,
164                None,
165                None,
166                None,
167                None,
168                None,
169                None,
170            ),
171            _phantom: ::core::marker::PhantomData,
172        }
173    }
174}
175
176impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
177    /// Set the `deactivatedAt` field (optional)
178    pub fn deactivated_at(
179        mut self,
180        value: impl Into<Option<jacquard_common::types::string::Datetime>>,
181    ) -> Self {
182        self.__unsafe_private_named.0 = value.into();
183        self
184    }
185    /// Set the `deactivatedAt` field to an Option value (optional)
186    pub fn maybe_deactivated_at(
187        mut self,
188        value: Option<jacquard_common::types::string::Datetime>,
189    ) -> Self {
190        self.__unsafe_private_named.0 = value;
191        self
192    }
193}
194
195impl<'a, S> AccountViewBuilder<'a, S>
196where
197    S: account_view_state::State,
198    S::Did: account_view_state::IsUnset,
199{
200    /// Set the `did` field (required)
201    pub fn did(
202        mut self,
203        value: impl Into<jacquard_common::types::string::Did<'a>>,
204    ) -> AccountViewBuilder<'a, account_view_state::SetDid<S>> {
205        self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
206        AccountViewBuilder {
207            _phantom_state: ::core::marker::PhantomData,
208            __unsafe_private_named: self.__unsafe_private_named,
209            _phantom: ::core::marker::PhantomData,
210        }
211    }
212}
213
214impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
215    /// Set the `email` field (optional)
216    pub fn email(
217        mut self,
218        value: impl Into<Option<jacquard_common::CowStr<'a>>>,
219    ) -> Self {
220        self.__unsafe_private_named.2 = value.into();
221        self
222    }
223    /// Set the `email` field to an Option value (optional)
224    pub fn maybe_email(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
225        self.__unsafe_private_named.2 = value;
226        self
227    }
228}
229
230impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
231    /// Set the `emailConfirmedAt` field (optional)
232    pub fn email_confirmed_at(
233        mut self,
234        value: impl Into<Option<jacquard_common::types::string::Datetime>>,
235    ) -> Self {
236        self.__unsafe_private_named.3 = value.into();
237        self
238    }
239    /// Set the `emailConfirmedAt` field to an Option value (optional)
240    pub fn maybe_email_confirmed_at(
241        mut self,
242        value: Option<jacquard_common::types::string::Datetime>,
243    ) -> Self {
244        self.__unsafe_private_named.3 = value;
245        self
246    }
247}
248
249impl<'a, S> AccountViewBuilder<'a, S>
250where
251    S: account_view_state::State,
252    S::Handle: account_view_state::IsUnset,
253{
254    /// Set the `handle` field (required)
255    pub fn handle(
256        mut self,
257        value: impl Into<jacquard_common::types::string::Handle<'a>>,
258    ) -> AccountViewBuilder<'a, account_view_state::SetHandle<S>> {
259        self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
260        AccountViewBuilder {
261            _phantom_state: ::core::marker::PhantomData,
262            __unsafe_private_named: self.__unsafe_private_named,
263            _phantom: ::core::marker::PhantomData,
264        }
265    }
266}
267
268impl<'a, S> AccountViewBuilder<'a, S>
269where
270    S: account_view_state::State,
271    S::IndexedAt: account_view_state::IsUnset,
272{
273    /// Set the `indexedAt` field (required)
274    pub fn indexed_at(
275        mut self,
276        value: impl Into<jacquard_common::types::string::Datetime>,
277    ) -> AccountViewBuilder<'a, account_view_state::SetIndexedAt<S>> {
278        self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
279        AccountViewBuilder {
280            _phantom_state: ::core::marker::PhantomData,
281            __unsafe_private_named: self.__unsafe_private_named,
282            _phantom: ::core::marker::PhantomData,
283        }
284    }
285}
286
287impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
288    /// Set the `inviteNote` field (optional)
289    pub fn invite_note(
290        mut self,
291        value: impl Into<Option<jacquard_common::CowStr<'a>>>,
292    ) -> Self {
293        self.__unsafe_private_named.6 = value.into();
294        self
295    }
296    /// Set the `inviteNote` field to an Option value (optional)
297    pub fn maybe_invite_note(
298        mut self,
299        value: Option<jacquard_common::CowStr<'a>>,
300    ) -> Self {
301        self.__unsafe_private_named.6 = value;
302        self
303    }
304}
305
306impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
307    /// Set the `invitedBy` field (optional)
308    pub fn invited_by(
309        mut self,
310        value: impl Into<Option<crate::com_atproto::server::InviteCode<'a>>>,
311    ) -> Self {
312        self.__unsafe_private_named.7 = value.into();
313        self
314    }
315    /// Set the `invitedBy` field to an Option value (optional)
316    pub fn maybe_invited_by(
317        mut self,
318        value: Option<crate::com_atproto::server::InviteCode<'a>>,
319    ) -> Self {
320        self.__unsafe_private_named.7 = value;
321        self
322    }
323}
324
325impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
326    /// Set the `invites` field (optional)
327    pub fn invites(
328        mut self,
329        value: impl Into<Option<Vec<crate::com_atproto::server::InviteCode<'a>>>>,
330    ) -> Self {
331        self.__unsafe_private_named.8 = value.into();
332        self
333    }
334    /// Set the `invites` field to an Option value (optional)
335    pub fn maybe_invites(
336        mut self,
337        value: Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
338    ) -> Self {
339        self.__unsafe_private_named.8 = value;
340        self
341    }
342}
343
344impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
345    /// Set the `invitesDisabled` field (optional)
346    pub fn invites_disabled(mut self, value: impl Into<Option<bool>>) -> Self {
347        self.__unsafe_private_named.9 = value.into();
348        self
349    }
350    /// Set the `invitesDisabled` field to an Option value (optional)
351    pub fn maybe_invites_disabled(mut self, value: Option<bool>) -> Self {
352        self.__unsafe_private_named.9 = value;
353        self
354    }
355}
356
357impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
358    /// Set the `relatedRecords` field (optional)
359    pub fn related_records(
360        mut self,
361        value: impl Into<Option<Vec<jacquard_common::types::value::Data<'a>>>>,
362    ) -> Self {
363        self.__unsafe_private_named.10 = value.into();
364        self
365    }
366    /// Set the `relatedRecords` field to an Option value (optional)
367    pub fn maybe_related_records(
368        mut self,
369        value: Option<Vec<jacquard_common::types::value::Data<'a>>>,
370    ) -> Self {
371        self.__unsafe_private_named.10 = value;
372        self
373    }
374}
375
376impl<'a, S: account_view_state::State> AccountViewBuilder<'a, S> {
377    /// Set the `threatSignatures` field (optional)
378    pub fn threat_signatures(
379        mut self,
380        value: impl Into<Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>>,
381    ) -> Self {
382        self.__unsafe_private_named.11 = value.into();
383        self
384    }
385    /// Set the `threatSignatures` field to an Option value (optional)
386    pub fn maybe_threat_signatures(
387        mut self,
388        value: Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
389    ) -> Self {
390        self.__unsafe_private_named.11 = value;
391        self
392    }
393}
394
395impl<'a, S> AccountViewBuilder<'a, S>
396where
397    S: account_view_state::State,
398    S::Did: account_view_state::IsSet,
399    S::Handle: account_view_state::IsSet,
400    S::IndexedAt: account_view_state::IsSet,
401{
402    /// Build the final struct
403    pub fn build(self) -> AccountView<'a> {
404        AccountView {
405            deactivated_at: self.__unsafe_private_named.0,
406            did: self.__unsafe_private_named.1.unwrap(),
407            email: self.__unsafe_private_named.2,
408            email_confirmed_at: self.__unsafe_private_named.3,
409            handle: self.__unsafe_private_named.4.unwrap(),
410            indexed_at: self.__unsafe_private_named.5.unwrap(),
411            invite_note: self.__unsafe_private_named.6,
412            invited_by: self.__unsafe_private_named.7,
413            invites: self.__unsafe_private_named.8,
414            invites_disabled: self.__unsafe_private_named.9,
415            related_records: self.__unsafe_private_named.10,
416            threat_signatures: self.__unsafe_private_named.11,
417            extra_data: Default::default(),
418        }
419    }
420    /// Build the final struct with custom extra_data
421    pub fn build_with_data(
422        self,
423        extra_data: std::collections::BTreeMap<
424            jacquard_common::smol_str::SmolStr,
425            jacquard_common::types::value::Data<'a>,
426        >,
427    ) -> AccountView<'a> {
428        AccountView {
429            deactivated_at: self.__unsafe_private_named.0,
430            did: self.__unsafe_private_named.1.unwrap(),
431            email: self.__unsafe_private_named.2,
432            email_confirmed_at: self.__unsafe_private_named.3,
433            handle: self.__unsafe_private_named.4.unwrap(),
434            indexed_at: self.__unsafe_private_named.5.unwrap(),
435            invite_note: self.__unsafe_private_named.6,
436            invited_by: self.__unsafe_private_named.7,
437            invites: self.__unsafe_private_named.8,
438            invites_disabled: self.__unsafe_private_named.9,
439            related_records: self.__unsafe_private_named.10,
440            threat_signatures: self.__unsafe_private_named.11,
441            extra_data: Some(extra_data),
442        }
443    }
444}
445
446fn lexicon_doc_com_atproto_admin_defs() -> ::jacquard_lexicon::lexicon::LexiconDoc<
447    'static,
448> {
449    ::jacquard_lexicon::lexicon::LexiconDoc {
450        lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
451        id: ::jacquard_common::CowStr::new_static("com.atproto.admin.defs"),
452        revision: None,
453        description: None,
454        defs: {
455            let mut map = ::std::collections::BTreeMap::new();
456            map.insert(
457                ::jacquard_common::smol_str::SmolStr::new_static("accountView"),
458                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
459                    description: None,
460                    required: Some(
461                        vec![
462                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
463                            ::jacquard_common::smol_str::SmolStr::new_static("handle"),
464                            ::jacquard_common::smol_str::SmolStr::new_static("indexedAt")
465                        ],
466                    ),
467                    nullable: None,
468                    properties: {
469                        #[allow(unused_mut)]
470                        let mut map = ::std::collections::BTreeMap::new();
471                        map.insert(
472                            ::jacquard_common::smol_str::SmolStr::new_static(
473                                "deactivatedAt",
474                            ),
475                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
476                                description: None,
477                                format: Some(
478                                    ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
479                                ),
480                                default: None,
481                                min_length: None,
482                                max_length: None,
483                                min_graphemes: None,
484                                max_graphemes: None,
485                                r#enum: None,
486                                r#const: None,
487                                known_values: None,
488                            }),
489                        );
490                        map.insert(
491                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
492                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
493                                description: None,
494                                format: Some(
495                                    ::jacquard_lexicon::lexicon::LexStringFormat::Did,
496                                ),
497                                default: None,
498                                min_length: None,
499                                max_length: None,
500                                min_graphemes: None,
501                                max_graphemes: None,
502                                r#enum: None,
503                                r#const: None,
504                                known_values: None,
505                            }),
506                        );
507                        map.insert(
508                            ::jacquard_common::smol_str::SmolStr::new_static("email"),
509                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
510                                description: None,
511                                format: None,
512                                default: None,
513                                min_length: None,
514                                max_length: None,
515                                min_graphemes: None,
516                                max_graphemes: None,
517                                r#enum: None,
518                                r#const: None,
519                                known_values: None,
520                            }),
521                        );
522                        map.insert(
523                            ::jacquard_common::smol_str::SmolStr::new_static(
524                                "emailConfirmedAt",
525                            ),
526                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
527                                description: None,
528                                format: Some(
529                                    ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
530                                ),
531                                default: None,
532                                min_length: None,
533                                max_length: None,
534                                min_graphemes: None,
535                                max_graphemes: None,
536                                r#enum: None,
537                                r#const: None,
538                                known_values: None,
539                            }),
540                        );
541                        map.insert(
542                            ::jacquard_common::smol_str::SmolStr::new_static("handle"),
543                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
544                                description: None,
545                                format: Some(
546                                    ::jacquard_lexicon::lexicon::LexStringFormat::Handle,
547                                ),
548                                default: None,
549                                min_length: None,
550                                max_length: None,
551                                min_graphemes: None,
552                                max_graphemes: None,
553                                r#enum: None,
554                                r#const: None,
555                                known_values: None,
556                            }),
557                        );
558                        map.insert(
559                            ::jacquard_common::smol_str::SmolStr::new_static(
560                                "indexedAt",
561                            ),
562                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
563                                description: None,
564                                format: Some(
565                                    ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
566                                ),
567                                default: None,
568                                min_length: None,
569                                max_length: None,
570                                min_graphemes: None,
571                                max_graphemes: None,
572                                r#enum: None,
573                                r#const: None,
574                                known_values: None,
575                            }),
576                        );
577                        map.insert(
578                            ::jacquard_common::smol_str::SmolStr::new_static(
579                                "inviteNote",
580                            ),
581                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
582                                description: None,
583                                format: None,
584                                default: None,
585                                min_length: None,
586                                max_length: None,
587                                min_graphemes: None,
588                                max_graphemes: None,
589                                r#enum: None,
590                                r#const: None,
591                                known_values: None,
592                            }),
593                        );
594                        map.insert(
595                            ::jacquard_common::smol_str::SmolStr::new_static(
596                                "invitedBy",
597                            ),
598                            ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
599                                description: None,
600                                r#ref: ::jacquard_common::CowStr::new_static(
601                                    "com.atproto.server.defs#inviteCode",
602                                ),
603                            }),
604                        );
605                        map.insert(
606                            ::jacquard_common::smol_str::SmolStr::new_static("invites"),
607                            ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
608                                description: None,
609                                items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
610                                    description: None,
611                                    r#ref: ::jacquard_common::CowStr::new_static(
612                                        "com.atproto.server.defs#inviteCode",
613                                    ),
614                                }),
615                                min_length: None,
616                                max_length: None,
617                            }),
618                        );
619                        map.insert(
620                            ::jacquard_common::smol_str::SmolStr::new_static(
621                                "invitesDisabled",
622                            ),
623                            ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
624                                description: None,
625                                default: None,
626                                r#const: None,
627                            }),
628                        );
629                        map.insert(
630                            ::jacquard_common::smol_str::SmolStr::new_static(
631                                "relatedRecords",
632                            ),
633                            ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
634                                description: None,
635                                items: ::jacquard_lexicon::lexicon::LexArrayItem::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
636                                    description: None,
637                                }),
638                                min_length: None,
639                                max_length: None,
640                            }),
641                        );
642                        map.insert(
643                            ::jacquard_common::smol_str::SmolStr::new_static(
644                                "threatSignatures",
645                            ),
646                            ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
647                                description: None,
648                                items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
649                                    description: None,
650                                    r#ref: ::jacquard_common::CowStr::new_static(
651                                        "#threatSignature",
652                                    ),
653                                }),
654                                min_length: None,
655                                max_length: None,
656                            }),
657                        );
658                        map
659                    },
660                }),
661            );
662            map.insert(
663                ::jacquard_common::smol_str::SmolStr::new_static("repoBlobRef"),
664                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
665                    description: None,
666                    required: Some(
667                        vec![
668                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
669                            ::jacquard_common::smol_str::SmolStr::new_static("cid")
670                        ],
671                    ),
672                    nullable: None,
673                    properties: {
674                        #[allow(unused_mut)]
675                        let mut map = ::std::collections::BTreeMap::new();
676                        map.insert(
677                            ::jacquard_common::smol_str::SmolStr::new_static("cid"),
678                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
679                                description: None,
680                                format: Some(
681                                    ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
682                                ),
683                                default: None,
684                                min_length: None,
685                                max_length: None,
686                                min_graphemes: None,
687                                max_graphemes: None,
688                                r#enum: None,
689                                r#const: None,
690                                known_values: None,
691                            }),
692                        );
693                        map.insert(
694                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
695                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
696                                description: None,
697                                format: Some(
698                                    ::jacquard_lexicon::lexicon::LexStringFormat::Did,
699                                ),
700                                default: None,
701                                min_length: None,
702                                max_length: None,
703                                min_graphemes: None,
704                                max_graphemes: None,
705                                r#enum: None,
706                                r#const: None,
707                                known_values: None,
708                            }),
709                        );
710                        map.insert(
711                            ::jacquard_common::smol_str::SmolStr::new_static(
712                                "recordUri",
713                            ),
714                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
715                                description: None,
716                                format: Some(
717                                    ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
718                                ),
719                                default: None,
720                                min_length: None,
721                                max_length: None,
722                                min_graphemes: None,
723                                max_graphemes: None,
724                                r#enum: None,
725                                r#const: None,
726                                known_values: None,
727                            }),
728                        );
729                        map
730                    },
731                }),
732            );
733            map.insert(
734                ::jacquard_common::smol_str::SmolStr::new_static("repoRef"),
735                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
736                    description: None,
737                    required: Some(
738                        vec![::jacquard_common::smol_str::SmolStr::new_static("did")],
739                    ),
740                    nullable: None,
741                    properties: {
742                        #[allow(unused_mut)]
743                        let mut map = ::std::collections::BTreeMap::new();
744                        map.insert(
745                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
746                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
747                                description: None,
748                                format: Some(
749                                    ::jacquard_lexicon::lexicon::LexStringFormat::Did,
750                                ),
751                                default: None,
752                                min_length: None,
753                                max_length: None,
754                                min_graphemes: None,
755                                max_graphemes: None,
756                                r#enum: None,
757                                r#const: None,
758                                known_values: None,
759                            }),
760                        );
761                        map
762                    },
763                }),
764            );
765            map.insert(
766                ::jacquard_common::smol_str::SmolStr::new_static("statusAttr"),
767                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
768                    description: None,
769                    required: Some(
770                        vec![::jacquard_common::smol_str::SmolStr::new_static("applied")],
771                    ),
772                    nullable: None,
773                    properties: {
774                        #[allow(unused_mut)]
775                        let mut map = ::std::collections::BTreeMap::new();
776                        map.insert(
777                            ::jacquard_common::smol_str::SmolStr::new_static("applied"),
778                            ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
779                                description: None,
780                                default: None,
781                                r#const: None,
782                            }),
783                        );
784                        map.insert(
785                            ::jacquard_common::smol_str::SmolStr::new_static("ref"),
786                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
787                                description: None,
788                                format: None,
789                                default: None,
790                                min_length: None,
791                                max_length: None,
792                                min_graphemes: None,
793                                max_graphemes: None,
794                                r#enum: None,
795                                r#const: None,
796                                known_values: None,
797                            }),
798                        );
799                        map
800                    },
801                }),
802            );
803            map.insert(
804                ::jacquard_common::smol_str::SmolStr::new_static("threatSignature"),
805                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
806                    description: None,
807                    required: Some(
808                        vec![
809                            ::jacquard_common::smol_str::SmolStr::new_static("property"),
810                            ::jacquard_common::smol_str::SmolStr::new_static("value")
811                        ],
812                    ),
813                    nullable: None,
814                    properties: {
815                        #[allow(unused_mut)]
816                        let mut map = ::std::collections::BTreeMap::new();
817                        map.insert(
818                            ::jacquard_common::smol_str::SmolStr::new_static("property"),
819                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
820                                description: None,
821                                format: None,
822                                default: None,
823                                min_length: None,
824                                max_length: None,
825                                min_graphemes: None,
826                                max_graphemes: None,
827                                r#enum: None,
828                                r#const: None,
829                                known_values: None,
830                            }),
831                        );
832                        map.insert(
833                            ::jacquard_common::smol_str::SmolStr::new_static("value"),
834                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
835                                description: None,
836                                format: None,
837                                default: None,
838                                min_length: None,
839                                max_length: None,
840                                min_graphemes: None,
841                                max_graphemes: None,
842                                r#enum: None,
843                                r#const: None,
844                                known_values: None,
845                            }),
846                        );
847                        map
848                    },
849                }),
850            );
851            map
852        },
853    }
854}
855
856impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AccountView<'a> {
857    fn nsid() -> &'static str {
858        "com.atproto.admin.defs"
859    }
860    fn def_name() -> &'static str {
861        "accountView"
862    }
863    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
864        lexicon_doc_com_atproto_admin_defs()
865    }
866    fn validate(
867        &self,
868    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
869        Ok(())
870    }
871}
872
873#[jacquard_derive::lexicon]
874#[derive(
875    serde::Serialize,
876    serde::Deserialize,
877    Debug,
878    Clone,
879    PartialEq,
880    Eq,
881    jacquard_derive::IntoStatic
882)]
883#[serde(rename_all = "camelCase")]
884pub struct RepoBlobRef<'a> {
885    #[serde(borrow)]
886    pub cid: jacquard_common::types::string::Cid<'a>,
887    #[serde(borrow)]
888    pub did: jacquard_common::types::string::Did<'a>,
889    #[serde(skip_serializing_if = "std::option::Option::is_none")]
890    #[serde(borrow)]
891    pub record_uri: Option<jacquard_common::types::string::AtUri<'a>>,
892}
893
894pub mod repo_blob_ref_state {
895
896    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
897    #[allow(unused)]
898    use ::core::marker::PhantomData;
899    mod sealed {
900        pub trait Sealed {}
901    }
902    /// State trait tracking which required fields have been set
903    pub trait State: sealed::Sealed {
904        type Did;
905        type Cid;
906    }
907    /// Empty state - all required fields are unset
908    pub struct Empty(());
909    impl sealed::Sealed for Empty {}
910    impl State for Empty {
911        type Did = Unset;
912        type Cid = Unset;
913    }
914    ///State transition - sets the `did` field to Set
915    pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
916    impl<S: State> sealed::Sealed for SetDid<S> {}
917    impl<S: State> State for SetDid<S> {
918        type Did = Set<members::did>;
919        type Cid = S::Cid;
920    }
921    ///State transition - sets the `cid` field to Set
922    pub struct SetCid<S: State = Empty>(PhantomData<fn() -> S>);
923    impl<S: State> sealed::Sealed for SetCid<S> {}
924    impl<S: State> State for SetCid<S> {
925        type Did = S::Did;
926        type Cid = Set<members::cid>;
927    }
928    /// Marker types for field names
929    #[allow(non_camel_case_types)]
930    pub mod members {
931        ///Marker type for the `did` field
932        pub struct did(());
933        ///Marker type for the `cid` field
934        pub struct cid(());
935    }
936}
937
938/// Builder for constructing an instance of this type
939pub struct RepoBlobRefBuilder<'a, S: repo_blob_ref_state::State> {
940    _phantom_state: ::core::marker::PhantomData<fn() -> S>,
941    __unsafe_private_named: (
942        ::core::option::Option<jacquard_common::types::string::Cid<'a>>,
943        ::core::option::Option<jacquard_common::types::string::Did<'a>>,
944        ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
945    ),
946    _phantom: ::core::marker::PhantomData<&'a ()>,
947}
948
949impl<'a> RepoBlobRef<'a> {
950    /// Create a new builder for this type
951    pub fn new() -> RepoBlobRefBuilder<'a, repo_blob_ref_state::Empty> {
952        RepoBlobRefBuilder::new()
953    }
954}
955
956impl<'a> RepoBlobRefBuilder<'a, repo_blob_ref_state::Empty> {
957    /// Create a new builder with all fields unset
958    pub fn new() -> Self {
959        RepoBlobRefBuilder {
960            _phantom_state: ::core::marker::PhantomData,
961            __unsafe_private_named: (None, None, None),
962            _phantom: ::core::marker::PhantomData,
963        }
964    }
965}
966
967impl<'a, S> RepoBlobRefBuilder<'a, S>
968where
969    S: repo_blob_ref_state::State,
970    S::Cid: repo_blob_ref_state::IsUnset,
971{
972    /// Set the `cid` field (required)
973    pub fn cid(
974        mut self,
975        value: impl Into<jacquard_common::types::string::Cid<'a>>,
976    ) -> RepoBlobRefBuilder<'a, repo_blob_ref_state::SetCid<S>> {
977        self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
978        RepoBlobRefBuilder {
979            _phantom_state: ::core::marker::PhantomData,
980            __unsafe_private_named: self.__unsafe_private_named,
981            _phantom: ::core::marker::PhantomData,
982        }
983    }
984}
985
986impl<'a, S> RepoBlobRefBuilder<'a, S>
987where
988    S: repo_blob_ref_state::State,
989    S::Did: repo_blob_ref_state::IsUnset,
990{
991    /// Set the `did` field (required)
992    pub fn did(
993        mut self,
994        value: impl Into<jacquard_common::types::string::Did<'a>>,
995    ) -> RepoBlobRefBuilder<'a, repo_blob_ref_state::SetDid<S>> {
996        self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
997        RepoBlobRefBuilder {
998            _phantom_state: ::core::marker::PhantomData,
999            __unsafe_private_named: self.__unsafe_private_named,
1000            _phantom: ::core::marker::PhantomData,
1001        }
1002    }
1003}
1004
1005impl<'a, S: repo_blob_ref_state::State> RepoBlobRefBuilder<'a, S> {
1006    /// Set the `recordUri` field (optional)
1007    pub fn record_uri(
1008        mut self,
1009        value: impl Into<Option<jacquard_common::types::string::AtUri<'a>>>,
1010    ) -> Self {
1011        self.__unsafe_private_named.2 = value.into();
1012        self
1013    }
1014    /// Set the `recordUri` field to an Option value (optional)
1015    pub fn maybe_record_uri(
1016        mut self,
1017        value: Option<jacquard_common::types::string::AtUri<'a>>,
1018    ) -> Self {
1019        self.__unsafe_private_named.2 = value;
1020        self
1021    }
1022}
1023
1024impl<'a, S> RepoBlobRefBuilder<'a, S>
1025where
1026    S: repo_blob_ref_state::State,
1027    S::Did: repo_blob_ref_state::IsSet,
1028    S::Cid: repo_blob_ref_state::IsSet,
1029{
1030    /// Build the final struct
1031    pub fn build(self) -> RepoBlobRef<'a> {
1032        RepoBlobRef {
1033            cid: self.__unsafe_private_named.0.unwrap(),
1034            did: self.__unsafe_private_named.1.unwrap(),
1035            record_uri: self.__unsafe_private_named.2,
1036            extra_data: Default::default(),
1037        }
1038    }
1039    /// Build the final struct with custom extra_data
1040    pub fn build_with_data(
1041        self,
1042        extra_data: std::collections::BTreeMap<
1043            jacquard_common::smol_str::SmolStr,
1044            jacquard_common::types::value::Data<'a>,
1045        >,
1046    ) -> RepoBlobRef<'a> {
1047        RepoBlobRef {
1048            cid: self.__unsafe_private_named.0.unwrap(),
1049            did: self.__unsafe_private_named.1.unwrap(),
1050            record_uri: self.__unsafe_private_named.2,
1051            extra_data: Some(extra_data),
1052        }
1053    }
1054}
1055
1056impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RepoBlobRef<'a> {
1057    fn nsid() -> &'static str {
1058        "com.atproto.admin.defs"
1059    }
1060    fn def_name() -> &'static str {
1061        "repoBlobRef"
1062    }
1063    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1064        lexicon_doc_com_atproto_admin_defs()
1065    }
1066    fn validate(
1067        &self,
1068    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1069        Ok(())
1070    }
1071}
1072
1073#[jacquard_derive::lexicon]
1074#[derive(
1075    serde::Serialize,
1076    serde::Deserialize,
1077    Debug,
1078    Clone,
1079    PartialEq,
1080    Eq,
1081    jacquard_derive::IntoStatic
1082)]
1083#[serde(rename_all = "camelCase")]
1084pub struct RepoRef<'a> {
1085    #[serde(borrow)]
1086    pub did: jacquard_common::types::string::Did<'a>,
1087}
1088
1089pub mod repo_ref_state {
1090
1091    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
1092    #[allow(unused)]
1093    use ::core::marker::PhantomData;
1094    mod sealed {
1095        pub trait Sealed {}
1096    }
1097    /// State trait tracking which required fields have been set
1098    pub trait State: sealed::Sealed {
1099        type Did;
1100    }
1101    /// Empty state - all required fields are unset
1102    pub struct Empty(());
1103    impl sealed::Sealed for Empty {}
1104    impl State for Empty {
1105        type Did = Unset;
1106    }
1107    ///State transition - sets the `did` field to Set
1108    pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
1109    impl<S: State> sealed::Sealed for SetDid<S> {}
1110    impl<S: State> State for SetDid<S> {
1111        type Did = Set<members::did>;
1112    }
1113    /// Marker types for field names
1114    #[allow(non_camel_case_types)]
1115    pub mod members {
1116        ///Marker type for the `did` field
1117        pub struct did(());
1118    }
1119}
1120
1121/// Builder for constructing an instance of this type
1122pub struct RepoRefBuilder<'a, S: repo_ref_state::State> {
1123    _phantom_state: ::core::marker::PhantomData<fn() -> S>,
1124    __unsafe_private_named: (
1125        ::core::option::Option<jacquard_common::types::string::Did<'a>>,
1126    ),
1127    _phantom: ::core::marker::PhantomData<&'a ()>,
1128}
1129
1130impl<'a> RepoRef<'a> {
1131    /// Create a new builder for this type
1132    pub fn new() -> RepoRefBuilder<'a, repo_ref_state::Empty> {
1133        RepoRefBuilder::new()
1134    }
1135}
1136
1137impl<'a> RepoRefBuilder<'a, repo_ref_state::Empty> {
1138    /// Create a new builder with all fields unset
1139    pub fn new() -> Self {
1140        RepoRefBuilder {
1141            _phantom_state: ::core::marker::PhantomData,
1142            __unsafe_private_named: (None,),
1143            _phantom: ::core::marker::PhantomData,
1144        }
1145    }
1146}
1147
1148impl<'a, S> RepoRefBuilder<'a, S>
1149where
1150    S: repo_ref_state::State,
1151    S::Did: repo_ref_state::IsUnset,
1152{
1153    /// Set the `did` field (required)
1154    pub fn did(
1155        mut self,
1156        value: impl Into<jacquard_common::types::string::Did<'a>>,
1157    ) -> RepoRefBuilder<'a, repo_ref_state::SetDid<S>> {
1158        self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
1159        RepoRefBuilder {
1160            _phantom_state: ::core::marker::PhantomData,
1161            __unsafe_private_named: self.__unsafe_private_named,
1162            _phantom: ::core::marker::PhantomData,
1163        }
1164    }
1165}
1166
1167impl<'a, S> RepoRefBuilder<'a, S>
1168where
1169    S: repo_ref_state::State,
1170    S::Did: repo_ref_state::IsSet,
1171{
1172    /// Build the final struct
1173    pub fn build(self) -> RepoRef<'a> {
1174        RepoRef {
1175            did: self.__unsafe_private_named.0.unwrap(),
1176            extra_data: Default::default(),
1177        }
1178    }
1179    /// Build the final struct with custom extra_data
1180    pub fn build_with_data(
1181        self,
1182        extra_data: std::collections::BTreeMap<
1183            jacquard_common::smol_str::SmolStr,
1184            jacquard_common::types::value::Data<'a>,
1185        >,
1186    ) -> RepoRef<'a> {
1187        RepoRef {
1188            did: self.__unsafe_private_named.0.unwrap(),
1189            extra_data: Some(extra_data),
1190        }
1191    }
1192}
1193
1194impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RepoRef<'a> {
1195    fn nsid() -> &'static str {
1196        "com.atproto.admin.defs"
1197    }
1198    fn def_name() -> &'static str {
1199        "repoRef"
1200    }
1201    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1202        lexicon_doc_com_atproto_admin_defs()
1203    }
1204    fn validate(
1205        &self,
1206    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1207        Ok(())
1208    }
1209}
1210
1211#[jacquard_derive::lexicon]
1212#[derive(
1213    serde::Serialize,
1214    serde::Deserialize,
1215    Debug,
1216    Clone,
1217    PartialEq,
1218    Eq,
1219    jacquard_derive::IntoStatic
1220)]
1221#[serde(rename_all = "camelCase")]
1222pub struct StatusAttr<'a> {
1223    pub applied: bool,
1224    #[serde(skip_serializing_if = "std::option::Option::is_none")]
1225    #[serde(borrow)]
1226    pub r#ref: Option<jacquard_common::CowStr<'a>>,
1227}
1228
1229pub mod status_attr_state {
1230
1231    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
1232    #[allow(unused)]
1233    use ::core::marker::PhantomData;
1234    mod sealed {
1235        pub trait Sealed {}
1236    }
1237    /// State trait tracking which required fields have been set
1238    pub trait State: sealed::Sealed {
1239        type Applied;
1240    }
1241    /// Empty state - all required fields are unset
1242    pub struct Empty(());
1243    impl sealed::Sealed for Empty {}
1244    impl State for Empty {
1245        type Applied = Unset;
1246    }
1247    ///State transition - sets the `applied` field to Set
1248    pub struct SetApplied<S: State = Empty>(PhantomData<fn() -> S>);
1249    impl<S: State> sealed::Sealed for SetApplied<S> {}
1250    impl<S: State> State for SetApplied<S> {
1251        type Applied = Set<members::applied>;
1252    }
1253    /// Marker types for field names
1254    #[allow(non_camel_case_types)]
1255    pub mod members {
1256        ///Marker type for the `applied` field
1257        pub struct applied(());
1258    }
1259}
1260
1261/// Builder for constructing an instance of this type
1262pub struct StatusAttrBuilder<'a, S: status_attr_state::State> {
1263    _phantom_state: ::core::marker::PhantomData<fn() -> S>,
1264    __unsafe_private_named: (
1265        ::core::option::Option<bool>,
1266        ::core::option::Option<jacquard_common::CowStr<'a>>,
1267    ),
1268    _phantom: ::core::marker::PhantomData<&'a ()>,
1269}
1270
1271impl<'a> StatusAttr<'a> {
1272    /// Create a new builder for this type
1273    pub fn new() -> StatusAttrBuilder<'a, status_attr_state::Empty> {
1274        StatusAttrBuilder::new()
1275    }
1276}
1277
1278impl<'a> StatusAttrBuilder<'a, status_attr_state::Empty> {
1279    /// Create a new builder with all fields unset
1280    pub fn new() -> Self {
1281        StatusAttrBuilder {
1282            _phantom_state: ::core::marker::PhantomData,
1283            __unsafe_private_named: (None, None),
1284            _phantom: ::core::marker::PhantomData,
1285        }
1286    }
1287}
1288
1289impl<'a, S> StatusAttrBuilder<'a, S>
1290where
1291    S: status_attr_state::State,
1292    S::Applied: status_attr_state::IsUnset,
1293{
1294    /// Set the `applied` field (required)
1295    pub fn applied(
1296        mut self,
1297        value: impl Into<bool>,
1298    ) -> StatusAttrBuilder<'a, status_attr_state::SetApplied<S>> {
1299        self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
1300        StatusAttrBuilder {
1301            _phantom_state: ::core::marker::PhantomData,
1302            __unsafe_private_named: self.__unsafe_private_named,
1303            _phantom: ::core::marker::PhantomData,
1304        }
1305    }
1306}
1307
1308impl<'a, S: status_attr_state::State> StatusAttrBuilder<'a, S> {
1309    /// Set the `ref` field (optional)
1310    pub fn r#ref(
1311        mut self,
1312        value: impl Into<Option<jacquard_common::CowStr<'a>>>,
1313    ) -> Self {
1314        self.__unsafe_private_named.1 = value.into();
1315        self
1316    }
1317    /// Set the `ref` field to an Option value (optional)
1318    pub fn maybe_ref(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
1319        self.__unsafe_private_named.1 = value;
1320        self
1321    }
1322}
1323
1324impl<'a, S> StatusAttrBuilder<'a, S>
1325where
1326    S: status_attr_state::State,
1327    S::Applied: status_attr_state::IsSet,
1328{
1329    /// Build the final struct
1330    pub fn build(self) -> StatusAttr<'a> {
1331        StatusAttr {
1332            applied: self.__unsafe_private_named.0.unwrap(),
1333            r#ref: self.__unsafe_private_named.1,
1334            extra_data: Default::default(),
1335        }
1336    }
1337    /// Build the final struct with custom extra_data
1338    pub fn build_with_data(
1339        self,
1340        extra_data: std::collections::BTreeMap<
1341            jacquard_common::smol_str::SmolStr,
1342            jacquard_common::types::value::Data<'a>,
1343        >,
1344    ) -> StatusAttr<'a> {
1345        StatusAttr {
1346            applied: self.__unsafe_private_named.0.unwrap(),
1347            r#ref: self.__unsafe_private_named.1,
1348            extra_data: Some(extra_data),
1349        }
1350    }
1351}
1352
1353impl<'a> ::jacquard_lexicon::schema::LexiconSchema for StatusAttr<'a> {
1354    fn nsid() -> &'static str {
1355        "com.atproto.admin.defs"
1356    }
1357    fn def_name() -> &'static str {
1358        "statusAttr"
1359    }
1360    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1361        lexicon_doc_com_atproto_admin_defs()
1362    }
1363    fn validate(
1364        &self,
1365    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1366        Ok(())
1367    }
1368}
1369
1370#[jacquard_derive::lexicon]
1371#[derive(
1372    serde::Serialize,
1373    serde::Deserialize,
1374    Debug,
1375    Clone,
1376    PartialEq,
1377    Eq,
1378    jacquard_derive::IntoStatic,
1379    Default
1380)]
1381#[serde(rename_all = "camelCase")]
1382pub struct ThreatSignature<'a> {
1383    #[serde(borrow)]
1384    pub property: jacquard_common::CowStr<'a>,
1385    #[serde(borrow)]
1386    pub value: jacquard_common::CowStr<'a>,
1387}
1388
1389impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ThreatSignature<'a> {
1390    fn nsid() -> &'static str {
1391        "com.atproto.admin.defs"
1392    }
1393    fn def_name() -> &'static str {
1394        "threatSignature"
1395    }
1396    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
1397        lexicon_doc_com_atproto_admin_defs()
1398    }
1399    fn validate(
1400        &self,
1401    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
1402        Ok(())
1403    }
1404}