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