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)]
22#[serde(rename_all = "camelCase")]
23pub struct Author<'a> {
24    #[serde(borrow)]
25    pub did: jacquard_common::types::string::Did<'a>,
26    #[serde(skip_serializing_if = "std::option::Option::is_none")]
27    #[serde(borrow)]
28    pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
29    #[serde(skip_serializing_if = "std::option::Option::is_none")]
30    #[serde(borrow)]
31    pub handle: std::option::Option<jacquard_common::types::string::Handle<'a>>,
32}
33
34#[jacquard_derive::lexicon]
35#[derive(
36    serde::Serialize,
37    serde::Deserialize,
38    Debug,
39    Clone,
40    PartialEq,
41    Eq,
42    jacquard_derive::IntoStatic
43)]
44#[serde(rename_all = "camelCase")]
45pub struct ProfileDataView<'a> {
46    #[serde(borrow)]
47    pub inner: ProfileDataViewInner<'a>,
48}
49
50#[jacquard_derive::open_union]
51#[derive(
52    serde::Serialize,
53    serde::Deserialize,
54    Debug,
55    Clone,
56    PartialEq,
57    Eq,
58    jacquard_derive::IntoStatic
59)]
60#[serde(tag = "$type")]
61#[serde(bound(deserialize = "'de: 'a"))]
62pub enum ProfileDataViewInner<'a> {
63    #[serde(rename = "sh.weaver.actor.defs#profileView")]
64    ProfileView(Box<crate::sh_weaver::actor::ProfileView<'a>>),
65    #[serde(rename = "app.bsky.actor.defs#profileViewDetailed")]
66    ProfileViewDetailed(Box<crate::app_bsky::actor::ProfileViewDetailed<'a>>),
67}
68
69#[jacquard_derive::lexicon]
70#[derive(
71    serde::Serialize,
72    serde::Deserialize,
73    Debug,
74    Clone,
75    PartialEq,
76    Eq,
77    jacquard_derive::IntoStatic
78)]
79#[serde(rename_all = "camelCase")]
80pub struct ProfileView<'a> {
81    #[serde(skip_serializing_if = "std::option::Option::is_none")]
82    #[serde(borrow)]
83    pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
84    #[serde(skip_serializing_if = "std::option::Option::is_none")]
85    pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
86    #[serde(skip_serializing_if = "std::option::Option::is_none")]
87    #[serde(borrow)]
88    pub description: std::option::Option<jacquard_common::CowStr<'a>>,
89    #[serde(borrow)]
90    pub did: jacquard_common::types::string::Did<'a>,
91    #[serde(skip_serializing_if = "std::option::Option::is_none")]
92    #[serde(borrow)]
93    pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
94    #[serde(borrow)]
95    pub handle: jacquard_common::types::string::Handle<'a>,
96    #[serde(skip_serializing_if = "std::option::Option::is_none")]
97    pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
98    #[serde(skip_serializing_if = "std::option::Option::is_none")]
99    #[serde(borrow)]
100    pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
101    #[serde(skip_serializing_if = "std::option::Option::is_none")]
102    #[serde(borrow)]
103    pub links: std::option::Option<Vec<jacquard_common::types::string::Uri<'a>>>,
104    ///Free-form location text.
105    #[serde(skip_serializing_if = "std::option::Option::is_none")]
106    #[serde(borrow)]
107    pub location: std::option::Option<jacquard_common::CowStr<'a>>,
108    ///Pronouns to use in user-generated content.
109    #[serde(skip_serializing_if = "std::option::Option::is_none")]
110    #[serde(borrow)]
111    pub pronouns: std::option::Option<
112        crate::sh_weaver::actor::profile::PronounsList<'a>,
113    >,
114}
115
116#[jacquard_derive::lexicon]
117#[derive(
118    serde::Serialize,
119    serde::Deserialize,
120    Debug,
121    Clone,
122    PartialEq,
123    Eq,
124    jacquard_derive::IntoStatic
125)]
126#[serde(rename_all = "camelCase")]
127pub struct TangledProfileView<'a> {
128    ///Include link to this account on Bluesky.
129    pub bluesky: bool,
130    ///Free-form profile description text.
131    #[serde(skip_serializing_if = "std::option::Option::is_none")]
132    #[serde(borrow)]
133    pub description: std::option::Option<jacquard_common::CowStr<'a>>,
134    #[serde(borrow)]
135    pub did: jacquard_common::types::string::Did<'a>,
136    #[serde(borrow)]
137    pub handle: jacquard_common::types::string::Handle<'a>,
138    #[serde(skip_serializing_if = "std::option::Option::is_none")]
139    #[serde(borrow)]
140    pub links: std::option::Option<Vec<jacquard_common::types::string::Uri<'a>>>,
141    ///Free-form location text.
142    #[serde(skip_serializing_if = "std::option::Option::is_none")]
143    #[serde(borrow)]
144    pub location: std::option::Option<jacquard_common::CowStr<'a>>,
145    ///Any ATURI, it is up to appviews to validate these fields.
146    #[serde(skip_serializing_if = "std::option::Option::is_none")]
147    #[serde(borrow)]
148    pub pinned_repositories: std::option::Option<
149        Vec<jacquard_common::types::string::AtUri<'a>>,
150    >,
151    #[serde(skip_serializing_if = "std::option::Option::is_none")]
152    #[serde(borrow)]
153    pub stats: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
154}