atproto blogging
1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.verification.grantVerifications
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8/// Error object for failed verifications.
9#[jacquard_derive::lexicon]
10#[derive(
11 serde::Serialize,
12 serde::Deserialize,
13 Debug,
14 Clone,
15 PartialEq,
16 Eq,
17 jacquard_derive::IntoStatic
18)]
19#[serde(rename_all = "camelCase")]
20pub struct GrantError<'a> {
21 /// Error message describing the reason for failure.
22 #[serde(borrow)]
23 pub error: jacquard_common::CowStr<'a>,
24 /// The did of the subject being verified
25 #[serde(borrow)]
26 pub subject: jacquard_common::types::string::Did<'a>,
27}
28
29pub mod grant_error_state {
30
31 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
32 #[allow(unused)]
33 use ::core::marker::PhantomData;
34 mod sealed {
35 pub trait Sealed {}
36 }
37 /// State trait tracking which required fields have been set
38 pub trait State: sealed::Sealed {
39 type Error;
40 type Subject;
41 }
42 /// Empty state - all required fields are unset
43 pub struct Empty(());
44 impl sealed::Sealed for Empty {}
45 impl State for Empty {
46 type Error = Unset;
47 type Subject = Unset;
48 }
49 ///State transition - sets the `error` field to Set
50 pub struct SetError<S: State = Empty>(PhantomData<fn() -> S>);
51 impl<S: State> sealed::Sealed for SetError<S> {}
52 impl<S: State> State for SetError<S> {
53 type Error = Set<members::error>;
54 type Subject = S::Subject;
55 }
56 ///State transition - sets the `subject` field to Set
57 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
58 impl<S: State> sealed::Sealed for SetSubject<S> {}
59 impl<S: State> State for SetSubject<S> {
60 type Error = S::Error;
61 type Subject = Set<members::subject>;
62 }
63 /// Marker types for field names
64 #[allow(non_camel_case_types)]
65 pub mod members {
66 ///Marker type for the `error` field
67 pub struct error(());
68 ///Marker type for the `subject` field
69 pub struct subject(());
70 }
71}
72
73/// Builder for constructing an instance of this type
74pub struct GrantErrorBuilder<'a, S: grant_error_state::State> {
75 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
76 __unsafe_private_named: (
77 ::core::option::Option<jacquard_common::CowStr<'a>>,
78 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
79 ),
80 _phantom: ::core::marker::PhantomData<&'a ()>,
81}
82
83impl<'a> GrantError<'a> {
84 /// Create a new builder for this type
85 pub fn new() -> GrantErrorBuilder<'a, grant_error_state::Empty> {
86 GrantErrorBuilder::new()
87 }
88}
89
90impl<'a> GrantErrorBuilder<'a, grant_error_state::Empty> {
91 /// Create a new builder with all fields unset
92 pub fn new() -> Self {
93 GrantErrorBuilder {
94 _phantom_state: ::core::marker::PhantomData,
95 __unsafe_private_named: (None, None),
96 _phantom: ::core::marker::PhantomData,
97 }
98 }
99}
100
101impl<'a, S> GrantErrorBuilder<'a, S>
102where
103 S: grant_error_state::State,
104 S::Error: grant_error_state::IsUnset,
105{
106 /// Set the `error` field (required)
107 pub fn error(
108 mut self,
109 value: impl Into<jacquard_common::CowStr<'a>>,
110 ) -> GrantErrorBuilder<'a, grant_error_state::SetError<S>> {
111 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
112 GrantErrorBuilder {
113 _phantom_state: ::core::marker::PhantomData,
114 __unsafe_private_named: self.__unsafe_private_named,
115 _phantom: ::core::marker::PhantomData,
116 }
117 }
118}
119
120impl<'a, S> GrantErrorBuilder<'a, S>
121where
122 S: grant_error_state::State,
123 S::Subject: grant_error_state::IsUnset,
124{
125 /// Set the `subject` field (required)
126 pub fn subject(
127 mut self,
128 value: impl Into<jacquard_common::types::string::Did<'a>>,
129 ) -> GrantErrorBuilder<'a, grant_error_state::SetSubject<S>> {
130 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
131 GrantErrorBuilder {
132 _phantom_state: ::core::marker::PhantomData,
133 __unsafe_private_named: self.__unsafe_private_named,
134 _phantom: ::core::marker::PhantomData,
135 }
136 }
137}
138
139impl<'a, S> GrantErrorBuilder<'a, S>
140where
141 S: grant_error_state::State,
142 S::Error: grant_error_state::IsSet,
143 S::Subject: grant_error_state::IsSet,
144{
145 /// Build the final struct
146 pub fn build(self) -> GrantError<'a> {
147 GrantError {
148 error: self.__unsafe_private_named.0.unwrap(),
149 subject: self.__unsafe_private_named.1.unwrap(),
150 extra_data: Default::default(),
151 }
152 }
153 /// Build the final struct with custom extra_data
154 pub fn build_with_data(
155 self,
156 extra_data: std::collections::BTreeMap<
157 jacquard_common::smol_str::SmolStr,
158 jacquard_common::types::value::Data<'a>,
159 >,
160 ) -> GrantError<'a> {
161 GrantError {
162 error: self.__unsafe_private_named.0.unwrap(),
163 subject: self.__unsafe_private_named.1.unwrap(),
164 extra_data: Some(extra_data),
165 }
166 }
167}
168
169fn lexicon_doc_tools_ozone_verification_grantVerifications() -> ::jacquard_lexicon::lexicon::LexiconDoc<
170 'static,
171> {
172 ::jacquard_lexicon::lexicon::LexiconDoc {
173 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
174 id: ::jacquard_common::CowStr::new_static(
175 "tools.ozone.verification.grantVerifications",
176 ),
177 revision: None,
178 description: None,
179 defs: {
180 let mut map = ::alloc::collections::BTreeMap::new();
181 map.insert(
182 ::jacquard_common::smol_str::SmolStr::new_static("grantError"),
183 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
184 description: Some(
185 ::jacquard_common::CowStr::new_static(
186 "Error object for failed verifications.",
187 ),
188 ),
189 required: Some(
190 vec![
191 ::jacquard_common::smol_str::SmolStr::new_static("error"),
192 ::jacquard_common::smol_str::SmolStr::new_static("subject")
193 ],
194 ),
195 nullable: None,
196 properties: {
197 #[allow(unused_mut)]
198 let mut map = ::alloc::collections::BTreeMap::new();
199 map.insert(
200 ::jacquard_common::smol_str::SmolStr::new_static("error"),
201 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
202 description: Some(
203 ::jacquard_common::CowStr::new_static(
204 "Error message describing the reason for failure.",
205 ),
206 ),
207 format: None,
208 default: None,
209 min_length: None,
210 max_length: None,
211 min_graphemes: None,
212 max_graphemes: None,
213 r#enum: None,
214 r#const: None,
215 known_values: None,
216 }),
217 );
218 map.insert(
219 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
220 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
221 description: Some(
222 ::jacquard_common::CowStr::new_static(
223 "The did of the subject being verified",
224 ),
225 ),
226 format: Some(
227 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
228 ),
229 default: None,
230 min_length: None,
231 max_length: None,
232 min_graphemes: None,
233 max_graphemes: None,
234 r#enum: None,
235 r#const: None,
236 known_values: None,
237 }),
238 );
239 map
240 },
241 }),
242 );
243 map.insert(
244 ::jacquard_common::smol_str::SmolStr::new_static("main"),
245 ::jacquard_lexicon::lexicon::LexUserType::XrpcProcedure(::jacquard_lexicon::lexicon::LexXrpcProcedure {
246 description: None,
247 parameters: None,
248 input: Some(::jacquard_lexicon::lexicon::LexXrpcBody {
249 description: None,
250 encoding: ::jacquard_common::CowStr::new_static(
251 "application/json",
252 ),
253 schema: Some(
254 ::jacquard_lexicon::lexicon::LexXrpcBodySchema::Object(::jacquard_lexicon::lexicon::LexObject {
255 description: None,
256 required: Some(
257 vec![
258 ::jacquard_common::smol_str::SmolStr::new_static("verifications")
259 ],
260 ),
261 nullable: None,
262 properties: {
263 #[allow(unused_mut)]
264 let mut map = ::alloc::collections::BTreeMap::new();
265 map.insert(
266 ::jacquard_common::smol_str::SmolStr::new_static(
267 "verifications",
268 ),
269 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
270 description: Some(
271 ::jacquard_common::CowStr::new_static(
272 "Array of verification requests to process",
273 ),
274 ),
275 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
276 description: None,
277 r#ref: ::jacquard_common::CowStr::new_static(
278 "#verificationInput",
279 ),
280 }),
281 min_length: None,
282 max_length: Some(100usize),
283 }),
284 );
285 map
286 },
287 }),
288 ),
289 }),
290 output: None,
291 errors: None,
292 }),
293 );
294 map.insert(
295 ::jacquard_common::smol_str::SmolStr::new_static("verificationInput"),
296 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
297 description: None,
298 required: Some(
299 vec![
300 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
301 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
302 ::jacquard_common::smol_str::SmolStr::new_static("displayName")
303 ],
304 ),
305 nullable: None,
306 properties: {
307 #[allow(unused_mut)]
308 let mut map = ::alloc::collections::BTreeMap::new();
309 map.insert(
310 ::jacquard_common::smol_str::SmolStr::new_static(
311 "createdAt",
312 ),
313 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
314 description: Some(
315 ::jacquard_common::CowStr::new_static(
316 "Timestamp for verification record. Defaults to current time when not specified.",
317 ),
318 ),
319 format: Some(
320 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
321 ),
322 default: None,
323 min_length: None,
324 max_length: None,
325 min_graphemes: None,
326 max_graphemes: None,
327 r#enum: None,
328 r#const: None,
329 known_values: None,
330 }),
331 );
332 map.insert(
333 ::jacquard_common::smol_str::SmolStr::new_static(
334 "displayName",
335 ),
336 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
337 description: Some(
338 ::jacquard_common::CowStr::new_static(
339 "Display name of the subject the verification applies to at the moment of verifying.",
340 ),
341 ),
342 format: None,
343 default: None,
344 min_length: None,
345 max_length: None,
346 min_graphemes: None,
347 max_graphemes: None,
348 r#enum: None,
349 r#const: None,
350 known_values: None,
351 }),
352 );
353 map.insert(
354 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
355 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
356 description: Some(
357 ::jacquard_common::CowStr::new_static(
358 "Handle of the subject the verification applies to at the moment of verifying.",
359 ),
360 ),
361 format: Some(
362 ::jacquard_lexicon::lexicon::LexStringFormat::Handle,
363 ),
364 default: None,
365 min_length: None,
366 max_length: None,
367 min_graphemes: None,
368 max_graphemes: None,
369 r#enum: None,
370 r#const: None,
371 known_values: None,
372 }),
373 );
374 map.insert(
375 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
376 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
377 description: Some(
378 ::jacquard_common::CowStr::new_static(
379 "The did of the subject being verified",
380 ),
381 ),
382 format: Some(
383 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
384 ),
385 default: None,
386 min_length: None,
387 max_length: None,
388 min_graphemes: None,
389 max_graphemes: None,
390 r#enum: None,
391 r#const: None,
392 known_values: None,
393 }),
394 );
395 map
396 },
397 }),
398 );
399 map
400 },
401 }
402}
403
404impl<'a> ::jacquard_lexicon::schema::LexiconSchema for GrantError<'a> {
405 fn nsid() -> &'static str {
406 "tools.ozone.verification.grantVerifications"
407 }
408 fn def_name() -> &'static str {
409 "grantError"
410 }
411 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
412 lexicon_doc_tools_ozone_verification_grantVerifications()
413 }
414 fn validate(
415 &self,
416 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
417 Ok(())
418 }
419}
420
421#[jacquard_derive::lexicon]
422#[derive(
423 serde::Serialize,
424 serde::Deserialize,
425 Debug,
426 Clone,
427 PartialEq,
428 Eq,
429 jacquard_derive::IntoStatic
430)]
431#[serde(rename_all = "camelCase")]
432pub struct GrantVerifications<'a> {
433 /// Array of verification requests to process
434 #[serde(borrow)]
435 pub verifications: Vec<
436 crate::tools_ozone::verification::grant_verifications::VerificationInput<'a>,
437 >,
438}
439
440pub mod grant_verifications_state {
441
442 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
443 #[allow(unused)]
444 use ::core::marker::PhantomData;
445 mod sealed {
446 pub trait Sealed {}
447 }
448 /// State trait tracking which required fields have been set
449 pub trait State: sealed::Sealed {
450 type Verifications;
451 }
452 /// Empty state - all required fields are unset
453 pub struct Empty(());
454 impl sealed::Sealed for Empty {}
455 impl State for Empty {
456 type Verifications = Unset;
457 }
458 ///State transition - sets the `verifications` field to Set
459 pub struct SetVerifications<S: State = Empty>(PhantomData<fn() -> S>);
460 impl<S: State> sealed::Sealed for SetVerifications<S> {}
461 impl<S: State> State for SetVerifications<S> {
462 type Verifications = Set<members::verifications>;
463 }
464 /// Marker types for field names
465 #[allow(non_camel_case_types)]
466 pub mod members {
467 ///Marker type for the `verifications` field
468 pub struct verifications(());
469 }
470}
471
472/// Builder for constructing an instance of this type
473pub struct GrantVerificationsBuilder<'a, S: grant_verifications_state::State> {
474 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
475 __unsafe_private_named: (
476 ::core::option::Option<
477 Vec<
478 crate::tools_ozone::verification::grant_verifications::VerificationInput<
479 'a,
480 >,
481 >,
482 >,
483 ),
484 _phantom: ::core::marker::PhantomData<&'a ()>,
485}
486
487impl<'a> GrantVerifications<'a> {
488 /// Create a new builder for this type
489 pub fn new() -> GrantVerificationsBuilder<'a, grant_verifications_state::Empty> {
490 GrantVerificationsBuilder::new()
491 }
492}
493
494impl<'a> GrantVerificationsBuilder<'a, grant_verifications_state::Empty> {
495 /// Create a new builder with all fields unset
496 pub fn new() -> Self {
497 GrantVerificationsBuilder {
498 _phantom_state: ::core::marker::PhantomData,
499 __unsafe_private_named: (None,),
500 _phantom: ::core::marker::PhantomData,
501 }
502 }
503}
504
505impl<'a, S> GrantVerificationsBuilder<'a, S>
506where
507 S: grant_verifications_state::State,
508 S::Verifications: grant_verifications_state::IsUnset,
509{
510 /// Set the `verifications` field (required)
511 pub fn verifications(
512 mut self,
513 value: impl Into<
514 Vec<
515 crate::tools_ozone::verification::grant_verifications::VerificationInput<
516 'a,
517 >,
518 >,
519 >,
520 ) -> GrantVerificationsBuilder<'a, grant_verifications_state::SetVerifications<S>> {
521 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
522 GrantVerificationsBuilder {
523 _phantom_state: ::core::marker::PhantomData,
524 __unsafe_private_named: self.__unsafe_private_named,
525 _phantom: ::core::marker::PhantomData,
526 }
527 }
528}
529
530impl<'a, S> GrantVerificationsBuilder<'a, S>
531where
532 S: grant_verifications_state::State,
533 S::Verifications: grant_verifications_state::IsSet,
534{
535 /// Build the final struct
536 pub fn build(self) -> GrantVerifications<'a> {
537 GrantVerifications {
538 verifications: self.__unsafe_private_named.0.unwrap(),
539 extra_data: Default::default(),
540 }
541 }
542 /// Build the final struct with custom extra_data
543 pub fn build_with_data(
544 self,
545 extra_data: std::collections::BTreeMap<
546 jacquard_common::smol_str::SmolStr,
547 jacquard_common::types::value::Data<'a>,
548 >,
549 ) -> GrantVerifications<'a> {
550 GrantVerifications {
551 verifications: self.__unsafe_private_named.0.unwrap(),
552 extra_data: Some(extra_data),
553 }
554 }
555}
556
557#[jacquard_derive::lexicon]
558#[derive(
559 serde::Serialize,
560 serde::Deserialize,
561 Debug,
562 Clone,
563 PartialEq,
564 Eq,
565 jacquard_derive::IntoStatic
566)]
567#[serde(rename_all = "camelCase")]
568pub struct GrantVerificationsOutput<'a> {
569 #[serde(borrow)]
570 pub failed_verifications: Vec<
571 crate::tools_ozone::verification::grant_verifications::GrantError<'a>,
572 >,
573 #[serde(borrow)]
574 pub verifications: Vec<crate::tools_ozone::verification::VerificationView<'a>>,
575}
576
577/// Response type for
578///tools.ozone.verification.grantVerifications
579pub struct GrantVerificationsResponse;
580impl jacquard_common::xrpc::XrpcResp for GrantVerificationsResponse {
581 const NSID: &'static str = "tools.ozone.verification.grantVerifications";
582 const ENCODING: &'static str = "application/json";
583 type Output<'de> = GrantVerificationsOutput<'de>;
584 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
585}
586
587impl<'a> jacquard_common::xrpc::XrpcRequest for GrantVerifications<'a> {
588 const NSID: &'static str = "tools.ozone.verification.grantVerifications";
589 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
590 "application/json",
591 );
592 type Response = GrantVerificationsResponse;
593}
594
595/// Endpoint type for
596///tools.ozone.verification.grantVerifications
597pub struct GrantVerificationsRequest;
598impl jacquard_common::xrpc::XrpcEndpoint for GrantVerificationsRequest {
599 const PATH: &'static str = "/xrpc/tools.ozone.verification.grantVerifications";
600 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
601 "application/json",
602 );
603 type Request<'de> = GrantVerifications<'de>;
604 type Response = GrantVerificationsResponse;
605}
606
607#[jacquard_derive::lexicon]
608#[derive(
609 serde::Serialize,
610 serde::Deserialize,
611 Debug,
612 Clone,
613 PartialEq,
614 Eq,
615 jacquard_derive::IntoStatic
616)]
617#[serde(rename_all = "camelCase")]
618pub struct VerificationInput<'a> {
619 /// Timestamp for verification record. Defaults to current time when not specified.
620 #[serde(skip_serializing_if = "std::option::Option::is_none")]
621 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
622 /// Display name of the subject the verification applies to at the moment of verifying.
623 #[serde(borrow)]
624 pub display_name: jacquard_common::CowStr<'a>,
625 /// Handle of the subject the verification applies to at the moment of verifying.
626 #[serde(borrow)]
627 pub handle: jacquard_common::types::string::Handle<'a>,
628 /// The did of the subject being verified
629 #[serde(borrow)]
630 pub subject: jacquard_common::types::string::Did<'a>,
631}
632
633pub mod verification_input_state {
634
635 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
636 #[allow(unused)]
637 use ::core::marker::PhantomData;
638 mod sealed {
639 pub trait Sealed {}
640 }
641 /// State trait tracking which required fields have been set
642 pub trait State: sealed::Sealed {
643 type Subject;
644 type Handle;
645 type DisplayName;
646 }
647 /// Empty state - all required fields are unset
648 pub struct Empty(());
649 impl sealed::Sealed for Empty {}
650 impl State for Empty {
651 type Subject = Unset;
652 type Handle = Unset;
653 type DisplayName = Unset;
654 }
655 ///State transition - sets the `subject` field to Set
656 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
657 impl<S: State> sealed::Sealed for SetSubject<S> {}
658 impl<S: State> State for SetSubject<S> {
659 type Subject = Set<members::subject>;
660 type Handle = S::Handle;
661 type DisplayName = S::DisplayName;
662 }
663 ///State transition - sets the `handle` field to Set
664 pub struct SetHandle<S: State = Empty>(PhantomData<fn() -> S>);
665 impl<S: State> sealed::Sealed for SetHandle<S> {}
666 impl<S: State> State for SetHandle<S> {
667 type Subject = S::Subject;
668 type Handle = Set<members::handle>;
669 type DisplayName = S::DisplayName;
670 }
671 ///State transition - sets the `display_name` field to Set
672 pub struct SetDisplayName<S: State = Empty>(PhantomData<fn() -> S>);
673 impl<S: State> sealed::Sealed for SetDisplayName<S> {}
674 impl<S: State> State for SetDisplayName<S> {
675 type Subject = S::Subject;
676 type Handle = S::Handle;
677 type DisplayName = Set<members::display_name>;
678 }
679 /// Marker types for field names
680 #[allow(non_camel_case_types)]
681 pub mod members {
682 ///Marker type for the `subject` field
683 pub struct subject(());
684 ///Marker type for the `handle` field
685 pub struct handle(());
686 ///Marker type for the `display_name` field
687 pub struct display_name(());
688 }
689}
690
691/// Builder for constructing an instance of this type
692pub struct VerificationInputBuilder<'a, S: verification_input_state::State> {
693 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
694 __unsafe_private_named: (
695 ::core::option::Option<jacquard_common::types::string::Datetime>,
696 ::core::option::Option<jacquard_common::CowStr<'a>>,
697 ::core::option::Option<jacquard_common::types::string::Handle<'a>>,
698 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
699 ),
700 _phantom: ::core::marker::PhantomData<&'a ()>,
701}
702
703impl<'a> VerificationInput<'a> {
704 /// Create a new builder for this type
705 pub fn new() -> VerificationInputBuilder<'a, verification_input_state::Empty> {
706 VerificationInputBuilder::new()
707 }
708}
709
710impl<'a> VerificationInputBuilder<'a, verification_input_state::Empty> {
711 /// Create a new builder with all fields unset
712 pub fn new() -> Self {
713 VerificationInputBuilder {
714 _phantom_state: ::core::marker::PhantomData,
715 __unsafe_private_named: (None, None, None, None),
716 _phantom: ::core::marker::PhantomData,
717 }
718 }
719}
720
721impl<'a, S: verification_input_state::State> VerificationInputBuilder<'a, S> {
722 /// Set the `createdAt` field (optional)
723 pub fn created_at(
724 mut self,
725 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
726 ) -> Self {
727 self.__unsafe_private_named.0 = value.into();
728 self
729 }
730 /// Set the `createdAt` field to an Option value (optional)
731 pub fn maybe_created_at(
732 mut self,
733 value: Option<jacquard_common::types::string::Datetime>,
734 ) -> Self {
735 self.__unsafe_private_named.0 = value;
736 self
737 }
738}
739
740impl<'a, S> VerificationInputBuilder<'a, S>
741where
742 S: verification_input_state::State,
743 S::DisplayName: verification_input_state::IsUnset,
744{
745 /// Set the `displayName` field (required)
746 pub fn display_name(
747 mut self,
748 value: impl Into<jacquard_common::CowStr<'a>>,
749 ) -> VerificationInputBuilder<'a, verification_input_state::SetDisplayName<S>> {
750 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
751 VerificationInputBuilder {
752 _phantom_state: ::core::marker::PhantomData,
753 __unsafe_private_named: self.__unsafe_private_named,
754 _phantom: ::core::marker::PhantomData,
755 }
756 }
757}
758
759impl<'a, S> VerificationInputBuilder<'a, S>
760where
761 S: verification_input_state::State,
762 S::Handle: verification_input_state::IsUnset,
763{
764 /// Set the `handle` field (required)
765 pub fn handle(
766 mut self,
767 value: impl Into<jacquard_common::types::string::Handle<'a>>,
768 ) -> VerificationInputBuilder<'a, verification_input_state::SetHandle<S>> {
769 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
770 VerificationInputBuilder {
771 _phantom_state: ::core::marker::PhantomData,
772 __unsafe_private_named: self.__unsafe_private_named,
773 _phantom: ::core::marker::PhantomData,
774 }
775 }
776}
777
778impl<'a, S> VerificationInputBuilder<'a, S>
779where
780 S: verification_input_state::State,
781 S::Subject: verification_input_state::IsUnset,
782{
783 /// Set the `subject` field (required)
784 pub fn subject(
785 mut self,
786 value: impl Into<jacquard_common::types::string::Did<'a>>,
787 ) -> VerificationInputBuilder<'a, verification_input_state::SetSubject<S>> {
788 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
789 VerificationInputBuilder {
790 _phantom_state: ::core::marker::PhantomData,
791 __unsafe_private_named: self.__unsafe_private_named,
792 _phantom: ::core::marker::PhantomData,
793 }
794 }
795}
796
797impl<'a, S> VerificationInputBuilder<'a, S>
798where
799 S: verification_input_state::State,
800 S::Subject: verification_input_state::IsSet,
801 S::Handle: verification_input_state::IsSet,
802 S::DisplayName: verification_input_state::IsSet,
803{
804 /// Build the final struct
805 pub fn build(self) -> VerificationInput<'a> {
806 VerificationInput {
807 created_at: self.__unsafe_private_named.0,
808 display_name: self.__unsafe_private_named.1.unwrap(),
809 handle: self.__unsafe_private_named.2.unwrap(),
810 subject: self.__unsafe_private_named.3.unwrap(),
811 extra_data: Default::default(),
812 }
813 }
814 /// Build the final struct with custom extra_data
815 pub fn build_with_data(
816 self,
817 extra_data: std::collections::BTreeMap<
818 jacquard_common::smol_str::SmolStr,
819 jacquard_common::types::value::Data<'a>,
820 >,
821 ) -> VerificationInput<'a> {
822 VerificationInput {
823 created_at: self.__unsafe_private_named.0,
824 display_name: self.__unsafe_private_named.1.unwrap(),
825 handle: self.__unsafe_private_named.2.unwrap(),
826 subject: self.__unsafe_private_named.3.unwrap(),
827 extra_data: Some(extra_data),
828 }
829 }
830}
831
832impl<'a> ::jacquard_lexicon::schema::LexiconSchema for VerificationInput<'a> {
833 fn nsid() -> &'static str {
834 "tools.ozone.verification.grantVerifications"
835 }
836 fn def_name() -> &'static str {
837 "verificationInput"
838 }
839 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
840 lexicon_doc_tools_ozone_verification_grantVerifications()
841 }
842 fn validate(
843 &self,
844 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
845 Ok(())
846 }
847}