jacquard_api/sh_weaver/
actor.rs

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}