Skip to main content

proto_blue_api/generated/app/bsky/graph/
defs.rs

1// Generated by atproto-codegen. Do not edit.
2//! Lexicon: app.bsky.graph.defs
3#![allow(clippy::pedantic, clippy::nursery, clippy::all)]
4
5use serde::{Deserialize, Serialize};
6
7/// A list of actors used for curation purposes such as list feeds or interaction gating.
8pub const CURATELIST: &str = "app.bsky.graph.defs#curatelist";
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct ListItemView {
13    pub subject: crate::app::bsky::actor::defs::ProfileView,
14    pub uri: proto_blue_syntax::AtUri,
15}
16
17pub type ListPurpose = String;
18pub const LIST_PURPOSE_MODLIST: &str = "app.bsky.graph.defs#modlist";
19pub const LIST_PURPOSE_CURATELIST: &str = "app.bsky.graph.defs#curatelist";
20pub const LIST_PURPOSE_REFERENCELIST: &str = "app.bsky.graph.defs#referencelist";
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub struct ListView {
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub avatar: Option<String>,
27    pub cid: String,
28    pub creator: crate::app::bsky::actor::defs::ProfileView,
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub description: Option<String>,
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub description_facets: Option<Vec<crate::app::bsky::richtext::facet::Main>>,
33    pub indexed_at: proto_blue_syntax::Datetime,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub list_item_count: Option<i64>,
38    pub name: String,
39    pub purpose: ListPurpose,
40    pub uri: proto_blue_syntax::AtUri,
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub viewer: Option<ListViewerState>,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(rename_all = "camelCase")]
47pub struct ListViewBasic {
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub avatar: Option<String>,
50    pub cid: String,
51    #[serde(skip_serializing_if = "Option::is_none")]
52    pub indexed_at: Option<proto_blue_syntax::Datetime>,
53    #[serde(skip_serializing_if = "Option::is_none")]
54    pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
55    #[serde(skip_serializing_if = "Option::is_none")]
56    pub list_item_count: Option<i64>,
57    pub name: String,
58    pub purpose: ListPurpose,
59    pub uri: proto_blue_syntax::AtUri,
60    #[serde(skip_serializing_if = "Option::is_none")]
61    pub viewer: Option<ListViewerState>,
62}
63
64#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(rename_all = "camelCase")]
66pub struct ListViewerState {
67    #[serde(skip_serializing_if = "Option::is_none")]
68    pub blocked: Option<proto_blue_syntax::AtUri>,
69    #[serde(skip_serializing_if = "Option::is_none")]
70    pub muted: Option<bool>,
71}
72
73/// A list of actors to apply an aggregate moderation action (mute/block) on.
74pub const MODLIST: &str = "app.bsky.graph.defs#modlist";
75
76/// indicates that a handle or DID could not be resolved
77#[derive(Debug, Clone, Serialize, Deserialize)]
78#[serde(rename_all = "camelCase")]
79pub struct NotFoundActor {
80    pub actor: proto_blue_syntax::AtIdentifier,
81    pub not_found: bool,
82}
83
84/// A list of actors used for only for reference purposes such as within a starter pack.
85pub const REFERENCELIST: &str = "app.bsky.graph.defs#referencelist";
86
87/// lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)
88#[derive(Debug, Clone, Serialize, Deserialize)]
89#[serde(rename_all = "camelCase")]
90pub struct Relationship {
91    #[serde(skip_serializing_if = "Option::is_none")]
92    pub blocked_by: Option<proto_blue_syntax::AtUri>,
93    #[serde(skip_serializing_if = "Option::is_none")]
94    pub blocked_by_list: Option<proto_blue_syntax::AtUri>,
95    #[serde(skip_serializing_if = "Option::is_none")]
96    pub blocking: Option<proto_blue_syntax::AtUri>,
97    #[serde(skip_serializing_if = "Option::is_none")]
98    pub blocking_by_list: Option<proto_blue_syntax::AtUri>,
99    pub did: proto_blue_syntax::Did,
100    #[serde(skip_serializing_if = "Option::is_none")]
101    pub followed_by: Option<proto_blue_syntax::AtUri>,
102    #[serde(skip_serializing_if = "Option::is_none")]
103    pub following: Option<proto_blue_syntax::AtUri>,
104}
105
106#[derive(Debug, Clone, Serialize, Deserialize)]
107#[serde(rename_all = "camelCase")]
108pub struct StarterPackView {
109    pub cid: String,
110    pub creator: crate::app::bsky::actor::defs::ProfileViewBasic,
111    #[serde(skip_serializing_if = "Option::is_none")]
112    pub feeds: Option<Vec<crate::app::bsky::feed::defs::GeneratorView>>,
113    pub indexed_at: proto_blue_syntax::Datetime,
114    #[serde(skip_serializing_if = "Option::is_none")]
115    pub joined_all_time_count: Option<i64>,
116    #[serde(skip_serializing_if = "Option::is_none")]
117    pub joined_week_count: Option<i64>,
118    #[serde(skip_serializing_if = "Option::is_none")]
119    pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
120    #[serde(skip_serializing_if = "Option::is_none")]
121    pub list: Option<ListViewBasic>,
122    #[serde(skip_serializing_if = "Option::is_none")]
123    pub list_items_sample: Option<Vec<ListItemView>>,
124    pub record: serde_json::Value,
125    pub uri: proto_blue_syntax::AtUri,
126}
127
128#[derive(Debug, Clone, Serialize, Deserialize)]
129#[serde(rename_all = "camelCase")]
130pub struct StarterPackViewBasic {
131    pub cid: String,
132    pub creator: crate::app::bsky::actor::defs::ProfileViewBasic,
133    pub indexed_at: proto_blue_syntax::Datetime,
134    #[serde(skip_serializing_if = "Option::is_none")]
135    pub joined_all_time_count: Option<i64>,
136    #[serde(skip_serializing_if = "Option::is_none")]
137    pub joined_week_count: Option<i64>,
138    #[serde(skip_serializing_if = "Option::is_none")]
139    pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
140    #[serde(skip_serializing_if = "Option::is_none")]
141    pub list_item_count: Option<i64>,
142    pub record: serde_json::Value,
143    pub uri: proto_blue_syntax::AtUri,
144}