A better Rust ATProto crate
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}