1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.graph.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 block;
9pub mod follow;
10pub mod get_actor_starter_packs;
11pub mod get_blocks;
12pub mod get_followers;
13pub mod get_follows;
14pub mod get_known_followers;
15pub mod get_list;
16pub mod get_list_blocks;
17pub mod get_list_mutes;
18pub mod get_lists;
19pub mod get_lists_with_membership;
20pub mod get_mutes;
21pub mod get_relationships;
22pub mod get_starter_pack;
23pub mod get_starter_packs;
24pub mod get_starter_packs_with_membership;
25pub mod get_suggested_follows_by_actor;
26pub mod list;
27pub mod listblock;
28pub mod listitem;
29pub mod mute_actor;
30pub mod mute_actor_list;
31pub mod mute_thread;
32pub mod search_starter_packs;
33pub mod starterpack;
34pub mod unmute_actor;
35pub mod unmute_actor_list;
36pub mod unmute_thread;
37pub mod verification;
38
39#[jacquard_derive::lexicon]
40#[derive(
41 serde::Serialize,
42 serde::Deserialize,
43 Debug,
44 Clone,
45 PartialEq,
46 Eq,
47 jacquard_derive::IntoStatic
48)]
49#[serde(rename_all = "camelCase")]
50pub struct ListItemView<'a> {
51 #[serde(borrow)]
52 pub subject: crate::app_bsky::actor::ProfileView<'a>,
53 #[serde(borrow)]
54 pub uri: jacquard_common::types::string::AtUri<'a>,
55}
56
57#[derive(Debug, Clone, PartialEq, Eq, Hash)]
58pub enum ListPurpose<'a> {
59 AppBskyGraphDefsModlist,
60 AppBskyGraphDefsCuratelist,
61 AppBskyGraphDefsReferencelist,
62 Other(jacquard_common::CowStr<'a>),
63}
64
65impl<'a> ListPurpose<'a> {
66 pub fn as_str(&self) -> &str {
67 match self {
68 Self::AppBskyGraphDefsModlist => "app.bsky.graph.defs#modlist",
69 Self::AppBskyGraphDefsCuratelist => "app.bsky.graph.defs#curatelist",
70 Self::AppBskyGraphDefsReferencelist => "app.bsky.graph.defs#referencelist",
71 Self::Other(s) => s.as_ref(),
72 }
73 }
74}
75
76impl<'a> From<&'a str> for ListPurpose<'a> {
77 fn from(s: &'a str) -> Self {
78 match s {
79 "app.bsky.graph.defs#modlist" => Self::AppBskyGraphDefsModlist,
80 "app.bsky.graph.defs#curatelist" => Self::AppBskyGraphDefsCuratelist,
81 "app.bsky.graph.defs#referencelist" => Self::AppBskyGraphDefsReferencelist,
82 _ => Self::Other(jacquard_common::CowStr::from(s)),
83 }
84 }
85}
86
87impl<'a> From<String> for ListPurpose<'a> {
88 fn from(s: String) -> Self {
89 match s.as_str() {
90 "app.bsky.graph.defs#modlist" => Self::AppBskyGraphDefsModlist,
91 "app.bsky.graph.defs#curatelist" => Self::AppBskyGraphDefsCuratelist,
92 "app.bsky.graph.defs#referencelist" => Self::AppBskyGraphDefsReferencelist,
93 _ => Self::Other(jacquard_common::CowStr::from(s)),
94 }
95 }
96}
97
98impl<'a> AsRef<str> for ListPurpose<'a> {
99 fn as_ref(&self) -> &str {
100 self.as_str()
101 }
102}
103
104impl<'a> serde::Serialize for ListPurpose<'a> {
105 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
106 where
107 S: serde::Serializer,
108 {
109 serializer.serialize_str(self.as_str())
110 }
111}
112
113impl<'de, 'a> serde::Deserialize<'de> for ListPurpose<'a>
114where
115 'de: 'a,
116{
117 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
118 where
119 D: serde::Deserializer<'de>,
120 {
121 let s = <&'de str>::deserialize(deserializer)?;
122 Ok(Self::from(s))
123 }
124}
125
126impl jacquard_common::IntoStatic for ListPurpose<'_> {
127 type Output = ListPurpose<'static>;
128 fn into_static(self) -> Self::Output {
129 match self {
130 ListPurpose::AppBskyGraphDefsModlist => ListPurpose::AppBskyGraphDefsModlist,
131 ListPurpose::AppBskyGraphDefsCuratelist => {
132 ListPurpose::AppBskyGraphDefsCuratelist
133 }
134 ListPurpose::AppBskyGraphDefsReferencelist => {
135 ListPurpose::AppBskyGraphDefsReferencelist
136 }
137 ListPurpose::Other(v) => ListPurpose::Other(v.into_static()),
138 }
139 }
140}
141
142#[jacquard_derive::lexicon]
143#[derive(
144 serde::Serialize,
145 serde::Deserialize,
146 Debug,
147 Clone,
148 PartialEq,
149 Eq,
150 jacquard_derive::IntoStatic
151)]
152#[serde(rename_all = "camelCase")]
153pub struct ListView<'a> {
154 #[serde(skip_serializing_if = "std::option::Option::is_none")]
155 #[serde(borrow)]
156 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
157 #[serde(borrow)]
158 pub cid: jacquard_common::types::string::Cid<'a>,
159 #[serde(borrow)]
160 pub creator: crate::app_bsky::actor::ProfileView<'a>,
161 #[serde(skip_serializing_if = "std::option::Option::is_none")]
162 #[serde(borrow)]
163 pub description: std::option::Option<jacquard_common::CowStr<'a>>,
164 #[serde(skip_serializing_if = "std::option::Option::is_none")]
165 #[serde(borrow)]
166 pub description_facets: std::option::Option<
167 Vec<crate::app_bsky::richtext::facet::Facet<'a>>,
168 >,
169 pub indexed_at: jacquard_common::types::string::Datetime,
170 #[serde(skip_serializing_if = "std::option::Option::is_none")]
171 #[serde(borrow)]
172 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
173 #[serde(skip_serializing_if = "std::option::Option::is_none")]
174 pub list_item_count: std::option::Option<i64>,
175 #[serde(borrow)]
176 pub name: jacquard_common::CowStr<'a>,
177 #[serde(borrow)]
178 pub purpose: crate::app_bsky::graph::ListPurpose<'a>,
179 #[serde(borrow)]
180 pub uri: jacquard_common::types::string::AtUri<'a>,
181 #[serde(skip_serializing_if = "std::option::Option::is_none")]
182 #[serde(borrow)]
183 pub viewer: std::option::Option<crate::app_bsky::graph::ListViewerState<'a>>,
184}
185
186#[jacquard_derive::lexicon]
187#[derive(
188 serde::Serialize,
189 serde::Deserialize,
190 Debug,
191 Clone,
192 PartialEq,
193 Eq,
194 jacquard_derive::IntoStatic
195)]
196#[serde(rename_all = "camelCase")]
197pub struct ListViewBasic<'a> {
198 #[serde(skip_serializing_if = "std::option::Option::is_none")]
199 #[serde(borrow)]
200 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
201 #[serde(borrow)]
202 pub cid: jacquard_common::types::string::Cid<'a>,
203 #[serde(skip_serializing_if = "std::option::Option::is_none")]
204 pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
205 #[serde(skip_serializing_if = "std::option::Option::is_none")]
206 #[serde(borrow)]
207 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
208 #[serde(skip_serializing_if = "std::option::Option::is_none")]
209 pub list_item_count: std::option::Option<i64>,
210 #[serde(borrow)]
211 pub name: jacquard_common::CowStr<'a>,
212 #[serde(borrow)]
213 pub purpose: crate::app_bsky::graph::ListPurpose<'a>,
214 #[serde(borrow)]
215 pub uri: jacquard_common::types::string::AtUri<'a>,
216 #[serde(skip_serializing_if = "std::option::Option::is_none")]
217 #[serde(borrow)]
218 pub viewer: std::option::Option<crate::app_bsky::graph::ListViewerState<'a>>,
219}
220
221#[jacquard_derive::lexicon]
222#[derive(
223 serde::Serialize,
224 serde::Deserialize,
225 Debug,
226 Clone,
227 PartialEq,
228 Eq,
229 jacquard_derive::IntoStatic
230)]
231#[serde(rename_all = "camelCase")]
232pub struct ListViewerState<'a> {
233 #[serde(skip_serializing_if = "std::option::Option::is_none")]
234 #[serde(borrow)]
235 pub blocked: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
236 #[serde(skip_serializing_if = "std::option::Option::is_none")]
237 pub muted: std::option::Option<bool>,
238}
239
240///indicates that a handle or DID could not be resolved
241#[jacquard_derive::lexicon]
242#[derive(
243 serde::Serialize,
244 serde::Deserialize,
245 Debug,
246 Clone,
247 PartialEq,
248 Eq,
249 jacquard_derive::IntoStatic
250)]
251#[serde(rename_all = "camelCase")]
252pub struct NotFoundActor<'a> {
253 #[serde(borrow)]
254 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
255 pub not_found: bool,
256}
257
258///lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)
259#[jacquard_derive::lexicon]
260#[derive(
261 serde::Serialize,
262 serde::Deserialize,
263 Debug,
264 Clone,
265 PartialEq,
266 Eq,
267 jacquard_derive::IntoStatic
268)]
269#[serde(rename_all = "camelCase")]
270pub struct Relationship<'a> {
271 #[serde(borrow)]
272 pub did: jacquard_common::types::string::Did<'a>,
273 ///if the actor is followed by this DID, contains the AT-URI of the follow record
274 #[serde(skip_serializing_if = "std::option::Option::is_none")]
275 #[serde(borrow)]
276 pub followed_by: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
277 ///if the actor follows this DID, this is the AT-URI of the follow record
278 #[serde(skip_serializing_if = "std::option::Option::is_none")]
279 #[serde(borrow)]
280 pub following: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
281}
282
283#[jacquard_derive::lexicon]
284#[derive(
285 serde::Serialize,
286 serde::Deserialize,
287 Debug,
288 Clone,
289 PartialEq,
290 Eq,
291 jacquard_derive::IntoStatic
292)]
293#[serde(rename_all = "camelCase")]
294pub struct StarterPackView<'a> {
295 #[serde(borrow)]
296 pub cid: jacquard_common::types::string::Cid<'a>,
297 #[serde(borrow)]
298 pub creator: crate::app_bsky::actor::ProfileViewBasic<'a>,
299 #[serde(skip_serializing_if = "std::option::Option::is_none")]
300 #[serde(borrow)]
301 pub feeds: std::option::Option<Vec<crate::app_bsky::feed::GeneratorView<'a>>>,
302 pub indexed_at: jacquard_common::types::string::Datetime,
303 #[serde(skip_serializing_if = "std::option::Option::is_none")]
304 pub joined_all_time_count: std::option::Option<i64>,
305 #[serde(skip_serializing_if = "std::option::Option::is_none")]
306 pub joined_week_count: std::option::Option<i64>,
307 #[serde(skip_serializing_if = "std::option::Option::is_none")]
308 #[serde(borrow)]
309 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
310 #[serde(skip_serializing_if = "std::option::Option::is_none")]
311 #[serde(borrow)]
312 pub list: std::option::Option<crate::app_bsky::graph::ListViewBasic<'a>>,
313 #[serde(skip_serializing_if = "std::option::Option::is_none")]
314 #[serde(borrow)]
315 pub list_items_sample: std::option::Option<
316 Vec<crate::app_bsky::graph::ListItemView<'a>>,
317 >,
318 #[serde(borrow)]
319 pub record: jacquard_common::types::value::Data<'a>,
320 #[serde(borrow)]
321 pub uri: jacquard_common::types::string::AtUri<'a>,
322}
323
324#[jacquard_derive::lexicon]
325#[derive(
326 serde::Serialize,
327 serde::Deserialize,
328 Debug,
329 Clone,
330 PartialEq,
331 Eq,
332 jacquard_derive::IntoStatic
333)]
334#[serde(rename_all = "camelCase")]
335pub struct StarterPackViewBasic<'a> {
336 #[serde(borrow)]
337 pub cid: jacquard_common::types::string::Cid<'a>,
338 #[serde(borrow)]
339 pub creator: crate::app_bsky::actor::ProfileViewBasic<'a>,
340 pub indexed_at: jacquard_common::types::string::Datetime,
341 #[serde(skip_serializing_if = "std::option::Option::is_none")]
342 pub joined_all_time_count: std::option::Option<i64>,
343 #[serde(skip_serializing_if = "std::option::Option::is_none")]
344 pub joined_week_count: std::option::Option<i64>,
345 #[serde(skip_serializing_if = "std::option::Option::is_none")]
346 #[serde(borrow)]
347 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
348 #[serde(skip_serializing_if = "std::option::Option::is_none")]
349 pub list_item_count: std::option::Option<i64>,
350 #[serde(borrow)]
351 pub record: jacquard_common::types::value::Data<'a>,
352 #[serde(borrow)]
353 pub uri: jacquard_common::types::string::AtUri<'a>,
354}