1pub mod cancel_scheduled_actions;
9pub mod emit_event;
10pub mod get_account_timeline;
11pub mod get_event;
12pub mod get_record;
13pub mod get_records;
14pub mod get_repo;
15pub mod get_reporter_stats;
16pub mod get_repos;
17pub mod get_subjects;
18pub mod list_scheduled_actions;
19pub mod query_events;
20pub mod query_statuses;
21pub mod schedule_action;
22pub mod search_repos;
23
24#[jacquard_derive::lexicon]
26#[derive(
27 serde::Serialize,
28 serde::Deserialize,
29 Debug,
30 Clone,
31 PartialEq,
32 Eq,
33 jacquard_derive::IntoStatic
34)]
35#[serde(rename_all = "camelCase")]
36pub struct AccountEvent<'a> {
37 pub active: bool,
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
45 pub timestamp: jacquard_common::types::string::Datetime,
46}
47
48#[jacquard_derive::lexicon]
49#[derive(
50 serde::Serialize,
51 serde::Deserialize,
52 Debug,
53 Clone,
54 PartialEq,
55 Eq,
56 jacquard_derive::IntoStatic
57)]
58#[serde(rename_all = "camelCase")]
59pub struct AccountHosting<'a> {
60 #[serde(skip_serializing_if = "std::option::Option::is_none")]
61 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 pub deactivated_at: std::option::Option<jacquard_common::types::string::Datetime>,
64 #[serde(skip_serializing_if = "std::option::Option::is_none")]
65 pub deleted_at: std::option::Option<jacquard_common::types::string::Datetime>,
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 pub reactivated_at: std::option::Option<jacquard_common::types::string::Datetime>,
68 #[serde(borrow)]
69 pub status: jacquard_common::CowStr<'a>,
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
72}
73
74#[jacquard_derive::lexicon]
76#[derive(
77 serde::Serialize,
78 serde::Deserialize,
79 Debug,
80 Clone,
81 PartialEq,
82 Eq,
83 jacquard_derive::IntoStatic
84)]
85#[serde(rename_all = "camelCase")]
86pub struct AccountStats<'a> {
87 #[serde(skip_serializing_if = "std::option::Option::is_none")]
89 pub appeal_count: std::option::Option<i64>,
90 #[serde(skip_serializing_if = "std::option::Option::is_none")]
92 pub escalate_count: std::option::Option<i64>,
93 #[serde(skip_serializing_if = "std::option::Option::is_none")]
95 pub report_count: std::option::Option<i64>,
96 #[serde(skip_serializing_if = "std::option::Option::is_none")]
98 pub suspend_count: std::option::Option<i64>,
99 #[serde(skip_serializing_if = "std::option::Option::is_none")]
101 pub takedown_count: std::option::Option<i64>,
102}
103
104#[jacquard_derive::lexicon]
106#[derive(
107 serde::Serialize,
108 serde::Deserialize,
109 Debug,
110 Clone,
111 PartialEq,
112 Eq,
113 jacquard_derive::IntoStatic
114)]
115#[serde(rename_all = "camelCase")]
116pub struct AgeAssuranceEvent<'a> {
117 #[serde(borrow)]
119 pub attempt_id: jacquard_common::CowStr<'a>,
120 #[serde(skip_serializing_if = "std::option::Option::is_none")]
122 #[serde(borrow)]
123 pub complete_ip: std::option::Option<jacquard_common::CowStr<'a>>,
124 #[serde(skip_serializing_if = "std::option::Option::is_none")]
126 #[serde(borrow)]
127 pub complete_ua: std::option::Option<jacquard_common::CowStr<'a>>,
128 pub created_at: jacquard_common::types::string::Datetime,
130 #[serde(skip_serializing_if = "std::option::Option::is_none")]
132 #[serde(borrow)]
133 pub init_ip: std::option::Option<jacquard_common::CowStr<'a>>,
134 #[serde(skip_serializing_if = "std::option::Option::is_none")]
136 #[serde(borrow)]
137 pub init_ua: std::option::Option<jacquard_common::CowStr<'a>>,
138 #[serde(borrow)]
140 pub status: jacquard_common::CowStr<'a>,
141}
142
143#[jacquard_derive::lexicon]
145#[derive(
146 serde::Serialize,
147 serde::Deserialize,
148 Debug,
149 Clone,
150 PartialEq,
151 Eq,
152 jacquard_derive::IntoStatic
153)]
154#[serde(rename_all = "camelCase")]
155pub struct AgeAssuranceOverrideEvent<'a> {
156 #[serde(borrow)]
158 pub comment: jacquard_common::CowStr<'a>,
159 #[serde(borrow)]
161 pub status: jacquard_common::CowStr<'a>,
162}
163
164#[jacquard_derive::lexicon]
165#[derive(
166 serde::Serialize,
167 serde::Deserialize,
168 Debug,
169 Clone,
170 PartialEq,
171 Eq,
172 jacquard_derive::IntoStatic
173)]
174#[serde(rename_all = "camelCase")]
175pub struct BlobView<'a> {
176 #[serde(borrow)]
177 pub cid: jacquard_common::types::string::Cid<'a>,
178 pub created_at: jacquard_common::types::string::Datetime,
179 #[serde(skip_serializing_if = "std::option::Option::is_none")]
180 #[serde(borrow)]
181 pub details: std::option::Option<BlobViewRecordDetails<'a>>,
182 #[serde(borrow)]
183 pub mime_type: jacquard_common::CowStr<'a>,
184 #[serde(skip_serializing_if = "std::option::Option::is_none")]
185 #[serde(borrow)]
186 pub moderation: std::option::Option<crate::tools_ozone::moderation::Moderation<'a>>,
187 pub size: i64,
188}
189
190#[jacquard_derive::open_union]
191#[derive(
192 serde::Serialize,
193 serde::Deserialize,
194 Debug,
195 Clone,
196 PartialEq,
197 Eq,
198 jacquard_derive::IntoStatic
199)]
200#[serde(tag = "$type")]
201#[serde(bound(deserialize = "'de: 'a"))]
202pub enum BlobViewRecordDetails<'a> {}
203#[jacquard_derive::lexicon]
205#[derive(
206 serde::Serialize,
207 serde::Deserialize,
208 Debug,
209 Clone,
210 PartialEq,
211 Eq,
212 jacquard_derive::IntoStatic
213)]
214#[serde(rename_all = "camelCase")]
215pub struct CancelScheduledTakedownEvent<'a> {
216 #[serde(skip_serializing_if = "std::option::Option::is_none")]
217 #[serde(borrow)]
218 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
219}
220
221#[jacquard_derive::lexicon]
223#[derive(
224 serde::Serialize,
225 serde::Deserialize,
226 Debug,
227 Clone,
228 PartialEq,
229 Eq,
230 jacquard_derive::IntoStatic
231)]
232#[serde(rename_all = "camelCase")]
233pub struct IdentityEvent<'a> {
234 #[serde(skip_serializing_if = "std::option::Option::is_none")]
235 #[serde(borrow)]
236 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
237 #[serde(skip_serializing_if = "std::option::Option::is_none")]
238 #[serde(borrow)]
239 pub handle: std::option::Option<jacquard_common::types::string::Handle<'a>>,
240 #[serde(skip_serializing_if = "std::option::Option::is_none")]
241 #[serde(borrow)]
242 pub pds_host: std::option::Option<jacquard_common::types::string::Uri<'a>>,
243 pub timestamp: jacquard_common::types::string::Datetime,
244 #[serde(skip_serializing_if = "std::option::Option::is_none")]
245 pub tombstone: std::option::Option<bool>,
246}
247
248#[jacquard_derive::lexicon]
249#[derive(
250 serde::Serialize,
251 serde::Deserialize,
252 Debug,
253 Clone,
254 PartialEq,
255 Eq,
256 jacquard_derive::IntoStatic
257)]
258#[serde(rename_all = "camelCase")]
259pub struct ImageDetails<'a> {
260 pub height: i64,
261 pub width: i64,
262}
263
264#[jacquard_derive::lexicon]
265#[derive(
266 serde::Serialize,
267 serde::Deserialize,
268 Debug,
269 Clone,
270 PartialEq,
271 Eq,
272 jacquard_derive::IntoStatic
273)]
274#[serde(rename_all = "camelCase")]
275pub struct ModEventAcknowledge<'a> {
276 #[serde(skip_serializing_if = "std::option::Option::is_none")]
278 pub acknowledge_account_subjects: std::option::Option<bool>,
279 #[serde(skip_serializing_if = "std::option::Option::is_none")]
280 #[serde(borrow)]
281 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
282}
283
284#[jacquard_derive::lexicon]
286#[derive(
287 serde::Serialize,
288 serde::Deserialize,
289 Debug,
290 Clone,
291 PartialEq,
292 Eq,
293 jacquard_derive::IntoStatic
294)]
295#[serde(rename_all = "camelCase")]
296pub struct ModEventComment<'a> {
297 #[serde(skip_serializing_if = "std::option::Option::is_none")]
298 #[serde(borrow)]
299 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
300 #[serde(skip_serializing_if = "std::option::Option::is_none")]
302 pub sticky: std::option::Option<bool>,
303}
304
305#[jacquard_derive::lexicon]
307#[derive(
308 serde::Serialize,
309 serde::Deserialize,
310 Debug,
311 Clone,
312 PartialEq,
313 Eq,
314 jacquard_derive::IntoStatic
315)]
316#[serde(rename_all = "camelCase")]
317pub struct ModEventDivert<'a> {
318 #[serde(skip_serializing_if = "std::option::Option::is_none")]
319 #[serde(borrow)]
320 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
321}
322
323#[jacquard_derive::lexicon]
325#[derive(
326 serde::Serialize,
327 serde::Deserialize,
328 Debug,
329 Clone,
330 PartialEq,
331 Eq,
332 jacquard_derive::IntoStatic
333)]
334#[serde(rename_all = "camelCase")]
335pub struct ModEventEmail<'a> {
336 #[serde(skip_serializing_if = "std::option::Option::is_none")]
338 #[serde(borrow)]
339 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
340 #[serde(skip_serializing_if = "std::option::Option::is_none")]
342 #[serde(borrow)]
343 pub content: std::option::Option<jacquard_common::CowStr<'a>>,
344 #[serde(borrow)]
346 pub subject_line: jacquard_common::CowStr<'a>,
347}
348
349#[jacquard_derive::lexicon]
350#[derive(
351 serde::Serialize,
352 serde::Deserialize,
353 Debug,
354 Clone,
355 PartialEq,
356 Eq,
357 jacquard_derive::IntoStatic
358)]
359#[serde(rename_all = "camelCase")]
360pub struct ModEventEscalate<'a> {
361 #[serde(skip_serializing_if = "std::option::Option::is_none")]
362 #[serde(borrow)]
363 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
364}
365
366#[jacquard_derive::lexicon]
368#[derive(
369 serde::Serialize,
370 serde::Deserialize,
371 Debug,
372 Clone,
373 PartialEq,
374 Eq,
375 jacquard_derive::IntoStatic
376)]
377#[serde(rename_all = "camelCase")]
378pub struct ModEventLabel<'a> {
379 #[serde(skip_serializing_if = "std::option::Option::is_none")]
380 #[serde(borrow)]
381 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
382 #[serde(borrow)]
383 pub create_label_vals: Vec<jacquard_common::CowStr<'a>>,
384 #[serde(skip_serializing_if = "std::option::Option::is_none")]
386 pub duration_in_hours: std::option::Option<i64>,
387 #[serde(borrow)]
388 pub negate_label_vals: Vec<jacquard_common::CowStr<'a>>,
389}
390
391#[jacquard_derive::lexicon]
393#[derive(
394 serde::Serialize,
395 serde::Deserialize,
396 Debug,
397 Clone,
398 PartialEq,
399 Eq,
400 jacquard_derive::IntoStatic
401)]
402#[serde(rename_all = "camelCase")]
403pub struct ModEventMute<'a> {
404 #[serde(skip_serializing_if = "std::option::Option::is_none")]
405 #[serde(borrow)]
406 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
407 pub duration_in_hours: i64,
409}
410
411#[jacquard_derive::lexicon]
413#[derive(
414 serde::Serialize,
415 serde::Deserialize,
416 Debug,
417 Clone,
418 PartialEq,
419 Eq,
420 jacquard_derive::IntoStatic
421)]
422#[serde(rename_all = "camelCase")]
423pub struct ModEventMuteReporter<'a> {
424 #[serde(skip_serializing_if = "std::option::Option::is_none")]
425 #[serde(borrow)]
426 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
427 #[serde(skip_serializing_if = "std::option::Option::is_none")]
429 pub duration_in_hours: std::option::Option<i64>,
430}
431
432#[jacquard_derive::lexicon]
434#[derive(
435 serde::Serialize,
436 serde::Deserialize,
437 Debug,
438 Clone,
439 PartialEq,
440 Eq,
441 jacquard_derive::IntoStatic
442)]
443#[serde(rename_all = "camelCase")]
444pub struct ModEventPriorityScore<'a> {
445 #[serde(skip_serializing_if = "std::option::Option::is_none")]
446 #[serde(borrow)]
447 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
448 pub score: i64,
449}
450
451#[jacquard_derive::lexicon]
453#[derive(
454 serde::Serialize,
455 serde::Deserialize,
456 Debug,
457 Clone,
458 PartialEq,
459 Eq,
460 jacquard_derive::IntoStatic
461)]
462#[serde(rename_all = "camelCase")]
463pub struct ModEventReport<'a> {
464 #[serde(skip_serializing_if = "std::option::Option::is_none")]
465 #[serde(borrow)]
466 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
467 #[serde(skip_serializing_if = "std::option::Option::is_none")]
469 pub is_reporter_muted: std::option::Option<bool>,
470 #[serde(borrow)]
471 pub report_type: crate::com_atproto::moderation::ReasonType<'a>,
472}
473
474#[jacquard_derive::lexicon]
476#[derive(
477 serde::Serialize,
478 serde::Deserialize,
479 Debug,
480 Clone,
481 PartialEq,
482 Eq,
483 jacquard_derive::IntoStatic
484)]
485#[serde(rename_all = "camelCase")]
486pub struct ModEventResolveAppeal<'a> {
487 #[serde(skip_serializing_if = "std::option::Option::is_none")]
489 #[serde(borrow)]
490 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
491}
492
493#[jacquard_derive::lexicon]
495#[derive(
496 serde::Serialize,
497 serde::Deserialize,
498 Debug,
499 Clone,
500 PartialEq,
501 Eq,
502 jacquard_derive::IntoStatic
503)]
504#[serde(rename_all = "camelCase")]
505pub struct ModEventReverseTakedown<'a> {
506 #[serde(skip_serializing_if = "std::option::Option::is_none")]
508 #[serde(borrow)]
509 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
510}
511
512#[jacquard_derive::lexicon]
514#[derive(
515 serde::Serialize,
516 serde::Deserialize,
517 Debug,
518 Clone,
519 PartialEq,
520 Eq,
521 jacquard_derive::IntoStatic
522)]
523#[serde(rename_all = "camelCase")]
524pub struct ModEventTag<'a> {
525 #[serde(borrow)]
527 pub add: Vec<jacquard_common::CowStr<'a>>,
528 #[serde(skip_serializing_if = "std::option::Option::is_none")]
530 #[serde(borrow)]
531 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
532 #[serde(borrow)]
534 pub remove: Vec<jacquard_common::CowStr<'a>>,
535}
536
537#[jacquard_derive::lexicon]
539#[derive(
540 serde::Serialize,
541 serde::Deserialize,
542 Debug,
543 Clone,
544 PartialEq,
545 Eq,
546 jacquard_derive::IntoStatic
547)]
548#[serde(rename_all = "camelCase")]
549pub struct ModEventTakedown<'a> {
550 #[serde(skip_serializing_if = "std::option::Option::is_none")]
552 pub acknowledge_account_subjects: std::option::Option<bool>,
553 #[serde(skip_serializing_if = "std::option::Option::is_none")]
554 #[serde(borrow)]
555 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
556 #[serde(skip_serializing_if = "std::option::Option::is_none")]
558 pub duration_in_hours: std::option::Option<i64>,
559 #[serde(skip_serializing_if = "std::option::Option::is_none")]
561 #[serde(borrow)]
562 pub policies: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
563}
564
565#[jacquard_derive::lexicon]
567#[derive(
568 serde::Serialize,
569 serde::Deserialize,
570 Debug,
571 Clone,
572 PartialEq,
573 Eq,
574 jacquard_derive::IntoStatic
575)]
576#[serde(rename_all = "camelCase")]
577pub struct ModEventUnmute<'a> {
578 #[serde(skip_serializing_if = "std::option::Option::is_none")]
580 #[serde(borrow)]
581 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
582}
583
584#[jacquard_derive::lexicon]
586#[derive(
587 serde::Serialize,
588 serde::Deserialize,
589 Debug,
590 Clone,
591 PartialEq,
592 Eq,
593 jacquard_derive::IntoStatic
594)]
595#[serde(rename_all = "camelCase")]
596pub struct ModEventUnmuteReporter<'a> {
597 #[serde(skip_serializing_if = "std::option::Option::is_none")]
599 #[serde(borrow)]
600 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
601}
602
603#[jacquard_derive::lexicon]
604#[derive(
605 serde::Serialize,
606 serde::Deserialize,
607 Debug,
608 Clone,
609 PartialEq,
610 Eq,
611 jacquard_derive::IntoStatic
612)]
613#[serde(rename_all = "camelCase")]
614pub struct ModEventView<'a> {
615 pub created_at: jacquard_common::types::string::Datetime,
616 #[serde(borrow)]
617 pub created_by: jacquard_common::types::string::Did<'a>,
618 #[serde(skip_serializing_if = "std::option::Option::is_none")]
619 #[serde(borrow)]
620 pub creator_handle: std::option::Option<jacquard_common::CowStr<'a>>,
621 #[serde(borrow)]
622 pub event: ModEventViewRecordEvent<'a>,
623 pub id: i64,
624 #[serde(skip_serializing_if = "std::option::Option::is_none")]
625 #[serde(borrow)]
626 pub mod_tool: std::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
627 #[serde(borrow)]
628 pub subject: ModEventViewRecordSubject<'a>,
629 #[serde(borrow)]
630 pub subject_blob_cids: Vec<jacquard_common::CowStr<'a>>,
631 #[serde(skip_serializing_if = "std::option::Option::is_none")]
632 #[serde(borrow)]
633 pub subject_handle: std::option::Option<jacquard_common::CowStr<'a>>,
634}
635
636#[jacquard_derive::open_union]
637#[derive(
638 serde::Serialize,
639 serde::Deserialize,
640 Debug,
641 Clone,
642 PartialEq,
643 Eq,
644 jacquard_derive::IntoStatic
645)]
646#[serde(tag = "$type")]
647#[serde(bound(deserialize = "'de: 'a"))]
648pub enum ModEventViewRecordEvent<'a> {}
649#[jacquard_derive::open_union]
650#[derive(
651 serde::Serialize,
652 serde::Deserialize,
653 Debug,
654 Clone,
655 PartialEq,
656 Eq,
657 jacquard_derive::IntoStatic
658)]
659#[serde(tag = "$type")]
660#[serde(bound(deserialize = "'de: 'a"))]
661pub enum ModEventViewRecordSubject<'a> {
662 #[serde(rename = "com.atproto.admin.defs#repoRef")]
663 DefsRepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>),
664 #[serde(rename = "com.atproto.repo.strongRef")]
665 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
666 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
667 DefsMessageRef(Box<crate::chat_bsky::convo::MessageRef<'a>>),
668}
669
670#[jacquard_derive::lexicon]
671#[derive(
672 serde::Serialize,
673 serde::Deserialize,
674 Debug,
675 Clone,
676 PartialEq,
677 Eq,
678 jacquard_derive::IntoStatic
679)]
680#[serde(rename_all = "camelCase")]
681pub struct ModEventViewDetail<'a> {
682 pub created_at: jacquard_common::types::string::Datetime,
683 #[serde(borrow)]
684 pub created_by: jacquard_common::types::string::Did<'a>,
685 #[serde(borrow)]
686 pub event: ModEventViewDetailRecordEvent<'a>,
687 pub id: i64,
688 #[serde(skip_serializing_if = "std::option::Option::is_none")]
689 #[serde(borrow)]
690 pub mod_tool: std::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
691 #[serde(borrow)]
692 pub subject: ModEventViewDetailRecordSubject<'a>,
693 #[serde(borrow)]
694 pub subject_blobs: Vec<crate::tools_ozone::moderation::BlobView<'a>>,
695}
696
697#[jacquard_derive::open_union]
698#[derive(
699 serde::Serialize,
700 serde::Deserialize,
701 Debug,
702 Clone,
703 PartialEq,
704 Eq,
705 jacquard_derive::IntoStatic
706)]
707#[serde(tag = "$type")]
708#[serde(bound(deserialize = "'de: 'a"))]
709pub enum ModEventViewDetailRecordEvent<'a> {}
710#[jacquard_derive::open_union]
711#[derive(
712 serde::Serialize,
713 serde::Deserialize,
714 Debug,
715 Clone,
716 PartialEq,
717 Eq,
718 jacquard_derive::IntoStatic
719)]
720#[serde(tag = "$type")]
721#[serde(bound(deserialize = "'de: 'a"))]
722pub enum ModEventViewDetailRecordSubject<'a> {}
723#[jacquard_derive::lexicon]
725#[derive(
726 serde::Serialize,
727 serde::Deserialize,
728 Debug,
729 Clone,
730 PartialEq,
731 Eq,
732 jacquard_derive::IntoStatic
733)]
734#[serde(rename_all = "camelCase")]
735pub struct ModTool<'a> {
736 #[serde(skip_serializing_if = "std::option::Option::is_none")]
738 #[serde(borrow)]
739 pub meta: std::option::Option<jacquard_common::types::value::Data<'a>>,
740 #[serde(borrow)]
742 pub name: jacquard_common::CowStr<'a>,
743}
744
745#[jacquard_derive::lexicon]
746#[derive(
747 serde::Serialize,
748 serde::Deserialize,
749 Debug,
750 Clone,
751 PartialEq,
752 Eq,
753 jacquard_derive::IntoStatic
754)]
755#[serde(rename_all = "camelCase")]
756pub struct Moderation<'a> {
757 #[serde(skip_serializing_if = "std::option::Option::is_none")]
758 #[serde(borrow)]
759 pub subject_status: std::option::Option<
760 crate::tools_ozone::moderation::SubjectStatusView<'a>,
761 >,
762}
763
764#[jacquard_derive::lexicon]
765#[derive(
766 serde::Serialize,
767 serde::Deserialize,
768 Debug,
769 Clone,
770 PartialEq,
771 Eq,
772 jacquard_derive::IntoStatic
773)]
774#[serde(rename_all = "camelCase")]
775pub struct ModerationDetail<'a> {
776 #[serde(skip_serializing_if = "std::option::Option::is_none")]
777 #[serde(borrow)]
778 pub subject_status: std::option::Option<
779 crate::tools_ozone::moderation::SubjectStatusView<'a>,
780 >,
781}
782
783#[jacquard_derive::lexicon]
785#[derive(
786 serde::Serialize,
787 serde::Deserialize,
788 Debug,
789 Clone,
790 PartialEq,
791 Eq,
792 jacquard_derive::IntoStatic
793)]
794#[serde(rename_all = "camelCase")]
795pub struct RecordEvent<'a> {
796 #[serde(skip_serializing_if = "std::option::Option::is_none")]
797 #[serde(borrow)]
798 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
799 #[serde(skip_serializing_if = "std::option::Option::is_none")]
800 #[serde(borrow)]
801 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
802 #[serde(borrow)]
803 pub op: jacquard_common::CowStr<'a>,
804 pub timestamp: jacquard_common::types::string::Datetime,
805}
806
807#[jacquard_derive::lexicon]
808#[derive(
809 serde::Serialize,
810 serde::Deserialize,
811 Debug,
812 Clone,
813 PartialEq,
814 Eq,
815 jacquard_derive::IntoStatic
816)]
817#[serde(rename_all = "camelCase")]
818pub struct RecordHosting<'a> {
819 #[serde(skip_serializing_if = "std::option::Option::is_none")]
820 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
821 #[serde(skip_serializing_if = "std::option::Option::is_none")]
822 pub deleted_at: std::option::Option<jacquard_common::types::string::Datetime>,
823 #[serde(borrow)]
824 pub status: jacquard_common::CowStr<'a>,
825 #[serde(skip_serializing_if = "std::option::Option::is_none")]
826 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
827}
828
829#[jacquard_derive::lexicon]
830#[derive(
831 serde::Serialize,
832 serde::Deserialize,
833 Debug,
834 Clone,
835 PartialEq,
836 Eq,
837 jacquard_derive::IntoStatic
838)]
839#[serde(rename_all = "camelCase")]
840pub struct RecordView<'a> {
841 #[serde(borrow)]
842 pub blob_cids: Vec<jacquard_common::types::string::Cid<'a>>,
843 #[serde(borrow)]
844 pub cid: jacquard_common::types::string::Cid<'a>,
845 pub indexed_at: jacquard_common::types::string::Datetime,
846 #[serde(borrow)]
847 pub moderation: crate::tools_ozone::moderation::Moderation<'a>,
848 #[serde(borrow)]
849 pub repo: crate::tools_ozone::moderation::RepoView<'a>,
850 #[serde(borrow)]
851 pub uri: jacquard_common::types::string::AtUri<'a>,
852 #[serde(borrow)]
853 pub value: jacquard_common::types::value::Data<'a>,
854}
855
856#[jacquard_derive::lexicon]
857#[derive(
858 serde::Serialize,
859 serde::Deserialize,
860 Debug,
861 Clone,
862 PartialEq,
863 Eq,
864 jacquard_derive::IntoStatic
865)]
866#[serde(rename_all = "camelCase")]
867pub struct RecordViewDetail<'a> {
868 #[serde(borrow)]
869 pub blobs: Vec<crate::tools_ozone::moderation::BlobView<'a>>,
870 #[serde(borrow)]
871 pub cid: jacquard_common::types::string::Cid<'a>,
872 pub indexed_at: jacquard_common::types::string::Datetime,
873 #[serde(skip_serializing_if = "std::option::Option::is_none")]
874 #[serde(borrow)]
875 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
876 #[serde(borrow)]
877 pub moderation: crate::tools_ozone::moderation::ModerationDetail<'a>,
878 #[serde(borrow)]
879 pub repo: crate::tools_ozone::moderation::RepoView<'a>,
880 #[serde(borrow)]
881 pub uri: jacquard_common::types::string::AtUri<'a>,
882 #[serde(borrow)]
883 pub value: jacquard_common::types::value::Data<'a>,
884}
885
886#[jacquard_derive::lexicon]
887#[derive(
888 serde::Serialize,
889 serde::Deserialize,
890 Debug,
891 Clone,
892 PartialEq,
893 Eq,
894 jacquard_derive::IntoStatic
895)]
896#[serde(rename_all = "camelCase")]
897pub struct RecordViewNotFound<'a> {
898 #[serde(borrow)]
899 pub uri: jacquard_common::types::string::AtUri<'a>,
900}
901
902#[jacquard_derive::lexicon]
904#[derive(
905 serde::Serialize,
906 serde::Deserialize,
907 Debug,
908 Clone,
909 PartialEq,
910 Eq,
911 jacquard_derive::IntoStatic
912)]
913#[serde(rename_all = "camelCase")]
914pub struct RecordsStats<'a> {
915 #[serde(skip_serializing_if = "std::option::Option::is_none")]
917 pub appealed_count: std::option::Option<i64>,
918 #[serde(skip_serializing_if = "std::option::Option::is_none")]
920 pub escalated_count: std::option::Option<i64>,
921 #[serde(skip_serializing_if = "std::option::Option::is_none")]
923 pub pending_count: std::option::Option<i64>,
924 #[serde(skip_serializing_if = "std::option::Option::is_none")]
926 pub processed_count: std::option::Option<i64>,
927 #[serde(skip_serializing_if = "std::option::Option::is_none")]
929 pub reported_count: std::option::Option<i64>,
930 #[serde(skip_serializing_if = "std::option::Option::is_none")]
932 pub subject_count: std::option::Option<i64>,
933 #[serde(skip_serializing_if = "std::option::Option::is_none")]
935 pub takendown_count: std::option::Option<i64>,
936 #[serde(skip_serializing_if = "std::option::Option::is_none")]
938 pub total_reports: std::option::Option<i64>,
939}
940
941#[jacquard_derive::lexicon]
942#[derive(
943 serde::Serialize,
944 serde::Deserialize,
945 Debug,
946 Clone,
947 PartialEq,
948 Eq,
949 jacquard_derive::IntoStatic
950)]
951#[serde(rename_all = "camelCase")]
952pub struct RepoView<'a> {
953 #[serde(skip_serializing_if = "std::option::Option::is_none")]
954 pub deactivated_at: std::option::Option<jacquard_common::types::string::Datetime>,
955 #[serde(borrow)]
956 pub did: jacquard_common::types::string::Did<'a>,
957 #[serde(skip_serializing_if = "std::option::Option::is_none")]
958 #[serde(borrow)]
959 pub email: std::option::Option<jacquard_common::CowStr<'a>>,
960 #[serde(borrow)]
961 pub handle: jacquard_common::types::string::Handle<'a>,
962 pub indexed_at: jacquard_common::types::string::Datetime,
963 #[serde(skip_serializing_if = "std::option::Option::is_none")]
964 #[serde(borrow)]
965 pub invite_note: std::option::Option<jacquard_common::CowStr<'a>>,
966 #[serde(skip_serializing_if = "std::option::Option::is_none")]
967 #[serde(borrow)]
968 pub invited_by: std::option::Option<crate::com_atproto::server::InviteCode<'a>>,
969 #[serde(skip_serializing_if = "std::option::Option::is_none")]
970 pub invites_disabled: std::option::Option<bool>,
971 #[serde(borrow)]
972 pub moderation: crate::tools_ozone::moderation::Moderation<'a>,
973 #[serde(borrow)]
974 pub related_records: Vec<jacquard_common::types::value::Data<'a>>,
975 #[serde(skip_serializing_if = "std::option::Option::is_none")]
976 #[serde(borrow)]
977 pub threat_signatures: std::option::Option<
978 Vec<crate::com_atproto::admin::ThreatSignature<'a>>,
979 >,
980}
981
982#[jacquard_derive::lexicon]
983#[derive(
984 serde::Serialize,
985 serde::Deserialize,
986 Debug,
987 Clone,
988 PartialEq,
989 Eq,
990 jacquard_derive::IntoStatic
991)]
992#[serde(rename_all = "camelCase")]
993pub struct RepoViewDetail<'a> {
994 #[serde(skip_serializing_if = "std::option::Option::is_none")]
995 pub deactivated_at: std::option::Option<jacquard_common::types::string::Datetime>,
996 #[serde(borrow)]
997 pub did: jacquard_common::types::string::Did<'a>,
998 #[serde(skip_serializing_if = "std::option::Option::is_none")]
999 #[serde(borrow)]
1000 pub email: std::option::Option<jacquard_common::CowStr<'a>>,
1001 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1002 pub email_confirmed_at: std::option::Option<
1003 jacquard_common::types::string::Datetime,
1004 >,
1005 #[serde(borrow)]
1006 pub handle: jacquard_common::types::string::Handle<'a>,
1007 pub indexed_at: jacquard_common::types::string::Datetime,
1008 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1009 #[serde(borrow)]
1010 pub invite_note: std::option::Option<jacquard_common::CowStr<'a>>,
1011 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1012 #[serde(borrow)]
1013 pub invited_by: std::option::Option<crate::com_atproto::server::InviteCode<'a>>,
1014 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1015 #[serde(borrow)]
1016 pub invites: std::option::Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
1017 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1018 pub invites_disabled: std::option::Option<bool>,
1019 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1020 #[serde(borrow)]
1021 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
1022 #[serde(borrow)]
1023 pub moderation: crate::tools_ozone::moderation::ModerationDetail<'a>,
1024 #[serde(borrow)]
1025 pub related_records: Vec<jacquard_common::types::value::Data<'a>>,
1026 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1027 #[serde(borrow)]
1028 pub threat_signatures: std::option::Option<
1029 Vec<crate::com_atproto::admin::ThreatSignature<'a>>,
1030 >,
1031}
1032
1033#[jacquard_derive::lexicon]
1034#[derive(
1035 serde::Serialize,
1036 serde::Deserialize,
1037 Debug,
1038 Clone,
1039 PartialEq,
1040 Eq,
1041 jacquard_derive::IntoStatic
1042)]
1043#[serde(rename_all = "camelCase")]
1044pub struct RepoViewNotFound<'a> {
1045 #[serde(borrow)]
1046 pub did: jacquard_common::types::string::Did<'a>,
1047}
1048
1049#[jacquard_derive::lexicon]
1050#[derive(
1051 serde::Serialize,
1052 serde::Deserialize,
1053 Debug,
1054 Clone,
1055 PartialEq,
1056 Eq,
1057 jacquard_derive::IntoStatic
1058)]
1059#[serde(rename_all = "camelCase")]
1060pub struct ReporterStats<'a> {
1061 pub account_report_count: i64,
1063 #[serde(borrow)]
1064 pub did: jacquard_common::types::string::Did<'a>,
1065 pub labeled_account_count: i64,
1067 pub labeled_record_count: i64,
1069 pub record_report_count: i64,
1071 pub reported_account_count: i64,
1073 pub reported_record_count: i64,
1075 pub takendown_account_count: i64,
1077 pub takendown_record_count: i64,
1079}
1080
1081#[derive(
1083 serde::Serialize,
1084 serde::Deserialize,
1085 Debug,
1086 Clone,
1087 PartialEq,
1088 Eq,
1089 Hash,
1090 jacquard_derive::IntoStatic
1091)]
1092pub struct ReviewClosed;
1093impl std::fmt::Display for ReviewClosed {
1094 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1095 write!(f, "reviewClosed")
1096 }
1097}
1098
1099#[derive(
1101 serde::Serialize,
1102 serde::Deserialize,
1103 Debug,
1104 Clone,
1105 PartialEq,
1106 Eq,
1107 Hash,
1108 jacquard_derive::IntoStatic
1109)]
1110pub struct ReviewEscalated;
1111impl std::fmt::Display for ReviewEscalated {
1112 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1113 write!(f, "reviewEscalated")
1114 }
1115}
1116
1117#[derive(
1119 serde::Serialize,
1120 serde::Deserialize,
1121 Debug,
1122 Clone,
1123 PartialEq,
1124 Eq,
1125 Hash,
1126 jacquard_derive::IntoStatic
1127)]
1128pub struct ReviewNone;
1129impl std::fmt::Display for ReviewNone {
1130 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1131 write!(f, "reviewNone")
1132 }
1133}
1134
1135#[derive(
1137 serde::Serialize,
1138 serde::Deserialize,
1139 Debug,
1140 Clone,
1141 PartialEq,
1142 Eq,
1143 Hash,
1144 jacquard_derive::IntoStatic
1145)]
1146pub struct ReviewOpen;
1147impl std::fmt::Display for ReviewOpen {
1148 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1149 write!(f, "reviewOpen")
1150 }
1151}
1152
1153#[jacquard_derive::lexicon]
1155#[derive(
1156 serde::Serialize,
1157 serde::Deserialize,
1158 Debug,
1159 Clone,
1160 PartialEq,
1161 Eq,
1162 jacquard_derive::IntoStatic
1163)]
1164#[serde(rename_all = "camelCase")]
1165pub struct RevokeAccountCredentialsEvent<'a> {
1166 #[serde(borrow)]
1168 pub comment: jacquard_common::CowStr<'a>,
1169}
1170
1171#[jacquard_derive::lexicon]
1173#[derive(
1174 serde::Serialize,
1175 serde::Deserialize,
1176 Debug,
1177 Clone,
1178 PartialEq,
1179 Eq,
1180 jacquard_derive::IntoStatic
1181)]
1182#[serde(rename_all = "camelCase")]
1183pub struct ScheduleTakedownEvent<'a> {
1184 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1185 #[serde(borrow)]
1186 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
1187 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1188 pub execute_after: std::option::Option<jacquard_common::types::string::Datetime>,
1189 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1190 pub execute_at: std::option::Option<jacquard_common::types::string::Datetime>,
1191 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1192 pub execute_until: std::option::Option<jacquard_common::types::string::Datetime>,
1193}
1194
1195#[jacquard_derive::lexicon]
1197#[derive(
1198 serde::Serialize,
1199 serde::Deserialize,
1200 Debug,
1201 Clone,
1202 PartialEq,
1203 Eq,
1204 jacquard_derive::IntoStatic
1205)]
1206#[serde(rename_all = "camelCase")]
1207pub struct ScheduledActionView<'a> {
1208 #[serde(borrow)]
1210 pub action: jacquard_common::CowStr<'a>,
1211 pub created_at: jacquard_common::types::string::Datetime,
1213 #[serde(borrow)]
1215 pub created_by: jacquard_common::types::string::Did<'a>,
1216 #[serde(borrow)]
1218 pub did: jacquard_common::types::string::Did<'a>,
1219 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1221 #[serde(borrow)]
1222 pub event_data: std::option::Option<jacquard_common::types::value::Data<'a>>,
1223 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1225 pub execute_after: std::option::Option<jacquard_common::types::string::Datetime>,
1226 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1228 pub execute_at: std::option::Option<jacquard_common::types::string::Datetime>,
1229 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1231 pub execute_until: std::option::Option<jacquard_common::types::string::Datetime>,
1232 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1234 pub execution_event_id: std::option::Option<i64>,
1235 pub id: i64,
1237 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1239 pub last_executed_at: std::option::Option<jacquard_common::types::string::Datetime>,
1240 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1242 #[serde(borrow)]
1243 pub last_failure_reason: std::option::Option<jacquard_common::CowStr<'a>>,
1244 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1246 pub randomize_execution: std::option::Option<bool>,
1247 #[serde(borrow)]
1249 pub status: jacquard_common::CowStr<'a>,
1250 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1252 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
1253}
1254
1255#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1256pub enum SubjectReviewState<'a> {
1257 ReviewOpen,
1258 ReviewEscalated,
1259 ReviewClosed,
1260 ReviewNone,
1261 Other(jacquard_common::CowStr<'a>),
1262}
1263
1264impl<'a> SubjectReviewState<'a> {
1265 pub fn as_str(&self) -> &str {
1266 match self {
1267 Self::ReviewOpen => "#reviewOpen",
1268 Self::ReviewEscalated => "#reviewEscalated",
1269 Self::ReviewClosed => "#reviewClosed",
1270 Self::ReviewNone => "#reviewNone",
1271 Self::Other(s) => s.as_ref(),
1272 }
1273 }
1274}
1275
1276impl<'a> From<&'a str> for SubjectReviewState<'a> {
1277 fn from(s: &'a str) -> Self {
1278 match s {
1279 "#reviewOpen" => Self::ReviewOpen,
1280 "#reviewEscalated" => Self::ReviewEscalated,
1281 "#reviewClosed" => Self::ReviewClosed,
1282 "#reviewNone" => Self::ReviewNone,
1283 _ => Self::Other(jacquard_common::CowStr::from(s)),
1284 }
1285 }
1286}
1287
1288impl<'a> From<String> for SubjectReviewState<'a> {
1289 fn from(s: String) -> Self {
1290 match s.as_str() {
1291 "#reviewOpen" => Self::ReviewOpen,
1292 "#reviewEscalated" => Self::ReviewEscalated,
1293 "#reviewClosed" => Self::ReviewClosed,
1294 "#reviewNone" => Self::ReviewNone,
1295 _ => Self::Other(jacquard_common::CowStr::from(s)),
1296 }
1297 }
1298}
1299
1300impl<'a> AsRef<str> for SubjectReviewState<'a> {
1301 fn as_ref(&self) -> &str {
1302 self.as_str()
1303 }
1304}
1305
1306impl<'a> serde::Serialize for SubjectReviewState<'a> {
1307 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1308 where
1309 S: serde::Serializer,
1310 {
1311 serializer.serialize_str(self.as_str())
1312 }
1313}
1314
1315impl<'de, 'a> serde::Deserialize<'de> for SubjectReviewState<'a>
1316where
1317 'de: 'a,
1318{
1319 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1320 where
1321 D: serde::Deserializer<'de>,
1322 {
1323 let s = <&'de str>::deserialize(deserializer)?;
1324 Ok(Self::from(s))
1325 }
1326}
1327
1328impl jacquard_common::IntoStatic for SubjectReviewState<'_> {
1329 type Output = SubjectReviewState<'static>;
1330 fn into_static(self) -> Self::Output {
1331 match self {
1332 SubjectReviewState::ReviewOpen => SubjectReviewState::ReviewOpen,
1333 SubjectReviewState::ReviewEscalated => SubjectReviewState::ReviewEscalated,
1334 SubjectReviewState::ReviewClosed => SubjectReviewState::ReviewClosed,
1335 SubjectReviewState::ReviewNone => SubjectReviewState::ReviewNone,
1336 SubjectReviewState::Other(v) => SubjectReviewState::Other(v.into_static()),
1337 }
1338 }
1339}
1340
1341#[jacquard_derive::lexicon]
1342#[derive(
1343 serde::Serialize,
1344 serde::Deserialize,
1345 Debug,
1346 Clone,
1347 PartialEq,
1348 Eq,
1349 jacquard_derive::IntoStatic
1350)]
1351#[serde(rename_all = "camelCase")]
1352pub struct SubjectStatusView<'a> {
1353 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1355 #[serde(borrow)]
1356 pub account_stats: std::option::Option<
1357 crate::tools_ozone::moderation::AccountStats<'a>,
1358 >,
1359 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1361 #[serde(borrow)]
1362 pub age_assurance_state: std::option::Option<jacquard_common::CowStr<'a>>,
1363 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1365 #[serde(borrow)]
1366 pub age_assurance_updated_by: std::option::Option<jacquard_common::CowStr<'a>>,
1367 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1369 pub appealed: std::option::Option<bool>,
1370 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1372 #[serde(borrow)]
1373 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
1374 pub created_at: jacquard_common::types::string::Datetime,
1376 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1377 #[serde(borrow)]
1378 pub hosting: std::option::Option<SubjectStatusViewRecordHosting<'a>>,
1379 pub id: i64,
1380 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1382 pub last_appealed_at: std::option::Option<jacquard_common::types::string::Datetime>,
1383 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1384 pub last_reported_at: std::option::Option<jacquard_common::types::string::Datetime>,
1385 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1386 pub last_reviewed_at: std::option::Option<jacquard_common::types::string::Datetime>,
1387 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1388 #[serde(borrow)]
1389 pub last_reviewed_by: std::option::Option<jacquard_common::types::string::Did<'a>>,
1390 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1391 pub mute_reporting_until: std::option::Option<
1392 jacquard_common::types::string::Datetime,
1393 >,
1394 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1395 pub mute_until: std::option::Option<jacquard_common::types::string::Datetime>,
1396 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1398 pub priority_score: std::option::Option<i64>,
1399 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1401 #[serde(borrow)]
1402 pub records_stats: std::option::Option<
1403 crate::tools_ozone::moderation::RecordsStats<'a>,
1404 >,
1405 #[serde(borrow)]
1406 pub review_state: crate::tools_ozone::moderation::SubjectReviewState<'a>,
1407 #[serde(borrow)]
1408 pub subject: SubjectStatusViewRecordSubject<'a>,
1409 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1410 #[serde(borrow)]
1411 pub subject_blob_cids: std::option::Option<
1412 Vec<jacquard_common::types::string::Cid<'a>>,
1413 >,
1414 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1415 #[serde(borrow)]
1416 pub subject_repo_handle: std::option::Option<jacquard_common::CowStr<'a>>,
1417 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1418 pub suspend_until: std::option::Option<jacquard_common::types::string::Datetime>,
1419 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1420 #[serde(borrow)]
1421 pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
1422 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1423 pub takendown: std::option::Option<bool>,
1424 pub updated_at: jacquard_common::types::string::Datetime,
1426}
1427
1428#[jacquard_derive::open_union]
1429#[derive(
1430 serde::Serialize,
1431 serde::Deserialize,
1432 Debug,
1433 Clone,
1434 PartialEq,
1435 Eq,
1436 jacquard_derive::IntoStatic
1437)]
1438#[serde(tag = "$type")]
1439#[serde(bound(deserialize = "'de: 'a"))]
1440pub enum SubjectStatusViewRecordHosting<'a> {}
1441#[jacquard_derive::open_union]
1442#[derive(
1443 serde::Serialize,
1444 serde::Deserialize,
1445 Debug,
1446 Clone,
1447 PartialEq,
1448 Eq,
1449 jacquard_derive::IntoStatic
1450)]
1451#[serde(tag = "$type")]
1452#[serde(bound(deserialize = "'de: 'a"))]
1453pub enum SubjectStatusViewRecordSubject<'a> {
1454 #[serde(rename = "com.atproto.admin.defs#repoRef")]
1455 DefsRepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>),
1456 #[serde(rename = "com.atproto.repo.strongRef")]
1457 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
1458 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
1459 DefsMessageRef(Box<crate::chat_bsky::convo::MessageRef<'a>>),
1460}
1461
1462#[jacquard_derive::lexicon]
1464#[derive(
1465 serde::Serialize,
1466 serde::Deserialize,
1467 Debug,
1468 Clone,
1469 PartialEq,
1470 Eq,
1471 jacquard_derive::IntoStatic
1472)]
1473#[serde(rename_all = "camelCase")]
1474pub struct SubjectView<'a> {
1475 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1476 #[serde(borrow)]
1477 pub profile: std::option::Option<SubjectViewRecordProfile<'a>>,
1478 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1479 #[serde(borrow)]
1480 pub record: std::option::Option<
1481 crate::tools_ozone::moderation::RecordViewDetail<'a>,
1482 >,
1483 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1484 #[serde(borrow)]
1485 pub repo: std::option::Option<crate::tools_ozone::moderation::RepoViewDetail<'a>>,
1486 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1487 #[serde(borrow)]
1488 pub status: std::option::Option<
1489 crate::tools_ozone::moderation::SubjectStatusView<'a>,
1490 >,
1491 #[serde(borrow)]
1492 pub subject: jacquard_common::CowStr<'a>,
1493 #[serde(borrow)]
1494 pub r#type: crate::com_atproto::moderation::SubjectType<'a>,
1495}
1496
1497#[jacquard_derive::open_union]
1498#[derive(
1499 serde::Serialize,
1500 serde::Deserialize,
1501 Debug,
1502 Clone,
1503 PartialEq,
1504 Eq,
1505 jacquard_derive::IntoStatic
1506)]
1507#[serde(tag = "$type")]
1508#[serde(bound(deserialize = "'de: 'a"))]
1509pub enum SubjectViewRecordProfile<'a> {}
1510#[derive(
1512 serde::Serialize,
1513 serde::Deserialize,
1514 Debug,
1515 Clone,
1516 PartialEq,
1517 Eq,
1518 Hash,
1519 jacquard_derive::IntoStatic
1520)]
1521pub struct TimelineEventPlcCreate;
1522impl std::fmt::Display for TimelineEventPlcCreate {
1523 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1524 write!(f, "timelineEventPlcCreate")
1525 }
1526}
1527
1528#[derive(
1530 serde::Serialize,
1531 serde::Deserialize,
1532 Debug,
1533 Clone,
1534 PartialEq,
1535 Eq,
1536 Hash,
1537 jacquard_derive::IntoStatic
1538)]
1539pub struct TimelineEventPlcOperation;
1540impl std::fmt::Display for TimelineEventPlcOperation {
1541 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1542 write!(f, "timelineEventPlcOperation")
1543 }
1544}
1545
1546#[derive(
1548 serde::Serialize,
1549 serde::Deserialize,
1550 Debug,
1551 Clone,
1552 PartialEq,
1553 Eq,
1554 Hash,
1555 jacquard_derive::IntoStatic
1556)]
1557pub struct TimelineEventPlcTombstone;
1558impl std::fmt::Display for TimelineEventPlcTombstone {
1559 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1560 write!(f, "timelineEventPlcTombstone")
1561 }
1562}
1563
1564#[jacquard_derive::lexicon]
1565#[derive(
1566 serde::Serialize,
1567 serde::Deserialize,
1568 Debug,
1569 Clone,
1570 PartialEq,
1571 Eq,
1572 jacquard_derive::IntoStatic
1573)]
1574#[serde(rename_all = "camelCase")]
1575pub struct VideoDetails<'a> {
1576 pub height: i64,
1577 pub length: i64,
1578 pub width: i64,
1579}