atproto blogging
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}