1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: chat.bsky.convo.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 accept_convo;
9pub mod add_reaction;
10pub mod delete_message_for_self;
11pub mod get_convo;
12pub mod get_convo_availability;
13pub mod get_convo_for_members;
14pub mod get_log;
15pub mod get_messages;
16pub mod leave_convo;
17pub mod list_convos;
18pub mod mute_convo;
19pub mod remove_reaction;
20pub mod send_message;
21pub mod send_message_batch;
22pub mod unmute_convo;
23pub mod update_all_read;
24pub mod update_read;
25
26#[jacquard_derive::lexicon]
27#[derive(
28 serde::Serialize,
29 serde::Deserialize,
30 Debug,
31 Clone,
32 PartialEq,
33 Eq,
34 jacquard_derive::IntoStatic,
35 bon::Builder
36)]
37#[serde(rename_all = "camelCase")]
38pub struct ConvoView<'a> {
39 #[serde(borrow)]
40 #[builder(into)]
41 pub id: jacquard_common::CowStr<'a>,
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[builder(into)]
44 #[serde(borrow)]
45 pub last_message: Option<ConvoViewLastMessage<'a>>,
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[builder(into)]
48 #[serde(borrow)]
49 pub last_reaction: Option<crate::chat_bsky::convo::MessageAndReactionView<'a>>,
50 #[serde(borrow)]
51 pub members: Vec<crate::chat_bsky::actor::ProfileViewBasic<'a>>,
52 pub muted: bool,
53 #[serde(borrow)]
54 #[builder(into)]
55 pub rev: jacquard_common::CowStr<'a>,
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[builder(into)]
58 #[serde(borrow)]
59 pub status: Option<jacquard_common::CowStr<'a>>,
60 pub unread_count: i64,
61}
62
63#[jacquard_derive::open_union]
64#[derive(
65 serde::Serialize,
66 serde::Deserialize,
67 Debug,
68 Clone,
69 PartialEq,
70 Eq,
71 jacquard_derive::IntoStatic
72)]
73#[serde(tag = "$type")]
74#[serde(bound(deserialize = "'de: 'a"))]
75pub enum ConvoViewLastMessage<'a> {
76 #[serde(rename = "chat.bsky.convo.defs#messageView")]
77 MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
78 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
79 DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
80}
81
82#[jacquard_derive::lexicon]
83#[derive(
84 serde::Serialize,
85 serde::Deserialize,
86 Debug,
87 Clone,
88 PartialEq,
89 Eq,
90 jacquard_derive::IntoStatic,
91 bon::Builder
92)]
93#[serde(rename_all = "camelCase")]
94pub struct DeletedMessageView<'a> {
95 #[serde(borrow)]
96 #[builder(into)]
97 pub id: jacquard_common::CowStr<'a>,
98 #[serde(borrow)]
99 #[builder(into)]
100 pub rev: jacquard_common::CowStr<'a>,
101 #[serde(borrow)]
102 pub sender: crate::chat_bsky::convo::MessageViewSender<'a>,
103 pub sent_at: jacquard_common::types::string::Datetime,
104}
105
106#[jacquard_derive::lexicon]
107#[derive(
108 serde::Serialize,
109 serde::Deserialize,
110 Debug,
111 Clone,
112 PartialEq,
113 Eq,
114 jacquard_derive::IntoStatic,
115 Default
116)]
117#[serde(rename_all = "camelCase")]
118pub struct LogAcceptConvo<'a> {
119 #[serde(borrow)]
120 pub convo_id: jacquard_common::CowStr<'a>,
121 #[serde(borrow)]
122 pub rev: jacquard_common::CowStr<'a>,
123}
124
125#[jacquard_derive::lexicon]
126#[derive(
127 serde::Serialize,
128 serde::Deserialize,
129 Debug,
130 Clone,
131 PartialEq,
132 Eq,
133 jacquard_derive::IntoStatic,
134 bon::Builder
135)]
136#[serde(rename_all = "camelCase")]
137pub struct LogAddReaction<'a> {
138 #[serde(borrow)]
139 #[builder(into)]
140 pub convo_id: jacquard_common::CowStr<'a>,
141 #[serde(borrow)]
142 pub message: LogAddReactionMessage<'a>,
143 #[serde(borrow)]
144 pub reaction: crate::chat_bsky::convo::ReactionView<'a>,
145 #[serde(borrow)]
146 #[builder(into)]
147 pub rev: jacquard_common::CowStr<'a>,
148}
149
150#[jacquard_derive::open_union]
151#[derive(
152 serde::Serialize,
153 serde::Deserialize,
154 Debug,
155 Clone,
156 PartialEq,
157 Eq,
158 jacquard_derive::IntoStatic
159)]
160#[serde(tag = "$type")]
161#[serde(bound(deserialize = "'de: 'a"))]
162pub enum LogAddReactionMessage<'a> {
163 #[serde(rename = "chat.bsky.convo.defs#messageView")]
164 MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
165 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
166 DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
167}
168
169#[jacquard_derive::lexicon]
170#[derive(
171 serde::Serialize,
172 serde::Deserialize,
173 Debug,
174 Clone,
175 PartialEq,
176 Eq,
177 jacquard_derive::IntoStatic,
178 Default
179)]
180#[serde(rename_all = "camelCase")]
181pub struct LogBeginConvo<'a> {
182 #[serde(borrow)]
183 pub convo_id: jacquard_common::CowStr<'a>,
184 #[serde(borrow)]
185 pub rev: jacquard_common::CowStr<'a>,
186}
187
188#[jacquard_derive::lexicon]
189#[derive(
190 serde::Serialize,
191 serde::Deserialize,
192 Debug,
193 Clone,
194 PartialEq,
195 Eq,
196 jacquard_derive::IntoStatic,
197 bon::Builder
198)]
199#[serde(rename_all = "camelCase")]
200pub struct LogCreateMessage<'a> {
201 #[serde(borrow)]
202 #[builder(into)]
203 pub convo_id: jacquard_common::CowStr<'a>,
204 #[serde(borrow)]
205 pub message: LogCreateMessageMessage<'a>,
206 #[serde(borrow)]
207 #[builder(into)]
208 pub rev: jacquard_common::CowStr<'a>,
209}
210
211#[jacquard_derive::open_union]
212#[derive(
213 serde::Serialize,
214 serde::Deserialize,
215 Debug,
216 Clone,
217 PartialEq,
218 Eq,
219 jacquard_derive::IntoStatic
220)]
221#[serde(tag = "$type")]
222#[serde(bound(deserialize = "'de: 'a"))]
223pub enum LogCreateMessageMessage<'a> {
224 #[serde(rename = "chat.bsky.convo.defs#messageView")]
225 MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
226 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
227 DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
228}
229
230#[jacquard_derive::lexicon]
231#[derive(
232 serde::Serialize,
233 serde::Deserialize,
234 Debug,
235 Clone,
236 PartialEq,
237 Eq,
238 jacquard_derive::IntoStatic,
239 bon::Builder
240)]
241#[serde(rename_all = "camelCase")]
242pub struct LogDeleteMessage<'a> {
243 #[serde(borrow)]
244 #[builder(into)]
245 pub convo_id: jacquard_common::CowStr<'a>,
246 #[serde(borrow)]
247 pub message: LogDeleteMessageMessage<'a>,
248 #[serde(borrow)]
249 #[builder(into)]
250 pub rev: jacquard_common::CowStr<'a>,
251}
252
253#[jacquard_derive::open_union]
254#[derive(
255 serde::Serialize,
256 serde::Deserialize,
257 Debug,
258 Clone,
259 PartialEq,
260 Eq,
261 jacquard_derive::IntoStatic
262)]
263#[serde(tag = "$type")]
264#[serde(bound(deserialize = "'de: 'a"))]
265pub enum LogDeleteMessageMessage<'a> {
266 #[serde(rename = "chat.bsky.convo.defs#messageView")]
267 MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
268 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
269 DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
270}
271
272#[jacquard_derive::lexicon]
273#[derive(
274 serde::Serialize,
275 serde::Deserialize,
276 Debug,
277 Clone,
278 PartialEq,
279 Eq,
280 jacquard_derive::IntoStatic,
281 Default
282)]
283#[serde(rename_all = "camelCase")]
284pub struct LogLeaveConvo<'a> {
285 #[serde(borrow)]
286 pub convo_id: jacquard_common::CowStr<'a>,
287 #[serde(borrow)]
288 pub rev: jacquard_common::CowStr<'a>,
289}
290
291#[jacquard_derive::lexicon]
292#[derive(
293 serde::Serialize,
294 serde::Deserialize,
295 Debug,
296 Clone,
297 PartialEq,
298 Eq,
299 jacquard_derive::IntoStatic,
300 Default
301)]
302#[serde(rename_all = "camelCase")]
303pub struct LogMuteConvo<'a> {
304 #[serde(borrow)]
305 pub convo_id: jacquard_common::CowStr<'a>,
306 #[serde(borrow)]
307 pub rev: jacquard_common::CowStr<'a>,
308}
309
310#[jacquard_derive::lexicon]
311#[derive(
312 serde::Serialize,
313 serde::Deserialize,
314 Debug,
315 Clone,
316 PartialEq,
317 Eq,
318 jacquard_derive::IntoStatic,
319 bon::Builder
320)]
321#[serde(rename_all = "camelCase")]
322pub struct LogReadMessage<'a> {
323 #[serde(borrow)]
324 #[builder(into)]
325 pub convo_id: jacquard_common::CowStr<'a>,
326 #[serde(borrow)]
327 pub message: LogReadMessageMessage<'a>,
328 #[serde(borrow)]
329 #[builder(into)]
330 pub rev: jacquard_common::CowStr<'a>,
331}
332
333#[jacquard_derive::open_union]
334#[derive(
335 serde::Serialize,
336 serde::Deserialize,
337 Debug,
338 Clone,
339 PartialEq,
340 Eq,
341 jacquard_derive::IntoStatic
342)]
343#[serde(tag = "$type")]
344#[serde(bound(deserialize = "'de: 'a"))]
345pub enum LogReadMessageMessage<'a> {
346 #[serde(rename = "chat.bsky.convo.defs#messageView")]
347 MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
348 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
349 DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
350}
351
352#[jacquard_derive::lexicon]
353#[derive(
354 serde::Serialize,
355 serde::Deserialize,
356 Debug,
357 Clone,
358 PartialEq,
359 Eq,
360 jacquard_derive::IntoStatic,
361 bon::Builder
362)]
363#[serde(rename_all = "camelCase")]
364pub struct LogRemoveReaction<'a> {
365 #[serde(borrow)]
366 #[builder(into)]
367 pub convo_id: jacquard_common::CowStr<'a>,
368 #[serde(borrow)]
369 pub message: LogRemoveReactionMessage<'a>,
370 #[serde(borrow)]
371 pub reaction: crate::chat_bsky::convo::ReactionView<'a>,
372 #[serde(borrow)]
373 #[builder(into)]
374 pub rev: jacquard_common::CowStr<'a>,
375}
376
377#[jacquard_derive::open_union]
378#[derive(
379 serde::Serialize,
380 serde::Deserialize,
381 Debug,
382 Clone,
383 PartialEq,
384 Eq,
385 jacquard_derive::IntoStatic
386)]
387#[serde(tag = "$type")]
388#[serde(bound(deserialize = "'de: 'a"))]
389pub enum LogRemoveReactionMessage<'a> {
390 #[serde(rename = "chat.bsky.convo.defs#messageView")]
391 MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
392 #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
393 DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
394}
395
396#[jacquard_derive::lexicon]
397#[derive(
398 serde::Serialize,
399 serde::Deserialize,
400 Debug,
401 Clone,
402 PartialEq,
403 Eq,
404 jacquard_derive::IntoStatic,
405 Default
406)]
407#[serde(rename_all = "camelCase")]
408pub struct LogUnmuteConvo<'a> {
409 #[serde(borrow)]
410 pub convo_id: jacquard_common::CowStr<'a>,
411 #[serde(borrow)]
412 pub rev: jacquard_common::CowStr<'a>,
413}
414
415#[jacquard_derive::lexicon]
416#[derive(
417 serde::Serialize,
418 serde::Deserialize,
419 Debug,
420 Clone,
421 PartialEq,
422 Eq,
423 jacquard_derive::IntoStatic,
424 bon::Builder
425)]
426#[serde(rename_all = "camelCase")]
427pub struct MessageAndReactionView<'a> {
428 #[serde(borrow)]
429 pub message: crate::chat_bsky::convo::MessageView<'a>,
430 #[serde(borrow)]
431 pub reaction: crate::chat_bsky::convo::ReactionView<'a>,
432}
433
434#[jacquard_derive::lexicon]
435#[derive(
436 serde::Serialize,
437 serde::Deserialize,
438 Debug,
439 Clone,
440 PartialEq,
441 Eq,
442 jacquard_derive::IntoStatic,
443 Default
444)]
445#[serde(rename_all = "camelCase")]
446pub struct MessageInput<'a> {
447 #[serde(skip_serializing_if = "std::option::Option::is_none")]
448 #[serde(borrow)]
449 pub embed: std::option::Option<crate::app_bsky::embed::record::Record<'a>>,
450 /// Annotations of text (mentions, URLs, hashtags, etc)
451 #[serde(skip_serializing_if = "std::option::Option::is_none")]
452 #[serde(borrow)]
453 pub facets: std::option::Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
454 #[serde(borrow)]
455 pub text: jacquard_common::CowStr<'a>,
456}
457
458#[jacquard_derive::lexicon]
459#[derive(
460 serde::Serialize,
461 serde::Deserialize,
462 Debug,
463 Clone,
464 PartialEq,
465 Eq,
466 jacquard_derive::IntoStatic,
467 bon::Builder
468)]
469#[serde(rename_all = "camelCase")]
470pub struct MessageRef<'a> {
471 #[serde(borrow)]
472 #[builder(into)]
473 pub convo_id: jacquard_common::CowStr<'a>,
474 #[serde(borrow)]
475 pub did: jacquard_common::types::string::Did<'a>,
476 #[serde(borrow)]
477 #[builder(into)]
478 pub message_id: jacquard_common::CowStr<'a>,
479}
480
481#[jacquard_derive::lexicon]
482#[derive(
483 serde::Serialize,
484 serde::Deserialize,
485 Debug,
486 Clone,
487 PartialEq,
488 Eq,
489 jacquard_derive::IntoStatic,
490 bon::Builder
491)]
492#[serde(rename_all = "camelCase")]
493pub struct MessageView<'a> {
494 #[serde(skip_serializing_if = "std::option::Option::is_none")]
495 #[builder(into)]
496 #[serde(borrow)]
497 pub embed: Option<crate::app_bsky::embed::record::View<'a>>,
498 /// Annotations of text (mentions, URLs, hashtags, etc)
499 #[serde(skip_serializing_if = "std::option::Option::is_none")]
500 #[builder(into)]
501 #[serde(borrow)]
502 pub facets: Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
503 #[serde(borrow)]
504 #[builder(into)]
505 pub id: jacquard_common::CowStr<'a>,
506 /// Reactions to this message, in ascending order of creation time.
507 #[serde(skip_serializing_if = "std::option::Option::is_none")]
508 #[builder(into)]
509 #[serde(borrow)]
510 pub reactions: Option<Vec<crate::chat_bsky::convo::ReactionView<'a>>>,
511 #[serde(borrow)]
512 #[builder(into)]
513 pub rev: jacquard_common::CowStr<'a>,
514 #[serde(borrow)]
515 pub sender: crate::chat_bsky::convo::MessageViewSender<'a>,
516 pub sent_at: jacquard_common::types::string::Datetime,
517 #[serde(borrow)]
518 #[builder(into)]
519 pub text: jacquard_common::CowStr<'a>,
520}
521
522#[jacquard_derive::lexicon]
523#[derive(
524 serde::Serialize,
525 serde::Deserialize,
526 Debug,
527 Clone,
528 PartialEq,
529 Eq,
530 jacquard_derive::IntoStatic,
531 bon::Builder
532)]
533#[serde(rename_all = "camelCase")]
534pub struct MessageViewSender<'a> {
535 #[serde(borrow)]
536 pub did: jacquard_common::types::string::Did<'a>,
537}
538
539#[jacquard_derive::lexicon]
540#[derive(
541 serde::Serialize,
542 serde::Deserialize,
543 Debug,
544 Clone,
545 PartialEq,
546 Eq,
547 jacquard_derive::IntoStatic,
548 bon::Builder
549)]
550#[serde(rename_all = "camelCase")]
551pub struct ReactionView<'a> {
552 pub created_at: jacquard_common::types::string::Datetime,
553 #[serde(borrow)]
554 pub sender: crate::chat_bsky::convo::ReactionViewSender<'a>,
555 #[serde(borrow)]
556 #[builder(into)]
557 pub value: jacquard_common::CowStr<'a>,
558}
559
560#[jacquard_derive::lexicon]
561#[derive(
562 serde::Serialize,
563 serde::Deserialize,
564 Debug,
565 Clone,
566 PartialEq,
567 Eq,
568 jacquard_derive::IntoStatic,
569 bon::Builder
570)]
571#[serde(rename_all = "camelCase")]
572pub struct ReactionViewSender<'a> {
573 #[serde(borrow)]
574 pub did: jacquard_common::types::string::Did<'a>,
575}