1pub mod activate_account;
9pub mod check_account_status;
10pub mod confirm_email;
11pub mod create_account;
12pub mod create_app_password;
13pub mod create_invite_code;
14pub mod create_invite_codes;
15pub mod create_session;
16pub mod deactivate_account;
17pub mod delete_account;
18pub mod delete_session;
19pub mod describe_server;
20pub mod get_account_invite_codes;
21pub mod get_service_auth;
22pub mod get_session;
23pub mod list_app_passwords;
24pub mod refresh_session;
25pub mod request_account_delete;
26pub mod request_email_confirmation;
27pub mod request_email_update;
28pub mod request_password_reset;
29pub mod reserve_signing_key;
30pub mod reset_password;
31pub mod revoke_app_password;
32pub mod update_email;
33
34#[jacquard_derive::lexicon]
35#[derive(
36 serde::Serialize,
37 serde::Deserialize,
38 Debug,
39 Clone,
40 PartialEq,
41 Eq,
42 jacquard_derive::IntoStatic
43)]
44#[serde(rename_all = "camelCase")]
45pub struct InviteCode<'a> {
46 pub available: i64,
47 #[serde(borrow)]
48 pub code: jacquard_common::CowStr<'a>,
49 pub created_at: jacquard_common::types::string::Datetime,
50 #[serde(borrow)]
51 pub created_by: jacquard_common::CowStr<'a>,
52 pub disabled: bool,
53 #[serde(borrow)]
54 pub for_account: jacquard_common::CowStr<'a>,
55 #[serde(borrow)]
56 pub uses: Vec<crate::com_atproto::server::InviteCodeUse<'a>>,
57}
58
59pub mod invite_code_state {
60
61 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
62 #[allow(unused)]
63 use ::core::marker::PhantomData;
64 mod sealed {
65 pub trait Sealed {}
66 }
67 pub trait State: sealed::Sealed {
69 type Code;
70 type Available;
71 type Disabled;
72 type ForAccount;
73 type CreatedBy;
74 type CreatedAt;
75 type Uses;
76 }
77 pub struct Empty(());
79 impl sealed::Sealed for Empty {}
80 impl State for Empty {
81 type Code = Unset;
82 type Available = Unset;
83 type Disabled = Unset;
84 type ForAccount = Unset;
85 type CreatedBy = Unset;
86 type CreatedAt = Unset;
87 type Uses = Unset;
88 }
89 pub struct SetCode<S: State = Empty>(PhantomData<fn() -> S>);
91 impl<S: State> sealed::Sealed for SetCode<S> {}
92 impl<S: State> State for SetCode<S> {
93 type Code = Set<members::code>;
94 type Available = S::Available;
95 type Disabled = S::Disabled;
96 type ForAccount = S::ForAccount;
97 type CreatedBy = S::CreatedBy;
98 type CreatedAt = S::CreatedAt;
99 type Uses = S::Uses;
100 }
101 pub struct SetAvailable<S: State = Empty>(PhantomData<fn() -> S>);
103 impl<S: State> sealed::Sealed for SetAvailable<S> {}
104 impl<S: State> State for SetAvailable<S> {
105 type Code = S::Code;
106 type Available = Set<members::available>;
107 type Disabled = S::Disabled;
108 type ForAccount = S::ForAccount;
109 type CreatedBy = S::CreatedBy;
110 type CreatedAt = S::CreatedAt;
111 type Uses = S::Uses;
112 }
113 pub struct SetDisabled<S: State = Empty>(PhantomData<fn() -> S>);
115 impl<S: State> sealed::Sealed for SetDisabled<S> {}
116 impl<S: State> State for SetDisabled<S> {
117 type Code = S::Code;
118 type Available = S::Available;
119 type Disabled = Set<members::disabled>;
120 type ForAccount = S::ForAccount;
121 type CreatedBy = S::CreatedBy;
122 type CreatedAt = S::CreatedAt;
123 type Uses = S::Uses;
124 }
125 pub struct SetForAccount<S: State = Empty>(PhantomData<fn() -> S>);
127 impl<S: State> sealed::Sealed for SetForAccount<S> {}
128 impl<S: State> State for SetForAccount<S> {
129 type Code = S::Code;
130 type Available = S::Available;
131 type Disabled = S::Disabled;
132 type ForAccount = Set<members::for_account>;
133 type CreatedBy = S::CreatedBy;
134 type CreatedAt = S::CreatedAt;
135 type Uses = S::Uses;
136 }
137 pub struct SetCreatedBy<S: State = Empty>(PhantomData<fn() -> S>);
139 impl<S: State> sealed::Sealed for SetCreatedBy<S> {}
140 impl<S: State> State for SetCreatedBy<S> {
141 type Code = S::Code;
142 type Available = S::Available;
143 type Disabled = S::Disabled;
144 type ForAccount = S::ForAccount;
145 type CreatedBy = Set<members::created_by>;
146 type CreatedAt = S::CreatedAt;
147 type Uses = S::Uses;
148 }
149 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
151 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
152 impl<S: State> State for SetCreatedAt<S> {
153 type Code = S::Code;
154 type Available = S::Available;
155 type Disabled = S::Disabled;
156 type ForAccount = S::ForAccount;
157 type CreatedBy = S::CreatedBy;
158 type CreatedAt = Set<members::created_at>;
159 type Uses = S::Uses;
160 }
161 pub struct SetUses<S: State = Empty>(PhantomData<fn() -> S>);
163 impl<S: State> sealed::Sealed for SetUses<S> {}
164 impl<S: State> State for SetUses<S> {
165 type Code = S::Code;
166 type Available = S::Available;
167 type Disabled = S::Disabled;
168 type ForAccount = S::ForAccount;
169 type CreatedBy = S::CreatedBy;
170 type CreatedAt = S::CreatedAt;
171 type Uses = Set<members::uses>;
172 }
173 #[allow(non_camel_case_types)]
175 pub mod members {
176 pub struct code(());
178 pub struct available(());
180 pub struct disabled(());
182 pub struct for_account(());
184 pub struct created_by(());
186 pub struct created_at(());
188 pub struct uses(());
190 }
191}
192
193pub struct InviteCodeBuilder<'a, S: invite_code_state::State> {
195 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
196 __unsafe_private_named: (
197 ::core::option::Option<i64>,
198 ::core::option::Option<jacquard_common::CowStr<'a>>,
199 ::core::option::Option<jacquard_common::types::string::Datetime>,
200 ::core::option::Option<jacquard_common::CowStr<'a>>,
201 ::core::option::Option<bool>,
202 ::core::option::Option<jacquard_common::CowStr<'a>>,
203 ::core::option::Option<Vec<crate::com_atproto::server::InviteCodeUse<'a>>>,
204 ),
205 _phantom: ::core::marker::PhantomData<&'a ()>,
206}
207
208impl<'a> InviteCode<'a> {
209 pub fn new() -> InviteCodeBuilder<'a, invite_code_state::Empty> {
211 InviteCodeBuilder::new()
212 }
213}
214
215impl<'a> InviteCodeBuilder<'a, invite_code_state::Empty> {
216 pub fn new() -> Self {
218 InviteCodeBuilder {
219 _phantom_state: ::core::marker::PhantomData,
220 __unsafe_private_named: (None, None, None, None, None, None, None),
221 _phantom: ::core::marker::PhantomData,
222 }
223 }
224}
225
226impl<'a, S> InviteCodeBuilder<'a, S>
227where
228 S: invite_code_state::State,
229 S::Available: invite_code_state::IsUnset,
230{
231 pub fn available(
233 mut self,
234 value: impl Into<i64>,
235 ) -> InviteCodeBuilder<'a, invite_code_state::SetAvailable<S>> {
236 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
237 InviteCodeBuilder {
238 _phantom_state: ::core::marker::PhantomData,
239 __unsafe_private_named: self.__unsafe_private_named,
240 _phantom: ::core::marker::PhantomData,
241 }
242 }
243}
244
245impl<'a, S> InviteCodeBuilder<'a, S>
246where
247 S: invite_code_state::State,
248 S::Code: invite_code_state::IsUnset,
249{
250 pub fn code(
252 mut self,
253 value: impl Into<jacquard_common::CowStr<'a>>,
254 ) -> InviteCodeBuilder<'a, invite_code_state::SetCode<S>> {
255 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
256 InviteCodeBuilder {
257 _phantom_state: ::core::marker::PhantomData,
258 __unsafe_private_named: self.__unsafe_private_named,
259 _phantom: ::core::marker::PhantomData,
260 }
261 }
262}
263
264impl<'a, S> InviteCodeBuilder<'a, S>
265where
266 S: invite_code_state::State,
267 S::CreatedAt: invite_code_state::IsUnset,
268{
269 pub fn created_at(
271 mut self,
272 value: impl Into<jacquard_common::types::string::Datetime>,
273 ) -> InviteCodeBuilder<'a, invite_code_state::SetCreatedAt<S>> {
274 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
275 InviteCodeBuilder {
276 _phantom_state: ::core::marker::PhantomData,
277 __unsafe_private_named: self.__unsafe_private_named,
278 _phantom: ::core::marker::PhantomData,
279 }
280 }
281}
282
283impl<'a, S> InviteCodeBuilder<'a, S>
284where
285 S: invite_code_state::State,
286 S::CreatedBy: invite_code_state::IsUnset,
287{
288 pub fn created_by(
290 mut self,
291 value: impl Into<jacquard_common::CowStr<'a>>,
292 ) -> InviteCodeBuilder<'a, invite_code_state::SetCreatedBy<S>> {
293 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
294 InviteCodeBuilder {
295 _phantom_state: ::core::marker::PhantomData,
296 __unsafe_private_named: self.__unsafe_private_named,
297 _phantom: ::core::marker::PhantomData,
298 }
299 }
300}
301
302impl<'a, S> InviteCodeBuilder<'a, S>
303where
304 S: invite_code_state::State,
305 S::Disabled: invite_code_state::IsUnset,
306{
307 pub fn disabled(
309 mut self,
310 value: impl Into<bool>,
311 ) -> InviteCodeBuilder<'a, invite_code_state::SetDisabled<S>> {
312 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
313 InviteCodeBuilder {
314 _phantom_state: ::core::marker::PhantomData,
315 __unsafe_private_named: self.__unsafe_private_named,
316 _phantom: ::core::marker::PhantomData,
317 }
318 }
319}
320
321impl<'a, S> InviteCodeBuilder<'a, S>
322where
323 S: invite_code_state::State,
324 S::ForAccount: invite_code_state::IsUnset,
325{
326 pub fn for_account(
328 mut self,
329 value: impl Into<jacquard_common::CowStr<'a>>,
330 ) -> InviteCodeBuilder<'a, invite_code_state::SetForAccount<S>> {
331 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
332 InviteCodeBuilder {
333 _phantom_state: ::core::marker::PhantomData,
334 __unsafe_private_named: self.__unsafe_private_named,
335 _phantom: ::core::marker::PhantomData,
336 }
337 }
338}
339
340impl<'a, S> InviteCodeBuilder<'a, S>
341where
342 S: invite_code_state::State,
343 S::Uses: invite_code_state::IsUnset,
344{
345 pub fn uses(
347 mut self,
348 value: impl Into<Vec<crate::com_atproto::server::InviteCodeUse<'a>>>,
349 ) -> InviteCodeBuilder<'a, invite_code_state::SetUses<S>> {
350 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
351 InviteCodeBuilder {
352 _phantom_state: ::core::marker::PhantomData,
353 __unsafe_private_named: self.__unsafe_private_named,
354 _phantom: ::core::marker::PhantomData,
355 }
356 }
357}
358
359impl<'a, S> InviteCodeBuilder<'a, S>
360where
361 S: invite_code_state::State,
362 S::Code: invite_code_state::IsSet,
363 S::Available: invite_code_state::IsSet,
364 S::Disabled: invite_code_state::IsSet,
365 S::ForAccount: invite_code_state::IsSet,
366 S::CreatedBy: invite_code_state::IsSet,
367 S::CreatedAt: invite_code_state::IsSet,
368 S::Uses: invite_code_state::IsSet,
369{
370 pub fn build(self) -> InviteCode<'a> {
372 InviteCode {
373 available: self.__unsafe_private_named.0.unwrap(),
374 code: self.__unsafe_private_named.1.unwrap(),
375 created_at: self.__unsafe_private_named.2.unwrap(),
376 created_by: self.__unsafe_private_named.3.unwrap(),
377 disabled: self.__unsafe_private_named.4.unwrap(),
378 for_account: self.__unsafe_private_named.5.unwrap(),
379 uses: self.__unsafe_private_named.6.unwrap(),
380 extra_data: Default::default(),
381 }
382 }
383 pub fn build_with_data(
385 self,
386 extra_data: std::collections::BTreeMap<
387 jacquard_common::smol_str::SmolStr,
388 jacquard_common::types::value::Data<'a>,
389 >,
390 ) -> InviteCode<'a> {
391 InviteCode {
392 available: self.__unsafe_private_named.0.unwrap(),
393 code: self.__unsafe_private_named.1.unwrap(),
394 created_at: self.__unsafe_private_named.2.unwrap(),
395 created_by: self.__unsafe_private_named.3.unwrap(),
396 disabled: self.__unsafe_private_named.4.unwrap(),
397 for_account: self.__unsafe_private_named.5.unwrap(),
398 uses: self.__unsafe_private_named.6.unwrap(),
399 extra_data: Some(extra_data),
400 }
401 }
402}
403
404fn lexicon_doc_com_atproto_server_defs() -> ::jacquard_lexicon::lexicon::LexiconDoc<
405 'static,
406> {
407 ::jacquard_lexicon::lexicon::LexiconDoc {
408 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
409 id: ::jacquard_common::CowStr::new_static("com.atproto.server.defs"),
410 revision: None,
411 description: None,
412 defs: {
413 let mut map = ::std::collections::BTreeMap::new();
414 map.insert(
415 ::jacquard_common::smol_str::SmolStr::new_static("inviteCode"),
416 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
417 description: None,
418 required: Some(
419 vec![
420 ::jacquard_common::smol_str::SmolStr::new_static("code"),
421 ::jacquard_common::smol_str::SmolStr::new_static("available"),
422 ::jacquard_common::smol_str::SmolStr::new_static("disabled"),
423 ::jacquard_common::smol_str::SmolStr::new_static("forAccount"),
424 ::jacquard_common::smol_str::SmolStr::new_static("createdBy"),
425 ::jacquard_common::smol_str::SmolStr::new_static("createdAt"),
426 ::jacquard_common::smol_str::SmolStr::new_static("uses")
427 ],
428 ),
429 nullable: None,
430 properties: {
431 #[allow(unused_mut)]
432 let mut map = ::std::collections::BTreeMap::new();
433 map.insert(
434 ::jacquard_common::smol_str::SmolStr::new_static(
435 "available",
436 ),
437 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
438 description: None,
439 default: None,
440 minimum: None,
441 maximum: None,
442 r#enum: None,
443 r#const: None,
444 }),
445 );
446 map.insert(
447 ::jacquard_common::smol_str::SmolStr::new_static("code"),
448 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
449 description: None,
450 format: None,
451 default: None,
452 min_length: None,
453 max_length: None,
454 min_graphemes: None,
455 max_graphemes: None,
456 r#enum: None,
457 r#const: None,
458 known_values: None,
459 }),
460 );
461 map.insert(
462 ::jacquard_common::smol_str::SmolStr::new_static(
463 "createdAt",
464 ),
465 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
466 description: None,
467 format: Some(
468 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
469 ),
470 default: None,
471 min_length: None,
472 max_length: None,
473 min_graphemes: None,
474 max_graphemes: None,
475 r#enum: None,
476 r#const: None,
477 known_values: None,
478 }),
479 );
480 map.insert(
481 ::jacquard_common::smol_str::SmolStr::new_static(
482 "createdBy",
483 ),
484 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
485 description: None,
486 format: None,
487 default: None,
488 min_length: None,
489 max_length: None,
490 min_graphemes: None,
491 max_graphemes: None,
492 r#enum: None,
493 r#const: None,
494 known_values: None,
495 }),
496 );
497 map.insert(
498 ::jacquard_common::smol_str::SmolStr::new_static("disabled"),
499 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
500 description: None,
501 default: None,
502 r#const: None,
503 }),
504 );
505 map.insert(
506 ::jacquard_common::smol_str::SmolStr::new_static(
507 "forAccount",
508 ),
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("uses"),
524 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
525 description: None,
526 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
527 description: None,
528 r#ref: ::jacquard_common::CowStr::new_static(
529 "#inviteCodeUse",
530 ),
531 }),
532 min_length: None,
533 max_length: None,
534 }),
535 );
536 map
537 },
538 }),
539 );
540 map.insert(
541 ::jacquard_common::smol_str::SmolStr::new_static("inviteCodeUse"),
542 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
543 description: None,
544 required: Some(
545 vec![
546 ::jacquard_common::smol_str::SmolStr::new_static("usedBy"),
547 ::jacquard_common::smol_str::SmolStr::new_static("usedAt")
548 ],
549 ),
550 nullable: None,
551 properties: {
552 #[allow(unused_mut)]
553 let mut map = ::std::collections::BTreeMap::new();
554 map.insert(
555 ::jacquard_common::smol_str::SmolStr::new_static("usedAt"),
556 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
557 description: None,
558 format: Some(
559 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
560 ),
561 default: None,
562 min_length: None,
563 max_length: None,
564 min_graphemes: None,
565 max_graphemes: None,
566 r#enum: None,
567 r#const: None,
568 known_values: None,
569 }),
570 );
571 map.insert(
572 ::jacquard_common::smol_str::SmolStr::new_static("usedBy"),
573 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
574 description: None,
575 format: Some(
576 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
577 ),
578 default: None,
579 min_length: None,
580 max_length: None,
581 min_graphemes: None,
582 max_graphemes: None,
583 r#enum: None,
584 r#const: None,
585 known_values: None,
586 }),
587 );
588 map
589 },
590 }),
591 );
592 map
593 },
594 }
595}
596
597impl<'a> ::jacquard_lexicon::schema::LexiconSchema for InviteCode<'a> {
598 fn nsid() -> &'static str {
599 "com.atproto.server.defs"
600 }
601 fn def_name() -> &'static str {
602 "inviteCode"
603 }
604 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
605 lexicon_doc_com_atproto_server_defs()
606 }
607 fn validate(
608 &self,
609 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
610 Ok(())
611 }
612}
613
614#[jacquard_derive::lexicon]
615#[derive(
616 serde::Serialize,
617 serde::Deserialize,
618 Debug,
619 Clone,
620 PartialEq,
621 Eq,
622 jacquard_derive::IntoStatic
623)]
624#[serde(rename_all = "camelCase")]
625pub struct InviteCodeUse<'a> {
626 pub used_at: jacquard_common::types::string::Datetime,
627 #[serde(borrow)]
628 pub used_by: jacquard_common::types::string::Did<'a>,
629}
630
631pub mod invite_code_use_state {
632
633 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
634 #[allow(unused)]
635 use ::core::marker::PhantomData;
636 mod sealed {
637 pub trait Sealed {}
638 }
639 pub trait State: sealed::Sealed {
641 type UsedBy;
642 type UsedAt;
643 }
644 pub struct Empty(());
646 impl sealed::Sealed for Empty {}
647 impl State for Empty {
648 type UsedBy = Unset;
649 type UsedAt = Unset;
650 }
651 pub struct SetUsedBy<S: State = Empty>(PhantomData<fn() -> S>);
653 impl<S: State> sealed::Sealed for SetUsedBy<S> {}
654 impl<S: State> State for SetUsedBy<S> {
655 type UsedBy = Set<members::used_by>;
656 type UsedAt = S::UsedAt;
657 }
658 pub struct SetUsedAt<S: State = Empty>(PhantomData<fn() -> S>);
660 impl<S: State> sealed::Sealed for SetUsedAt<S> {}
661 impl<S: State> State for SetUsedAt<S> {
662 type UsedBy = S::UsedBy;
663 type UsedAt = Set<members::used_at>;
664 }
665 #[allow(non_camel_case_types)]
667 pub mod members {
668 pub struct used_by(());
670 pub struct used_at(());
672 }
673}
674
675pub struct InviteCodeUseBuilder<'a, S: invite_code_use_state::State> {
677 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
678 __unsafe_private_named: (
679 ::core::option::Option<jacquard_common::types::string::Datetime>,
680 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
681 ),
682 _phantom: ::core::marker::PhantomData<&'a ()>,
683}
684
685impl<'a> InviteCodeUse<'a> {
686 pub fn new() -> InviteCodeUseBuilder<'a, invite_code_use_state::Empty> {
688 InviteCodeUseBuilder::new()
689 }
690}
691
692impl<'a> InviteCodeUseBuilder<'a, invite_code_use_state::Empty> {
693 pub fn new() -> Self {
695 InviteCodeUseBuilder {
696 _phantom_state: ::core::marker::PhantomData,
697 __unsafe_private_named: (None, None),
698 _phantom: ::core::marker::PhantomData,
699 }
700 }
701}
702
703impl<'a, S> InviteCodeUseBuilder<'a, S>
704where
705 S: invite_code_use_state::State,
706 S::UsedAt: invite_code_use_state::IsUnset,
707{
708 pub fn used_at(
710 mut self,
711 value: impl Into<jacquard_common::types::string::Datetime>,
712 ) -> InviteCodeUseBuilder<'a, invite_code_use_state::SetUsedAt<S>> {
713 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
714 InviteCodeUseBuilder {
715 _phantom_state: ::core::marker::PhantomData,
716 __unsafe_private_named: self.__unsafe_private_named,
717 _phantom: ::core::marker::PhantomData,
718 }
719 }
720}
721
722impl<'a, S> InviteCodeUseBuilder<'a, S>
723where
724 S: invite_code_use_state::State,
725 S::UsedBy: invite_code_use_state::IsUnset,
726{
727 pub fn used_by(
729 mut self,
730 value: impl Into<jacquard_common::types::string::Did<'a>>,
731 ) -> InviteCodeUseBuilder<'a, invite_code_use_state::SetUsedBy<S>> {
732 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
733 InviteCodeUseBuilder {
734 _phantom_state: ::core::marker::PhantomData,
735 __unsafe_private_named: self.__unsafe_private_named,
736 _phantom: ::core::marker::PhantomData,
737 }
738 }
739}
740
741impl<'a, S> InviteCodeUseBuilder<'a, S>
742where
743 S: invite_code_use_state::State,
744 S::UsedBy: invite_code_use_state::IsSet,
745 S::UsedAt: invite_code_use_state::IsSet,
746{
747 pub fn build(self) -> InviteCodeUse<'a> {
749 InviteCodeUse {
750 used_at: self.__unsafe_private_named.0.unwrap(),
751 used_by: self.__unsafe_private_named.1.unwrap(),
752 extra_data: Default::default(),
753 }
754 }
755 pub fn build_with_data(
757 self,
758 extra_data: std::collections::BTreeMap<
759 jacquard_common::smol_str::SmolStr,
760 jacquard_common::types::value::Data<'a>,
761 >,
762 ) -> InviteCodeUse<'a> {
763 InviteCodeUse {
764 used_at: self.__unsafe_private_named.0.unwrap(),
765 used_by: self.__unsafe_private_named.1.unwrap(),
766 extra_data: Some(extra_data),
767 }
768 }
769}
770
771impl<'a> ::jacquard_lexicon::schema::LexiconSchema for InviteCodeUse<'a> {
772 fn nsid() -> &'static str {
773 "com.atproto.server.defs"
774 }
775 fn def_name() -> &'static str {
776 "inviteCodeUse"
777 }
778 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
779 lexicon_doc_com_atproto_server_defs()
780 }
781 fn validate(
782 &self,
783 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
784 Ok(())
785 }
786}