1#![allow(clippy::pedantic, clippy::nursery, clippy::all)]
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8#[serde(tag = "$type")]
9pub enum ConvoViewLastMessageRefs {
10 #[serde(rename = "chat.bsky.convo.defs#messageView")]
11 BskyConvoDefsMessageView(Box<MessageView>),
12 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
13 BskyConvoDefsDeletedMessageView(Box<DeletedMessageView>),
14 #[serde(other)]
15 Other,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(tag = "$type")]
20pub enum ConvoViewLastReactionRefs {
21 #[serde(rename = "chat.bsky.convo.defs#messageAndReactionView")]
22 BskyConvoDefsMessageAndReactionView(Box<MessageAndReactionView>),
23 #[serde(other)]
24 Other,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(rename_all = "camelCase")]
29pub struct ConvoView {
30 pub id: String,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub last_message: Option<ConvoViewLastMessageRefs>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub last_reaction: Option<ConvoViewLastReactionRefs>,
35 pub members: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
36 pub muted: bool,
37 pub rev: String,
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub status: Option<String>,
40 pub unread_count: i64,
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct DeletedMessageView {
46 pub id: String,
47 pub rev: String,
48 pub sender: MessageViewSender,
49 pub sent_at: proto_blue_syntax::Datetime,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
53#[serde(rename_all = "camelCase")]
54pub struct LogAcceptConvo {
55 pub convo_id: String,
56 pub rev: String,
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
60#[serde(tag = "$type")]
61pub enum LogAddReactionMessageRefs {
62 #[serde(rename = "chat.bsky.convo.defs#messageView")]
63 BskyConvoDefsMessageView(Box<MessageView>),
64 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
65 BskyConvoDefsDeletedMessageView(Box<DeletedMessageView>),
66 #[serde(other)]
67 Other,
68}
69
70#[derive(Debug, Clone, Serialize, Deserialize)]
71#[serde(rename_all = "camelCase")]
72pub struct LogAddReaction {
73 pub convo_id: String,
74 pub message: LogAddReactionMessageRefs,
75 pub reaction: ReactionView,
76 pub rev: String,
77}
78
79#[derive(Debug, Clone, Serialize, Deserialize)]
80#[serde(rename_all = "camelCase")]
81pub struct LogBeginConvo {
82 pub convo_id: String,
83 pub rev: String,
84}
85
86#[derive(Debug, Clone, Serialize, Deserialize)]
87#[serde(tag = "$type")]
88pub enum LogCreateMessageMessageRefs {
89 #[serde(rename = "chat.bsky.convo.defs#messageView")]
90 BskyConvoDefsMessageView(Box<MessageView>),
91 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
92 BskyConvoDefsDeletedMessageView(Box<DeletedMessageView>),
93 #[serde(other)]
94 Other,
95}
96
97#[derive(Debug, Clone, Serialize, Deserialize)]
98#[serde(rename_all = "camelCase")]
99pub struct LogCreateMessage {
100 pub convo_id: String,
101 pub message: LogCreateMessageMessageRefs,
102 pub rev: String,
103}
104
105#[derive(Debug, Clone, Serialize, Deserialize)]
106#[serde(tag = "$type")]
107pub enum LogDeleteMessageMessageRefs {
108 #[serde(rename = "chat.bsky.convo.defs#messageView")]
109 BskyConvoDefsMessageView(Box<MessageView>),
110 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
111 BskyConvoDefsDeletedMessageView(Box<DeletedMessageView>),
112 #[serde(other)]
113 Other,
114}
115
116#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(rename_all = "camelCase")]
118pub struct LogDeleteMessage {
119 pub convo_id: String,
120 pub message: LogDeleteMessageMessageRefs,
121 pub rev: String,
122}
123
124#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(rename_all = "camelCase")]
126pub struct LogLeaveConvo {
127 pub convo_id: String,
128 pub rev: String,
129}
130
131#[derive(Debug, Clone, Serialize, Deserialize)]
132#[serde(rename_all = "camelCase")]
133pub struct LogMuteConvo {
134 pub convo_id: String,
135 pub rev: String,
136}
137
138#[derive(Debug, Clone, Serialize, Deserialize)]
139#[serde(tag = "$type")]
140pub enum LogReadMessageMessageRefs {
141 #[serde(rename = "chat.bsky.convo.defs#messageView")]
142 BskyConvoDefsMessageView(Box<MessageView>),
143 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
144 BskyConvoDefsDeletedMessageView(Box<DeletedMessageView>),
145 #[serde(other)]
146 Other,
147}
148
149#[derive(Debug, Clone, Serialize, Deserialize)]
150#[serde(rename_all = "camelCase")]
151pub struct LogReadMessage {
152 pub convo_id: String,
153 pub message: LogReadMessageMessageRefs,
154 pub rev: String,
155}
156
157#[derive(Debug, Clone, Serialize, Deserialize)]
158#[serde(tag = "$type")]
159pub enum LogRemoveReactionMessageRefs {
160 #[serde(rename = "chat.bsky.convo.defs#messageView")]
161 BskyConvoDefsMessageView(Box<MessageView>),
162 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
163 BskyConvoDefsDeletedMessageView(Box<DeletedMessageView>),
164 #[serde(other)]
165 Other,
166}
167
168#[derive(Debug, Clone, Serialize, Deserialize)]
169#[serde(rename_all = "camelCase")]
170pub struct LogRemoveReaction {
171 pub convo_id: String,
172 pub message: LogRemoveReactionMessageRefs,
173 pub reaction: ReactionView,
174 pub rev: String,
175}
176
177#[derive(Debug, Clone, Serialize, Deserialize)]
178#[serde(rename_all = "camelCase")]
179pub struct LogUnmuteConvo {
180 pub convo_id: String,
181 pub rev: String,
182}
183
184#[derive(Debug, Clone, Serialize, Deserialize)]
185#[serde(rename_all = "camelCase")]
186pub struct MessageAndReactionView {
187 pub message: MessageView,
188 pub reaction: ReactionView,
189}
190
191#[derive(Debug, Clone, Serialize, Deserialize)]
192#[serde(tag = "$type")]
193pub enum MessageInputEmbedRefs {
194 #[serde(rename = "app.bsky.embed.record")]
195 BskyEmbedRecord(Box<crate::app::bsky::embed::record::Main>),
196 #[serde(other)]
197 Other,
198}
199
200#[derive(Debug, Clone, Serialize, Deserialize)]
201#[serde(rename_all = "camelCase")]
202pub struct MessageInput {
203 #[serde(skip_serializing_if = "Option::is_none")]
204 pub embed: Option<MessageInputEmbedRefs>,
205 #[serde(skip_serializing_if = "Option::is_none")]
206 pub facets: Option<Vec<crate::app::bsky::richtext::facet::Main>>,
207 pub text: String,
208}
209
210#[derive(Debug, Clone, Serialize, Deserialize)]
211#[serde(rename_all = "camelCase")]
212pub struct MessageRef {
213 pub convo_id: String,
214 pub did: proto_blue_syntax::Did,
215 pub message_id: String,
216}
217
218#[derive(Debug, Clone, Serialize, Deserialize)]
219#[serde(tag = "$type")]
220pub enum MessageViewEmbedRefs {
221 #[serde(rename = "app.bsky.embed.record#view")]
222 BskyEmbedRecordView(Box<crate::app::bsky::embed::record::View>),
223 #[serde(other)]
224 Other,
225}
226
227#[derive(Debug, Clone, Serialize, Deserialize)]
228#[serde(rename_all = "camelCase")]
229pub struct MessageView {
230 #[serde(skip_serializing_if = "Option::is_none")]
231 pub embed: Option<MessageViewEmbedRefs>,
232 #[serde(skip_serializing_if = "Option::is_none")]
233 pub facets: Option<Vec<crate::app::bsky::richtext::facet::Main>>,
234 pub id: String,
235 #[serde(skip_serializing_if = "Option::is_none")]
236 pub reactions: Option<Vec<ReactionView>>,
237 pub rev: String,
238 pub sender: MessageViewSender,
239 pub sent_at: proto_blue_syntax::Datetime,
240 pub text: String,
241}
242
243#[derive(Debug, Clone, Serialize, Deserialize)]
244#[serde(rename_all = "camelCase")]
245pub struct MessageViewSender {
246 pub did: proto_blue_syntax::Did,
247}
248
249#[derive(Debug, Clone, Serialize, Deserialize)]
250#[serde(rename_all = "camelCase")]
251pub struct ReactionView {
252 pub created_at: proto_blue_syntax::Datetime,
253 pub sender: ReactionViewSender,
254 pub value: String,
255}
256
257#[derive(Debug, Clone, Serialize, Deserialize)]
258#[serde(rename_all = "camelCase")]
259pub struct ReactionViewSender {
260 pub did: proto_blue_syntax::Did,
261}