1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.weaver.actor.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod get_profile;
9pub mod profile;
10
11/// A single author in a Weaver notebook.
12#[jacquard_derive::lexicon]
13#[derive(
14 serde::Serialize,
15 serde::Deserialize,
16 Debug,
17 Clone,
18 PartialEq,
19 Eq,
20 jacquard_derive::IntoStatic,
21 bon::Builder
22)]
23#[serde(rename_all = "camelCase")]
24pub struct Author<'a> {
25 #[serde(borrow)]
26 pub did: jacquard_common::types::string::Did<'a>,
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[builder(into)]
29 #[serde(borrow)]
30 pub display_name: Option<jacquard_common::CowStr<'a>>,
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[builder(into)]
33 #[serde(borrow)]
34 pub handle: Option<jacquard_common::types::string::Handle<'a>>,
35}
36
37#[jacquard_derive::lexicon]
38#[derive(
39 serde::Serialize,
40 serde::Deserialize,
41 Debug,
42 Clone,
43 PartialEq,
44 Eq,
45 jacquard_derive::IntoStatic,
46 bon::Builder
47)]
48#[serde(rename_all = "camelCase")]
49pub struct ProfileDataView<'a> {
50 #[serde(borrow)]
51 pub inner: ProfileDataViewInner<'a>,
52}
53
54#[jacquard_derive::open_union]
55#[derive(
56 serde::Serialize,
57 serde::Deserialize,
58 Debug,
59 Clone,
60 PartialEq,
61 Eq,
62 jacquard_derive::IntoStatic
63)]
64#[serde(tag = "$type")]
65#[serde(bound(deserialize = "'de: 'a"))]
66pub enum ProfileDataViewInner<'a> {
67 #[serde(rename = "sh.weaver.actor.defs#profileView")]
68 ProfileView(Box<crate::sh_weaver::actor::ProfileView<'a>>),
69 #[serde(rename = "app.bsky.actor.defs#profileViewDetailed")]
70 ProfileViewDetailed(Box<crate::app_bsky::actor::ProfileViewDetailed<'a>>),
71}
72
73#[jacquard_derive::lexicon]
74#[derive(
75 serde::Serialize,
76 serde::Deserialize,
77 Debug,
78 Clone,
79 PartialEq,
80 Eq,
81 jacquard_derive::IntoStatic,
82 bon::Builder
83)]
84#[serde(rename_all = "camelCase")]
85pub struct ProfileView<'a> {
86 #[serde(skip_serializing_if = "std::option::Option::is_none")]
87 #[builder(into)]
88 #[serde(borrow)]
89 pub avatar: Option<jacquard_common::types::string::Uri<'a>>,
90 #[serde(skip_serializing_if = "std::option::Option::is_none")]
91 #[builder(into)]
92 pub created_at: Option<jacquard_common::types::string::Datetime>,
93 #[serde(skip_serializing_if = "std::option::Option::is_none")]
94 #[builder(into)]
95 #[serde(borrow)]
96 pub description: Option<jacquard_common::CowStr<'a>>,
97 #[serde(borrow)]
98 pub did: jacquard_common::types::string::Did<'a>,
99 #[serde(skip_serializing_if = "std::option::Option::is_none")]
100 #[builder(into)]
101 #[serde(borrow)]
102 pub display_name: Option<jacquard_common::CowStr<'a>>,
103 #[serde(borrow)]
104 pub handle: jacquard_common::types::string::Handle<'a>,
105 #[serde(skip_serializing_if = "std::option::Option::is_none")]
106 #[builder(into)]
107 pub indexed_at: Option<jacquard_common::types::string::Datetime>,
108 #[serde(skip_serializing_if = "std::option::Option::is_none")]
109 #[builder(into)]
110 #[serde(borrow)]
111 pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
112 #[serde(skip_serializing_if = "std::option::Option::is_none")]
113 #[builder(into)]
114 #[serde(borrow)]
115 pub links: Option<Vec<jacquard_common::types::string::Uri<'a>>>,
116 /// Free-form location text.
117 #[serde(skip_serializing_if = "std::option::Option::is_none")]
118 #[builder(into)]
119 #[serde(borrow)]
120 pub location: Option<jacquard_common::CowStr<'a>>,
121 /// Pronouns to use in user-generated content.
122 #[serde(skip_serializing_if = "std::option::Option::is_none")]
123 #[builder(into)]
124 #[serde(borrow)]
125 pub pronouns: Option<crate::sh_weaver::actor::profile::PronounsList<'a>>,
126}
127
128#[jacquard_derive::lexicon]
129#[derive(
130 serde::Serialize,
131 serde::Deserialize,
132 Debug,
133 Clone,
134 PartialEq,
135 Eq,
136 jacquard_derive::IntoStatic,
137 bon::Builder
138)]
139#[serde(rename_all = "camelCase")]
140pub struct TangledProfileView<'a> {
141 /// Include link to this account on Bluesky.
142 pub bluesky: bool,
143 /// Free-form profile description text.
144 #[serde(skip_serializing_if = "std::option::Option::is_none")]
145 #[builder(into)]
146 #[serde(borrow)]
147 pub description: Option<jacquard_common::CowStr<'a>>,
148 #[serde(borrow)]
149 pub did: jacquard_common::types::string::Did<'a>,
150 #[serde(borrow)]
151 pub handle: jacquard_common::types::string::Handle<'a>,
152 #[serde(skip_serializing_if = "std::option::Option::is_none")]
153 #[builder(into)]
154 #[serde(borrow)]
155 pub links: Option<Vec<jacquard_common::types::string::Uri<'a>>>,
156 /// Free-form location text.
157 #[serde(skip_serializing_if = "std::option::Option::is_none")]
158 #[builder(into)]
159 #[serde(borrow)]
160 pub location: Option<jacquard_common::CowStr<'a>>,
161 /// Any ATURI, it is up to appviews to validate these fields.
162 #[serde(skip_serializing_if = "std::option::Option::is_none")]
163 #[builder(into)]
164 #[serde(borrow)]
165 pub pinned_repositories: Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
166 #[serde(skip_serializing_if = "std::option::Option::is_none")]
167 #[builder(into)]
168 #[serde(borrow)]
169 pub stats: Option<Vec<jacquard_common::CowStr<'a>>>,
170}