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