atproto blogging
at main 822 lines 34 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: sh.weaver.actor.profile 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8/// A declaration of a Weaver account profile. 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 Profile<'a> { 21 /// Small image to be displayed next to posts from account. AKA, 'profile picture' 22 #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 #[serde(borrow)] 24 pub avatar: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>, 25 /// Larger horizontal image to display behind profile view. 26 #[serde(skip_serializing_if = "std::option::Option::is_none")] 27 #[serde(borrow)] 28 pub banner: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>, 29 /// Include link to this account on Bluesky. 30 #[serde(skip_serializing_if = "std::option::Option::is_none")] 31 pub bluesky: std::option::Option<bool>, 32 #[serde(skip_serializing_if = "std::option::Option::is_none")] 33 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>, 34 /// Free-form profile description text. 35 #[serde(skip_serializing_if = "std::option::Option::is_none")] 36 #[serde(borrow)] 37 pub description: std::option::Option<jacquard_common::CowStr<'a>>, 38 #[serde(skip_serializing_if = "std::option::Option::is_none")] 39 #[serde(borrow)] 40 pub display_name: std::option::Option<jacquard_common::CowStr<'a>>, 41 /// Self-label values, specific to the application, on the overall account. 42 #[serde(skip_serializing_if = "std::option::Option::is_none")] 43 #[serde(borrow)] 44 pub labels: std::option::Option<crate::com_atproto::label::SelfLabels<'a>>, 45 #[serde(skip_serializing_if = "std::option::Option::is_none")] 46 #[serde(borrow)] 47 pub links: std::option::Option<Vec<jacquard_common::types::string::Uri<'a>>>, 48 /// Free-form location text. 49 #[serde(skip_serializing_if = "std::option::Option::is_none")] 50 #[serde(borrow)] 51 pub location: std::option::Option<jacquard_common::CowStr<'a>>, 52 /// Notebooks or other records pinned for display. 53 #[serde(skip_serializing_if = "std::option::Option::is_none")] 54 #[serde(borrow)] 55 pub pinned: std::option::Option<crate::sh_weaver::actor::PinnedList<'a>>, 56 /// Pronouns to use in user-generated content. 57 #[serde(skip_serializing_if = "std::option::Option::is_none")] 58 #[serde(borrow)] 59 pub pronouns: std::option::Option<crate::sh_weaver::actor::PronounsList<'a>>, 60 /// Include link to this account on stream.place. 61 #[serde(skip_serializing_if = "std::option::Option::is_none")] 62 pub streamplace: std::option::Option<bool>, 63 /// Include link to this account on Tangled. 64 #[serde(skip_serializing_if = "std::option::Option::is_none")] 65 pub tangled: std::option::Option<bool>, 66} 67 68pub mod profile_state { 69 70 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; 71 #[allow(unused)] 72 use ::core::marker::PhantomData; 73 mod sealed { 74 pub trait Sealed {} 75 } 76 /// State trait tracking which required fields have been set 77 pub trait State: sealed::Sealed {} 78 /// Empty state - all required fields are unset 79 pub struct Empty(()); 80 impl sealed::Sealed for Empty {} 81 impl State for Empty {} 82 /// Marker types for field names 83 #[allow(non_camel_case_types)] 84 pub mod members {} 85} 86 87/// Builder for constructing an instance of this type 88pub struct ProfileBuilder<'a, S: profile_state::State> { 89 _phantom_state: ::core::marker::PhantomData<fn() -> S>, 90 __unsafe_private_named: ( 91 ::core::option::Option<jacquard_common::types::blob::BlobRef<'a>>, 92 ::core::option::Option<jacquard_common::types::blob::BlobRef<'a>>, 93 ::core::option::Option<bool>, 94 ::core::option::Option<jacquard_common::types::string::Datetime>, 95 ::core::option::Option<jacquard_common::CowStr<'a>>, 96 ::core::option::Option<jacquard_common::CowStr<'a>>, 97 ::core::option::Option<crate::com_atproto::label::SelfLabels<'a>>, 98 ::core::option::Option<Vec<jacquard_common::types::string::Uri<'a>>>, 99 ::core::option::Option<jacquard_common::CowStr<'a>>, 100 ::core::option::Option<crate::sh_weaver::actor::PinnedList<'a>>, 101 ::core::option::Option<crate::sh_weaver::actor::PronounsList<'a>>, 102 ::core::option::Option<bool>, 103 ::core::option::Option<bool>, 104 ), 105 _phantom: ::core::marker::PhantomData<&'a ()>, 106} 107 108impl<'a> Profile<'a> { 109 /// Create a new builder for this type 110 pub fn new() -> ProfileBuilder<'a, profile_state::Empty> { 111 ProfileBuilder::new() 112 } 113} 114 115impl<'a> ProfileBuilder<'a, profile_state::Empty> { 116 /// Create a new builder with all fields unset 117 pub fn new() -> Self { 118 ProfileBuilder { 119 _phantom_state: ::core::marker::PhantomData, 120 __unsafe_private_named: ( 121 None, 122 None, 123 None, 124 None, 125 None, 126 None, 127 None, 128 None, 129 None, 130 None, 131 None, 132 None, 133 None, 134 ), 135 _phantom: ::core::marker::PhantomData, 136 } 137 } 138} 139 140impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 141 /// Set the `avatar` field (optional) 142 pub fn avatar( 143 mut self, 144 value: impl Into<Option<jacquard_common::types::blob::BlobRef<'a>>>, 145 ) -> Self { 146 self.__unsafe_private_named.0 = value.into(); 147 self 148 } 149 /// Set the `avatar` field to an Option value (optional) 150 pub fn maybe_avatar( 151 mut self, 152 value: Option<jacquard_common::types::blob::BlobRef<'a>>, 153 ) -> Self { 154 self.__unsafe_private_named.0 = value; 155 self 156 } 157} 158 159impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 160 /// Set the `banner` field (optional) 161 pub fn banner( 162 mut self, 163 value: impl Into<Option<jacquard_common::types::blob::BlobRef<'a>>>, 164 ) -> Self { 165 self.__unsafe_private_named.1 = value.into(); 166 self 167 } 168 /// Set the `banner` field to an Option value (optional) 169 pub fn maybe_banner( 170 mut self, 171 value: Option<jacquard_common::types::blob::BlobRef<'a>>, 172 ) -> Self { 173 self.__unsafe_private_named.1 = value; 174 self 175 } 176} 177 178impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 179 /// Set the `bluesky` field (optional) 180 pub fn bluesky(mut self, value: impl Into<Option<bool>>) -> Self { 181 self.__unsafe_private_named.2 = value.into(); 182 self 183 } 184 /// Set the `bluesky` field to an Option value (optional) 185 pub fn maybe_bluesky(mut self, value: Option<bool>) -> Self { 186 self.__unsafe_private_named.2 = value; 187 self 188 } 189} 190 191impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 192 /// Set the `createdAt` field (optional) 193 pub fn created_at( 194 mut self, 195 value: impl Into<Option<jacquard_common::types::string::Datetime>>, 196 ) -> Self { 197 self.__unsafe_private_named.3 = value.into(); 198 self 199 } 200 /// Set the `createdAt` field to an Option value (optional) 201 pub fn maybe_created_at( 202 mut self, 203 value: Option<jacquard_common::types::string::Datetime>, 204 ) -> Self { 205 self.__unsafe_private_named.3 = value; 206 self 207 } 208} 209 210impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 211 /// Set the `description` field (optional) 212 pub fn description( 213 mut self, 214 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 215 ) -> Self { 216 self.__unsafe_private_named.4 = value.into(); 217 self 218 } 219 /// Set the `description` field to an Option value (optional) 220 pub fn maybe_description( 221 mut self, 222 value: Option<jacquard_common::CowStr<'a>>, 223 ) -> Self { 224 self.__unsafe_private_named.4 = value; 225 self 226 } 227} 228 229impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 230 /// Set the `displayName` field (optional) 231 pub fn display_name( 232 mut self, 233 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 234 ) -> Self { 235 self.__unsafe_private_named.5 = value.into(); 236 self 237 } 238 /// Set the `displayName` field to an Option value (optional) 239 pub fn maybe_display_name( 240 mut self, 241 value: Option<jacquard_common::CowStr<'a>>, 242 ) -> Self { 243 self.__unsafe_private_named.5 = value; 244 self 245 } 246} 247 248impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 249 /// Set the `labels` field (optional) 250 pub fn labels( 251 mut self, 252 value: impl Into<Option<crate::com_atproto::label::SelfLabels<'a>>>, 253 ) -> Self { 254 self.__unsafe_private_named.6 = value.into(); 255 self 256 } 257 /// Set the `labels` field to an Option value (optional) 258 pub fn maybe_labels( 259 mut self, 260 value: Option<crate::com_atproto::label::SelfLabels<'a>>, 261 ) -> Self { 262 self.__unsafe_private_named.6 = value; 263 self 264 } 265} 266 267impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 268 /// Set the `links` field (optional) 269 pub fn links( 270 mut self, 271 value: impl Into<Option<Vec<jacquard_common::types::string::Uri<'a>>>>, 272 ) -> Self { 273 self.__unsafe_private_named.7 = value.into(); 274 self 275 } 276 /// Set the `links` field to an Option value (optional) 277 pub fn maybe_links( 278 mut self, 279 value: Option<Vec<jacquard_common::types::string::Uri<'a>>>, 280 ) -> Self { 281 self.__unsafe_private_named.7 = value; 282 self 283 } 284} 285 286impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 287 /// Set the `location` field (optional) 288 pub fn location( 289 mut self, 290 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 291 ) -> Self { 292 self.__unsafe_private_named.8 = value.into(); 293 self 294 } 295 /// Set the `location` field to an Option value (optional) 296 pub fn maybe_location(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self { 297 self.__unsafe_private_named.8 = value; 298 self 299 } 300} 301 302impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 303 /// Set the `pinned` field (optional) 304 pub fn pinned( 305 mut self, 306 value: impl Into<Option<crate::sh_weaver::actor::PinnedList<'a>>>, 307 ) -> Self { 308 self.__unsafe_private_named.9 = value.into(); 309 self 310 } 311 /// Set the `pinned` field to an Option value (optional) 312 pub fn maybe_pinned( 313 mut self, 314 value: Option<crate::sh_weaver::actor::PinnedList<'a>>, 315 ) -> Self { 316 self.__unsafe_private_named.9 = value; 317 self 318 } 319} 320 321impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 322 /// Set the `pronouns` field (optional) 323 pub fn pronouns( 324 mut self, 325 value: impl Into<Option<crate::sh_weaver::actor::PronounsList<'a>>>, 326 ) -> Self { 327 self.__unsafe_private_named.10 = value.into(); 328 self 329 } 330 /// Set the `pronouns` field to an Option value (optional) 331 pub fn maybe_pronouns( 332 mut self, 333 value: Option<crate::sh_weaver::actor::PronounsList<'a>>, 334 ) -> Self { 335 self.__unsafe_private_named.10 = value; 336 self 337 } 338} 339 340impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 341 /// Set the `streamplace` field (optional) 342 pub fn streamplace(mut self, value: impl Into<Option<bool>>) -> Self { 343 self.__unsafe_private_named.11 = value.into(); 344 self 345 } 346 /// Set the `streamplace` field to an Option value (optional) 347 pub fn maybe_streamplace(mut self, value: Option<bool>) -> Self { 348 self.__unsafe_private_named.11 = value; 349 self 350 } 351} 352 353impl<'a, S: profile_state::State> ProfileBuilder<'a, S> { 354 /// Set the `tangled` field (optional) 355 pub fn tangled(mut self, value: impl Into<Option<bool>>) -> Self { 356 self.__unsafe_private_named.12 = value.into(); 357 self 358 } 359 /// Set the `tangled` field to an Option value (optional) 360 pub fn maybe_tangled(mut self, value: Option<bool>) -> Self { 361 self.__unsafe_private_named.12 = value; 362 self 363 } 364} 365 366impl<'a, S> ProfileBuilder<'a, S> 367where 368 S: profile_state::State, 369{ 370 /// Build the final struct 371 pub fn build(self) -> Profile<'a> { 372 Profile { 373 avatar: self.__unsafe_private_named.0, 374 banner: self.__unsafe_private_named.1, 375 bluesky: self.__unsafe_private_named.2, 376 created_at: self.__unsafe_private_named.3, 377 description: self.__unsafe_private_named.4, 378 display_name: self.__unsafe_private_named.5, 379 labels: self.__unsafe_private_named.6, 380 links: self.__unsafe_private_named.7, 381 location: self.__unsafe_private_named.8, 382 pinned: self.__unsafe_private_named.9, 383 pronouns: self.__unsafe_private_named.10, 384 streamplace: self.__unsafe_private_named.11, 385 tangled: self.__unsafe_private_named.12, 386 extra_data: Default::default(), 387 } 388 } 389 /// Build the final struct with custom extra_data 390 pub fn build_with_data( 391 self, 392 extra_data: std::collections::BTreeMap< 393 jacquard_common::smol_str::SmolStr, 394 jacquard_common::types::value::Data<'a>, 395 >, 396 ) -> Profile<'a> { 397 Profile { 398 avatar: self.__unsafe_private_named.0, 399 banner: self.__unsafe_private_named.1, 400 bluesky: self.__unsafe_private_named.2, 401 created_at: self.__unsafe_private_named.3, 402 description: self.__unsafe_private_named.4, 403 display_name: self.__unsafe_private_named.5, 404 labels: self.__unsafe_private_named.6, 405 links: self.__unsafe_private_named.7, 406 location: self.__unsafe_private_named.8, 407 pinned: self.__unsafe_private_named.9, 408 pronouns: self.__unsafe_private_named.10, 409 streamplace: self.__unsafe_private_named.11, 410 tangled: self.__unsafe_private_named.12, 411 extra_data: Some(extra_data), 412 } 413 } 414} 415 416impl<'a> Profile<'a> { 417 pub fn uri( 418 uri: impl Into<jacquard_common::CowStr<'a>>, 419 ) -> Result< 420 jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 421 jacquard_common::types::uri::UriError, 422 > { 423 jacquard_common::types::uri::RecordUri::try_from_uri( 424 jacquard_common::types::string::AtUri::new_cow(uri.into())?, 425 ) 426 } 427} 428 429/// Typed wrapper for GetRecord response with this collection's record type. 430#[derive( 431 serde::Serialize, 432 serde::Deserialize, 433 Debug, 434 Clone, 435 PartialEq, 436 Eq, 437 jacquard_derive::IntoStatic 438)] 439#[serde(rename_all = "camelCase")] 440pub struct ProfileGetRecordOutput<'a> { 441 #[serde(skip_serializing_if = "std::option::Option::is_none")] 442 #[serde(borrow)] 443 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 444 #[serde(borrow)] 445 pub uri: jacquard_common::types::string::AtUri<'a>, 446 #[serde(borrow)] 447 pub value: Profile<'a>, 448} 449 450impl From<ProfileGetRecordOutput<'_>> for Profile<'_> { 451 fn from(output: ProfileGetRecordOutput<'_>) -> Self { 452 use jacquard_common::IntoStatic; 453 output.value.into_static() 454 } 455} 456 457impl jacquard_common::types::collection::Collection for Profile<'_> { 458 const NSID: &'static str = "sh.weaver.actor.profile"; 459 type Record = ProfileRecord; 460} 461 462/// Marker type for deserializing records from this collection. 463#[derive(Debug, serde::Serialize, serde::Deserialize)] 464pub struct ProfileRecord; 465impl jacquard_common::xrpc::XrpcResp for ProfileRecord { 466 const NSID: &'static str = "sh.weaver.actor.profile"; 467 const ENCODING: &'static str = "application/json"; 468 type Output<'de> = ProfileGetRecordOutput<'de>; 469 type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 470} 471 472impl jacquard_common::types::collection::Collection for ProfileRecord { 473 const NSID: &'static str = "sh.weaver.actor.profile"; 474 type Record = ProfileRecord; 475} 476 477impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Profile<'a> { 478 fn nsid() -> &'static str { 479 "sh.weaver.actor.profile" 480 } 481 fn def_name() -> &'static str { 482 "main" 483 } 484 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> { 485 lexicon_doc_sh_weaver_actor_profile() 486 } 487 fn validate( 488 &self, 489 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> { 490 if let Some(ref value) = self.description { 491 #[allow(unused_comparisons)] 492 if <str>::len(value.as_ref()) > 10240usize { 493 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength { 494 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 495 "description", 496 ), 497 max: 10240usize, 498 actual: <str>::len(value.as_ref()), 499 }); 500 } 501 } 502 if let Some(ref value) = self.description { 503 { 504 let count = ::unicode_segmentation::UnicodeSegmentation::graphemes( 505 value.as_ref(), 506 true, 507 ) 508 .count(); 509 if count > 1024usize { 510 return Err(::jacquard_lexicon::validation::ConstraintError::MaxGraphemes { 511 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 512 "description", 513 ), 514 max: 1024usize, 515 actual: count, 516 }); 517 } 518 } 519 } 520 if let Some(ref value) = self.display_name { 521 #[allow(unused_comparisons)] 522 if <str>::len(value.as_ref()) > 640usize { 523 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength { 524 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 525 "display_name", 526 ), 527 max: 640usize, 528 actual: <str>::len(value.as_ref()), 529 }); 530 } 531 } 532 if let Some(ref value) = self.display_name { 533 { 534 let count = ::unicode_segmentation::UnicodeSegmentation::graphemes( 535 value.as_ref(), 536 true, 537 ) 538 .count(); 539 if count > 64usize { 540 return Err(::jacquard_lexicon::validation::ConstraintError::MaxGraphemes { 541 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 542 "display_name", 543 ), 544 max: 64usize, 545 actual: count, 546 }); 547 } 548 } 549 } 550 if let Some(ref value) = self.links { 551 #[allow(unused_comparisons)] 552 if value.len() > 5usize { 553 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength { 554 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 555 "links", 556 ), 557 max: 5usize, 558 actual: value.len(), 559 }); 560 } 561 } 562 if let Some(ref value) = self.links { 563 #[allow(unused_comparisons)] 564 if value.len() < 0usize { 565 return Err(::jacquard_lexicon::validation::ConstraintError::MinLength { 566 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 567 "links", 568 ), 569 min: 0usize, 570 actual: value.len(), 571 }); 572 } 573 } 574 if let Some(ref value) = self.location { 575 #[allow(unused_comparisons)] 576 if <str>::len(value.as_ref()) > 400usize { 577 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength { 578 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 579 "location", 580 ), 581 max: 400usize, 582 actual: <str>::len(value.as_ref()), 583 }); 584 } 585 } 586 if let Some(ref value) = self.location { 587 { 588 let count = ::unicode_segmentation::UnicodeSegmentation::graphemes( 589 value.as_ref(), 590 true, 591 ) 592 .count(); 593 if count > 40usize { 594 return Err(::jacquard_lexicon::validation::ConstraintError::MaxGraphemes { 595 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 596 "location", 597 ), 598 max: 40usize, 599 actual: count, 600 }); 601 } 602 } 603 } 604 Ok(()) 605 } 606} 607 608fn lexicon_doc_sh_weaver_actor_profile() -> ::jacquard_lexicon::lexicon::LexiconDoc< 609 'static, 610> { 611 ::jacquard_lexicon::lexicon::LexiconDoc { 612 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1, 613 id: ::jacquard_common::CowStr::new_static("sh.weaver.actor.profile"), 614 revision: None, 615 description: None, 616 defs: { 617 let mut map = ::alloc::collections::BTreeMap::new(); 618 map.insert( 619 ::jacquard_common::smol_str::SmolStr::new_static("main"), 620 ::jacquard_lexicon::lexicon::LexUserType::Record(::jacquard_lexicon::lexicon::LexRecord { 621 description: Some( 622 ::jacquard_common::CowStr::new_static( 623 "A declaration of a Weaver account profile.", 624 ), 625 ), 626 key: Some(::jacquard_common::CowStr::new_static("literal:self")), 627 record: ::jacquard_lexicon::lexicon::LexRecordRecord::Object(::jacquard_lexicon::lexicon::LexObject { 628 description: None, 629 required: None, 630 nullable: None, 631 properties: { 632 #[allow(unused_mut)] 633 let mut map = ::alloc::collections::BTreeMap::new(); 634 map.insert( 635 ::jacquard_common::smol_str::SmolStr::new_static("avatar"), 636 ::jacquard_lexicon::lexicon::LexObjectProperty::Blob(::jacquard_lexicon::lexicon::LexBlob { 637 description: None, 638 accept: None, 639 max_size: None, 640 }), 641 ); 642 map.insert( 643 ::jacquard_common::smol_str::SmolStr::new_static("banner"), 644 ::jacquard_lexicon::lexicon::LexObjectProperty::Blob(::jacquard_lexicon::lexicon::LexBlob { 645 description: None, 646 accept: None, 647 max_size: None, 648 }), 649 ); 650 map.insert( 651 ::jacquard_common::smol_str::SmolStr::new_static("bluesky"), 652 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean { 653 description: None, 654 default: None, 655 r#const: None, 656 }), 657 ); 658 map.insert( 659 ::jacquard_common::smol_str::SmolStr::new_static( 660 "createdAt", 661 ), 662 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 663 description: None, 664 format: Some( 665 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime, 666 ), 667 default: None, 668 min_length: None, 669 max_length: None, 670 min_graphemes: None, 671 max_graphemes: None, 672 r#enum: None, 673 r#const: None, 674 known_values: None, 675 }), 676 ); 677 map.insert( 678 ::jacquard_common::smol_str::SmolStr::new_static( 679 "description", 680 ), 681 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 682 description: Some( 683 ::jacquard_common::CowStr::new_static( 684 "Free-form profile description text.", 685 ), 686 ), 687 format: None, 688 default: None, 689 min_length: None, 690 max_length: Some(10240usize), 691 min_graphemes: None, 692 max_graphemes: Some(1024usize), 693 r#enum: None, 694 r#const: None, 695 known_values: None, 696 }), 697 ); 698 map.insert( 699 ::jacquard_common::smol_str::SmolStr::new_static( 700 "displayName", 701 ), 702 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 703 description: None, 704 format: None, 705 default: None, 706 min_length: None, 707 max_length: Some(640usize), 708 min_graphemes: None, 709 max_graphemes: Some(64usize), 710 r#enum: None, 711 r#const: None, 712 known_values: None, 713 }), 714 ); 715 map.insert( 716 ::jacquard_common::smol_str::SmolStr::new_static("labels"), 717 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion { 718 description: Some( 719 ::jacquard_common::CowStr::new_static( 720 "Self-label values, specific to the application, on the overall account.", 721 ), 722 ), 723 refs: vec![ 724 ::jacquard_common::CowStr::new_static("com.atproto.label.defs#selfLabels") 725 ], 726 closed: None, 727 }), 728 ); 729 map.insert( 730 ::jacquard_common::smol_str::SmolStr::new_static("links"), 731 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray { 732 description: None, 733 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString { 734 description: Some( 735 ::jacquard_common::CowStr::new_static( 736 "Any URI, intended for social profiles or websites, can be used to link DIDs/AT-URIs too.", 737 ), 738 ), 739 format: Some( 740 ::jacquard_lexicon::lexicon::LexStringFormat::Uri, 741 ), 742 default: None, 743 min_length: None, 744 max_length: None, 745 min_graphemes: None, 746 max_graphemes: None, 747 r#enum: None, 748 r#const: None, 749 known_values: None, 750 }), 751 min_length: Some(0usize), 752 max_length: Some(5usize), 753 }), 754 ); 755 map.insert( 756 ::jacquard_common::smol_str::SmolStr::new_static( 757 "location", 758 ), 759 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 760 description: Some( 761 ::jacquard_common::CowStr::new_static( 762 "Free-form location text.", 763 ), 764 ), 765 format: None, 766 default: None, 767 min_length: None, 768 max_length: Some(400usize), 769 min_graphemes: None, 770 max_graphemes: Some(40usize), 771 r#enum: None, 772 r#const: None, 773 known_values: None, 774 }), 775 ); 776 map.insert( 777 ::jacquard_common::smol_str::SmolStr::new_static("pinned"), 778 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef { 779 description: None, 780 r#ref: ::jacquard_common::CowStr::new_static( 781 "sh.weaver.actor.defs#pinnedList", 782 ), 783 }), 784 ); 785 map.insert( 786 ::jacquard_common::smol_str::SmolStr::new_static( 787 "pronouns", 788 ), 789 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef { 790 description: None, 791 r#ref: ::jacquard_common::CowStr::new_static( 792 "sh.weaver.actor.defs#pronounsList", 793 ), 794 }), 795 ); 796 map.insert( 797 ::jacquard_common::smol_str::SmolStr::new_static( 798 "streamplace", 799 ), 800 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean { 801 description: None, 802 default: None, 803 r#const: None, 804 }), 805 ); 806 map.insert( 807 ::jacquard_common::smol_str::SmolStr::new_static("tangled"), 808 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean { 809 description: None, 810 default: None, 811 r#const: None, 812 }), 813 ); 814 map 815 }, 816 }), 817 }), 818 ); 819 map 820 }, 821 } 822}