jacquard_api/chat_bsky/
convo.rs

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}