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