atproto blogging
at main 847 lines 33 kB view raw
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}