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: Option<jacquard_common::CowStr<'a>>,
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44 pub status: Option<jacquard_common::CowStr<'a>>,
45 pub timestamp: jacquard_common::types::string::Datetime,
46}
47
48pub mod account_event_state {
49
50 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
51 #[allow(unused)]
52 use ::core::marker::PhantomData;
53 mod sealed {
54 pub trait Sealed {}
55 }
56 pub trait State: sealed::Sealed {
58 type Timestamp;
59 type Active;
60 }
61 pub struct Empty(());
63 impl sealed::Sealed for Empty {}
64 impl State for Empty {
65 type Timestamp = Unset;
66 type Active = Unset;
67 }
68 pub struct SetTimestamp<S: State = Empty>(PhantomData<fn() -> S>);
70 impl<S: State> sealed::Sealed for SetTimestamp<S> {}
71 impl<S: State> State for SetTimestamp<S> {
72 type Timestamp = Set<members::timestamp>;
73 type Active = S::Active;
74 }
75 pub struct SetActive<S: State = Empty>(PhantomData<fn() -> S>);
77 impl<S: State> sealed::Sealed for SetActive<S> {}
78 impl<S: State> State for SetActive<S> {
79 type Timestamp = S::Timestamp;
80 type Active = Set<members::active>;
81 }
82 #[allow(non_camel_case_types)]
84 pub mod members {
85 pub struct timestamp(());
87 pub struct active(());
89 }
90}
91
92pub struct AccountEventBuilder<'a, S: account_event_state::State> {
94 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
95 __unsafe_private_named: (
96 ::core::option::Option<bool>,
97 ::core::option::Option<jacquard_common::CowStr<'a>>,
98 ::core::option::Option<jacquard_common::CowStr<'a>>,
99 ::core::option::Option<jacquard_common::types::string::Datetime>,
100 ),
101 _phantom: ::core::marker::PhantomData<&'a ()>,
102}
103
104impl<'a> AccountEvent<'a> {
105 pub fn new() -> AccountEventBuilder<'a, account_event_state::Empty> {
107 AccountEventBuilder::new()
108 }
109}
110
111impl<'a> AccountEventBuilder<'a, account_event_state::Empty> {
112 pub fn new() -> Self {
114 AccountEventBuilder {
115 _phantom_state: ::core::marker::PhantomData,
116 __unsafe_private_named: (None, None, None, None),
117 _phantom: ::core::marker::PhantomData,
118 }
119 }
120}
121
122impl<'a, S> AccountEventBuilder<'a, S>
123where
124 S: account_event_state::State,
125 S::Active: account_event_state::IsUnset,
126{
127 pub fn active(
129 mut self,
130 value: impl Into<bool>,
131 ) -> AccountEventBuilder<'a, account_event_state::SetActive<S>> {
132 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
133 AccountEventBuilder {
134 _phantom_state: ::core::marker::PhantomData,
135 __unsafe_private_named: self.__unsafe_private_named,
136 _phantom: ::core::marker::PhantomData,
137 }
138 }
139}
140
141impl<'a, S: account_event_state::State> AccountEventBuilder<'a, S> {
142 pub fn comment(
144 mut self,
145 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
146 ) -> Self {
147 self.__unsafe_private_named.1 = value.into();
148 self
149 }
150 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
152 self.__unsafe_private_named.1 = value;
153 self
154 }
155}
156
157impl<'a, S: account_event_state::State> AccountEventBuilder<'a, S> {
158 pub fn status(
160 mut self,
161 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
162 ) -> Self {
163 self.__unsafe_private_named.2 = value.into();
164 self
165 }
166 pub fn maybe_status(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
168 self.__unsafe_private_named.2 = value;
169 self
170 }
171}
172
173impl<'a, S> AccountEventBuilder<'a, S>
174where
175 S: account_event_state::State,
176 S::Timestamp: account_event_state::IsUnset,
177{
178 pub fn timestamp(
180 mut self,
181 value: impl Into<jacquard_common::types::string::Datetime>,
182 ) -> AccountEventBuilder<'a, account_event_state::SetTimestamp<S>> {
183 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
184 AccountEventBuilder {
185 _phantom_state: ::core::marker::PhantomData,
186 __unsafe_private_named: self.__unsafe_private_named,
187 _phantom: ::core::marker::PhantomData,
188 }
189 }
190}
191
192impl<'a, S> AccountEventBuilder<'a, S>
193where
194 S: account_event_state::State,
195 S::Timestamp: account_event_state::IsSet,
196 S::Active: account_event_state::IsSet,
197{
198 pub fn build(self) -> AccountEvent<'a> {
200 AccountEvent {
201 active: self.__unsafe_private_named.0.unwrap(),
202 comment: self.__unsafe_private_named.1,
203 status: self.__unsafe_private_named.2,
204 timestamp: self.__unsafe_private_named.3.unwrap(),
205 extra_data: Default::default(),
206 }
207 }
208 pub fn build_with_data(
210 self,
211 extra_data: std::collections::BTreeMap<
212 jacquard_common::smol_str::SmolStr,
213 jacquard_common::types::value::Data<'a>,
214 >,
215 ) -> AccountEvent<'a> {
216 AccountEvent {
217 active: self.__unsafe_private_named.0.unwrap(),
218 comment: self.__unsafe_private_named.1,
219 status: self.__unsafe_private_named.2,
220 timestamp: self.__unsafe_private_named.3.unwrap(),
221 extra_data: Some(extra_data),
222 }
223 }
224}
225
226fn lexicon_doc_tools_ozone_moderation_defs() -> ::jacquard_lexicon::lexicon::LexiconDoc<
227 'static,
228> {
229 ::jacquard_lexicon::lexicon::LexiconDoc {
230 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
231 id: ::jacquard_common::CowStr::new_static("tools.ozone.moderation.defs"),
232 revision: None,
233 description: None,
234 defs: {
235 let mut map = ::std::collections::BTreeMap::new();
236 map.insert(
237 ::jacquard_common::smol_str::SmolStr::new_static("accountEvent"),
238 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
239 description: Some(
240 ::jacquard_common::CowStr::new_static(
241 "Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
242 ),
243 ),
244 required: Some(
245 vec![
246 ::jacquard_common::smol_str::SmolStr::new_static("timestamp"),
247 ::jacquard_common::smol_str::SmolStr::new_static("active")
248 ],
249 ),
250 nullable: None,
251 properties: {
252 #[allow(unused_mut)]
253 let mut map = ::std::collections::BTreeMap::new();
254 map.insert(
255 ::jacquard_common::smol_str::SmolStr::new_static("active"),
256 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
257 description: None,
258 default: None,
259 r#const: None,
260 }),
261 );
262 map.insert(
263 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
264 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
265 description: None,
266 format: None,
267 default: None,
268 min_length: None,
269 max_length: None,
270 min_graphemes: None,
271 max_graphemes: None,
272 r#enum: None,
273 r#const: None,
274 known_values: None,
275 }),
276 );
277 map.insert(
278 ::jacquard_common::smol_str::SmolStr::new_static("status"),
279 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
280 description: None,
281 format: None,
282 default: None,
283 min_length: None,
284 max_length: None,
285 min_graphemes: None,
286 max_graphemes: None,
287 r#enum: None,
288 r#const: None,
289 known_values: None,
290 }),
291 );
292 map.insert(
293 ::jacquard_common::smol_str::SmolStr::new_static(
294 "timestamp",
295 ),
296 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
297 description: None,
298 format: Some(
299 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
300 ),
301 default: None,
302 min_length: None,
303 max_length: None,
304 min_graphemes: None,
305 max_graphemes: None,
306 r#enum: None,
307 r#const: None,
308 known_values: None,
309 }),
310 );
311 map
312 },
313 }),
314 );
315 map.insert(
316 ::jacquard_common::smol_str::SmolStr::new_static("accountHosting"),
317 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
318 description: None,
319 required: Some(
320 vec![::jacquard_common::smol_str::SmolStr::new_static("status")],
321 ),
322 nullable: None,
323 properties: {
324 #[allow(unused_mut)]
325 let mut map = ::std::collections::BTreeMap::new();
326 map.insert(
327 ::jacquard_common::smol_str::SmolStr::new_static(
328 "createdAt",
329 ),
330 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
331 description: None,
332 format: Some(
333 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
334 ),
335 default: None,
336 min_length: None,
337 max_length: None,
338 min_graphemes: None,
339 max_graphemes: None,
340 r#enum: None,
341 r#const: None,
342 known_values: None,
343 }),
344 );
345 map.insert(
346 ::jacquard_common::smol_str::SmolStr::new_static(
347 "deactivatedAt",
348 ),
349 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
350 description: None,
351 format: Some(
352 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
353 ),
354 default: None,
355 min_length: None,
356 max_length: None,
357 min_graphemes: None,
358 max_graphemes: None,
359 r#enum: None,
360 r#const: None,
361 known_values: None,
362 }),
363 );
364 map.insert(
365 ::jacquard_common::smol_str::SmolStr::new_static(
366 "deletedAt",
367 ),
368 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
369 description: None,
370 format: Some(
371 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
372 ),
373 default: None,
374 min_length: None,
375 max_length: None,
376 min_graphemes: None,
377 max_graphemes: None,
378 r#enum: None,
379 r#const: None,
380 known_values: None,
381 }),
382 );
383 map.insert(
384 ::jacquard_common::smol_str::SmolStr::new_static(
385 "reactivatedAt",
386 ),
387 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
388 description: None,
389 format: Some(
390 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
391 ),
392 default: None,
393 min_length: None,
394 max_length: None,
395 min_graphemes: None,
396 max_graphemes: None,
397 r#enum: None,
398 r#const: None,
399 known_values: None,
400 }),
401 );
402 map.insert(
403 ::jacquard_common::smol_str::SmolStr::new_static("status"),
404 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
405 description: None,
406 format: None,
407 default: None,
408 min_length: None,
409 max_length: None,
410 min_graphemes: None,
411 max_graphemes: None,
412 r#enum: None,
413 r#const: None,
414 known_values: None,
415 }),
416 );
417 map.insert(
418 ::jacquard_common::smol_str::SmolStr::new_static(
419 "updatedAt",
420 ),
421 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
422 description: None,
423 format: Some(
424 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
425 ),
426 default: None,
427 min_length: None,
428 max_length: None,
429 min_graphemes: None,
430 max_graphemes: None,
431 r#enum: None,
432 r#const: None,
433 known_values: None,
434 }),
435 );
436 map
437 },
438 }),
439 );
440 map.insert(
441 ::jacquard_common::smol_str::SmolStr::new_static("accountStats"),
442 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
443 description: Some(
444 ::jacquard_common::CowStr::new_static(
445 "Statistics about a particular account subject",
446 ),
447 ),
448 required: None,
449 nullable: None,
450 properties: {
451 #[allow(unused_mut)]
452 let mut map = ::std::collections::BTreeMap::new();
453 map.insert(
454 ::jacquard_common::smol_str::SmolStr::new_static(
455 "appealCount",
456 ),
457 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
458 description: None,
459 default: None,
460 minimum: None,
461 maximum: None,
462 r#enum: None,
463 r#const: None,
464 }),
465 );
466 map.insert(
467 ::jacquard_common::smol_str::SmolStr::new_static(
468 "escalateCount",
469 ),
470 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
471 description: None,
472 default: None,
473 minimum: None,
474 maximum: None,
475 r#enum: None,
476 r#const: None,
477 }),
478 );
479 map.insert(
480 ::jacquard_common::smol_str::SmolStr::new_static(
481 "reportCount",
482 ),
483 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
484 description: None,
485 default: None,
486 minimum: None,
487 maximum: None,
488 r#enum: None,
489 r#const: None,
490 }),
491 );
492 map.insert(
493 ::jacquard_common::smol_str::SmolStr::new_static(
494 "suspendCount",
495 ),
496 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
497 description: None,
498 default: None,
499 minimum: None,
500 maximum: None,
501 r#enum: None,
502 r#const: None,
503 }),
504 );
505 map.insert(
506 ::jacquard_common::smol_str::SmolStr::new_static(
507 "takedownCount",
508 ),
509 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
510 description: None,
511 default: None,
512 minimum: None,
513 maximum: None,
514 r#enum: None,
515 r#const: None,
516 }),
517 );
518 map
519 },
520 }),
521 );
522 map.insert(
523 ::jacquard_common::smol_str::SmolStr::new_static("accountStrike"),
524 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
525 description: Some(
526 ::jacquard_common::CowStr::new_static(
527 "Strike information for an account",
528 ),
529 ),
530 required: None,
531 nullable: None,
532 properties: {
533 #[allow(unused_mut)]
534 let mut map = ::std::collections::BTreeMap::new();
535 map.insert(
536 ::jacquard_common::smol_str::SmolStr::new_static(
537 "activeStrikeCount",
538 ),
539 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
540 description: None,
541 default: None,
542 minimum: None,
543 maximum: None,
544 r#enum: None,
545 r#const: None,
546 }),
547 );
548 map.insert(
549 ::jacquard_common::smol_str::SmolStr::new_static(
550 "firstStrikeAt",
551 ),
552 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
553 description: Some(
554 ::jacquard_common::CowStr::new_static(
555 "Timestamp of the first strike received",
556 ),
557 ),
558 format: Some(
559 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
560 ),
561 default: None,
562 min_length: None,
563 max_length: None,
564 min_graphemes: None,
565 max_graphemes: None,
566 r#enum: None,
567 r#const: None,
568 known_values: None,
569 }),
570 );
571 map.insert(
572 ::jacquard_common::smol_str::SmolStr::new_static(
573 "lastStrikeAt",
574 ),
575 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
576 description: Some(
577 ::jacquard_common::CowStr::new_static(
578 "Timestamp of the most recent strike received",
579 ),
580 ),
581 format: Some(
582 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
583 ),
584 default: None,
585 min_length: None,
586 max_length: None,
587 min_graphemes: None,
588 max_graphemes: None,
589 r#enum: None,
590 r#const: None,
591 known_values: None,
592 }),
593 );
594 map.insert(
595 ::jacquard_common::smol_str::SmolStr::new_static(
596 "totalStrikeCount",
597 ),
598 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
599 description: None,
600 default: None,
601 minimum: None,
602 maximum: None,
603 r#enum: None,
604 r#const: None,
605 }),
606 );
607 map
608 },
609 }),
610 );
611 map.insert(
612 ::jacquard_common::smol_str::SmolStr::new_static("ageAssuranceEvent"),
613 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
614 description: Some(
615 ::jacquard_common::CowStr::new_static(
616 "Age assurance info coming directly from users. Only works on DID subjects.",
617 ),
618 ),
619 required: Some(
620 vec![
621 ::jacquard_common::smol_str::SmolStr::new_static("createdAt"),
622 ::jacquard_common::smol_str::SmolStr::new_static("status"),
623 ::jacquard_common::smol_str::SmolStr::new_static("attemptId")
624 ],
625 ),
626 nullable: None,
627 properties: {
628 #[allow(unused_mut)]
629 let mut map = ::std::collections::BTreeMap::new();
630 map.insert(
631 ::jacquard_common::smol_str::SmolStr::new_static(
632 "attemptId",
633 ),
634 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
635 description: Some(
636 ::jacquard_common::CowStr::new_static(
637 "The unique identifier for this instance of the age assurance flow, in UUID format.",
638 ),
639 ),
640 format: None,
641 default: None,
642 min_length: None,
643 max_length: None,
644 min_graphemes: None,
645 max_graphemes: None,
646 r#enum: None,
647 r#const: None,
648 known_values: None,
649 }),
650 );
651 map.insert(
652 ::jacquard_common::smol_str::SmolStr::new_static(
653 "completeIp",
654 ),
655 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
656 description: Some(
657 ::jacquard_common::CowStr::new_static(
658 "The IP address used when completing the AA flow.",
659 ),
660 ),
661 format: None,
662 default: None,
663 min_length: None,
664 max_length: None,
665 min_graphemes: None,
666 max_graphemes: None,
667 r#enum: None,
668 r#const: None,
669 known_values: None,
670 }),
671 );
672 map.insert(
673 ::jacquard_common::smol_str::SmolStr::new_static(
674 "completeUa",
675 ),
676 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
677 description: Some(
678 ::jacquard_common::CowStr::new_static(
679 "The user agent used when completing the AA flow.",
680 ),
681 ),
682 format: None,
683 default: None,
684 min_length: None,
685 max_length: None,
686 min_graphemes: None,
687 max_graphemes: None,
688 r#enum: None,
689 r#const: None,
690 known_values: None,
691 }),
692 );
693 map.insert(
694 ::jacquard_common::smol_str::SmolStr::new_static(
695 "createdAt",
696 ),
697 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
698 description: Some(
699 ::jacquard_common::CowStr::new_static(
700 "The date and time of this write operation.",
701 ),
702 ),
703 format: Some(
704 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
705 ),
706 default: None,
707 min_length: None,
708 max_length: None,
709 min_graphemes: None,
710 max_graphemes: None,
711 r#enum: None,
712 r#const: None,
713 known_values: None,
714 }),
715 );
716 map.insert(
717 ::jacquard_common::smol_str::SmolStr::new_static("initIp"),
718 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
719 description: Some(
720 ::jacquard_common::CowStr::new_static(
721 "The IP address used when initiating the AA flow.",
722 ),
723 ),
724 format: None,
725 default: None,
726 min_length: None,
727 max_length: None,
728 min_graphemes: None,
729 max_graphemes: None,
730 r#enum: None,
731 r#const: None,
732 known_values: None,
733 }),
734 );
735 map.insert(
736 ::jacquard_common::smol_str::SmolStr::new_static("initUa"),
737 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
738 description: Some(
739 ::jacquard_common::CowStr::new_static(
740 "The user agent used when initiating the AA flow.",
741 ),
742 ),
743 format: None,
744 default: None,
745 min_length: None,
746 max_length: None,
747 min_graphemes: None,
748 max_graphemes: None,
749 r#enum: None,
750 r#const: None,
751 known_values: None,
752 }),
753 );
754 map.insert(
755 ::jacquard_common::smol_str::SmolStr::new_static("status"),
756 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
757 description: Some(
758 ::jacquard_common::CowStr::new_static(
759 "The status of the age assurance process.",
760 ),
761 ),
762 format: None,
763 default: None,
764 min_length: None,
765 max_length: None,
766 min_graphemes: None,
767 max_graphemes: None,
768 r#enum: None,
769 r#const: None,
770 known_values: None,
771 }),
772 );
773 map
774 },
775 }),
776 );
777 map.insert(
778 ::jacquard_common::smol_str::SmolStr::new_static(
779 "ageAssuranceOverrideEvent",
780 ),
781 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
782 description: Some(
783 ::jacquard_common::CowStr::new_static(
784 "Age assurance status override by moderators. Only works on DID subjects.",
785 ),
786 ),
787 required: Some(
788 vec![
789 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
790 ::jacquard_common::smol_str::SmolStr::new_static("status")
791 ],
792 ),
793 nullable: None,
794 properties: {
795 #[allow(unused_mut)]
796 let mut map = ::std::collections::BTreeMap::new();
797 map.insert(
798 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
799 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
800 description: Some(
801 ::jacquard_common::CowStr::new_static(
802 "Comment describing the reason for the override.",
803 ),
804 ),
805 format: None,
806 default: None,
807 min_length: None,
808 max_length: None,
809 min_graphemes: None,
810 max_graphemes: None,
811 r#enum: None,
812 r#const: None,
813 known_values: None,
814 }),
815 );
816 map.insert(
817 ::jacquard_common::smol_str::SmolStr::new_static("status"),
818 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
819 description: Some(
820 ::jacquard_common::CowStr::new_static(
821 "The status to be set for the user decided by a moderator, overriding whatever value the user had previously. Use reset to default to original state.",
822 ),
823 ),
824 format: None,
825 default: None,
826 min_length: None,
827 max_length: None,
828 min_graphemes: None,
829 max_graphemes: None,
830 r#enum: None,
831 r#const: None,
832 known_values: None,
833 }),
834 );
835 map
836 },
837 }),
838 );
839 map.insert(
840 ::jacquard_common::smol_str::SmolStr::new_static("blobView"),
841 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
842 description: None,
843 required: Some(
844 vec![
845 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
846 ::jacquard_common::smol_str::SmolStr::new_static("mimeType"),
847 ::jacquard_common::smol_str::SmolStr::new_static("size"),
848 ::jacquard_common::smol_str::SmolStr::new_static("createdAt")
849 ],
850 ),
851 nullable: None,
852 properties: {
853 #[allow(unused_mut)]
854 let mut map = ::std::collections::BTreeMap::new();
855 map.insert(
856 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
857 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
858 description: None,
859 format: Some(
860 ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
861 ),
862 default: None,
863 min_length: None,
864 max_length: None,
865 min_graphemes: None,
866 max_graphemes: None,
867 r#enum: None,
868 r#const: None,
869 known_values: None,
870 }),
871 );
872 map.insert(
873 ::jacquard_common::smol_str::SmolStr::new_static(
874 "createdAt",
875 ),
876 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
877 description: None,
878 format: Some(
879 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
880 ),
881 default: None,
882 min_length: None,
883 max_length: None,
884 min_graphemes: None,
885 max_graphemes: None,
886 r#enum: None,
887 r#const: None,
888 known_values: None,
889 }),
890 );
891 map.insert(
892 ::jacquard_common::smol_str::SmolStr::new_static("details"),
893 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
894 description: None,
895 refs: vec![
896 ::jacquard_common::CowStr::new_static("#imageDetails"),
897 ::jacquard_common::CowStr::new_static("#videoDetails")
898 ],
899 closed: None,
900 }),
901 );
902 map.insert(
903 ::jacquard_common::smol_str::SmolStr::new_static("mimeType"),
904 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
905 description: None,
906 format: None,
907 default: None,
908 min_length: None,
909 max_length: None,
910 min_graphemes: None,
911 max_graphemes: None,
912 r#enum: None,
913 r#const: None,
914 known_values: None,
915 }),
916 );
917 map.insert(
918 ::jacquard_common::smol_str::SmolStr::new_static(
919 "moderation",
920 ),
921 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
922 description: None,
923 r#ref: ::jacquard_common::CowStr::new_static("#moderation"),
924 }),
925 );
926 map.insert(
927 ::jacquard_common::smol_str::SmolStr::new_static("size"),
928 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
929 description: None,
930 default: None,
931 minimum: None,
932 maximum: None,
933 r#enum: None,
934 r#const: None,
935 }),
936 );
937 map
938 },
939 }),
940 );
941 map.insert(
942 ::jacquard_common::smol_str::SmolStr::new_static(
943 "cancelScheduledTakedownEvent",
944 ),
945 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
946 description: Some(
947 ::jacquard_common::CowStr::new_static(
948 "Logs cancellation of a scheduled takedown action for an account.",
949 ),
950 ),
951 required: None,
952 nullable: None,
953 properties: {
954 #[allow(unused_mut)]
955 let mut map = ::std::collections::BTreeMap::new();
956 map.insert(
957 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
958 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
959 description: None,
960 format: None,
961 default: None,
962 min_length: None,
963 max_length: None,
964 min_graphemes: None,
965 max_graphemes: None,
966 r#enum: None,
967 r#const: None,
968 known_values: None,
969 }),
970 );
971 map
972 },
973 }),
974 );
975 map.insert(
976 ::jacquard_common::smol_str::SmolStr::new_static("identityEvent"),
977 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
978 description: Some(
979 ::jacquard_common::CowStr::new_static(
980 "Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
981 ),
982 ),
983 required: Some(
984 vec![
985 ::jacquard_common::smol_str::SmolStr::new_static("timestamp")
986 ],
987 ),
988 nullable: None,
989 properties: {
990 #[allow(unused_mut)]
991 let mut map = ::std::collections::BTreeMap::new();
992 map.insert(
993 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
994 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
995 description: None,
996 format: None,
997 default: None,
998 min_length: None,
999 max_length: None,
1000 min_graphemes: None,
1001 max_graphemes: None,
1002 r#enum: None,
1003 r#const: None,
1004 known_values: None,
1005 }),
1006 );
1007 map.insert(
1008 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
1009 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1010 description: None,
1011 format: Some(
1012 ::jacquard_lexicon::lexicon::LexStringFormat::Handle,
1013 ),
1014 default: None,
1015 min_length: None,
1016 max_length: None,
1017 min_graphemes: None,
1018 max_graphemes: None,
1019 r#enum: None,
1020 r#const: None,
1021 known_values: None,
1022 }),
1023 );
1024 map.insert(
1025 ::jacquard_common::smol_str::SmolStr::new_static("pdsHost"),
1026 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1027 description: None,
1028 format: Some(
1029 ::jacquard_lexicon::lexicon::LexStringFormat::Uri,
1030 ),
1031 default: None,
1032 min_length: None,
1033 max_length: None,
1034 min_graphemes: None,
1035 max_graphemes: None,
1036 r#enum: None,
1037 r#const: None,
1038 known_values: None,
1039 }),
1040 );
1041 map.insert(
1042 ::jacquard_common::smol_str::SmolStr::new_static(
1043 "timestamp",
1044 ),
1045 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1046 description: None,
1047 format: Some(
1048 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
1049 ),
1050 default: None,
1051 min_length: None,
1052 max_length: None,
1053 min_graphemes: None,
1054 max_graphemes: None,
1055 r#enum: None,
1056 r#const: None,
1057 known_values: None,
1058 }),
1059 );
1060 map.insert(
1061 ::jacquard_common::smol_str::SmolStr::new_static(
1062 "tombstone",
1063 ),
1064 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
1065 description: None,
1066 default: None,
1067 r#const: None,
1068 }),
1069 );
1070 map
1071 },
1072 }),
1073 );
1074 map.insert(
1075 ::jacquard_common::smol_str::SmolStr::new_static("imageDetails"),
1076 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1077 description: None,
1078 required: Some(
1079 vec![
1080 ::jacquard_common::smol_str::SmolStr::new_static("width"),
1081 ::jacquard_common::smol_str::SmolStr::new_static("height")
1082 ],
1083 ),
1084 nullable: None,
1085 properties: {
1086 #[allow(unused_mut)]
1087 let mut map = ::std::collections::BTreeMap::new();
1088 map.insert(
1089 ::jacquard_common::smol_str::SmolStr::new_static("height"),
1090 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1091 description: None,
1092 default: None,
1093 minimum: None,
1094 maximum: None,
1095 r#enum: None,
1096 r#const: None,
1097 }),
1098 );
1099 map.insert(
1100 ::jacquard_common::smol_str::SmolStr::new_static("width"),
1101 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1102 description: None,
1103 default: None,
1104 minimum: None,
1105 maximum: None,
1106 r#enum: None,
1107 r#const: None,
1108 }),
1109 );
1110 map
1111 },
1112 }),
1113 );
1114 map.insert(
1115 ::jacquard_common::smol_str::SmolStr::new_static("modEventAcknowledge"),
1116 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1117 description: None,
1118 required: None,
1119 nullable: None,
1120 properties: {
1121 #[allow(unused_mut)]
1122 let mut map = ::std::collections::BTreeMap::new();
1123 map.insert(
1124 ::jacquard_common::smol_str::SmolStr::new_static(
1125 "acknowledgeAccountSubjects",
1126 ),
1127 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
1128 description: None,
1129 default: None,
1130 r#const: None,
1131 }),
1132 );
1133 map.insert(
1134 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1135 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1136 description: None,
1137 format: None,
1138 default: None,
1139 min_length: None,
1140 max_length: None,
1141 min_graphemes: None,
1142 max_graphemes: None,
1143 r#enum: None,
1144 r#const: None,
1145 known_values: None,
1146 }),
1147 );
1148 map
1149 },
1150 }),
1151 );
1152 map.insert(
1153 ::jacquard_common::smol_str::SmolStr::new_static("modEventComment"),
1154 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1155 description: Some(
1156 ::jacquard_common::CowStr::new_static(
1157 "Add a comment to a subject. An empty comment will clear any previously set sticky comment.",
1158 ),
1159 ),
1160 required: None,
1161 nullable: None,
1162 properties: {
1163 #[allow(unused_mut)]
1164 let mut map = ::std::collections::BTreeMap::new();
1165 map.insert(
1166 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1167 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1168 description: None,
1169 format: None,
1170 default: None,
1171 min_length: None,
1172 max_length: None,
1173 min_graphemes: None,
1174 max_graphemes: None,
1175 r#enum: None,
1176 r#const: None,
1177 known_values: None,
1178 }),
1179 );
1180 map.insert(
1181 ::jacquard_common::smol_str::SmolStr::new_static("sticky"),
1182 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
1183 description: None,
1184 default: None,
1185 r#const: None,
1186 }),
1187 );
1188 map
1189 },
1190 }),
1191 );
1192 map.insert(
1193 ::jacquard_common::smol_str::SmolStr::new_static("modEventDivert"),
1194 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1195 description: Some(
1196 ::jacquard_common::CowStr::new_static(
1197 "Divert a record's blobs to a 3rd party service for further scanning/tagging",
1198 ),
1199 ),
1200 required: None,
1201 nullable: None,
1202 properties: {
1203 #[allow(unused_mut)]
1204 let mut map = ::std::collections::BTreeMap::new();
1205 map.insert(
1206 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1207 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1208 description: None,
1209 format: None,
1210 default: None,
1211 min_length: None,
1212 max_length: None,
1213 min_graphemes: None,
1214 max_graphemes: None,
1215 r#enum: None,
1216 r#const: None,
1217 known_values: None,
1218 }),
1219 );
1220 map
1221 },
1222 }),
1223 );
1224 map.insert(
1225 ::jacquard_common::smol_str::SmolStr::new_static("modEventEmail"),
1226 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1227 description: Some(
1228 ::jacquard_common::CowStr::new_static(
1229 "Keep a log of outgoing email to a user",
1230 ),
1231 ),
1232 required: Some(
1233 vec![
1234 ::jacquard_common::smol_str::SmolStr::new_static("subjectLine")
1235 ],
1236 ),
1237 nullable: None,
1238 properties: {
1239 #[allow(unused_mut)]
1240 let mut map = ::std::collections::BTreeMap::new();
1241 map.insert(
1242 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1243 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1244 description: Some(
1245 ::jacquard_common::CowStr::new_static(
1246 "Additional comment about the outgoing comm.",
1247 ),
1248 ),
1249 format: None,
1250 default: None,
1251 min_length: None,
1252 max_length: None,
1253 min_graphemes: None,
1254 max_graphemes: None,
1255 r#enum: None,
1256 r#const: None,
1257 known_values: None,
1258 }),
1259 );
1260 map.insert(
1261 ::jacquard_common::smol_str::SmolStr::new_static("content"),
1262 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1263 description: Some(
1264 ::jacquard_common::CowStr::new_static(
1265 "The content of the email sent to the user.",
1266 ),
1267 ),
1268 format: None,
1269 default: None,
1270 min_length: None,
1271 max_length: None,
1272 min_graphemes: None,
1273 max_graphemes: None,
1274 r#enum: None,
1275 r#const: None,
1276 known_values: None,
1277 }),
1278 );
1279 map.insert(
1280 ::jacquard_common::smol_str::SmolStr::new_static("policies"),
1281 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1282 description: Some(
1283 ::jacquard_common::CowStr::new_static(
1284 "Names/Keywords of the policies that necessitated the email.",
1285 ),
1286 ),
1287 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1288 description: None,
1289 format: None,
1290 default: None,
1291 min_length: None,
1292 max_length: None,
1293 min_graphemes: None,
1294 max_graphemes: None,
1295 r#enum: None,
1296 r#const: None,
1297 known_values: None,
1298 }),
1299 min_length: None,
1300 max_length: Some(5usize),
1301 }),
1302 );
1303 map.insert(
1304 ::jacquard_common::smol_str::SmolStr::new_static(
1305 "severityLevel",
1306 ),
1307 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1308 description: Some(
1309 ::jacquard_common::CowStr::new_static(
1310 "Severity level of the violation. Normally 'sev-1' that adds strike on repeat offense",
1311 ),
1312 ),
1313 format: None,
1314 default: None,
1315 min_length: None,
1316 max_length: None,
1317 min_graphemes: None,
1318 max_graphemes: None,
1319 r#enum: None,
1320 r#const: None,
1321 known_values: None,
1322 }),
1323 );
1324 map.insert(
1325 ::jacquard_common::smol_str::SmolStr::new_static(
1326 "strikeCount",
1327 ),
1328 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1329 description: None,
1330 default: None,
1331 minimum: None,
1332 maximum: None,
1333 r#enum: None,
1334 r#const: None,
1335 }),
1336 );
1337 map.insert(
1338 ::jacquard_common::smol_str::SmolStr::new_static(
1339 "strikeExpiresAt",
1340 ),
1341 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1342 description: Some(
1343 ::jacquard_common::CowStr::new_static(
1344 "When the strike should expire. If not provided, the strike never expires.",
1345 ),
1346 ),
1347 format: Some(
1348 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
1349 ),
1350 default: None,
1351 min_length: None,
1352 max_length: None,
1353 min_graphemes: None,
1354 max_graphemes: None,
1355 r#enum: None,
1356 r#const: None,
1357 known_values: None,
1358 }),
1359 );
1360 map.insert(
1361 ::jacquard_common::smol_str::SmolStr::new_static(
1362 "subjectLine",
1363 ),
1364 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1365 description: Some(
1366 ::jacquard_common::CowStr::new_static(
1367 "The subject line of the email sent to the user.",
1368 ),
1369 ),
1370 format: None,
1371 default: None,
1372 min_length: None,
1373 max_length: None,
1374 min_graphemes: None,
1375 max_graphemes: None,
1376 r#enum: None,
1377 r#const: None,
1378 known_values: None,
1379 }),
1380 );
1381 map
1382 },
1383 }),
1384 );
1385 map.insert(
1386 ::jacquard_common::smol_str::SmolStr::new_static("modEventEscalate"),
1387 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1388 description: None,
1389 required: None,
1390 nullable: None,
1391 properties: {
1392 #[allow(unused_mut)]
1393 let mut map = ::std::collections::BTreeMap::new();
1394 map.insert(
1395 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1396 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1397 description: None,
1398 format: None,
1399 default: None,
1400 min_length: None,
1401 max_length: None,
1402 min_graphemes: None,
1403 max_graphemes: None,
1404 r#enum: None,
1405 r#const: None,
1406 known_values: None,
1407 }),
1408 );
1409 map
1410 },
1411 }),
1412 );
1413 map.insert(
1414 ::jacquard_common::smol_str::SmolStr::new_static("modEventLabel"),
1415 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1416 description: Some(
1417 ::jacquard_common::CowStr::new_static(
1418 "Apply/Negate labels on a subject",
1419 ),
1420 ),
1421 required: Some(
1422 vec![
1423 ::jacquard_common::smol_str::SmolStr::new_static("createLabelVals"),
1424 ::jacquard_common::smol_str::SmolStr::new_static("negateLabelVals")
1425 ],
1426 ),
1427 nullable: None,
1428 properties: {
1429 #[allow(unused_mut)]
1430 let mut map = ::std::collections::BTreeMap::new();
1431 map.insert(
1432 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1433 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1434 description: None,
1435 format: None,
1436 default: None,
1437 min_length: None,
1438 max_length: None,
1439 min_graphemes: None,
1440 max_graphemes: None,
1441 r#enum: None,
1442 r#const: None,
1443 known_values: None,
1444 }),
1445 );
1446 map.insert(
1447 ::jacquard_common::smol_str::SmolStr::new_static(
1448 "createLabelVals",
1449 ),
1450 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1451 description: None,
1452 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1453 description: None,
1454 format: None,
1455 default: None,
1456 min_length: None,
1457 max_length: None,
1458 min_graphemes: None,
1459 max_graphemes: None,
1460 r#enum: None,
1461 r#const: None,
1462 known_values: None,
1463 }),
1464 min_length: None,
1465 max_length: None,
1466 }),
1467 );
1468 map.insert(
1469 ::jacquard_common::smol_str::SmolStr::new_static(
1470 "durationInHours",
1471 ),
1472 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1473 description: None,
1474 default: None,
1475 minimum: None,
1476 maximum: None,
1477 r#enum: None,
1478 r#const: None,
1479 }),
1480 );
1481 map.insert(
1482 ::jacquard_common::smol_str::SmolStr::new_static(
1483 "negateLabelVals",
1484 ),
1485 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1486 description: None,
1487 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1488 description: None,
1489 format: None,
1490 default: None,
1491 min_length: None,
1492 max_length: None,
1493 min_graphemes: None,
1494 max_graphemes: None,
1495 r#enum: None,
1496 r#const: None,
1497 known_values: None,
1498 }),
1499 min_length: None,
1500 max_length: None,
1501 }),
1502 );
1503 map
1504 },
1505 }),
1506 );
1507 map.insert(
1508 ::jacquard_common::smol_str::SmolStr::new_static("modEventMute"),
1509 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1510 description: Some(
1511 ::jacquard_common::CowStr::new_static(
1512 "Mute incoming reports on a subject",
1513 ),
1514 ),
1515 required: Some(
1516 vec![
1517 ::jacquard_common::smol_str::SmolStr::new_static("durationInHours")
1518 ],
1519 ),
1520 nullable: None,
1521 properties: {
1522 #[allow(unused_mut)]
1523 let mut map = ::std::collections::BTreeMap::new();
1524 map.insert(
1525 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1526 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1527 description: None,
1528 format: None,
1529 default: None,
1530 min_length: None,
1531 max_length: None,
1532 min_graphemes: None,
1533 max_graphemes: None,
1534 r#enum: None,
1535 r#const: None,
1536 known_values: None,
1537 }),
1538 );
1539 map.insert(
1540 ::jacquard_common::smol_str::SmolStr::new_static(
1541 "durationInHours",
1542 ),
1543 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1544 description: None,
1545 default: None,
1546 minimum: None,
1547 maximum: None,
1548 r#enum: None,
1549 r#const: None,
1550 }),
1551 );
1552 map
1553 },
1554 }),
1555 );
1556 map.insert(
1557 ::jacquard_common::smol_str::SmolStr::new_static("modEventMuteReporter"),
1558 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1559 description: Some(
1560 ::jacquard_common::CowStr::new_static(
1561 "Mute incoming reports from an account",
1562 ),
1563 ),
1564 required: None,
1565 nullable: None,
1566 properties: {
1567 #[allow(unused_mut)]
1568 let mut map = ::std::collections::BTreeMap::new();
1569 map.insert(
1570 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1571 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1572 description: None,
1573 format: None,
1574 default: None,
1575 min_length: None,
1576 max_length: None,
1577 min_graphemes: None,
1578 max_graphemes: None,
1579 r#enum: None,
1580 r#const: None,
1581 known_values: None,
1582 }),
1583 );
1584 map.insert(
1585 ::jacquard_common::smol_str::SmolStr::new_static(
1586 "durationInHours",
1587 ),
1588 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1589 description: None,
1590 default: None,
1591 minimum: None,
1592 maximum: None,
1593 r#enum: None,
1594 r#const: None,
1595 }),
1596 );
1597 map
1598 },
1599 }),
1600 );
1601 map.insert(
1602 ::jacquard_common::smol_str::SmolStr::new_static(
1603 "modEventPriorityScore",
1604 ),
1605 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1606 description: Some(
1607 ::jacquard_common::CowStr::new_static(
1608 "Set priority score of the subject. Higher score means higher priority.",
1609 ),
1610 ),
1611 required: Some(
1612 vec![::jacquard_common::smol_str::SmolStr::new_static("score")],
1613 ),
1614 nullable: None,
1615 properties: {
1616 #[allow(unused_mut)]
1617 let mut map = ::std::collections::BTreeMap::new();
1618 map.insert(
1619 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1620 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1621 description: None,
1622 format: None,
1623 default: None,
1624 min_length: None,
1625 max_length: None,
1626 min_graphemes: None,
1627 max_graphemes: None,
1628 r#enum: None,
1629 r#const: None,
1630 known_values: None,
1631 }),
1632 );
1633 map.insert(
1634 ::jacquard_common::smol_str::SmolStr::new_static("score"),
1635 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1636 description: None,
1637 default: None,
1638 minimum: Some(0i64),
1639 maximum: Some(100i64),
1640 r#enum: None,
1641 r#const: None,
1642 }),
1643 );
1644 map
1645 },
1646 }),
1647 );
1648 map.insert(
1649 ::jacquard_common::smol_str::SmolStr::new_static("modEventReport"),
1650 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1651 description: Some(
1652 ::jacquard_common::CowStr::new_static("Report a subject"),
1653 ),
1654 required: Some(
1655 vec![
1656 ::jacquard_common::smol_str::SmolStr::new_static("reportType")
1657 ],
1658 ),
1659 nullable: None,
1660 properties: {
1661 #[allow(unused_mut)]
1662 let mut map = ::std::collections::BTreeMap::new();
1663 map.insert(
1664 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1665 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1666 description: None,
1667 format: None,
1668 default: None,
1669 min_length: None,
1670 max_length: None,
1671 min_graphemes: None,
1672 max_graphemes: None,
1673 r#enum: None,
1674 r#const: None,
1675 known_values: None,
1676 }),
1677 );
1678 map.insert(
1679 ::jacquard_common::smol_str::SmolStr::new_static(
1680 "isReporterMuted",
1681 ),
1682 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
1683 description: None,
1684 default: None,
1685 r#const: None,
1686 }),
1687 );
1688 map.insert(
1689 ::jacquard_common::smol_str::SmolStr::new_static(
1690 "reportType",
1691 ),
1692 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
1693 description: None,
1694 r#ref: ::jacquard_common::CowStr::new_static(
1695 "com.atproto.moderation.defs#reasonType",
1696 ),
1697 }),
1698 );
1699 map
1700 },
1701 }),
1702 );
1703 map.insert(
1704 ::jacquard_common::smol_str::SmolStr::new_static(
1705 "modEventResolveAppeal",
1706 ),
1707 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1708 description: Some(
1709 ::jacquard_common::CowStr::new_static(
1710 "Resolve appeal on a subject",
1711 ),
1712 ),
1713 required: None,
1714 nullable: None,
1715 properties: {
1716 #[allow(unused_mut)]
1717 let mut map = ::std::collections::BTreeMap::new();
1718 map.insert(
1719 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1720 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1721 description: Some(
1722 ::jacquard_common::CowStr::new_static(
1723 "Describe resolution.",
1724 ),
1725 ),
1726 format: None,
1727 default: None,
1728 min_length: None,
1729 max_length: None,
1730 min_graphemes: None,
1731 max_graphemes: None,
1732 r#enum: None,
1733 r#const: None,
1734 known_values: None,
1735 }),
1736 );
1737 map
1738 },
1739 }),
1740 );
1741 map.insert(
1742 ::jacquard_common::smol_str::SmolStr::new_static(
1743 "modEventReverseTakedown",
1744 ),
1745 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1746 description: Some(
1747 ::jacquard_common::CowStr::new_static(
1748 "Revert take down action on a subject",
1749 ),
1750 ),
1751 required: None,
1752 nullable: None,
1753 properties: {
1754 #[allow(unused_mut)]
1755 let mut map = ::std::collections::BTreeMap::new();
1756 map.insert(
1757 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1758 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1759 description: Some(
1760 ::jacquard_common::CowStr::new_static(
1761 "Describe reasoning behind the reversal.",
1762 ),
1763 ),
1764 format: None,
1765 default: None,
1766 min_length: None,
1767 max_length: None,
1768 min_graphemes: None,
1769 max_graphemes: None,
1770 r#enum: None,
1771 r#const: None,
1772 known_values: None,
1773 }),
1774 );
1775 map.insert(
1776 ::jacquard_common::smol_str::SmolStr::new_static("policies"),
1777 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1778 description: Some(
1779 ::jacquard_common::CowStr::new_static(
1780 "Names/Keywords of the policy infraction for which takedown is being reversed.",
1781 ),
1782 ),
1783 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1784 description: None,
1785 format: None,
1786 default: None,
1787 min_length: None,
1788 max_length: None,
1789 min_graphemes: None,
1790 max_graphemes: None,
1791 r#enum: None,
1792 r#const: None,
1793 known_values: None,
1794 }),
1795 min_length: None,
1796 max_length: Some(5usize),
1797 }),
1798 );
1799 map.insert(
1800 ::jacquard_common::smol_str::SmolStr::new_static(
1801 "severityLevel",
1802 ),
1803 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1804 description: Some(
1805 ::jacquard_common::CowStr::new_static(
1806 "Severity level of the violation. Usually set from the last policy infraction's severity.",
1807 ),
1808 ),
1809 format: None,
1810 default: None,
1811 min_length: None,
1812 max_length: None,
1813 min_graphemes: None,
1814 max_graphemes: None,
1815 r#enum: None,
1816 r#const: None,
1817 known_values: None,
1818 }),
1819 );
1820 map.insert(
1821 ::jacquard_common::smol_str::SmolStr::new_static(
1822 "strikeCount",
1823 ),
1824 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1825 description: None,
1826 default: None,
1827 minimum: None,
1828 maximum: None,
1829 r#enum: None,
1830 r#const: None,
1831 }),
1832 );
1833 map
1834 },
1835 }),
1836 );
1837 map.insert(
1838 ::jacquard_common::smol_str::SmolStr::new_static("modEventTag"),
1839 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1840 description: Some(
1841 ::jacquard_common::CowStr::new_static(
1842 "Add/Remove a tag on a subject",
1843 ),
1844 ),
1845 required: Some(
1846 vec![
1847 ::jacquard_common::smol_str::SmolStr::new_static("add"),
1848 ::jacquard_common::smol_str::SmolStr::new_static("remove")
1849 ],
1850 ),
1851 nullable: None,
1852 properties: {
1853 #[allow(unused_mut)]
1854 let mut map = ::std::collections::BTreeMap::new();
1855 map.insert(
1856 ::jacquard_common::smol_str::SmolStr::new_static("add"),
1857 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1858 description: Some(
1859 ::jacquard_common::CowStr::new_static(
1860 "Tags to be added to the subject. If already exists, won't be duplicated.",
1861 ),
1862 ),
1863 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1864 description: None,
1865 format: None,
1866 default: None,
1867 min_length: None,
1868 max_length: None,
1869 min_graphemes: None,
1870 max_graphemes: None,
1871 r#enum: None,
1872 r#const: None,
1873 known_values: None,
1874 }),
1875 min_length: None,
1876 max_length: None,
1877 }),
1878 );
1879 map.insert(
1880 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1881 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1882 description: Some(
1883 ::jacquard_common::CowStr::new_static(
1884 "Additional comment about added/removed tags.",
1885 ),
1886 ),
1887 format: None,
1888 default: None,
1889 min_length: None,
1890 max_length: None,
1891 min_graphemes: None,
1892 max_graphemes: None,
1893 r#enum: None,
1894 r#const: None,
1895 known_values: None,
1896 }),
1897 );
1898 map.insert(
1899 ::jacquard_common::smol_str::SmolStr::new_static("remove"),
1900 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1901 description: Some(
1902 ::jacquard_common::CowStr::new_static(
1903 "Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated.",
1904 ),
1905 ),
1906 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1907 description: None,
1908 format: None,
1909 default: None,
1910 min_length: None,
1911 max_length: None,
1912 min_graphemes: None,
1913 max_graphemes: None,
1914 r#enum: None,
1915 r#const: None,
1916 known_values: None,
1917 }),
1918 min_length: None,
1919 max_length: None,
1920 }),
1921 );
1922 map
1923 },
1924 }),
1925 );
1926 map.insert(
1927 ::jacquard_common::smol_str::SmolStr::new_static("modEventTakedown"),
1928 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
1929 description: Some(
1930 ::jacquard_common::CowStr::new_static(
1931 "Take down a subject permanently or temporarily",
1932 ),
1933 ),
1934 required: None,
1935 nullable: None,
1936 properties: {
1937 #[allow(unused_mut)]
1938 let mut map = ::std::collections::BTreeMap::new();
1939 map.insert(
1940 ::jacquard_common::smol_str::SmolStr::new_static(
1941 "acknowledgeAccountSubjects",
1942 ),
1943 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
1944 description: None,
1945 default: None,
1946 r#const: None,
1947 }),
1948 );
1949 map.insert(
1950 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
1951 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
1952 description: None,
1953 format: None,
1954 default: None,
1955 min_length: None,
1956 max_length: None,
1957 min_graphemes: None,
1958 max_graphemes: None,
1959 r#enum: None,
1960 r#const: None,
1961 known_values: None,
1962 }),
1963 );
1964 map.insert(
1965 ::jacquard_common::smol_str::SmolStr::new_static(
1966 "durationInHours",
1967 ),
1968 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
1969 description: None,
1970 default: None,
1971 minimum: None,
1972 maximum: None,
1973 r#enum: None,
1974 r#const: None,
1975 }),
1976 );
1977 map.insert(
1978 ::jacquard_common::smol_str::SmolStr::new_static("policies"),
1979 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
1980 description: Some(
1981 ::jacquard_common::CowStr::new_static(
1982 "Names/Keywords of the policies that drove the decision.",
1983 ),
1984 ),
1985 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
1986 description: None,
1987 format: None,
1988 default: None,
1989 min_length: None,
1990 max_length: None,
1991 min_graphemes: None,
1992 max_graphemes: None,
1993 r#enum: None,
1994 r#const: None,
1995 known_values: None,
1996 }),
1997 min_length: None,
1998 max_length: Some(5usize),
1999 }),
2000 );
2001 map.insert(
2002 ::jacquard_common::smol_str::SmolStr::new_static(
2003 "severityLevel",
2004 ),
2005 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2006 description: Some(
2007 ::jacquard_common::CowStr::new_static(
2008 "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).",
2009 ),
2010 ),
2011 format: None,
2012 default: None,
2013 min_length: None,
2014 max_length: None,
2015 min_graphemes: None,
2016 max_graphemes: None,
2017 r#enum: None,
2018 r#const: None,
2019 known_values: None,
2020 }),
2021 );
2022 map.insert(
2023 ::jacquard_common::smol_str::SmolStr::new_static(
2024 "strikeCount",
2025 ),
2026 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
2027 description: None,
2028 default: None,
2029 minimum: None,
2030 maximum: None,
2031 r#enum: None,
2032 r#const: None,
2033 }),
2034 );
2035 map.insert(
2036 ::jacquard_common::smol_str::SmolStr::new_static(
2037 "strikeExpiresAt",
2038 ),
2039 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2040 description: Some(
2041 ::jacquard_common::CowStr::new_static(
2042 "When the strike should expire. If not provided, the strike never expires.",
2043 ),
2044 ),
2045 format: Some(
2046 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2047 ),
2048 default: None,
2049 min_length: None,
2050 max_length: None,
2051 min_graphemes: None,
2052 max_graphemes: None,
2053 r#enum: None,
2054 r#const: None,
2055 known_values: None,
2056 }),
2057 );
2058 map
2059 },
2060 }),
2061 );
2062 map.insert(
2063 ::jacquard_common::smol_str::SmolStr::new_static("modEventUnmute"),
2064 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2065 description: Some(
2066 ::jacquard_common::CowStr::new_static(
2067 "Unmute action on a subject",
2068 ),
2069 ),
2070 required: None,
2071 nullable: None,
2072 properties: {
2073 #[allow(unused_mut)]
2074 let mut map = ::std::collections::BTreeMap::new();
2075 map.insert(
2076 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
2077 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2078 description: Some(
2079 ::jacquard_common::CowStr::new_static(
2080 "Describe reasoning behind the reversal.",
2081 ),
2082 ),
2083 format: None,
2084 default: None,
2085 min_length: None,
2086 max_length: None,
2087 min_graphemes: None,
2088 max_graphemes: None,
2089 r#enum: None,
2090 r#const: None,
2091 known_values: None,
2092 }),
2093 );
2094 map
2095 },
2096 }),
2097 );
2098 map.insert(
2099 ::jacquard_common::smol_str::SmolStr::new_static(
2100 "modEventUnmuteReporter",
2101 ),
2102 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2103 description: Some(
2104 ::jacquard_common::CowStr::new_static(
2105 "Unmute incoming reports from an account",
2106 ),
2107 ),
2108 required: None,
2109 nullable: None,
2110 properties: {
2111 #[allow(unused_mut)]
2112 let mut map = ::std::collections::BTreeMap::new();
2113 map.insert(
2114 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
2115 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2116 description: Some(
2117 ::jacquard_common::CowStr::new_static(
2118 "Describe reasoning behind the reversal.",
2119 ),
2120 ),
2121 format: None,
2122 default: None,
2123 min_length: None,
2124 max_length: None,
2125 min_graphemes: None,
2126 max_graphemes: None,
2127 r#enum: None,
2128 r#const: None,
2129 known_values: None,
2130 }),
2131 );
2132 map
2133 },
2134 }),
2135 );
2136 map.insert(
2137 ::jacquard_common::smol_str::SmolStr::new_static("modEventView"),
2138 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2139 description: None,
2140 required: Some(
2141 vec![
2142 ::jacquard_common::smol_str::SmolStr::new_static("id"),
2143 ::jacquard_common::smol_str::SmolStr::new_static("event"),
2144 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
2145 ::jacquard_common::smol_str::SmolStr::new_static("subjectBlobCids"),
2146 ::jacquard_common::smol_str::SmolStr::new_static("createdBy"),
2147 ::jacquard_common::smol_str::SmolStr::new_static("createdAt")
2148 ],
2149 ),
2150 nullable: None,
2151 properties: {
2152 #[allow(unused_mut)]
2153 let mut map = ::std::collections::BTreeMap::new();
2154 map.insert(
2155 ::jacquard_common::smol_str::SmolStr::new_static(
2156 "createdAt",
2157 ),
2158 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2159 description: None,
2160 format: Some(
2161 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2162 ),
2163 default: None,
2164 min_length: None,
2165 max_length: None,
2166 min_graphemes: None,
2167 max_graphemes: None,
2168 r#enum: None,
2169 r#const: None,
2170 known_values: None,
2171 }),
2172 );
2173 map.insert(
2174 ::jacquard_common::smol_str::SmolStr::new_static(
2175 "createdBy",
2176 ),
2177 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2178 description: None,
2179 format: Some(
2180 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
2181 ),
2182 default: None,
2183 min_length: None,
2184 max_length: None,
2185 min_graphemes: None,
2186 max_graphemes: None,
2187 r#enum: None,
2188 r#const: None,
2189 known_values: None,
2190 }),
2191 );
2192 map.insert(
2193 ::jacquard_common::smol_str::SmolStr::new_static(
2194 "creatorHandle",
2195 ),
2196 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2197 description: None,
2198 format: None,
2199 default: None,
2200 min_length: None,
2201 max_length: None,
2202 min_graphemes: None,
2203 max_graphemes: None,
2204 r#enum: None,
2205 r#const: None,
2206 known_values: None,
2207 }),
2208 );
2209 map.insert(
2210 ::jacquard_common::smol_str::SmolStr::new_static("event"),
2211 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
2212 description: None,
2213 refs: vec![
2214 ::jacquard_common::CowStr::new_static("#modEventTakedown"),
2215 ::jacquard_common::CowStr::new_static("#modEventReverseTakedown"),
2216 ::jacquard_common::CowStr::new_static("#modEventComment"),
2217 ::jacquard_common::CowStr::new_static("#modEventReport"),
2218 ::jacquard_common::CowStr::new_static("#modEventLabel"),
2219 ::jacquard_common::CowStr::new_static("#modEventAcknowledge"),
2220 ::jacquard_common::CowStr::new_static("#modEventEscalate"),
2221 ::jacquard_common::CowStr::new_static("#modEventMute"),
2222 ::jacquard_common::CowStr::new_static("#modEventUnmute"),
2223 ::jacquard_common::CowStr::new_static("#modEventMuteReporter"),
2224 ::jacquard_common::CowStr::new_static("#modEventUnmuteReporter"),
2225 ::jacquard_common::CowStr::new_static("#modEventEmail"),
2226 ::jacquard_common::CowStr::new_static("#modEventResolveAppeal"),
2227 ::jacquard_common::CowStr::new_static("#modEventDivert"),
2228 ::jacquard_common::CowStr::new_static("#modEventTag"),
2229 ::jacquard_common::CowStr::new_static("#accountEvent"),
2230 ::jacquard_common::CowStr::new_static("#identityEvent"),
2231 ::jacquard_common::CowStr::new_static("#recordEvent"),
2232 ::jacquard_common::CowStr::new_static("#modEventPriorityScore"),
2233 ::jacquard_common::CowStr::new_static("#ageAssuranceEvent"),
2234 ::jacquard_common::CowStr::new_static("#ageAssuranceOverrideEvent"),
2235 ::jacquard_common::CowStr::new_static("#revokeAccountCredentialsEvent"),
2236 ::jacquard_common::CowStr::new_static("#scheduleTakedownEvent"),
2237 ::jacquard_common::CowStr::new_static("#cancelScheduledTakedownEvent")
2238 ],
2239 closed: None,
2240 }),
2241 );
2242 map.insert(
2243 ::jacquard_common::smol_str::SmolStr::new_static("id"),
2244 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
2245 description: None,
2246 default: None,
2247 minimum: None,
2248 maximum: None,
2249 r#enum: None,
2250 r#const: None,
2251 }),
2252 );
2253 map.insert(
2254 ::jacquard_common::smol_str::SmolStr::new_static("modTool"),
2255 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2256 description: None,
2257 r#ref: ::jacquard_common::CowStr::new_static("#modTool"),
2258 }),
2259 );
2260 map.insert(
2261 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
2262 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
2263 description: None,
2264 refs: vec![
2265 ::jacquard_common::CowStr::new_static("com.atproto.admin.defs#repoRef"),
2266 ::jacquard_common::CowStr::new_static("com.atproto.repo.strongRef"),
2267 ::jacquard_common::CowStr::new_static("chat.bsky.convo.defs#messageRef")
2268 ],
2269 closed: None,
2270 }),
2271 );
2272 map.insert(
2273 ::jacquard_common::smol_str::SmolStr::new_static(
2274 "subjectBlobCids",
2275 ),
2276 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
2277 description: None,
2278 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
2279 description: None,
2280 format: None,
2281 default: None,
2282 min_length: None,
2283 max_length: None,
2284 min_graphemes: None,
2285 max_graphemes: None,
2286 r#enum: None,
2287 r#const: None,
2288 known_values: None,
2289 }),
2290 min_length: None,
2291 max_length: None,
2292 }),
2293 );
2294 map.insert(
2295 ::jacquard_common::smol_str::SmolStr::new_static(
2296 "subjectHandle",
2297 ),
2298 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2299 description: None,
2300 format: None,
2301 default: None,
2302 min_length: None,
2303 max_length: None,
2304 min_graphemes: None,
2305 max_graphemes: None,
2306 r#enum: None,
2307 r#const: None,
2308 known_values: None,
2309 }),
2310 );
2311 map
2312 },
2313 }),
2314 );
2315 map.insert(
2316 ::jacquard_common::smol_str::SmolStr::new_static("modEventViewDetail"),
2317 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2318 description: None,
2319 required: Some(
2320 vec![
2321 ::jacquard_common::smol_str::SmolStr::new_static("id"),
2322 ::jacquard_common::smol_str::SmolStr::new_static("event"),
2323 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
2324 ::jacquard_common::smol_str::SmolStr::new_static("subjectBlobs"),
2325 ::jacquard_common::smol_str::SmolStr::new_static("createdBy"),
2326 ::jacquard_common::smol_str::SmolStr::new_static("createdAt")
2327 ],
2328 ),
2329 nullable: None,
2330 properties: {
2331 #[allow(unused_mut)]
2332 let mut map = ::std::collections::BTreeMap::new();
2333 map.insert(
2334 ::jacquard_common::smol_str::SmolStr::new_static(
2335 "createdAt",
2336 ),
2337 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2338 description: None,
2339 format: Some(
2340 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2341 ),
2342 default: None,
2343 min_length: None,
2344 max_length: None,
2345 min_graphemes: None,
2346 max_graphemes: None,
2347 r#enum: None,
2348 r#const: None,
2349 known_values: None,
2350 }),
2351 );
2352 map.insert(
2353 ::jacquard_common::smol_str::SmolStr::new_static(
2354 "createdBy",
2355 ),
2356 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2357 description: None,
2358 format: Some(
2359 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
2360 ),
2361 default: None,
2362 min_length: None,
2363 max_length: None,
2364 min_graphemes: None,
2365 max_graphemes: None,
2366 r#enum: None,
2367 r#const: None,
2368 known_values: None,
2369 }),
2370 );
2371 map.insert(
2372 ::jacquard_common::smol_str::SmolStr::new_static("event"),
2373 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
2374 description: None,
2375 refs: vec![
2376 ::jacquard_common::CowStr::new_static("#modEventTakedown"),
2377 ::jacquard_common::CowStr::new_static("#modEventReverseTakedown"),
2378 ::jacquard_common::CowStr::new_static("#modEventComment"),
2379 ::jacquard_common::CowStr::new_static("#modEventReport"),
2380 ::jacquard_common::CowStr::new_static("#modEventLabel"),
2381 ::jacquard_common::CowStr::new_static("#modEventAcknowledge"),
2382 ::jacquard_common::CowStr::new_static("#modEventEscalate"),
2383 ::jacquard_common::CowStr::new_static("#modEventMute"),
2384 ::jacquard_common::CowStr::new_static("#modEventUnmute"),
2385 ::jacquard_common::CowStr::new_static("#modEventMuteReporter"),
2386 ::jacquard_common::CowStr::new_static("#modEventUnmuteReporter"),
2387 ::jacquard_common::CowStr::new_static("#modEventEmail"),
2388 ::jacquard_common::CowStr::new_static("#modEventResolveAppeal"),
2389 ::jacquard_common::CowStr::new_static("#modEventDivert"),
2390 ::jacquard_common::CowStr::new_static("#modEventTag"),
2391 ::jacquard_common::CowStr::new_static("#accountEvent"),
2392 ::jacquard_common::CowStr::new_static("#identityEvent"),
2393 ::jacquard_common::CowStr::new_static("#recordEvent"),
2394 ::jacquard_common::CowStr::new_static("#modEventPriorityScore"),
2395 ::jacquard_common::CowStr::new_static("#ageAssuranceEvent"),
2396 ::jacquard_common::CowStr::new_static("#ageAssuranceOverrideEvent"),
2397 ::jacquard_common::CowStr::new_static("#revokeAccountCredentialsEvent"),
2398 ::jacquard_common::CowStr::new_static("#scheduleTakedownEvent"),
2399 ::jacquard_common::CowStr::new_static("#cancelScheduledTakedownEvent")
2400 ],
2401 closed: None,
2402 }),
2403 );
2404 map.insert(
2405 ::jacquard_common::smol_str::SmolStr::new_static("id"),
2406 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
2407 description: None,
2408 default: None,
2409 minimum: None,
2410 maximum: None,
2411 r#enum: None,
2412 r#const: None,
2413 }),
2414 );
2415 map.insert(
2416 ::jacquard_common::smol_str::SmolStr::new_static("modTool"),
2417 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2418 description: None,
2419 r#ref: ::jacquard_common::CowStr::new_static("#modTool"),
2420 }),
2421 );
2422 map.insert(
2423 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
2424 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
2425 description: None,
2426 refs: vec![
2427 ::jacquard_common::CowStr::new_static("#repoView"),
2428 ::jacquard_common::CowStr::new_static("#repoViewNotFound"),
2429 ::jacquard_common::CowStr::new_static("#recordView"),
2430 ::jacquard_common::CowStr::new_static("#recordViewNotFound")
2431 ],
2432 closed: None,
2433 }),
2434 );
2435 map.insert(
2436 ::jacquard_common::smol_str::SmolStr::new_static(
2437 "subjectBlobs",
2438 ),
2439 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
2440 description: None,
2441 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
2442 description: None,
2443 r#ref: ::jacquard_common::CowStr::new_static("#blobView"),
2444 }),
2445 min_length: None,
2446 max_length: None,
2447 }),
2448 );
2449 map
2450 },
2451 }),
2452 );
2453 map.insert(
2454 ::jacquard_common::smol_str::SmolStr::new_static("modTool"),
2455 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2456 description: Some(
2457 ::jacquard_common::CowStr::new_static(
2458 "Moderation tool information for tracing the source of the action",
2459 ),
2460 ),
2461 required: Some(
2462 vec![::jacquard_common::smol_str::SmolStr::new_static("name")],
2463 ),
2464 nullable: None,
2465 properties: {
2466 #[allow(unused_mut)]
2467 let mut map = ::std::collections::BTreeMap::new();
2468 map.insert(
2469 ::jacquard_common::smol_str::SmolStr::new_static("meta"),
2470 ::jacquard_lexicon::lexicon::LexObjectProperty::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
2471 description: None,
2472 }),
2473 );
2474 map.insert(
2475 ::jacquard_common::smol_str::SmolStr::new_static("name"),
2476 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2477 description: Some(
2478 ::jacquard_common::CowStr::new_static(
2479 "Name/identifier of the source (e.g., 'automod', 'ozone/workspace')",
2480 ),
2481 ),
2482 format: None,
2483 default: None,
2484 min_length: None,
2485 max_length: None,
2486 min_graphemes: None,
2487 max_graphemes: None,
2488 r#enum: None,
2489 r#const: None,
2490 known_values: None,
2491 }),
2492 );
2493 map
2494 },
2495 }),
2496 );
2497 map.insert(
2498 ::jacquard_common::smol_str::SmolStr::new_static("moderation"),
2499 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2500 description: None,
2501 required: None,
2502 nullable: None,
2503 properties: {
2504 #[allow(unused_mut)]
2505 let mut map = ::std::collections::BTreeMap::new();
2506 map.insert(
2507 ::jacquard_common::smol_str::SmolStr::new_static(
2508 "subjectStatus",
2509 ),
2510 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2511 description: None,
2512 r#ref: ::jacquard_common::CowStr::new_static(
2513 "#subjectStatusView",
2514 ),
2515 }),
2516 );
2517 map
2518 },
2519 }),
2520 );
2521 map.insert(
2522 ::jacquard_common::smol_str::SmolStr::new_static("moderationDetail"),
2523 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2524 description: None,
2525 required: None,
2526 nullable: None,
2527 properties: {
2528 #[allow(unused_mut)]
2529 let mut map = ::std::collections::BTreeMap::new();
2530 map.insert(
2531 ::jacquard_common::smol_str::SmolStr::new_static(
2532 "subjectStatus",
2533 ),
2534 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2535 description: None,
2536 r#ref: ::jacquard_common::CowStr::new_static(
2537 "#subjectStatusView",
2538 ),
2539 }),
2540 );
2541 map
2542 },
2543 }),
2544 );
2545 map.insert(
2546 ::jacquard_common::smol_str::SmolStr::new_static("recordEvent"),
2547 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2548 description: Some(
2549 ::jacquard_common::CowStr::new_static(
2550 "Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
2551 ),
2552 ),
2553 required: Some(
2554 vec![
2555 ::jacquard_common::smol_str::SmolStr::new_static("timestamp"),
2556 ::jacquard_common::smol_str::SmolStr::new_static("op")
2557 ],
2558 ),
2559 nullable: None,
2560 properties: {
2561 #[allow(unused_mut)]
2562 let mut map = ::std::collections::BTreeMap::new();
2563 map.insert(
2564 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
2565 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2566 description: None,
2567 format: Some(
2568 ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
2569 ),
2570 default: None,
2571 min_length: None,
2572 max_length: None,
2573 min_graphemes: None,
2574 max_graphemes: None,
2575 r#enum: None,
2576 r#const: None,
2577 known_values: None,
2578 }),
2579 );
2580 map.insert(
2581 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
2582 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2583 description: None,
2584 format: None,
2585 default: None,
2586 min_length: None,
2587 max_length: None,
2588 min_graphemes: None,
2589 max_graphemes: None,
2590 r#enum: None,
2591 r#const: None,
2592 known_values: None,
2593 }),
2594 );
2595 map.insert(
2596 ::jacquard_common::smol_str::SmolStr::new_static("op"),
2597 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2598 description: None,
2599 format: None,
2600 default: None,
2601 min_length: None,
2602 max_length: None,
2603 min_graphemes: None,
2604 max_graphemes: None,
2605 r#enum: None,
2606 r#const: None,
2607 known_values: None,
2608 }),
2609 );
2610 map.insert(
2611 ::jacquard_common::smol_str::SmolStr::new_static(
2612 "timestamp",
2613 ),
2614 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2615 description: None,
2616 format: Some(
2617 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2618 ),
2619 default: None,
2620 min_length: None,
2621 max_length: None,
2622 min_graphemes: None,
2623 max_graphemes: None,
2624 r#enum: None,
2625 r#const: None,
2626 known_values: None,
2627 }),
2628 );
2629 map
2630 },
2631 }),
2632 );
2633 map.insert(
2634 ::jacquard_common::smol_str::SmolStr::new_static("recordHosting"),
2635 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2636 description: None,
2637 required: Some(
2638 vec![::jacquard_common::smol_str::SmolStr::new_static("status")],
2639 ),
2640 nullable: None,
2641 properties: {
2642 #[allow(unused_mut)]
2643 let mut map = ::std::collections::BTreeMap::new();
2644 map.insert(
2645 ::jacquard_common::smol_str::SmolStr::new_static(
2646 "createdAt",
2647 ),
2648 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2649 description: None,
2650 format: Some(
2651 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2652 ),
2653 default: None,
2654 min_length: None,
2655 max_length: None,
2656 min_graphemes: None,
2657 max_graphemes: None,
2658 r#enum: None,
2659 r#const: None,
2660 known_values: None,
2661 }),
2662 );
2663 map.insert(
2664 ::jacquard_common::smol_str::SmolStr::new_static(
2665 "deletedAt",
2666 ),
2667 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2668 description: None,
2669 format: Some(
2670 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2671 ),
2672 default: None,
2673 min_length: None,
2674 max_length: None,
2675 min_graphemes: None,
2676 max_graphemes: None,
2677 r#enum: None,
2678 r#const: None,
2679 known_values: None,
2680 }),
2681 );
2682 map.insert(
2683 ::jacquard_common::smol_str::SmolStr::new_static("status"),
2684 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2685 description: None,
2686 format: None,
2687 default: None,
2688 min_length: None,
2689 max_length: None,
2690 min_graphemes: None,
2691 max_graphemes: None,
2692 r#enum: None,
2693 r#const: None,
2694 known_values: None,
2695 }),
2696 );
2697 map.insert(
2698 ::jacquard_common::smol_str::SmolStr::new_static(
2699 "updatedAt",
2700 ),
2701 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2702 description: None,
2703 format: Some(
2704 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2705 ),
2706 default: None,
2707 min_length: None,
2708 max_length: None,
2709 min_graphemes: None,
2710 max_graphemes: None,
2711 r#enum: None,
2712 r#const: None,
2713 known_values: None,
2714 }),
2715 );
2716 map
2717 },
2718 }),
2719 );
2720 map.insert(
2721 ::jacquard_common::smol_str::SmolStr::new_static("recordView"),
2722 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2723 description: None,
2724 required: Some(
2725 vec![
2726 ::jacquard_common::smol_str::SmolStr::new_static("uri"),
2727 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
2728 ::jacquard_common::smol_str::SmolStr::new_static("value"),
2729 ::jacquard_common::smol_str::SmolStr::new_static("blobCids"),
2730 ::jacquard_common::smol_str::SmolStr::new_static("indexedAt"),
2731 ::jacquard_common::smol_str::SmolStr::new_static("moderation"),
2732 ::jacquard_common::smol_str::SmolStr::new_static("repo")
2733 ],
2734 ),
2735 nullable: None,
2736 properties: {
2737 #[allow(unused_mut)]
2738 let mut map = ::std::collections::BTreeMap::new();
2739 map.insert(
2740 ::jacquard_common::smol_str::SmolStr::new_static("blobCids"),
2741 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
2742 description: None,
2743 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
2744 description: None,
2745 format: Some(
2746 ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
2747 ),
2748 default: None,
2749 min_length: None,
2750 max_length: None,
2751 min_graphemes: None,
2752 max_graphemes: None,
2753 r#enum: None,
2754 r#const: None,
2755 known_values: None,
2756 }),
2757 min_length: None,
2758 max_length: None,
2759 }),
2760 );
2761 map.insert(
2762 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
2763 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2764 description: None,
2765 format: Some(
2766 ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
2767 ),
2768 default: None,
2769 min_length: None,
2770 max_length: None,
2771 min_graphemes: None,
2772 max_graphemes: None,
2773 r#enum: None,
2774 r#const: None,
2775 known_values: None,
2776 }),
2777 );
2778 map.insert(
2779 ::jacquard_common::smol_str::SmolStr::new_static(
2780 "indexedAt",
2781 ),
2782 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2783 description: None,
2784 format: Some(
2785 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2786 ),
2787 default: None,
2788 min_length: None,
2789 max_length: None,
2790 min_graphemes: None,
2791 max_graphemes: None,
2792 r#enum: None,
2793 r#const: None,
2794 known_values: None,
2795 }),
2796 );
2797 map.insert(
2798 ::jacquard_common::smol_str::SmolStr::new_static(
2799 "moderation",
2800 ),
2801 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2802 description: None,
2803 r#ref: ::jacquard_common::CowStr::new_static("#moderation"),
2804 }),
2805 );
2806 map.insert(
2807 ::jacquard_common::smol_str::SmolStr::new_static("repo"),
2808 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2809 description: None,
2810 r#ref: ::jacquard_common::CowStr::new_static("#repoView"),
2811 }),
2812 );
2813 map.insert(
2814 ::jacquard_common::smol_str::SmolStr::new_static("uri"),
2815 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2816 description: None,
2817 format: Some(
2818 ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
2819 ),
2820 default: None,
2821 min_length: None,
2822 max_length: None,
2823 min_graphemes: None,
2824 max_graphemes: None,
2825 r#enum: None,
2826 r#const: None,
2827 known_values: None,
2828 }),
2829 );
2830 map.insert(
2831 ::jacquard_common::smol_str::SmolStr::new_static("value"),
2832 ::jacquard_lexicon::lexicon::LexObjectProperty::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
2833 description: None,
2834 }),
2835 );
2836 map
2837 },
2838 }),
2839 );
2840 map.insert(
2841 ::jacquard_common::smol_str::SmolStr::new_static("recordViewDetail"),
2842 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2843 description: None,
2844 required: Some(
2845 vec![
2846 ::jacquard_common::smol_str::SmolStr::new_static("uri"),
2847 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
2848 ::jacquard_common::smol_str::SmolStr::new_static("value"),
2849 ::jacquard_common::smol_str::SmolStr::new_static("blobs"),
2850 ::jacquard_common::smol_str::SmolStr::new_static("indexedAt"),
2851 ::jacquard_common::smol_str::SmolStr::new_static("moderation"),
2852 ::jacquard_common::smol_str::SmolStr::new_static("repo")
2853 ],
2854 ),
2855 nullable: None,
2856 properties: {
2857 #[allow(unused_mut)]
2858 let mut map = ::std::collections::BTreeMap::new();
2859 map.insert(
2860 ::jacquard_common::smol_str::SmolStr::new_static("blobs"),
2861 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
2862 description: None,
2863 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
2864 description: None,
2865 r#ref: ::jacquard_common::CowStr::new_static("#blobView"),
2866 }),
2867 min_length: None,
2868 max_length: None,
2869 }),
2870 );
2871 map.insert(
2872 ::jacquard_common::smol_str::SmolStr::new_static("cid"),
2873 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2874 description: None,
2875 format: Some(
2876 ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
2877 ),
2878 default: None,
2879 min_length: None,
2880 max_length: None,
2881 min_graphemes: None,
2882 max_graphemes: None,
2883 r#enum: None,
2884 r#const: None,
2885 known_values: None,
2886 }),
2887 );
2888 map.insert(
2889 ::jacquard_common::smol_str::SmolStr::new_static(
2890 "indexedAt",
2891 ),
2892 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2893 description: None,
2894 format: Some(
2895 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
2896 ),
2897 default: None,
2898 min_length: None,
2899 max_length: None,
2900 min_graphemes: None,
2901 max_graphemes: None,
2902 r#enum: None,
2903 r#const: None,
2904 known_values: None,
2905 }),
2906 );
2907 map.insert(
2908 ::jacquard_common::smol_str::SmolStr::new_static("labels"),
2909 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
2910 description: None,
2911 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
2912 description: None,
2913 r#ref: ::jacquard_common::CowStr::new_static(
2914 "com.atproto.label.defs#label",
2915 ),
2916 }),
2917 min_length: None,
2918 max_length: None,
2919 }),
2920 );
2921 map.insert(
2922 ::jacquard_common::smol_str::SmolStr::new_static(
2923 "moderation",
2924 ),
2925 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2926 description: None,
2927 r#ref: ::jacquard_common::CowStr::new_static(
2928 "#moderationDetail",
2929 ),
2930 }),
2931 );
2932 map.insert(
2933 ::jacquard_common::smol_str::SmolStr::new_static("repo"),
2934 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
2935 description: None,
2936 r#ref: ::jacquard_common::CowStr::new_static("#repoView"),
2937 }),
2938 );
2939 map.insert(
2940 ::jacquard_common::smol_str::SmolStr::new_static("uri"),
2941 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2942 description: None,
2943 format: Some(
2944 ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
2945 ),
2946 default: None,
2947 min_length: None,
2948 max_length: None,
2949 min_graphemes: None,
2950 max_graphemes: None,
2951 r#enum: None,
2952 r#const: None,
2953 known_values: None,
2954 }),
2955 );
2956 map.insert(
2957 ::jacquard_common::smol_str::SmolStr::new_static("value"),
2958 ::jacquard_lexicon::lexicon::LexObjectProperty::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
2959 description: None,
2960 }),
2961 );
2962 map
2963 },
2964 }),
2965 );
2966 map.insert(
2967 ::jacquard_common::smol_str::SmolStr::new_static("recordViewNotFound"),
2968 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
2969 description: None,
2970 required: Some(
2971 vec![::jacquard_common::smol_str::SmolStr::new_static("uri")],
2972 ),
2973 nullable: None,
2974 properties: {
2975 #[allow(unused_mut)]
2976 let mut map = ::std::collections::BTreeMap::new();
2977 map.insert(
2978 ::jacquard_common::smol_str::SmolStr::new_static("uri"),
2979 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
2980 description: None,
2981 format: Some(
2982 ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
2983 ),
2984 default: None,
2985 min_length: None,
2986 max_length: None,
2987 min_graphemes: None,
2988 max_graphemes: None,
2989 r#enum: None,
2990 r#const: None,
2991 known_values: None,
2992 }),
2993 );
2994 map
2995 },
2996 }),
2997 );
2998 map.insert(
2999 ::jacquard_common::smol_str::SmolStr::new_static("recordsStats"),
3000 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3001 description: Some(
3002 ::jacquard_common::CowStr::new_static(
3003 "Statistics about a set of record subject items",
3004 ),
3005 ),
3006 required: None,
3007 nullable: None,
3008 properties: {
3009 #[allow(unused_mut)]
3010 let mut map = ::std::collections::BTreeMap::new();
3011 map.insert(
3012 ::jacquard_common::smol_str::SmolStr::new_static(
3013 "appealedCount",
3014 ),
3015 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3016 description: None,
3017 default: None,
3018 minimum: None,
3019 maximum: None,
3020 r#enum: None,
3021 r#const: None,
3022 }),
3023 );
3024 map.insert(
3025 ::jacquard_common::smol_str::SmolStr::new_static(
3026 "escalatedCount",
3027 ),
3028 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3029 description: None,
3030 default: None,
3031 minimum: None,
3032 maximum: None,
3033 r#enum: None,
3034 r#const: None,
3035 }),
3036 );
3037 map.insert(
3038 ::jacquard_common::smol_str::SmolStr::new_static(
3039 "pendingCount",
3040 ),
3041 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3042 description: None,
3043 default: None,
3044 minimum: None,
3045 maximum: None,
3046 r#enum: None,
3047 r#const: None,
3048 }),
3049 );
3050 map.insert(
3051 ::jacquard_common::smol_str::SmolStr::new_static(
3052 "processedCount",
3053 ),
3054 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3055 description: None,
3056 default: None,
3057 minimum: None,
3058 maximum: None,
3059 r#enum: None,
3060 r#const: None,
3061 }),
3062 );
3063 map.insert(
3064 ::jacquard_common::smol_str::SmolStr::new_static(
3065 "reportedCount",
3066 ),
3067 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3068 description: None,
3069 default: None,
3070 minimum: None,
3071 maximum: None,
3072 r#enum: None,
3073 r#const: None,
3074 }),
3075 );
3076 map.insert(
3077 ::jacquard_common::smol_str::SmolStr::new_static(
3078 "subjectCount",
3079 ),
3080 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3081 description: None,
3082 default: None,
3083 minimum: None,
3084 maximum: None,
3085 r#enum: None,
3086 r#const: None,
3087 }),
3088 );
3089 map.insert(
3090 ::jacquard_common::smol_str::SmolStr::new_static(
3091 "takendownCount",
3092 ),
3093 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3094 description: None,
3095 default: None,
3096 minimum: None,
3097 maximum: None,
3098 r#enum: None,
3099 r#const: None,
3100 }),
3101 );
3102 map.insert(
3103 ::jacquard_common::smol_str::SmolStr::new_static(
3104 "totalReports",
3105 ),
3106 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3107 description: None,
3108 default: None,
3109 minimum: None,
3110 maximum: None,
3111 r#enum: None,
3112 r#const: None,
3113 }),
3114 );
3115 map
3116 },
3117 }),
3118 );
3119 map.insert(
3120 ::jacquard_common::smol_str::SmolStr::new_static("repoView"),
3121 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3122 description: None,
3123 required: Some(
3124 vec![
3125 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3126 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
3127 ::jacquard_common::smol_str::SmolStr::new_static("relatedRecords"),
3128 ::jacquard_common::smol_str::SmolStr::new_static("indexedAt"),
3129 ::jacquard_common::smol_str::SmolStr::new_static("moderation")
3130 ],
3131 ),
3132 nullable: None,
3133 properties: {
3134 #[allow(unused_mut)]
3135 let mut map = ::std::collections::BTreeMap::new();
3136 map.insert(
3137 ::jacquard_common::smol_str::SmolStr::new_static(
3138 "deactivatedAt",
3139 ),
3140 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3141 description: None,
3142 format: Some(
3143 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3144 ),
3145 default: None,
3146 min_length: None,
3147 max_length: None,
3148 min_graphemes: None,
3149 max_graphemes: None,
3150 r#enum: None,
3151 r#const: None,
3152 known_values: None,
3153 }),
3154 );
3155 map.insert(
3156 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3157 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3158 description: None,
3159 format: Some(
3160 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
3161 ),
3162 default: None,
3163 min_length: None,
3164 max_length: None,
3165 min_graphemes: None,
3166 max_graphemes: None,
3167 r#enum: None,
3168 r#const: None,
3169 known_values: None,
3170 }),
3171 );
3172 map.insert(
3173 ::jacquard_common::smol_str::SmolStr::new_static("email"),
3174 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3175 description: None,
3176 format: None,
3177 default: None,
3178 min_length: None,
3179 max_length: None,
3180 min_graphemes: None,
3181 max_graphemes: None,
3182 r#enum: None,
3183 r#const: None,
3184 known_values: None,
3185 }),
3186 );
3187 map.insert(
3188 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
3189 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3190 description: None,
3191 format: Some(
3192 ::jacquard_lexicon::lexicon::LexStringFormat::Handle,
3193 ),
3194 default: None,
3195 min_length: None,
3196 max_length: None,
3197 min_graphemes: None,
3198 max_graphemes: None,
3199 r#enum: None,
3200 r#const: None,
3201 known_values: None,
3202 }),
3203 );
3204 map.insert(
3205 ::jacquard_common::smol_str::SmolStr::new_static(
3206 "indexedAt",
3207 ),
3208 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3209 description: None,
3210 format: Some(
3211 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3212 ),
3213 default: None,
3214 min_length: None,
3215 max_length: None,
3216 min_graphemes: None,
3217 max_graphemes: None,
3218 r#enum: None,
3219 r#const: None,
3220 known_values: None,
3221 }),
3222 );
3223 map.insert(
3224 ::jacquard_common::smol_str::SmolStr::new_static(
3225 "inviteNote",
3226 ),
3227 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3228 description: None,
3229 format: None,
3230 default: None,
3231 min_length: None,
3232 max_length: None,
3233 min_graphemes: None,
3234 max_graphemes: None,
3235 r#enum: None,
3236 r#const: None,
3237 known_values: None,
3238 }),
3239 );
3240 map.insert(
3241 ::jacquard_common::smol_str::SmolStr::new_static(
3242 "invitedBy",
3243 ),
3244 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
3245 description: None,
3246 r#ref: ::jacquard_common::CowStr::new_static(
3247 "com.atproto.server.defs#inviteCode",
3248 ),
3249 }),
3250 );
3251 map.insert(
3252 ::jacquard_common::smol_str::SmolStr::new_static(
3253 "invitesDisabled",
3254 ),
3255 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
3256 description: None,
3257 default: None,
3258 r#const: None,
3259 }),
3260 );
3261 map.insert(
3262 ::jacquard_common::smol_str::SmolStr::new_static(
3263 "moderation",
3264 ),
3265 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
3266 description: None,
3267 r#ref: ::jacquard_common::CowStr::new_static("#moderation"),
3268 }),
3269 );
3270 map.insert(
3271 ::jacquard_common::smol_str::SmolStr::new_static(
3272 "relatedRecords",
3273 ),
3274 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
3275 description: None,
3276 items: ::jacquard_lexicon::lexicon::LexArrayItem::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
3277 description: None,
3278 }),
3279 min_length: None,
3280 max_length: None,
3281 }),
3282 );
3283 map.insert(
3284 ::jacquard_common::smol_str::SmolStr::new_static(
3285 "threatSignatures",
3286 ),
3287 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
3288 description: None,
3289 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
3290 description: None,
3291 r#ref: ::jacquard_common::CowStr::new_static(
3292 "com.atproto.admin.defs#threatSignature",
3293 ),
3294 }),
3295 min_length: None,
3296 max_length: None,
3297 }),
3298 );
3299 map
3300 },
3301 }),
3302 );
3303 map.insert(
3304 ::jacquard_common::smol_str::SmolStr::new_static("repoViewDetail"),
3305 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3306 description: None,
3307 required: Some(
3308 vec![
3309 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3310 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
3311 ::jacquard_common::smol_str::SmolStr::new_static("relatedRecords"),
3312 ::jacquard_common::smol_str::SmolStr::new_static("indexedAt"),
3313 ::jacquard_common::smol_str::SmolStr::new_static("moderation")
3314 ],
3315 ),
3316 nullable: None,
3317 properties: {
3318 #[allow(unused_mut)]
3319 let mut map = ::std::collections::BTreeMap::new();
3320 map.insert(
3321 ::jacquard_common::smol_str::SmolStr::new_static(
3322 "deactivatedAt",
3323 ),
3324 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3325 description: None,
3326 format: Some(
3327 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3328 ),
3329 default: None,
3330 min_length: None,
3331 max_length: None,
3332 min_graphemes: None,
3333 max_graphemes: None,
3334 r#enum: None,
3335 r#const: None,
3336 known_values: None,
3337 }),
3338 );
3339 map.insert(
3340 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3341 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3342 description: None,
3343 format: Some(
3344 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
3345 ),
3346 default: None,
3347 min_length: None,
3348 max_length: None,
3349 min_graphemes: None,
3350 max_graphemes: None,
3351 r#enum: None,
3352 r#const: None,
3353 known_values: None,
3354 }),
3355 );
3356 map.insert(
3357 ::jacquard_common::smol_str::SmolStr::new_static("email"),
3358 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3359 description: None,
3360 format: None,
3361 default: None,
3362 min_length: None,
3363 max_length: None,
3364 min_graphemes: None,
3365 max_graphemes: None,
3366 r#enum: None,
3367 r#const: None,
3368 known_values: None,
3369 }),
3370 );
3371 map.insert(
3372 ::jacquard_common::smol_str::SmolStr::new_static(
3373 "emailConfirmedAt",
3374 ),
3375 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3376 description: None,
3377 format: Some(
3378 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3379 ),
3380 default: None,
3381 min_length: None,
3382 max_length: None,
3383 min_graphemes: None,
3384 max_graphemes: None,
3385 r#enum: None,
3386 r#const: None,
3387 known_values: None,
3388 }),
3389 );
3390 map.insert(
3391 ::jacquard_common::smol_str::SmolStr::new_static("handle"),
3392 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3393 description: None,
3394 format: Some(
3395 ::jacquard_lexicon::lexicon::LexStringFormat::Handle,
3396 ),
3397 default: None,
3398 min_length: None,
3399 max_length: None,
3400 min_graphemes: None,
3401 max_graphemes: None,
3402 r#enum: None,
3403 r#const: None,
3404 known_values: None,
3405 }),
3406 );
3407 map.insert(
3408 ::jacquard_common::smol_str::SmolStr::new_static(
3409 "indexedAt",
3410 ),
3411 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3412 description: None,
3413 format: Some(
3414 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3415 ),
3416 default: None,
3417 min_length: None,
3418 max_length: None,
3419 min_graphemes: None,
3420 max_graphemes: None,
3421 r#enum: None,
3422 r#const: None,
3423 known_values: None,
3424 }),
3425 );
3426 map.insert(
3427 ::jacquard_common::smol_str::SmolStr::new_static(
3428 "inviteNote",
3429 ),
3430 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3431 description: None,
3432 format: None,
3433 default: None,
3434 min_length: None,
3435 max_length: None,
3436 min_graphemes: None,
3437 max_graphemes: None,
3438 r#enum: None,
3439 r#const: None,
3440 known_values: None,
3441 }),
3442 );
3443 map.insert(
3444 ::jacquard_common::smol_str::SmolStr::new_static(
3445 "invitedBy",
3446 ),
3447 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
3448 description: None,
3449 r#ref: ::jacquard_common::CowStr::new_static(
3450 "com.atproto.server.defs#inviteCode",
3451 ),
3452 }),
3453 );
3454 map.insert(
3455 ::jacquard_common::smol_str::SmolStr::new_static("invites"),
3456 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
3457 description: None,
3458 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
3459 description: None,
3460 r#ref: ::jacquard_common::CowStr::new_static(
3461 "com.atproto.server.defs#inviteCode",
3462 ),
3463 }),
3464 min_length: None,
3465 max_length: None,
3466 }),
3467 );
3468 map.insert(
3469 ::jacquard_common::smol_str::SmolStr::new_static(
3470 "invitesDisabled",
3471 ),
3472 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
3473 description: None,
3474 default: None,
3475 r#const: None,
3476 }),
3477 );
3478 map.insert(
3479 ::jacquard_common::smol_str::SmolStr::new_static("labels"),
3480 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
3481 description: None,
3482 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
3483 description: None,
3484 r#ref: ::jacquard_common::CowStr::new_static(
3485 "com.atproto.label.defs#label",
3486 ),
3487 }),
3488 min_length: None,
3489 max_length: None,
3490 }),
3491 );
3492 map.insert(
3493 ::jacquard_common::smol_str::SmolStr::new_static(
3494 "moderation",
3495 ),
3496 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
3497 description: None,
3498 r#ref: ::jacquard_common::CowStr::new_static(
3499 "#moderationDetail",
3500 ),
3501 }),
3502 );
3503 map.insert(
3504 ::jacquard_common::smol_str::SmolStr::new_static(
3505 "relatedRecords",
3506 ),
3507 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
3508 description: None,
3509 items: ::jacquard_lexicon::lexicon::LexArrayItem::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
3510 description: None,
3511 }),
3512 min_length: None,
3513 max_length: None,
3514 }),
3515 );
3516 map.insert(
3517 ::jacquard_common::smol_str::SmolStr::new_static(
3518 "threatSignatures",
3519 ),
3520 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
3521 description: None,
3522 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef {
3523 description: None,
3524 r#ref: ::jacquard_common::CowStr::new_static(
3525 "com.atproto.admin.defs#threatSignature",
3526 ),
3527 }),
3528 min_length: None,
3529 max_length: None,
3530 }),
3531 );
3532 map
3533 },
3534 }),
3535 );
3536 map.insert(
3537 ::jacquard_common::smol_str::SmolStr::new_static("repoViewNotFound"),
3538 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3539 description: None,
3540 required: Some(
3541 vec![::jacquard_common::smol_str::SmolStr::new_static("did")],
3542 ),
3543 nullable: None,
3544 properties: {
3545 #[allow(unused_mut)]
3546 let mut map = ::std::collections::BTreeMap::new();
3547 map.insert(
3548 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3549 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3550 description: None,
3551 format: Some(
3552 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
3553 ),
3554 default: None,
3555 min_length: None,
3556 max_length: None,
3557 min_graphemes: None,
3558 max_graphemes: None,
3559 r#enum: None,
3560 r#const: None,
3561 known_values: None,
3562 }),
3563 );
3564 map
3565 },
3566 }),
3567 );
3568 map.insert(
3569 ::jacquard_common::smol_str::SmolStr::new_static("reporterStats"),
3570 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3571 description: None,
3572 required: Some(
3573 vec![
3574 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3575 ::jacquard_common::smol_str::SmolStr::new_static("accountReportCount"),
3576 ::jacquard_common::smol_str::SmolStr::new_static("recordReportCount"),
3577 ::jacquard_common::smol_str::SmolStr::new_static("reportedAccountCount"),
3578 ::jacquard_common::smol_str::SmolStr::new_static("reportedRecordCount"),
3579 ::jacquard_common::smol_str::SmolStr::new_static("takendownAccountCount"),
3580 ::jacquard_common::smol_str::SmolStr::new_static("takendownRecordCount"),
3581 ::jacquard_common::smol_str::SmolStr::new_static("labeledAccountCount"),
3582 ::jacquard_common::smol_str::SmolStr::new_static("labeledRecordCount")
3583 ],
3584 ),
3585 nullable: None,
3586 properties: {
3587 #[allow(unused_mut)]
3588 let mut map = ::std::collections::BTreeMap::new();
3589 map.insert(
3590 ::jacquard_common::smol_str::SmolStr::new_static(
3591 "accountReportCount",
3592 ),
3593 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3594 description: None,
3595 default: None,
3596 minimum: None,
3597 maximum: None,
3598 r#enum: None,
3599 r#const: None,
3600 }),
3601 );
3602 map.insert(
3603 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3604 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3605 description: None,
3606 format: Some(
3607 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
3608 ),
3609 default: None,
3610 min_length: None,
3611 max_length: None,
3612 min_graphemes: None,
3613 max_graphemes: None,
3614 r#enum: None,
3615 r#const: None,
3616 known_values: None,
3617 }),
3618 );
3619 map.insert(
3620 ::jacquard_common::smol_str::SmolStr::new_static(
3621 "labeledAccountCount",
3622 ),
3623 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3624 description: None,
3625 default: None,
3626 minimum: None,
3627 maximum: None,
3628 r#enum: None,
3629 r#const: None,
3630 }),
3631 );
3632 map.insert(
3633 ::jacquard_common::smol_str::SmolStr::new_static(
3634 "labeledRecordCount",
3635 ),
3636 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3637 description: None,
3638 default: None,
3639 minimum: None,
3640 maximum: None,
3641 r#enum: None,
3642 r#const: None,
3643 }),
3644 );
3645 map.insert(
3646 ::jacquard_common::smol_str::SmolStr::new_static(
3647 "recordReportCount",
3648 ),
3649 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3650 description: None,
3651 default: None,
3652 minimum: None,
3653 maximum: None,
3654 r#enum: None,
3655 r#const: None,
3656 }),
3657 );
3658 map.insert(
3659 ::jacquard_common::smol_str::SmolStr::new_static(
3660 "reportedAccountCount",
3661 ),
3662 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3663 description: None,
3664 default: None,
3665 minimum: None,
3666 maximum: None,
3667 r#enum: None,
3668 r#const: None,
3669 }),
3670 );
3671 map.insert(
3672 ::jacquard_common::smol_str::SmolStr::new_static(
3673 "reportedRecordCount",
3674 ),
3675 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3676 description: None,
3677 default: None,
3678 minimum: None,
3679 maximum: None,
3680 r#enum: None,
3681 r#const: None,
3682 }),
3683 );
3684 map.insert(
3685 ::jacquard_common::smol_str::SmolStr::new_static(
3686 "takendownAccountCount",
3687 ),
3688 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3689 description: None,
3690 default: None,
3691 minimum: None,
3692 maximum: None,
3693 r#enum: None,
3694 r#const: None,
3695 }),
3696 );
3697 map.insert(
3698 ::jacquard_common::smol_str::SmolStr::new_static(
3699 "takendownRecordCount",
3700 ),
3701 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
3702 description: None,
3703 default: None,
3704 minimum: None,
3705 maximum: None,
3706 r#enum: None,
3707 r#const: None,
3708 }),
3709 );
3710 map
3711 },
3712 }),
3713 );
3714 map.insert(
3715 ::jacquard_common::smol_str::SmolStr::new_static("reviewClosed"),
3716 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
3717 description: None,
3718 }),
3719 );
3720 map.insert(
3721 ::jacquard_common::smol_str::SmolStr::new_static("reviewEscalated"),
3722 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
3723 description: None,
3724 }),
3725 );
3726 map.insert(
3727 ::jacquard_common::smol_str::SmolStr::new_static("reviewNone"),
3728 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
3729 description: None,
3730 }),
3731 );
3732 map.insert(
3733 ::jacquard_common::smol_str::SmolStr::new_static("reviewOpen"),
3734 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
3735 description: None,
3736 }),
3737 );
3738 map.insert(
3739 ::jacquard_common::smol_str::SmolStr::new_static(
3740 "revokeAccountCredentialsEvent",
3741 ),
3742 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3743 description: Some(
3744 ::jacquard_common::CowStr::new_static(
3745 "Account credentials revocation by moderators. Only works on DID subjects.",
3746 ),
3747 ),
3748 required: Some(
3749 vec![::jacquard_common::smol_str::SmolStr::new_static("comment")],
3750 ),
3751 nullable: None,
3752 properties: {
3753 #[allow(unused_mut)]
3754 let mut map = ::std::collections::BTreeMap::new();
3755 map.insert(
3756 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
3757 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3758 description: Some(
3759 ::jacquard_common::CowStr::new_static(
3760 "Comment describing the reason for the revocation.",
3761 ),
3762 ),
3763 format: None,
3764 default: None,
3765 min_length: None,
3766 max_length: None,
3767 min_graphemes: None,
3768 max_graphemes: None,
3769 r#enum: None,
3770 r#const: None,
3771 known_values: None,
3772 }),
3773 );
3774 map
3775 },
3776 }),
3777 );
3778 map.insert(
3779 ::jacquard_common::smol_str::SmolStr::new_static(
3780 "scheduleTakedownEvent",
3781 ),
3782 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3783 description: Some(
3784 ::jacquard_common::CowStr::new_static(
3785 "Logs a scheduled takedown action for an account.",
3786 ),
3787 ),
3788 required: None,
3789 nullable: None,
3790 properties: {
3791 #[allow(unused_mut)]
3792 let mut map = ::std::collections::BTreeMap::new();
3793 map.insert(
3794 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
3795 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3796 description: None,
3797 format: None,
3798 default: None,
3799 min_length: None,
3800 max_length: None,
3801 min_graphemes: None,
3802 max_graphemes: None,
3803 r#enum: None,
3804 r#const: None,
3805 known_values: None,
3806 }),
3807 );
3808 map.insert(
3809 ::jacquard_common::smol_str::SmolStr::new_static(
3810 "executeAfter",
3811 ),
3812 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3813 description: None,
3814 format: Some(
3815 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3816 ),
3817 default: None,
3818 min_length: None,
3819 max_length: None,
3820 min_graphemes: None,
3821 max_graphemes: None,
3822 r#enum: None,
3823 r#const: None,
3824 known_values: None,
3825 }),
3826 );
3827 map.insert(
3828 ::jacquard_common::smol_str::SmolStr::new_static(
3829 "executeAt",
3830 ),
3831 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3832 description: None,
3833 format: Some(
3834 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3835 ),
3836 default: None,
3837 min_length: None,
3838 max_length: None,
3839 min_graphemes: None,
3840 max_graphemes: None,
3841 r#enum: None,
3842 r#const: None,
3843 known_values: None,
3844 }),
3845 );
3846 map.insert(
3847 ::jacquard_common::smol_str::SmolStr::new_static(
3848 "executeUntil",
3849 ),
3850 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3851 description: None,
3852 format: Some(
3853 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3854 ),
3855 default: None,
3856 min_length: None,
3857 max_length: None,
3858 min_graphemes: None,
3859 max_graphemes: None,
3860 r#enum: None,
3861 r#const: None,
3862 known_values: None,
3863 }),
3864 );
3865 map
3866 },
3867 }),
3868 );
3869 map.insert(
3870 ::jacquard_common::smol_str::SmolStr::new_static("scheduledActionView"),
3871 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
3872 description: Some(
3873 ::jacquard_common::CowStr::new_static(
3874 "View of a scheduled moderation action",
3875 ),
3876 ),
3877 required: Some(
3878 vec![
3879 ::jacquard_common::smol_str::SmolStr::new_static("id"),
3880 ::jacquard_common::smol_str::SmolStr::new_static("action"),
3881 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3882 ::jacquard_common::smol_str::SmolStr::new_static("createdBy"),
3883 ::jacquard_common::smol_str::SmolStr::new_static("createdAt"),
3884 ::jacquard_common::smol_str::SmolStr::new_static("status")
3885 ],
3886 ),
3887 nullable: None,
3888 properties: {
3889 #[allow(unused_mut)]
3890 let mut map = ::std::collections::BTreeMap::new();
3891 map.insert(
3892 ::jacquard_common::smol_str::SmolStr::new_static("action"),
3893 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3894 description: Some(
3895 ::jacquard_common::CowStr::new_static(
3896 "Type of action to be executed",
3897 ),
3898 ),
3899 format: None,
3900 default: None,
3901 min_length: None,
3902 max_length: None,
3903 min_graphemes: None,
3904 max_graphemes: None,
3905 r#enum: None,
3906 r#const: None,
3907 known_values: None,
3908 }),
3909 );
3910 map.insert(
3911 ::jacquard_common::smol_str::SmolStr::new_static(
3912 "createdAt",
3913 ),
3914 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3915 description: Some(
3916 ::jacquard_common::CowStr::new_static(
3917 "When the scheduled action was created",
3918 ),
3919 ),
3920 format: Some(
3921 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3922 ),
3923 default: None,
3924 min_length: None,
3925 max_length: None,
3926 min_graphemes: None,
3927 max_graphemes: None,
3928 r#enum: None,
3929 r#const: None,
3930 known_values: None,
3931 }),
3932 );
3933 map.insert(
3934 ::jacquard_common::smol_str::SmolStr::new_static(
3935 "createdBy",
3936 ),
3937 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3938 description: Some(
3939 ::jacquard_common::CowStr::new_static(
3940 "DID of the user who created this scheduled action",
3941 ),
3942 ),
3943 format: Some(
3944 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
3945 ),
3946 default: None,
3947 min_length: None,
3948 max_length: None,
3949 min_graphemes: None,
3950 max_graphemes: None,
3951 r#enum: None,
3952 r#const: None,
3953 known_values: None,
3954 }),
3955 );
3956 map.insert(
3957 ::jacquard_common::smol_str::SmolStr::new_static("did"),
3958 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3959 description: Some(
3960 ::jacquard_common::CowStr::new_static(
3961 "Subject DID for the action",
3962 ),
3963 ),
3964 format: Some(
3965 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
3966 ),
3967 default: None,
3968 min_length: None,
3969 max_length: None,
3970 min_graphemes: None,
3971 max_graphemes: None,
3972 r#enum: None,
3973 r#const: None,
3974 known_values: None,
3975 }),
3976 );
3977 map.insert(
3978 ::jacquard_common::smol_str::SmolStr::new_static(
3979 "eventData",
3980 ),
3981 ::jacquard_lexicon::lexicon::LexObjectProperty::Unknown(::jacquard_lexicon::lexicon::LexUnknown {
3982 description: None,
3983 }),
3984 );
3985 map.insert(
3986 ::jacquard_common::smol_str::SmolStr::new_static(
3987 "executeAfter",
3988 ),
3989 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
3990 description: Some(
3991 ::jacquard_common::CowStr::new_static(
3992 "Earliest time to execute the action (for randomized scheduling)",
3993 ),
3994 ),
3995 format: Some(
3996 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
3997 ),
3998 default: None,
3999 min_length: None,
4000 max_length: None,
4001 min_graphemes: None,
4002 max_graphemes: None,
4003 r#enum: None,
4004 r#const: None,
4005 known_values: None,
4006 }),
4007 );
4008 map.insert(
4009 ::jacquard_common::smol_str::SmolStr::new_static(
4010 "executeAt",
4011 ),
4012 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4013 description: Some(
4014 ::jacquard_common::CowStr::new_static(
4015 "Exact time to execute the action",
4016 ),
4017 ),
4018 format: Some(
4019 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4020 ),
4021 default: None,
4022 min_length: None,
4023 max_length: None,
4024 min_graphemes: None,
4025 max_graphemes: None,
4026 r#enum: None,
4027 r#const: None,
4028 known_values: None,
4029 }),
4030 );
4031 map.insert(
4032 ::jacquard_common::smol_str::SmolStr::new_static(
4033 "executeUntil",
4034 ),
4035 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4036 description: Some(
4037 ::jacquard_common::CowStr::new_static(
4038 "Latest time to execute the action (for randomized scheduling)",
4039 ),
4040 ),
4041 format: Some(
4042 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4043 ),
4044 default: None,
4045 min_length: None,
4046 max_length: None,
4047 min_graphemes: None,
4048 max_graphemes: None,
4049 r#enum: None,
4050 r#const: None,
4051 known_values: None,
4052 }),
4053 );
4054 map.insert(
4055 ::jacquard_common::smol_str::SmolStr::new_static(
4056 "executionEventId",
4057 ),
4058 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4059 description: None,
4060 default: None,
4061 minimum: None,
4062 maximum: None,
4063 r#enum: None,
4064 r#const: None,
4065 }),
4066 );
4067 map.insert(
4068 ::jacquard_common::smol_str::SmolStr::new_static("id"),
4069 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4070 description: None,
4071 default: None,
4072 minimum: None,
4073 maximum: None,
4074 r#enum: None,
4075 r#const: None,
4076 }),
4077 );
4078 map.insert(
4079 ::jacquard_common::smol_str::SmolStr::new_static(
4080 "lastExecutedAt",
4081 ),
4082 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4083 description: Some(
4084 ::jacquard_common::CowStr::new_static(
4085 "When the action was last attempted to be executed",
4086 ),
4087 ),
4088 format: Some(
4089 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4090 ),
4091 default: None,
4092 min_length: None,
4093 max_length: None,
4094 min_graphemes: None,
4095 max_graphemes: None,
4096 r#enum: None,
4097 r#const: None,
4098 known_values: None,
4099 }),
4100 );
4101 map.insert(
4102 ::jacquard_common::smol_str::SmolStr::new_static(
4103 "lastFailureReason",
4104 ),
4105 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4106 description: Some(
4107 ::jacquard_common::CowStr::new_static(
4108 "Reason for the last execution failure",
4109 ),
4110 ),
4111 format: None,
4112 default: None,
4113 min_length: None,
4114 max_length: None,
4115 min_graphemes: None,
4116 max_graphemes: None,
4117 r#enum: None,
4118 r#const: None,
4119 known_values: None,
4120 }),
4121 );
4122 map.insert(
4123 ::jacquard_common::smol_str::SmolStr::new_static(
4124 "randomizeExecution",
4125 ),
4126 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
4127 description: None,
4128 default: None,
4129 r#const: None,
4130 }),
4131 );
4132 map.insert(
4133 ::jacquard_common::smol_str::SmolStr::new_static("status"),
4134 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4135 description: Some(
4136 ::jacquard_common::CowStr::new_static(
4137 "Current status of the scheduled action",
4138 ),
4139 ),
4140 format: None,
4141 default: None,
4142 min_length: None,
4143 max_length: None,
4144 min_graphemes: None,
4145 max_graphemes: None,
4146 r#enum: None,
4147 r#const: None,
4148 known_values: None,
4149 }),
4150 );
4151 map.insert(
4152 ::jacquard_common::smol_str::SmolStr::new_static(
4153 "updatedAt",
4154 ),
4155 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4156 description: Some(
4157 ::jacquard_common::CowStr::new_static(
4158 "When the scheduled action was last updated",
4159 ),
4160 ),
4161 format: Some(
4162 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4163 ),
4164 default: None,
4165 min_length: None,
4166 max_length: None,
4167 min_graphemes: None,
4168 max_graphemes: None,
4169 r#enum: None,
4170 r#const: None,
4171 known_values: None,
4172 }),
4173 );
4174 map
4175 },
4176 }),
4177 );
4178 map.insert(
4179 ::jacquard_common::smol_str::SmolStr::new_static("subjectReviewState"),
4180 ::jacquard_lexicon::lexicon::LexUserType::String(::jacquard_lexicon::lexicon::LexString {
4181 description: None,
4182 format: None,
4183 default: None,
4184 min_length: None,
4185 max_length: None,
4186 min_graphemes: None,
4187 max_graphemes: None,
4188 r#enum: None,
4189 r#const: None,
4190 known_values: None,
4191 }),
4192 );
4193 map.insert(
4194 ::jacquard_common::smol_str::SmolStr::new_static("subjectStatusView"),
4195 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
4196 description: None,
4197 required: Some(
4198 vec![
4199 ::jacquard_common::smol_str::SmolStr::new_static("id"),
4200 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
4201 ::jacquard_common::smol_str::SmolStr::new_static("createdAt"),
4202 ::jacquard_common::smol_str::SmolStr::new_static("updatedAt"),
4203 ::jacquard_common::smol_str::SmolStr::new_static("reviewState")
4204 ],
4205 ),
4206 nullable: None,
4207 properties: {
4208 #[allow(unused_mut)]
4209 let mut map = ::std::collections::BTreeMap::new();
4210 map.insert(
4211 ::jacquard_common::smol_str::SmolStr::new_static(
4212 "accountStats",
4213 ),
4214 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4215 description: None,
4216 r#ref: ::jacquard_common::CowStr::new_static(
4217 "#accountStats",
4218 ),
4219 }),
4220 );
4221 map.insert(
4222 ::jacquard_common::smol_str::SmolStr::new_static(
4223 "accountStrike",
4224 ),
4225 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4226 description: None,
4227 r#ref: ::jacquard_common::CowStr::new_static(
4228 "#accountStrike",
4229 ),
4230 }),
4231 );
4232 map.insert(
4233 ::jacquard_common::smol_str::SmolStr::new_static(
4234 "ageAssuranceState",
4235 ),
4236 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4237 description: Some(
4238 ::jacquard_common::CowStr::new_static(
4239 "Current age assurance state of the subject.",
4240 ),
4241 ),
4242 format: None,
4243 default: None,
4244 min_length: None,
4245 max_length: None,
4246 min_graphemes: None,
4247 max_graphemes: None,
4248 r#enum: None,
4249 r#const: None,
4250 known_values: None,
4251 }),
4252 );
4253 map.insert(
4254 ::jacquard_common::smol_str::SmolStr::new_static(
4255 "ageAssuranceUpdatedBy",
4256 ),
4257 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4258 description: Some(
4259 ::jacquard_common::CowStr::new_static(
4260 "Whether or not the last successful update to age assurance was made by the user or admin.",
4261 ),
4262 ),
4263 format: None,
4264 default: None,
4265 min_length: None,
4266 max_length: None,
4267 min_graphemes: None,
4268 max_graphemes: None,
4269 r#enum: None,
4270 r#const: None,
4271 known_values: None,
4272 }),
4273 );
4274 map.insert(
4275 ::jacquard_common::smol_str::SmolStr::new_static("appealed"),
4276 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
4277 description: None,
4278 default: None,
4279 r#const: None,
4280 }),
4281 );
4282 map.insert(
4283 ::jacquard_common::smol_str::SmolStr::new_static("comment"),
4284 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4285 description: Some(
4286 ::jacquard_common::CowStr::new_static(
4287 "Sticky comment on the subject.",
4288 ),
4289 ),
4290 format: None,
4291 default: None,
4292 min_length: None,
4293 max_length: None,
4294 min_graphemes: None,
4295 max_graphemes: None,
4296 r#enum: None,
4297 r#const: None,
4298 known_values: None,
4299 }),
4300 );
4301 map.insert(
4302 ::jacquard_common::smol_str::SmolStr::new_static(
4303 "createdAt",
4304 ),
4305 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4306 description: Some(
4307 ::jacquard_common::CowStr::new_static(
4308 "Timestamp referencing the first moderation status impacting event was emitted on the subject",
4309 ),
4310 ),
4311 format: Some(
4312 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4313 ),
4314 default: None,
4315 min_length: None,
4316 max_length: None,
4317 min_graphemes: None,
4318 max_graphemes: None,
4319 r#enum: None,
4320 r#const: None,
4321 known_values: None,
4322 }),
4323 );
4324 map.insert(
4325 ::jacquard_common::smol_str::SmolStr::new_static("hosting"),
4326 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
4327 description: None,
4328 refs: vec![
4329 ::jacquard_common::CowStr::new_static("#accountHosting"),
4330 ::jacquard_common::CowStr::new_static("#recordHosting")
4331 ],
4332 closed: None,
4333 }),
4334 );
4335 map.insert(
4336 ::jacquard_common::smol_str::SmolStr::new_static("id"),
4337 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4338 description: None,
4339 default: None,
4340 minimum: None,
4341 maximum: None,
4342 r#enum: None,
4343 r#const: None,
4344 }),
4345 );
4346 map.insert(
4347 ::jacquard_common::smol_str::SmolStr::new_static(
4348 "lastAppealedAt",
4349 ),
4350 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4351 description: Some(
4352 ::jacquard_common::CowStr::new_static(
4353 "Timestamp referencing when the author of the subject appealed a moderation action",
4354 ),
4355 ),
4356 format: Some(
4357 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4358 ),
4359 default: None,
4360 min_length: None,
4361 max_length: None,
4362 min_graphemes: None,
4363 max_graphemes: None,
4364 r#enum: None,
4365 r#const: None,
4366 known_values: None,
4367 }),
4368 );
4369 map.insert(
4370 ::jacquard_common::smol_str::SmolStr::new_static(
4371 "lastReportedAt",
4372 ),
4373 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4374 description: None,
4375 format: Some(
4376 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4377 ),
4378 default: None,
4379 min_length: None,
4380 max_length: None,
4381 min_graphemes: None,
4382 max_graphemes: None,
4383 r#enum: None,
4384 r#const: None,
4385 known_values: None,
4386 }),
4387 );
4388 map.insert(
4389 ::jacquard_common::smol_str::SmolStr::new_static(
4390 "lastReviewedAt",
4391 ),
4392 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4393 description: None,
4394 format: Some(
4395 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4396 ),
4397 default: None,
4398 min_length: None,
4399 max_length: None,
4400 min_graphemes: None,
4401 max_graphemes: None,
4402 r#enum: None,
4403 r#const: None,
4404 known_values: None,
4405 }),
4406 );
4407 map.insert(
4408 ::jacquard_common::smol_str::SmolStr::new_static(
4409 "lastReviewedBy",
4410 ),
4411 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4412 description: None,
4413 format: Some(
4414 ::jacquard_lexicon::lexicon::LexStringFormat::Did,
4415 ),
4416 default: None,
4417 min_length: None,
4418 max_length: None,
4419 min_graphemes: None,
4420 max_graphemes: None,
4421 r#enum: None,
4422 r#const: None,
4423 known_values: None,
4424 }),
4425 );
4426 map.insert(
4427 ::jacquard_common::smol_str::SmolStr::new_static(
4428 "muteReportingUntil",
4429 ),
4430 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4431 description: None,
4432 format: Some(
4433 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4434 ),
4435 default: None,
4436 min_length: None,
4437 max_length: None,
4438 min_graphemes: None,
4439 max_graphemes: None,
4440 r#enum: None,
4441 r#const: None,
4442 known_values: None,
4443 }),
4444 );
4445 map.insert(
4446 ::jacquard_common::smol_str::SmolStr::new_static(
4447 "muteUntil",
4448 ),
4449 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4450 description: None,
4451 format: Some(
4452 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4453 ),
4454 default: None,
4455 min_length: None,
4456 max_length: None,
4457 min_graphemes: None,
4458 max_graphemes: None,
4459 r#enum: None,
4460 r#const: None,
4461 known_values: None,
4462 }),
4463 );
4464 map.insert(
4465 ::jacquard_common::smol_str::SmolStr::new_static(
4466 "priorityScore",
4467 ),
4468 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4469 description: None,
4470 default: None,
4471 minimum: Some(0i64),
4472 maximum: Some(100i64),
4473 r#enum: None,
4474 r#const: None,
4475 }),
4476 );
4477 map.insert(
4478 ::jacquard_common::smol_str::SmolStr::new_static(
4479 "recordsStats",
4480 ),
4481 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4482 description: None,
4483 r#ref: ::jacquard_common::CowStr::new_static(
4484 "#recordsStats",
4485 ),
4486 }),
4487 );
4488 map.insert(
4489 ::jacquard_common::smol_str::SmolStr::new_static(
4490 "reviewState",
4491 ),
4492 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4493 description: None,
4494 r#ref: ::jacquard_common::CowStr::new_static(
4495 "#subjectReviewState",
4496 ),
4497 }),
4498 );
4499 map.insert(
4500 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
4501 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
4502 description: None,
4503 refs: vec![
4504 ::jacquard_common::CowStr::new_static("com.atproto.admin.defs#repoRef"),
4505 ::jacquard_common::CowStr::new_static("com.atproto.repo.strongRef"),
4506 ::jacquard_common::CowStr::new_static("chat.bsky.convo.defs#messageRef")
4507 ],
4508 closed: None,
4509 }),
4510 );
4511 map.insert(
4512 ::jacquard_common::smol_str::SmolStr::new_static(
4513 "subjectBlobCids",
4514 ),
4515 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
4516 description: None,
4517 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
4518 description: None,
4519 format: Some(
4520 ::jacquard_lexicon::lexicon::LexStringFormat::Cid,
4521 ),
4522 default: None,
4523 min_length: None,
4524 max_length: None,
4525 min_graphemes: None,
4526 max_graphemes: None,
4527 r#enum: None,
4528 r#const: None,
4529 known_values: None,
4530 }),
4531 min_length: None,
4532 max_length: None,
4533 }),
4534 );
4535 map.insert(
4536 ::jacquard_common::smol_str::SmolStr::new_static(
4537 "subjectRepoHandle",
4538 ),
4539 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4540 description: None,
4541 format: None,
4542 default: None,
4543 min_length: None,
4544 max_length: None,
4545 min_graphemes: None,
4546 max_graphemes: None,
4547 r#enum: None,
4548 r#const: None,
4549 known_values: None,
4550 }),
4551 );
4552 map.insert(
4553 ::jacquard_common::smol_str::SmolStr::new_static(
4554 "suspendUntil",
4555 ),
4556 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4557 description: None,
4558 format: Some(
4559 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4560 ),
4561 default: None,
4562 min_length: None,
4563 max_length: None,
4564 min_graphemes: None,
4565 max_graphemes: None,
4566 r#enum: None,
4567 r#const: None,
4568 known_values: None,
4569 }),
4570 );
4571 map.insert(
4572 ::jacquard_common::smol_str::SmolStr::new_static("tags"),
4573 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
4574 description: None,
4575 items: ::jacquard_lexicon::lexicon::LexArrayItem::String(::jacquard_lexicon::lexicon::LexString {
4576 description: None,
4577 format: None,
4578 default: None,
4579 min_length: None,
4580 max_length: None,
4581 min_graphemes: None,
4582 max_graphemes: None,
4583 r#enum: None,
4584 r#const: None,
4585 known_values: None,
4586 }),
4587 min_length: None,
4588 max_length: None,
4589 }),
4590 );
4591 map.insert(
4592 ::jacquard_common::smol_str::SmolStr::new_static(
4593 "takendown",
4594 ),
4595 ::jacquard_lexicon::lexicon::LexObjectProperty::Boolean(::jacquard_lexicon::lexicon::LexBoolean {
4596 description: None,
4597 default: None,
4598 r#const: None,
4599 }),
4600 );
4601 map.insert(
4602 ::jacquard_common::smol_str::SmolStr::new_static(
4603 "updatedAt",
4604 ),
4605 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4606 description: Some(
4607 ::jacquard_common::CowStr::new_static(
4608 "Timestamp referencing when the last update was made to the moderation status of the subject",
4609 ),
4610 ),
4611 format: Some(
4612 ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
4613 ),
4614 default: None,
4615 min_length: None,
4616 max_length: None,
4617 min_graphemes: None,
4618 max_graphemes: None,
4619 r#enum: None,
4620 r#const: None,
4621 known_values: None,
4622 }),
4623 );
4624 map
4625 },
4626 }),
4627 );
4628 map.insert(
4629 ::jacquard_common::smol_str::SmolStr::new_static("subjectView"),
4630 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
4631 description: Some(
4632 ::jacquard_common::CowStr::new_static(
4633 "Detailed view of a subject. For record subjects, the author's repo and profile will be returned.",
4634 ),
4635 ),
4636 required: Some(
4637 vec![
4638 ::jacquard_common::smol_str::SmolStr::new_static("type"),
4639 ::jacquard_common::smol_str::SmolStr::new_static("subject")
4640 ],
4641 ),
4642 nullable: None,
4643 properties: {
4644 #[allow(unused_mut)]
4645 let mut map = ::std::collections::BTreeMap::new();
4646 map.insert(
4647 ::jacquard_common::smol_str::SmolStr::new_static("profile"),
4648 ::jacquard_lexicon::lexicon::LexObjectProperty::Union(::jacquard_lexicon::lexicon::LexRefUnion {
4649 description: None,
4650 refs: vec![],
4651 closed: None,
4652 }),
4653 );
4654 map.insert(
4655 ::jacquard_common::smol_str::SmolStr::new_static("record"),
4656 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4657 description: None,
4658 r#ref: ::jacquard_common::CowStr::new_static(
4659 "#recordViewDetail",
4660 ),
4661 }),
4662 );
4663 map.insert(
4664 ::jacquard_common::smol_str::SmolStr::new_static("repo"),
4665 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4666 description: None,
4667 r#ref: ::jacquard_common::CowStr::new_static(
4668 "#repoViewDetail",
4669 ),
4670 }),
4671 );
4672 map.insert(
4673 ::jacquard_common::smol_str::SmolStr::new_static("status"),
4674 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4675 description: None,
4676 r#ref: ::jacquard_common::CowStr::new_static(
4677 "#subjectStatusView",
4678 ),
4679 }),
4680 );
4681 map.insert(
4682 ::jacquard_common::smol_str::SmolStr::new_static("subject"),
4683 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
4684 description: None,
4685 format: None,
4686 default: None,
4687 min_length: None,
4688 max_length: None,
4689 min_graphemes: None,
4690 max_graphemes: None,
4691 r#enum: None,
4692 r#const: None,
4693 known_values: None,
4694 }),
4695 );
4696 map.insert(
4697 ::jacquard_common::smol_str::SmolStr::new_static("type"),
4698 ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
4699 description: None,
4700 r#ref: ::jacquard_common::CowStr::new_static(
4701 "com.atproto.moderation.defs#subjectType",
4702 ),
4703 }),
4704 );
4705 map
4706 },
4707 }),
4708 );
4709 map.insert(
4710 ::jacquard_common::smol_str::SmolStr::new_static(
4711 "timelineEventPlcCreate",
4712 ),
4713 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
4714 description: None,
4715 }),
4716 );
4717 map.insert(
4718 ::jacquard_common::smol_str::SmolStr::new_static(
4719 "timelineEventPlcOperation",
4720 ),
4721 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
4722 description: None,
4723 }),
4724 );
4725 map.insert(
4726 ::jacquard_common::smol_str::SmolStr::new_static(
4727 "timelineEventPlcTombstone",
4728 ),
4729 ::jacquard_lexicon::lexicon::LexUserType::Token(::jacquard_lexicon::lexicon::LexToken {
4730 description: None,
4731 }),
4732 );
4733 map.insert(
4734 ::jacquard_common::smol_str::SmolStr::new_static("videoDetails"),
4735 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
4736 description: None,
4737 required: Some(
4738 vec![
4739 ::jacquard_common::smol_str::SmolStr::new_static("width"),
4740 ::jacquard_common::smol_str::SmolStr::new_static("height"),
4741 ::jacquard_common::smol_str::SmolStr::new_static("length")
4742 ],
4743 ),
4744 nullable: None,
4745 properties: {
4746 #[allow(unused_mut)]
4747 let mut map = ::std::collections::BTreeMap::new();
4748 map.insert(
4749 ::jacquard_common::smol_str::SmolStr::new_static("height"),
4750 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4751 description: None,
4752 default: None,
4753 minimum: None,
4754 maximum: None,
4755 r#enum: None,
4756 r#const: None,
4757 }),
4758 );
4759 map.insert(
4760 ::jacquard_common::smol_str::SmolStr::new_static("length"),
4761 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4762 description: None,
4763 default: None,
4764 minimum: None,
4765 maximum: None,
4766 r#enum: None,
4767 r#const: None,
4768 }),
4769 );
4770 map.insert(
4771 ::jacquard_common::smol_str::SmolStr::new_static("width"),
4772 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
4773 description: None,
4774 default: None,
4775 minimum: None,
4776 maximum: None,
4777 r#enum: None,
4778 r#const: None,
4779 }),
4780 );
4781 map
4782 },
4783 }),
4784 );
4785 map
4786 },
4787 }
4788}
4789
4790impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AccountEvent<'a> {
4791 fn nsid() -> &'static str {
4792 "tools.ozone.moderation.defs"
4793 }
4794 fn def_name() -> &'static str {
4795 "accountEvent"
4796 }
4797 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
4798 lexicon_doc_tools_ozone_moderation_defs()
4799 }
4800 fn validate(
4801 &self,
4802 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
4803 Ok(())
4804 }
4805}
4806
4807#[jacquard_derive::lexicon]
4808#[derive(
4809 serde::Serialize,
4810 serde::Deserialize,
4811 Debug,
4812 Clone,
4813 PartialEq,
4814 Eq,
4815 jacquard_derive::IntoStatic,
4816 Default
4817)]
4818#[serde(rename_all = "camelCase")]
4819pub struct AccountHosting<'a> {
4820 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4821 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
4822 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4823 pub deactivated_at: std::option::Option<jacquard_common::types::string::Datetime>,
4824 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4825 pub deleted_at: std::option::Option<jacquard_common::types::string::Datetime>,
4826 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4827 pub reactivated_at: std::option::Option<jacquard_common::types::string::Datetime>,
4828 #[serde(borrow)]
4829 pub status: jacquard_common::CowStr<'a>,
4830 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4831 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
4832}
4833
4834impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AccountHosting<'a> {
4835 fn nsid() -> &'static str {
4836 "tools.ozone.moderation.defs"
4837 }
4838 fn def_name() -> &'static str {
4839 "accountHosting"
4840 }
4841 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
4842 lexicon_doc_tools_ozone_moderation_defs()
4843 }
4844 fn validate(
4845 &self,
4846 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
4847 Ok(())
4848 }
4849}
4850
4851#[jacquard_derive::lexicon]
4853#[derive(
4854 serde::Serialize,
4855 serde::Deserialize,
4856 Debug,
4857 Clone,
4858 PartialEq,
4859 Eq,
4860 jacquard_derive::IntoStatic,
4861 Default
4862)]
4863#[serde(rename_all = "camelCase")]
4864pub struct AccountStats<'a> {
4865 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4867 pub appeal_count: std::option::Option<i64>,
4868 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4870 pub escalate_count: std::option::Option<i64>,
4871 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4873 pub report_count: std::option::Option<i64>,
4874 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4876 pub suspend_count: std::option::Option<i64>,
4877 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4879 pub takedown_count: std::option::Option<i64>,
4880}
4881
4882impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AccountStats<'a> {
4883 fn nsid() -> &'static str {
4884 "tools.ozone.moderation.defs"
4885 }
4886 fn def_name() -> &'static str {
4887 "accountStats"
4888 }
4889 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
4890 lexicon_doc_tools_ozone_moderation_defs()
4891 }
4892 fn validate(
4893 &self,
4894 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
4895 Ok(())
4896 }
4897}
4898
4899#[jacquard_derive::lexicon]
4901#[derive(
4902 serde::Serialize,
4903 serde::Deserialize,
4904 Debug,
4905 Clone,
4906 PartialEq,
4907 Eq,
4908 jacquard_derive::IntoStatic,
4909 Default
4910)]
4911#[serde(rename_all = "camelCase")]
4912pub struct AccountStrike<'a> {
4913 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4915 pub active_strike_count: std::option::Option<i64>,
4916 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4918 pub first_strike_at: std::option::Option<jacquard_common::types::string::Datetime>,
4919 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4921 pub last_strike_at: std::option::Option<jacquard_common::types::string::Datetime>,
4922 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4924 pub total_strike_count: std::option::Option<i64>,
4925}
4926
4927impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AccountStrike<'a> {
4928 fn nsid() -> &'static str {
4929 "tools.ozone.moderation.defs"
4930 }
4931 fn def_name() -> &'static str {
4932 "accountStrike"
4933 }
4934 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
4935 lexicon_doc_tools_ozone_moderation_defs()
4936 }
4937 fn validate(
4938 &self,
4939 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
4940 Ok(())
4941 }
4942}
4943
4944#[jacquard_derive::lexicon]
4946#[derive(
4947 serde::Serialize,
4948 serde::Deserialize,
4949 Debug,
4950 Clone,
4951 PartialEq,
4952 Eq,
4953 jacquard_derive::IntoStatic
4954)]
4955#[serde(rename_all = "camelCase")]
4956pub struct AgeAssuranceEvent<'a> {
4957 #[serde(borrow)]
4959 pub attempt_id: jacquard_common::CowStr<'a>,
4960 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4962 #[serde(borrow)]
4963 pub complete_ip: Option<jacquard_common::CowStr<'a>>,
4964 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4966 #[serde(borrow)]
4967 pub complete_ua: Option<jacquard_common::CowStr<'a>>,
4968 pub created_at: jacquard_common::types::string::Datetime,
4970 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4972 #[serde(borrow)]
4973 pub init_ip: Option<jacquard_common::CowStr<'a>>,
4974 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4976 #[serde(borrow)]
4977 pub init_ua: Option<jacquard_common::CowStr<'a>>,
4978 #[serde(borrow)]
4980 pub status: jacquard_common::CowStr<'a>,
4981}
4982
4983pub mod age_assurance_event_state {
4984
4985 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
4986 #[allow(unused)]
4987 use ::core::marker::PhantomData;
4988 mod sealed {
4989 pub trait Sealed {}
4990 }
4991 pub trait State: sealed::Sealed {
4993 type CreatedAt;
4994 type Status;
4995 type AttemptId;
4996 }
4997 pub struct Empty(());
4999 impl sealed::Sealed for Empty {}
5000 impl State for Empty {
5001 type CreatedAt = Unset;
5002 type Status = Unset;
5003 type AttemptId = Unset;
5004 }
5005 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
5007 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
5008 impl<S: State> State for SetCreatedAt<S> {
5009 type CreatedAt = Set<members::created_at>;
5010 type Status = S::Status;
5011 type AttemptId = S::AttemptId;
5012 }
5013 pub struct SetStatus<S: State = Empty>(PhantomData<fn() -> S>);
5015 impl<S: State> sealed::Sealed for SetStatus<S> {}
5016 impl<S: State> State for SetStatus<S> {
5017 type CreatedAt = S::CreatedAt;
5018 type Status = Set<members::status>;
5019 type AttemptId = S::AttemptId;
5020 }
5021 pub struct SetAttemptId<S: State = Empty>(PhantomData<fn() -> S>);
5023 impl<S: State> sealed::Sealed for SetAttemptId<S> {}
5024 impl<S: State> State for SetAttemptId<S> {
5025 type CreatedAt = S::CreatedAt;
5026 type Status = S::Status;
5027 type AttemptId = Set<members::attempt_id>;
5028 }
5029 #[allow(non_camel_case_types)]
5031 pub mod members {
5032 pub struct created_at(());
5034 pub struct status(());
5036 pub struct attempt_id(());
5038 }
5039}
5040
5041pub struct AgeAssuranceEventBuilder<'a, S: age_assurance_event_state::State> {
5043 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
5044 __unsafe_private_named: (
5045 ::core::option::Option<jacquard_common::CowStr<'a>>,
5046 ::core::option::Option<jacquard_common::CowStr<'a>>,
5047 ::core::option::Option<jacquard_common::CowStr<'a>>,
5048 ::core::option::Option<jacquard_common::types::string::Datetime>,
5049 ::core::option::Option<jacquard_common::CowStr<'a>>,
5050 ::core::option::Option<jacquard_common::CowStr<'a>>,
5051 ::core::option::Option<jacquard_common::CowStr<'a>>,
5052 ),
5053 _phantom: ::core::marker::PhantomData<&'a ()>,
5054}
5055
5056impl<'a> AgeAssuranceEvent<'a> {
5057 pub fn new() -> AgeAssuranceEventBuilder<'a, age_assurance_event_state::Empty> {
5059 AgeAssuranceEventBuilder::new()
5060 }
5061}
5062
5063impl<'a> AgeAssuranceEventBuilder<'a, age_assurance_event_state::Empty> {
5064 pub fn new() -> Self {
5066 AgeAssuranceEventBuilder {
5067 _phantom_state: ::core::marker::PhantomData,
5068 __unsafe_private_named: (None, None, None, None, None, None, None),
5069 _phantom: ::core::marker::PhantomData,
5070 }
5071 }
5072}
5073
5074impl<'a, S> AgeAssuranceEventBuilder<'a, S>
5075where
5076 S: age_assurance_event_state::State,
5077 S::AttemptId: age_assurance_event_state::IsUnset,
5078{
5079 pub fn attempt_id(
5081 mut self,
5082 value: impl Into<jacquard_common::CowStr<'a>>,
5083 ) -> AgeAssuranceEventBuilder<'a, age_assurance_event_state::SetAttemptId<S>> {
5084 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
5085 AgeAssuranceEventBuilder {
5086 _phantom_state: ::core::marker::PhantomData,
5087 __unsafe_private_named: self.__unsafe_private_named,
5088 _phantom: ::core::marker::PhantomData,
5089 }
5090 }
5091}
5092
5093impl<'a, S: age_assurance_event_state::State> AgeAssuranceEventBuilder<'a, S> {
5094 pub fn complete_ip(
5096 mut self,
5097 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
5098 ) -> Self {
5099 self.__unsafe_private_named.1 = value.into();
5100 self
5101 }
5102 pub fn maybe_complete_ip(
5104 mut self,
5105 value: Option<jacquard_common::CowStr<'a>>,
5106 ) -> Self {
5107 self.__unsafe_private_named.1 = value;
5108 self
5109 }
5110}
5111
5112impl<'a, S: age_assurance_event_state::State> AgeAssuranceEventBuilder<'a, S> {
5113 pub fn complete_ua(
5115 mut self,
5116 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
5117 ) -> Self {
5118 self.__unsafe_private_named.2 = value.into();
5119 self
5120 }
5121 pub fn maybe_complete_ua(
5123 mut self,
5124 value: Option<jacquard_common::CowStr<'a>>,
5125 ) -> Self {
5126 self.__unsafe_private_named.2 = value;
5127 self
5128 }
5129}
5130
5131impl<'a, S> AgeAssuranceEventBuilder<'a, S>
5132where
5133 S: age_assurance_event_state::State,
5134 S::CreatedAt: age_assurance_event_state::IsUnset,
5135{
5136 pub fn created_at(
5138 mut self,
5139 value: impl Into<jacquard_common::types::string::Datetime>,
5140 ) -> AgeAssuranceEventBuilder<'a, age_assurance_event_state::SetCreatedAt<S>> {
5141 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
5142 AgeAssuranceEventBuilder {
5143 _phantom_state: ::core::marker::PhantomData,
5144 __unsafe_private_named: self.__unsafe_private_named,
5145 _phantom: ::core::marker::PhantomData,
5146 }
5147 }
5148}
5149
5150impl<'a, S: age_assurance_event_state::State> AgeAssuranceEventBuilder<'a, S> {
5151 pub fn init_ip(
5153 mut self,
5154 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
5155 ) -> Self {
5156 self.__unsafe_private_named.4 = value.into();
5157 self
5158 }
5159 pub fn maybe_init_ip(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
5161 self.__unsafe_private_named.4 = value;
5162 self
5163 }
5164}
5165
5166impl<'a, S: age_assurance_event_state::State> AgeAssuranceEventBuilder<'a, S> {
5167 pub fn init_ua(
5169 mut self,
5170 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
5171 ) -> Self {
5172 self.__unsafe_private_named.5 = value.into();
5173 self
5174 }
5175 pub fn maybe_init_ua(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
5177 self.__unsafe_private_named.5 = value;
5178 self
5179 }
5180}
5181
5182impl<'a, S> AgeAssuranceEventBuilder<'a, S>
5183where
5184 S: age_assurance_event_state::State,
5185 S::Status: age_assurance_event_state::IsUnset,
5186{
5187 pub fn status(
5189 mut self,
5190 value: impl Into<jacquard_common::CowStr<'a>>,
5191 ) -> AgeAssuranceEventBuilder<'a, age_assurance_event_state::SetStatus<S>> {
5192 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
5193 AgeAssuranceEventBuilder {
5194 _phantom_state: ::core::marker::PhantomData,
5195 __unsafe_private_named: self.__unsafe_private_named,
5196 _phantom: ::core::marker::PhantomData,
5197 }
5198 }
5199}
5200
5201impl<'a, S> AgeAssuranceEventBuilder<'a, S>
5202where
5203 S: age_assurance_event_state::State,
5204 S::CreatedAt: age_assurance_event_state::IsSet,
5205 S::Status: age_assurance_event_state::IsSet,
5206 S::AttemptId: age_assurance_event_state::IsSet,
5207{
5208 pub fn build(self) -> AgeAssuranceEvent<'a> {
5210 AgeAssuranceEvent {
5211 attempt_id: self.__unsafe_private_named.0.unwrap(),
5212 complete_ip: self.__unsafe_private_named.1,
5213 complete_ua: self.__unsafe_private_named.2,
5214 created_at: self.__unsafe_private_named.3.unwrap(),
5215 init_ip: self.__unsafe_private_named.4,
5216 init_ua: self.__unsafe_private_named.5,
5217 status: self.__unsafe_private_named.6.unwrap(),
5218 extra_data: Default::default(),
5219 }
5220 }
5221 pub fn build_with_data(
5223 self,
5224 extra_data: std::collections::BTreeMap<
5225 jacquard_common::smol_str::SmolStr,
5226 jacquard_common::types::value::Data<'a>,
5227 >,
5228 ) -> AgeAssuranceEvent<'a> {
5229 AgeAssuranceEvent {
5230 attempt_id: self.__unsafe_private_named.0.unwrap(),
5231 complete_ip: self.__unsafe_private_named.1,
5232 complete_ua: self.__unsafe_private_named.2,
5233 created_at: self.__unsafe_private_named.3.unwrap(),
5234 init_ip: self.__unsafe_private_named.4,
5235 init_ua: self.__unsafe_private_named.5,
5236 status: self.__unsafe_private_named.6.unwrap(),
5237 extra_data: Some(extra_data),
5238 }
5239 }
5240}
5241
5242impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AgeAssuranceEvent<'a> {
5243 fn nsid() -> &'static str {
5244 "tools.ozone.moderation.defs"
5245 }
5246 fn def_name() -> &'static str {
5247 "ageAssuranceEvent"
5248 }
5249 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
5250 lexicon_doc_tools_ozone_moderation_defs()
5251 }
5252 fn validate(
5253 &self,
5254 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
5255 Ok(())
5256 }
5257}
5258
5259#[jacquard_derive::lexicon]
5261#[derive(
5262 serde::Serialize,
5263 serde::Deserialize,
5264 Debug,
5265 Clone,
5266 PartialEq,
5267 Eq,
5268 jacquard_derive::IntoStatic,
5269 Default
5270)]
5271#[serde(rename_all = "camelCase")]
5272pub struct AgeAssuranceOverrideEvent<'a> {
5273 #[serde(borrow)]
5275 pub comment: jacquard_common::CowStr<'a>,
5276 #[serde(borrow)]
5278 pub status: jacquard_common::CowStr<'a>,
5279}
5280
5281impl<'a> ::jacquard_lexicon::schema::LexiconSchema for AgeAssuranceOverrideEvent<'a> {
5282 fn nsid() -> &'static str {
5283 "tools.ozone.moderation.defs"
5284 }
5285 fn def_name() -> &'static str {
5286 "ageAssuranceOverrideEvent"
5287 }
5288 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
5289 lexicon_doc_tools_ozone_moderation_defs()
5290 }
5291 fn validate(
5292 &self,
5293 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
5294 Ok(())
5295 }
5296}
5297
5298#[jacquard_derive::lexicon]
5299#[derive(
5300 serde::Serialize,
5301 serde::Deserialize,
5302 Debug,
5303 Clone,
5304 PartialEq,
5305 Eq,
5306 jacquard_derive::IntoStatic
5307)]
5308#[serde(rename_all = "camelCase")]
5309pub struct BlobView<'a> {
5310 #[serde(borrow)]
5311 pub cid: jacquard_common::types::string::Cid<'a>,
5312 pub created_at: jacquard_common::types::string::Datetime,
5313 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5314 #[serde(borrow)]
5315 pub details: Option<BlobViewDetails<'a>>,
5316 #[serde(borrow)]
5317 pub mime_type: jacquard_common::CowStr<'a>,
5318 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5319 #[serde(borrow)]
5320 pub moderation: Option<crate::tools_ozone::moderation::Moderation<'a>>,
5321 pub size: i64,
5322}
5323
5324pub mod blob_view_state {
5325
5326 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
5327 #[allow(unused)]
5328 use ::core::marker::PhantomData;
5329 mod sealed {
5330 pub trait Sealed {}
5331 }
5332 pub trait State: sealed::Sealed {
5334 type Cid;
5335 type MimeType;
5336 type Size;
5337 type CreatedAt;
5338 }
5339 pub struct Empty(());
5341 impl sealed::Sealed for Empty {}
5342 impl State for Empty {
5343 type Cid = Unset;
5344 type MimeType = Unset;
5345 type Size = Unset;
5346 type CreatedAt = Unset;
5347 }
5348 pub struct SetCid<S: State = Empty>(PhantomData<fn() -> S>);
5350 impl<S: State> sealed::Sealed for SetCid<S> {}
5351 impl<S: State> State for SetCid<S> {
5352 type Cid = Set<members::cid>;
5353 type MimeType = S::MimeType;
5354 type Size = S::Size;
5355 type CreatedAt = S::CreatedAt;
5356 }
5357 pub struct SetMimeType<S: State = Empty>(PhantomData<fn() -> S>);
5359 impl<S: State> sealed::Sealed for SetMimeType<S> {}
5360 impl<S: State> State for SetMimeType<S> {
5361 type Cid = S::Cid;
5362 type MimeType = Set<members::mime_type>;
5363 type Size = S::Size;
5364 type CreatedAt = S::CreatedAt;
5365 }
5366 pub struct SetSize<S: State = Empty>(PhantomData<fn() -> S>);
5368 impl<S: State> sealed::Sealed for SetSize<S> {}
5369 impl<S: State> State for SetSize<S> {
5370 type Cid = S::Cid;
5371 type MimeType = S::MimeType;
5372 type Size = Set<members::size>;
5373 type CreatedAt = S::CreatedAt;
5374 }
5375 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
5377 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
5378 impl<S: State> State for SetCreatedAt<S> {
5379 type Cid = S::Cid;
5380 type MimeType = S::MimeType;
5381 type Size = S::Size;
5382 type CreatedAt = Set<members::created_at>;
5383 }
5384 #[allow(non_camel_case_types)]
5386 pub mod members {
5387 pub struct cid(());
5389 pub struct mime_type(());
5391 pub struct size(());
5393 pub struct created_at(());
5395 }
5396}
5397
5398pub struct BlobViewBuilder<'a, S: blob_view_state::State> {
5400 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
5401 __unsafe_private_named: (
5402 ::core::option::Option<jacquard_common::types::string::Cid<'a>>,
5403 ::core::option::Option<jacquard_common::types::string::Datetime>,
5404 ::core::option::Option<BlobViewDetails<'a>>,
5405 ::core::option::Option<jacquard_common::CowStr<'a>>,
5406 ::core::option::Option<crate::tools_ozone::moderation::Moderation<'a>>,
5407 ::core::option::Option<i64>,
5408 ),
5409 _phantom: ::core::marker::PhantomData<&'a ()>,
5410}
5411
5412impl<'a> BlobView<'a> {
5413 pub fn new() -> BlobViewBuilder<'a, blob_view_state::Empty> {
5415 BlobViewBuilder::new()
5416 }
5417}
5418
5419impl<'a> BlobViewBuilder<'a, blob_view_state::Empty> {
5420 pub fn new() -> Self {
5422 BlobViewBuilder {
5423 _phantom_state: ::core::marker::PhantomData,
5424 __unsafe_private_named: (None, None, None, None, None, None),
5425 _phantom: ::core::marker::PhantomData,
5426 }
5427 }
5428}
5429
5430impl<'a, S> BlobViewBuilder<'a, S>
5431where
5432 S: blob_view_state::State,
5433 S::Cid: blob_view_state::IsUnset,
5434{
5435 pub fn cid(
5437 mut self,
5438 value: impl Into<jacquard_common::types::string::Cid<'a>>,
5439 ) -> BlobViewBuilder<'a, blob_view_state::SetCid<S>> {
5440 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
5441 BlobViewBuilder {
5442 _phantom_state: ::core::marker::PhantomData,
5443 __unsafe_private_named: self.__unsafe_private_named,
5444 _phantom: ::core::marker::PhantomData,
5445 }
5446 }
5447}
5448
5449impl<'a, S> BlobViewBuilder<'a, S>
5450where
5451 S: blob_view_state::State,
5452 S::CreatedAt: blob_view_state::IsUnset,
5453{
5454 pub fn created_at(
5456 mut self,
5457 value: impl Into<jacquard_common::types::string::Datetime>,
5458 ) -> BlobViewBuilder<'a, blob_view_state::SetCreatedAt<S>> {
5459 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
5460 BlobViewBuilder {
5461 _phantom_state: ::core::marker::PhantomData,
5462 __unsafe_private_named: self.__unsafe_private_named,
5463 _phantom: ::core::marker::PhantomData,
5464 }
5465 }
5466}
5467
5468impl<'a, S: blob_view_state::State> BlobViewBuilder<'a, S> {
5469 pub fn details(mut self, value: impl Into<Option<BlobViewDetails<'a>>>) -> Self {
5471 self.__unsafe_private_named.2 = value.into();
5472 self
5473 }
5474 pub fn maybe_details(mut self, value: Option<BlobViewDetails<'a>>) -> Self {
5476 self.__unsafe_private_named.2 = value;
5477 self
5478 }
5479}
5480
5481impl<'a, S> BlobViewBuilder<'a, S>
5482where
5483 S: blob_view_state::State,
5484 S::MimeType: blob_view_state::IsUnset,
5485{
5486 pub fn mime_type(
5488 mut self,
5489 value: impl Into<jacquard_common::CowStr<'a>>,
5490 ) -> BlobViewBuilder<'a, blob_view_state::SetMimeType<S>> {
5491 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
5492 BlobViewBuilder {
5493 _phantom_state: ::core::marker::PhantomData,
5494 __unsafe_private_named: self.__unsafe_private_named,
5495 _phantom: ::core::marker::PhantomData,
5496 }
5497 }
5498}
5499
5500impl<'a, S: blob_view_state::State> BlobViewBuilder<'a, S> {
5501 pub fn moderation(
5503 mut self,
5504 value: impl Into<Option<crate::tools_ozone::moderation::Moderation<'a>>>,
5505 ) -> Self {
5506 self.__unsafe_private_named.4 = value.into();
5507 self
5508 }
5509 pub fn maybe_moderation(
5511 mut self,
5512 value: Option<crate::tools_ozone::moderation::Moderation<'a>>,
5513 ) -> Self {
5514 self.__unsafe_private_named.4 = value;
5515 self
5516 }
5517}
5518
5519impl<'a, S> BlobViewBuilder<'a, S>
5520where
5521 S: blob_view_state::State,
5522 S::Size: blob_view_state::IsUnset,
5523{
5524 pub fn size(
5526 mut self,
5527 value: impl Into<i64>,
5528 ) -> BlobViewBuilder<'a, blob_view_state::SetSize<S>> {
5529 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
5530 BlobViewBuilder {
5531 _phantom_state: ::core::marker::PhantomData,
5532 __unsafe_private_named: self.__unsafe_private_named,
5533 _phantom: ::core::marker::PhantomData,
5534 }
5535 }
5536}
5537
5538impl<'a, S> BlobViewBuilder<'a, S>
5539where
5540 S: blob_view_state::State,
5541 S::Cid: blob_view_state::IsSet,
5542 S::MimeType: blob_view_state::IsSet,
5543 S::Size: blob_view_state::IsSet,
5544 S::CreatedAt: blob_view_state::IsSet,
5545{
5546 pub fn build(self) -> BlobView<'a> {
5548 BlobView {
5549 cid: self.__unsafe_private_named.0.unwrap(),
5550 created_at: self.__unsafe_private_named.1.unwrap(),
5551 details: self.__unsafe_private_named.2,
5552 mime_type: self.__unsafe_private_named.3.unwrap(),
5553 moderation: self.__unsafe_private_named.4,
5554 size: self.__unsafe_private_named.5.unwrap(),
5555 extra_data: Default::default(),
5556 }
5557 }
5558 pub fn build_with_data(
5560 self,
5561 extra_data: std::collections::BTreeMap<
5562 jacquard_common::smol_str::SmolStr,
5563 jacquard_common::types::value::Data<'a>,
5564 >,
5565 ) -> BlobView<'a> {
5566 BlobView {
5567 cid: self.__unsafe_private_named.0.unwrap(),
5568 created_at: self.__unsafe_private_named.1.unwrap(),
5569 details: self.__unsafe_private_named.2,
5570 mime_type: self.__unsafe_private_named.3.unwrap(),
5571 moderation: self.__unsafe_private_named.4,
5572 size: self.__unsafe_private_named.5.unwrap(),
5573 extra_data: Some(extra_data),
5574 }
5575 }
5576}
5577
5578#[jacquard_derive::open_union]
5579#[derive(
5580 serde::Serialize,
5581 serde::Deserialize,
5582 Debug,
5583 Clone,
5584 PartialEq,
5585 Eq,
5586 jacquard_derive::IntoStatic
5587)]
5588#[serde(tag = "$type")]
5589#[serde(bound(deserialize = "'de: 'a"))]
5590pub enum BlobViewDetails<'a> {
5591 #[serde(rename = "tools.ozone.moderation.defs#imageDetails")]
5592 ImageDetails(Box<crate::tools_ozone::moderation::ImageDetails<'a>>),
5593 #[serde(rename = "tools.ozone.moderation.defs#videoDetails")]
5594 VideoDetails(Box<crate::tools_ozone::moderation::VideoDetails<'a>>),
5595}
5596
5597impl<'a> ::jacquard_lexicon::schema::LexiconSchema for BlobView<'a> {
5598 fn nsid() -> &'static str {
5599 "tools.ozone.moderation.defs"
5600 }
5601 fn def_name() -> &'static str {
5602 "blobView"
5603 }
5604 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
5605 lexicon_doc_tools_ozone_moderation_defs()
5606 }
5607 fn validate(
5608 &self,
5609 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
5610 Ok(())
5611 }
5612}
5613
5614#[jacquard_derive::lexicon]
5616#[derive(
5617 serde::Serialize,
5618 serde::Deserialize,
5619 Debug,
5620 Clone,
5621 PartialEq,
5622 Eq,
5623 jacquard_derive::IntoStatic,
5624 Default
5625)]
5626#[serde(rename_all = "camelCase")]
5627pub struct CancelScheduledTakedownEvent<'a> {
5628 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5629 #[serde(borrow)]
5630 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
5631}
5632
5633impl<'a> ::jacquard_lexicon::schema::LexiconSchema for CancelScheduledTakedownEvent<'a> {
5634 fn nsid() -> &'static str {
5635 "tools.ozone.moderation.defs"
5636 }
5637 fn def_name() -> &'static str {
5638 "cancelScheduledTakedownEvent"
5639 }
5640 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
5641 lexicon_doc_tools_ozone_moderation_defs()
5642 }
5643 fn validate(
5644 &self,
5645 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
5646 Ok(())
5647 }
5648}
5649
5650#[jacquard_derive::lexicon]
5652#[derive(
5653 serde::Serialize,
5654 serde::Deserialize,
5655 Debug,
5656 Clone,
5657 PartialEq,
5658 Eq,
5659 jacquard_derive::IntoStatic
5660)]
5661#[serde(rename_all = "camelCase")]
5662pub struct IdentityEvent<'a> {
5663 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5664 #[serde(borrow)]
5665 pub comment: Option<jacquard_common::CowStr<'a>>,
5666 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5667 #[serde(borrow)]
5668 pub handle: Option<jacquard_common::types::string::Handle<'a>>,
5669 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5670 #[serde(borrow)]
5671 pub pds_host: Option<jacquard_common::types::string::Uri<'a>>,
5672 pub timestamp: jacquard_common::types::string::Datetime,
5673 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5674 pub tombstone: Option<bool>,
5675}
5676
5677pub mod identity_event_state {
5678
5679 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
5680 #[allow(unused)]
5681 use ::core::marker::PhantomData;
5682 mod sealed {
5683 pub trait Sealed {}
5684 }
5685 pub trait State: sealed::Sealed {
5687 type Timestamp;
5688 }
5689 pub struct Empty(());
5691 impl sealed::Sealed for Empty {}
5692 impl State for Empty {
5693 type Timestamp = Unset;
5694 }
5695 pub struct SetTimestamp<S: State = Empty>(PhantomData<fn() -> S>);
5697 impl<S: State> sealed::Sealed for SetTimestamp<S> {}
5698 impl<S: State> State for SetTimestamp<S> {
5699 type Timestamp = Set<members::timestamp>;
5700 }
5701 #[allow(non_camel_case_types)]
5703 pub mod members {
5704 pub struct timestamp(());
5706 }
5707}
5708
5709pub struct IdentityEventBuilder<'a, S: identity_event_state::State> {
5711 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
5712 __unsafe_private_named: (
5713 ::core::option::Option<jacquard_common::CowStr<'a>>,
5714 ::core::option::Option<jacquard_common::types::string::Handle<'a>>,
5715 ::core::option::Option<jacquard_common::types::string::Uri<'a>>,
5716 ::core::option::Option<jacquard_common::types::string::Datetime>,
5717 ::core::option::Option<bool>,
5718 ),
5719 _phantom: ::core::marker::PhantomData<&'a ()>,
5720}
5721
5722impl<'a> IdentityEvent<'a> {
5723 pub fn new() -> IdentityEventBuilder<'a, identity_event_state::Empty> {
5725 IdentityEventBuilder::new()
5726 }
5727}
5728
5729impl<'a> IdentityEventBuilder<'a, identity_event_state::Empty> {
5730 pub fn new() -> Self {
5732 IdentityEventBuilder {
5733 _phantom_state: ::core::marker::PhantomData,
5734 __unsafe_private_named: (None, None, None, None, None),
5735 _phantom: ::core::marker::PhantomData,
5736 }
5737 }
5738}
5739
5740impl<'a, S: identity_event_state::State> IdentityEventBuilder<'a, S> {
5741 pub fn comment(
5743 mut self,
5744 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
5745 ) -> Self {
5746 self.__unsafe_private_named.0 = value.into();
5747 self
5748 }
5749 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
5751 self.__unsafe_private_named.0 = value;
5752 self
5753 }
5754}
5755
5756impl<'a, S: identity_event_state::State> IdentityEventBuilder<'a, S> {
5757 pub fn handle(
5759 mut self,
5760 value: impl Into<Option<jacquard_common::types::string::Handle<'a>>>,
5761 ) -> Self {
5762 self.__unsafe_private_named.1 = value.into();
5763 self
5764 }
5765 pub fn maybe_handle(
5767 mut self,
5768 value: Option<jacquard_common::types::string::Handle<'a>>,
5769 ) -> Self {
5770 self.__unsafe_private_named.1 = value;
5771 self
5772 }
5773}
5774
5775impl<'a, S: identity_event_state::State> IdentityEventBuilder<'a, S> {
5776 pub fn pds_host(
5778 mut self,
5779 value: impl Into<Option<jacquard_common::types::string::Uri<'a>>>,
5780 ) -> Self {
5781 self.__unsafe_private_named.2 = value.into();
5782 self
5783 }
5784 pub fn maybe_pds_host(
5786 mut self,
5787 value: Option<jacquard_common::types::string::Uri<'a>>,
5788 ) -> Self {
5789 self.__unsafe_private_named.2 = value;
5790 self
5791 }
5792}
5793
5794impl<'a, S> IdentityEventBuilder<'a, S>
5795where
5796 S: identity_event_state::State,
5797 S::Timestamp: identity_event_state::IsUnset,
5798{
5799 pub fn timestamp(
5801 mut self,
5802 value: impl Into<jacquard_common::types::string::Datetime>,
5803 ) -> IdentityEventBuilder<'a, identity_event_state::SetTimestamp<S>> {
5804 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
5805 IdentityEventBuilder {
5806 _phantom_state: ::core::marker::PhantomData,
5807 __unsafe_private_named: self.__unsafe_private_named,
5808 _phantom: ::core::marker::PhantomData,
5809 }
5810 }
5811}
5812
5813impl<'a, S: identity_event_state::State> IdentityEventBuilder<'a, S> {
5814 pub fn tombstone(mut self, value: impl Into<Option<bool>>) -> Self {
5816 self.__unsafe_private_named.4 = value.into();
5817 self
5818 }
5819 pub fn maybe_tombstone(mut self, value: Option<bool>) -> Self {
5821 self.__unsafe_private_named.4 = value;
5822 self
5823 }
5824}
5825
5826impl<'a, S> IdentityEventBuilder<'a, S>
5827where
5828 S: identity_event_state::State,
5829 S::Timestamp: identity_event_state::IsSet,
5830{
5831 pub fn build(self) -> IdentityEvent<'a> {
5833 IdentityEvent {
5834 comment: self.__unsafe_private_named.0,
5835 handle: self.__unsafe_private_named.1,
5836 pds_host: self.__unsafe_private_named.2,
5837 timestamp: self.__unsafe_private_named.3.unwrap(),
5838 tombstone: self.__unsafe_private_named.4,
5839 extra_data: Default::default(),
5840 }
5841 }
5842 pub fn build_with_data(
5844 self,
5845 extra_data: std::collections::BTreeMap<
5846 jacquard_common::smol_str::SmolStr,
5847 jacquard_common::types::value::Data<'a>,
5848 >,
5849 ) -> IdentityEvent<'a> {
5850 IdentityEvent {
5851 comment: self.__unsafe_private_named.0,
5852 handle: self.__unsafe_private_named.1,
5853 pds_host: self.__unsafe_private_named.2,
5854 timestamp: self.__unsafe_private_named.3.unwrap(),
5855 tombstone: self.__unsafe_private_named.4,
5856 extra_data: Some(extra_data),
5857 }
5858 }
5859}
5860
5861impl<'a> ::jacquard_lexicon::schema::LexiconSchema for IdentityEvent<'a> {
5862 fn nsid() -> &'static str {
5863 "tools.ozone.moderation.defs"
5864 }
5865 fn def_name() -> &'static str {
5866 "identityEvent"
5867 }
5868 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
5869 lexicon_doc_tools_ozone_moderation_defs()
5870 }
5871 fn validate(
5872 &self,
5873 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
5874 Ok(())
5875 }
5876}
5877
5878#[jacquard_derive::lexicon]
5879#[derive(
5880 serde::Serialize,
5881 serde::Deserialize,
5882 Debug,
5883 Clone,
5884 PartialEq,
5885 Eq,
5886 jacquard_derive::IntoStatic
5887)]
5888#[serde(rename_all = "camelCase")]
5889pub struct ImageDetails<'a> {
5890 pub height: i64,
5891 pub width: i64,
5892}
5893
5894pub mod image_details_state {
5895
5896 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
5897 #[allow(unused)]
5898 use ::core::marker::PhantomData;
5899 mod sealed {
5900 pub trait Sealed {}
5901 }
5902 pub trait State: sealed::Sealed {
5904 type Width;
5905 type Height;
5906 }
5907 pub struct Empty(());
5909 impl sealed::Sealed for Empty {}
5910 impl State for Empty {
5911 type Width = Unset;
5912 type Height = Unset;
5913 }
5914 pub struct SetWidth<S: State = Empty>(PhantomData<fn() -> S>);
5916 impl<S: State> sealed::Sealed for SetWidth<S> {}
5917 impl<S: State> State for SetWidth<S> {
5918 type Width = Set<members::width>;
5919 type Height = S::Height;
5920 }
5921 pub struct SetHeight<S: State = Empty>(PhantomData<fn() -> S>);
5923 impl<S: State> sealed::Sealed for SetHeight<S> {}
5924 impl<S: State> State for SetHeight<S> {
5925 type Width = S::Width;
5926 type Height = Set<members::height>;
5927 }
5928 #[allow(non_camel_case_types)]
5930 pub mod members {
5931 pub struct width(());
5933 pub struct height(());
5935 }
5936}
5937
5938pub struct ImageDetailsBuilder<'a, S: image_details_state::State> {
5940 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
5941 __unsafe_private_named: (::core::option::Option<i64>, ::core::option::Option<i64>),
5942 _phantom: ::core::marker::PhantomData<&'a ()>,
5943}
5944
5945impl<'a> ImageDetails<'a> {
5946 pub fn new() -> ImageDetailsBuilder<'a, image_details_state::Empty> {
5948 ImageDetailsBuilder::new()
5949 }
5950}
5951
5952impl<'a> ImageDetailsBuilder<'a, image_details_state::Empty> {
5953 pub fn new() -> Self {
5955 ImageDetailsBuilder {
5956 _phantom_state: ::core::marker::PhantomData,
5957 __unsafe_private_named: (None, None),
5958 _phantom: ::core::marker::PhantomData,
5959 }
5960 }
5961}
5962
5963impl<'a, S> ImageDetailsBuilder<'a, S>
5964where
5965 S: image_details_state::State,
5966 S::Height: image_details_state::IsUnset,
5967{
5968 pub fn height(
5970 mut self,
5971 value: impl Into<i64>,
5972 ) -> ImageDetailsBuilder<'a, image_details_state::SetHeight<S>> {
5973 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
5974 ImageDetailsBuilder {
5975 _phantom_state: ::core::marker::PhantomData,
5976 __unsafe_private_named: self.__unsafe_private_named,
5977 _phantom: ::core::marker::PhantomData,
5978 }
5979 }
5980}
5981
5982impl<'a, S> ImageDetailsBuilder<'a, S>
5983where
5984 S: image_details_state::State,
5985 S::Width: image_details_state::IsUnset,
5986{
5987 pub fn width(
5989 mut self,
5990 value: impl Into<i64>,
5991 ) -> ImageDetailsBuilder<'a, image_details_state::SetWidth<S>> {
5992 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
5993 ImageDetailsBuilder {
5994 _phantom_state: ::core::marker::PhantomData,
5995 __unsafe_private_named: self.__unsafe_private_named,
5996 _phantom: ::core::marker::PhantomData,
5997 }
5998 }
5999}
6000
6001impl<'a, S> ImageDetailsBuilder<'a, S>
6002where
6003 S: image_details_state::State,
6004 S::Width: image_details_state::IsSet,
6005 S::Height: image_details_state::IsSet,
6006{
6007 pub fn build(self) -> ImageDetails<'a> {
6009 ImageDetails {
6010 height: self.__unsafe_private_named.0.unwrap(),
6011 width: self.__unsafe_private_named.1.unwrap(),
6012 extra_data: Default::default(),
6013 }
6014 }
6015 pub fn build_with_data(
6017 self,
6018 extra_data: std::collections::BTreeMap<
6019 jacquard_common::smol_str::SmolStr,
6020 jacquard_common::types::value::Data<'a>,
6021 >,
6022 ) -> ImageDetails<'a> {
6023 ImageDetails {
6024 height: self.__unsafe_private_named.0.unwrap(),
6025 width: self.__unsafe_private_named.1.unwrap(),
6026 extra_data: Some(extra_data),
6027 }
6028 }
6029}
6030
6031impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ImageDetails<'a> {
6032 fn nsid() -> &'static str {
6033 "tools.ozone.moderation.defs"
6034 }
6035 fn def_name() -> &'static str {
6036 "imageDetails"
6037 }
6038 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6039 lexicon_doc_tools_ozone_moderation_defs()
6040 }
6041 fn validate(
6042 &self,
6043 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6044 Ok(())
6045 }
6046}
6047
6048#[jacquard_derive::lexicon]
6049#[derive(
6050 serde::Serialize,
6051 serde::Deserialize,
6052 Debug,
6053 Clone,
6054 PartialEq,
6055 Eq,
6056 jacquard_derive::IntoStatic,
6057 Default
6058)]
6059#[serde(rename_all = "camelCase")]
6060pub struct ModEventAcknowledge<'a> {
6061 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6063 pub acknowledge_account_subjects: std::option::Option<bool>,
6064 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6065 #[serde(borrow)]
6066 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
6067}
6068
6069impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventAcknowledge<'a> {
6070 fn nsid() -> &'static str {
6071 "tools.ozone.moderation.defs"
6072 }
6073 fn def_name() -> &'static str {
6074 "modEventAcknowledge"
6075 }
6076 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6077 lexicon_doc_tools_ozone_moderation_defs()
6078 }
6079 fn validate(
6080 &self,
6081 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6082 Ok(())
6083 }
6084}
6085
6086#[jacquard_derive::lexicon]
6088#[derive(
6089 serde::Serialize,
6090 serde::Deserialize,
6091 Debug,
6092 Clone,
6093 PartialEq,
6094 Eq,
6095 jacquard_derive::IntoStatic,
6096 Default
6097)]
6098#[serde(rename_all = "camelCase")]
6099pub struct ModEventComment<'a> {
6100 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6101 #[serde(borrow)]
6102 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
6103 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6105 pub sticky: std::option::Option<bool>,
6106}
6107
6108impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventComment<'a> {
6109 fn nsid() -> &'static str {
6110 "tools.ozone.moderation.defs"
6111 }
6112 fn def_name() -> &'static str {
6113 "modEventComment"
6114 }
6115 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6116 lexicon_doc_tools_ozone_moderation_defs()
6117 }
6118 fn validate(
6119 &self,
6120 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6121 Ok(())
6122 }
6123}
6124
6125#[jacquard_derive::lexicon]
6127#[derive(
6128 serde::Serialize,
6129 serde::Deserialize,
6130 Debug,
6131 Clone,
6132 PartialEq,
6133 Eq,
6134 jacquard_derive::IntoStatic,
6135 Default
6136)]
6137#[serde(rename_all = "camelCase")]
6138pub struct ModEventDivert<'a> {
6139 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6140 #[serde(borrow)]
6141 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
6142}
6143
6144impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventDivert<'a> {
6145 fn nsid() -> &'static str {
6146 "tools.ozone.moderation.defs"
6147 }
6148 fn def_name() -> &'static str {
6149 "modEventDivert"
6150 }
6151 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6152 lexicon_doc_tools_ozone_moderation_defs()
6153 }
6154 fn validate(
6155 &self,
6156 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6157 Ok(())
6158 }
6159}
6160
6161#[jacquard_derive::lexicon]
6163#[derive(
6164 serde::Serialize,
6165 serde::Deserialize,
6166 Debug,
6167 Clone,
6168 PartialEq,
6169 Eq,
6170 jacquard_derive::IntoStatic,
6171 Default
6172)]
6173#[serde(rename_all = "camelCase")]
6174pub struct ModEventEmail<'a> {
6175 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6177 #[serde(borrow)]
6178 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
6179 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6181 #[serde(borrow)]
6182 pub content: std::option::Option<jacquard_common::CowStr<'a>>,
6183 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6185 #[serde(borrow)]
6186 pub policies: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
6187 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6189 #[serde(borrow)]
6190 pub severity_level: std::option::Option<jacquard_common::CowStr<'a>>,
6191 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6193 pub strike_count: std::option::Option<i64>,
6194 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6196 pub strike_expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
6197 #[serde(borrow)]
6199 pub subject_line: jacquard_common::CowStr<'a>,
6200}
6201
6202impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventEmail<'a> {
6203 fn nsid() -> &'static str {
6204 "tools.ozone.moderation.defs"
6205 }
6206 fn def_name() -> &'static str {
6207 "modEventEmail"
6208 }
6209 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6210 lexicon_doc_tools_ozone_moderation_defs()
6211 }
6212 fn validate(
6213 &self,
6214 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6215 if let Some(ref value) = self.policies {
6216 #[allow(unused_comparisons)]
6217 if value.len() > 5usize {
6218 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength {
6219 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
6220 "policies",
6221 ),
6222 max: 5usize,
6223 actual: value.len(),
6224 });
6225 }
6226 }
6227 Ok(())
6228 }
6229}
6230
6231#[jacquard_derive::lexicon]
6232#[derive(
6233 serde::Serialize,
6234 serde::Deserialize,
6235 Debug,
6236 Clone,
6237 PartialEq,
6238 Eq,
6239 jacquard_derive::IntoStatic,
6240 Default
6241)]
6242#[serde(rename_all = "camelCase")]
6243pub struct ModEventEscalate<'a> {
6244 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6245 #[serde(borrow)]
6246 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
6247}
6248
6249impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventEscalate<'a> {
6250 fn nsid() -> &'static str {
6251 "tools.ozone.moderation.defs"
6252 }
6253 fn def_name() -> &'static str {
6254 "modEventEscalate"
6255 }
6256 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6257 lexicon_doc_tools_ozone_moderation_defs()
6258 }
6259 fn validate(
6260 &self,
6261 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6262 Ok(())
6263 }
6264}
6265
6266#[jacquard_derive::lexicon]
6268#[derive(
6269 serde::Serialize,
6270 serde::Deserialize,
6271 Debug,
6272 Clone,
6273 PartialEq,
6274 Eq,
6275 jacquard_derive::IntoStatic
6276)]
6277#[serde(rename_all = "camelCase")]
6278pub struct ModEventLabel<'a> {
6279 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6280 #[serde(borrow)]
6281 pub comment: Option<jacquard_common::CowStr<'a>>,
6282 #[serde(borrow)]
6283 pub create_label_vals: Vec<jacquard_common::CowStr<'a>>,
6284 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6286 pub duration_in_hours: Option<i64>,
6287 #[serde(borrow)]
6288 pub negate_label_vals: Vec<jacquard_common::CowStr<'a>>,
6289}
6290
6291pub mod mod_event_label_state {
6292
6293 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
6294 #[allow(unused)]
6295 use ::core::marker::PhantomData;
6296 mod sealed {
6297 pub trait Sealed {}
6298 }
6299 pub trait State: sealed::Sealed {
6301 type CreateLabelVals;
6302 type NegateLabelVals;
6303 }
6304 pub struct Empty(());
6306 impl sealed::Sealed for Empty {}
6307 impl State for Empty {
6308 type CreateLabelVals = Unset;
6309 type NegateLabelVals = Unset;
6310 }
6311 pub struct SetCreateLabelVals<S: State = Empty>(PhantomData<fn() -> S>);
6313 impl<S: State> sealed::Sealed for SetCreateLabelVals<S> {}
6314 impl<S: State> State for SetCreateLabelVals<S> {
6315 type CreateLabelVals = Set<members::create_label_vals>;
6316 type NegateLabelVals = S::NegateLabelVals;
6317 }
6318 pub struct SetNegateLabelVals<S: State = Empty>(PhantomData<fn() -> S>);
6320 impl<S: State> sealed::Sealed for SetNegateLabelVals<S> {}
6321 impl<S: State> State for SetNegateLabelVals<S> {
6322 type CreateLabelVals = S::CreateLabelVals;
6323 type NegateLabelVals = Set<members::negate_label_vals>;
6324 }
6325 #[allow(non_camel_case_types)]
6327 pub mod members {
6328 pub struct create_label_vals(());
6330 pub struct negate_label_vals(());
6332 }
6333}
6334
6335pub struct ModEventLabelBuilder<'a, S: mod_event_label_state::State> {
6337 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
6338 __unsafe_private_named: (
6339 ::core::option::Option<jacquard_common::CowStr<'a>>,
6340 ::core::option::Option<Vec<jacquard_common::CowStr<'a>>>,
6341 ::core::option::Option<i64>,
6342 ::core::option::Option<Vec<jacquard_common::CowStr<'a>>>,
6343 ),
6344 _phantom: ::core::marker::PhantomData<&'a ()>,
6345}
6346
6347impl<'a> ModEventLabel<'a> {
6348 pub fn new() -> ModEventLabelBuilder<'a, mod_event_label_state::Empty> {
6350 ModEventLabelBuilder::new()
6351 }
6352}
6353
6354impl<'a> ModEventLabelBuilder<'a, mod_event_label_state::Empty> {
6355 pub fn new() -> Self {
6357 ModEventLabelBuilder {
6358 _phantom_state: ::core::marker::PhantomData,
6359 __unsafe_private_named: (None, None, None, None),
6360 _phantom: ::core::marker::PhantomData,
6361 }
6362 }
6363}
6364
6365impl<'a, S: mod_event_label_state::State> ModEventLabelBuilder<'a, S> {
6366 pub fn comment(
6368 mut self,
6369 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
6370 ) -> Self {
6371 self.__unsafe_private_named.0 = value.into();
6372 self
6373 }
6374 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
6376 self.__unsafe_private_named.0 = value;
6377 self
6378 }
6379}
6380
6381impl<'a, S> ModEventLabelBuilder<'a, S>
6382where
6383 S: mod_event_label_state::State,
6384 S::CreateLabelVals: mod_event_label_state::IsUnset,
6385{
6386 pub fn create_label_vals(
6388 mut self,
6389 value: impl Into<Vec<jacquard_common::CowStr<'a>>>,
6390 ) -> ModEventLabelBuilder<'a, mod_event_label_state::SetCreateLabelVals<S>> {
6391 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
6392 ModEventLabelBuilder {
6393 _phantom_state: ::core::marker::PhantomData,
6394 __unsafe_private_named: self.__unsafe_private_named,
6395 _phantom: ::core::marker::PhantomData,
6396 }
6397 }
6398}
6399
6400impl<'a, S: mod_event_label_state::State> ModEventLabelBuilder<'a, S> {
6401 pub fn duration_in_hours(mut self, value: impl Into<Option<i64>>) -> Self {
6403 self.__unsafe_private_named.2 = value.into();
6404 self
6405 }
6406 pub fn maybe_duration_in_hours(mut self, value: Option<i64>) -> Self {
6408 self.__unsafe_private_named.2 = value;
6409 self
6410 }
6411}
6412
6413impl<'a, S> ModEventLabelBuilder<'a, S>
6414where
6415 S: mod_event_label_state::State,
6416 S::NegateLabelVals: mod_event_label_state::IsUnset,
6417{
6418 pub fn negate_label_vals(
6420 mut self,
6421 value: impl Into<Vec<jacquard_common::CowStr<'a>>>,
6422 ) -> ModEventLabelBuilder<'a, mod_event_label_state::SetNegateLabelVals<S>> {
6423 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
6424 ModEventLabelBuilder {
6425 _phantom_state: ::core::marker::PhantomData,
6426 __unsafe_private_named: self.__unsafe_private_named,
6427 _phantom: ::core::marker::PhantomData,
6428 }
6429 }
6430}
6431
6432impl<'a, S> ModEventLabelBuilder<'a, S>
6433where
6434 S: mod_event_label_state::State,
6435 S::CreateLabelVals: mod_event_label_state::IsSet,
6436 S::NegateLabelVals: mod_event_label_state::IsSet,
6437{
6438 pub fn build(self) -> ModEventLabel<'a> {
6440 ModEventLabel {
6441 comment: self.__unsafe_private_named.0,
6442 create_label_vals: self.__unsafe_private_named.1.unwrap(),
6443 duration_in_hours: self.__unsafe_private_named.2,
6444 negate_label_vals: self.__unsafe_private_named.3.unwrap(),
6445 extra_data: Default::default(),
6446 }
6447 }
6448 pub fn build_with_data(
6450 self,
6451 extra_data: std::collections::BTreeMap<
6452 jacquard_common::smol_str::SmolStr,
6453 jacquard_common::types::value::Data<'a>,
6454 >,
6455 ) -> ModEventLabel<'a> {
6456 ModEventLabel {
6457 comment: self.__unsafe_private_named.0,
6458 create_label_vals: self.__unsafe_private_named.1.unwrap(),
6459 duration_in_hours: self.__unsafe_private_named.2,
6460 negate_label_vals: self.__unsafe_private_named.3.unwrap(),
6461 extra_data: Some(extra_data),
6462 }
6463 }
6464}
6465
6466impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventLabel<'a> {
6467 fn nsid() -> &'static str {
6468 "tools.ozone.moderation.defs"
6469 }
6470 fn def_name() -> &'static str {
6471 "modEventLabel"
6472 }
6473 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6474 lexicon_doc_tools_ozone_moderation_defs()
6475 }
6476 fn validate(
6477 &self,
6478 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6479 Ok(())
6480 }
6481}
6482
6483#[jacquard_derive::lexicon]
6485#[derive(
6486 serde::Serialize,
6487 serde::Deserialize,
6488 Debug,
6489 Clone,
6490 PartialEq,
6491 Eq,
6492 jacquard_derive::IntoStatic
6493)]
6494#[serde(rename_all = "camelCase")]
6495pub struct ModEventMute<'a> {
6496 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6497 #[serde(borrow)]
6498 pub comment: Option<jacquard_common::CowStr<'a>>,
6499 pub duration_in_hours: i64,
6501}
6502
6503pub mod mod_event_mute_state {
6504
6505 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
6506 #[allow(unused)]
6507 use ::core::marker::PhantomData;
6508 mod sealed {
6509 pub trait Sealed {}
6510 }
6511 pub trait State: sealed::Sealed {
6513 type DurationInHours;
6514 }
6515 pub struct Empty(());
6517 impl sealed::Sealed for Empty {}
6518 impl State for Empty {
6519 type DurationInHours = Unset;
6520 }
6521 pub struct SetDurationInHours<S: State = Empty>(PhantomData<fn() -> S>);
6523 impl<S: State> sealed::Sealed for SetDurationInHours<S> {}
6524 impl<S: State> State for SetDurationInHours<S> {
6525 type DurationInHours = Set<members::duration_in_hours>;
6526 }
6527 #[allow(non_camel_case_types)]
6529 pub mod members {
6530 pub struct duration_in_hours(());
6532 }
6533}
6534
6535pub struct ModEventMuteBuilder<'a, S: mod_event_mute_state::State> {
6537 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
6538 __unsafe_private_named: (
6539 ::core::option::Option<jacquard_common::CowStr<'a>>,
6540 ::core::option::Option<i64>,
6541 ),
6542 _phantom: ::core::marker::PhantomData<&'a ()>,
6543}
6544
6545impl<'a> ModEventMute<'a> {
6546 pub fn new() -> ModEventMuteBuilder<'a, mod_event_mute_state::Empty> {
6548 ModEventMuteBuilder::new()
6549 }
6550}
6551
6552impl<'a> ModEventMuteBuilder<'a, mod_event_mute_state::Empty> {
6553 pub fn new() -> Self {
6555 ModEventMuteBuilder {
6556 _phantom_state: ::core::marker::PhantomData,
6557 __unsafe_private_named: (None, None),
6558 _phantom: ::core::marker::PhantomData,
6559 }
6560 }
6561}
6562
6563impl<'a, S: mod_event_mute_state::State> ModEventMuteBuilder<'a, S> {
6564 pub fn comment(
6566 mut self,
6567 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
6568 ) -> Self {
6569 self.__unsafe_private_named.0 = value.into();
6570 self
6571 }
6572 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
6574 self.__unsafe_private_named.0 = value;
6575 self
6576 }
6577}
6578
6579impl<'a, S> ModEventMuteBuilder<'a, S>
6580where
6581 S: mod_event_mute_state::State,
6582 S::DurationInHours: mod_event_mute_state::IsUnset,
6583{
6584 pub fn duration_in_hours(
6586 mut self,
6587 value: impl Into<i64>,
6588 ) -> ModEventMuteBuilder<'a, mod_event_mute_state::SetDurationInHours<S>> {
6589 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
6590 ModEventMuteBuilder {
6591 _phantom_state: ::core::marker::PhantomData,
6592 __unsafe_private_named: self.__unsafe_private_named,
6593 _phantom: ::core::marker::PhantomData,
6594 }
6595 }
6596}
6597
6598impl<'a, S> ModEventMuteBuilder<'a, S>
6599where
6600 S: mod_event_mute_state::State,
6601 S::DurationInHours: mod_event_mute_state::IsSet,
6602{
6603 pub fn build(self) -> ModEventMute<'a> {
6605 ModEventMute {
6606 comment: self.__unsafe_private_named.0,
6607 duration_in_hours: self.__unsafe_private_named.1.unwrap(),
6608 extra_data: Default::default(),
6609 }
6610 }
6611 pub fn build_with_data(
6613 self,
6614 extra_data: std::collections::BTreeMap<
6615 jacquard_common::smol_str::SmolStr,
6616 jacquard_common::types::value::Data<'a>,
6617 >,
6618 ) -> ModEventMute<'a> {
6619 ModEventMute {
6620 comment: self.__unsafe_private_named.0,
6621 duration_in_hours: self.__unsafe_private_named.1.unwrap(),
6622 extra_data: Some(extra_data),
6623 }
6624 }
6625}
6626
6627impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventMute<'a> {
6628 fn nsid() -> &'static str {
6629 "tools.ozone.moderation.defs"
6630 }
6631 fn def_name() -> &'static str {
6632 "modEventMute"
6633 }
6634 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6635 lexicon_doc_tools_ozone_moderation_defs()
6636 }
6637 fn validate(
6638 &self,
6639 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6640 Ok(())
6641 }
6642}
6643
6644#[jacquard_derive::lexicon]
6646#[derive(
6647 serde::Serialize,
6648 serde::Deserialize,
6649 Debug,
6650 Clone,
6651 PartialEq,
6652 Eq,
6653 jacquard_derive::IntoStatic,
6654 Default
6655)]
6656#[serde(rename_all = "camelCase")]
6657pub struct ModEventMuteReporter<'a> {
6658 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6659 #[serde(borrow)]
6660 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
6661 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6663 pub duration_in_hours: std::option::Option<i64>,
6664}
6665
6666impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventMuteReporter<'a> {
6667 fn nsid() -> &'static str {
6668 "tools.ozone.moderation.defs"
6669 }
6670 fn def_name() -> &'static str {
6671 "modEventMuteReporter"
6672 }
6673 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6674 lexicon_doc_tools_ozone_moderation_defs()
6675 }
6676 fn validate(
6677 &self,
6678 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6679 Ok(())
6680 }
6681}
6682
6683#[jacquard_derive::lexicon]
6685#[derive(
6686 serde::Serialize,
6687 serde::Deserialize,
6688 Debug,
6689 Clone,
6690 PartialEq,
6691 Eq,
6692 jacquard_derive::IntoStatic
6693)]
6694#[serde(rename_all = "camelCase")]
6695pub struct ModEventPriorityScore<'a> {
6696 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6697 #[serde(borrow)]
6698 pub comment: Option<jacquard_common::CowStr<'a>>,
6699 pub score: i64,
6700}
6701
6702pub mod mod_event_priority_score_state {
6703
6704 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
6705 #[allow(unused)]
6706 use ::core::marker::PhantomData;
6707 mod sealed {
6708 pub trait Sealed {}
6709 }
6710 pub trait State: sealed::Sealed {
6712 type Score;
6713 }
6714 pub struct Empty(());
6716 impl sealed::Sealed for Empty {}
6717 impl State for Empty {
6718 type Score = Unset;
6719 }
6720 pub struct SetScore<S: State = Empty>(PhantomData<fn() -> S>);
6722 impl<S: State> sealed::Sealed for SetScore<S> {}
6723 impl<S: State> State for SetScore<S> {
6724 type Score = Set<members::score>;
6725 }
6726 #[allow(non_camel_case_types)]
6728 pub mod members {
6729 pub struct score(());
6731 }
6732}
6733
6734pub struct ModEventPriorityScoreBuilder<'a, S: mod_event_priority_score_state::State> {
6736 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
6737 __unsafe_private_named: (
6738 ::core::option::Option<jacquard_common::CowStr<'a>>,
6739 ::core::option::Option<i64>,
6740 ),
6741 _phantom: ::core::marker::PhantomData<&'a ()>,
6742}
6743
6744impl<'a> ModEventPriorityScore<'a> {
6745 pub fn new() -> ModEventPriorityScoreBuilder<
6747 'a,
6748 mod_event_priority_score_state::Empty,
6749 > {
6750 ModEventPriorityScoreBuilder::new()
6751 }
6752}
6753
6754impl<'a> ModEventPriorityScoreBuilder<'a, mod_event_priority_score_state::Empty> {
6755 pub fn new() -> Self {
6757 ModEventPriorityScoreBuilder {
6758 _phantom_state: ::core::marker::PhantomData,
6759 __unsafe_private_named: (None, None),
6760 _phantom: ::core::marker::PhantomData,
6761 }
6762 }
6763}
6764
6765impl<'a, S: mod_event_priority_score_state::State> ModEventPriorityScoreBuilder<'a, S> {
6766 pub fn comment(
6768 mut self,
6769 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
6770 ) -> Self {
6771 self.__unsafe_private_named.0 = value.into();
6772 self
6773 }
6774 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
6776 self.__unsafe_private_named.0 = value;
6777 self
6778 }
6779}
6780
6781impl<'a, S> ModEventPriorityScoreBuilder<'a, S>
6782where
6783 S: mod_event_priority_score_state::State,
6784 S::Score: mod_event_priority_score_state::IsUnset,
6785{
6786 pub fn score(
6788 mut self,
6789 value: impl Into<i64>,
6790 ) -> ModEventPriorityScoreBuilder<'a, mod_event_priority_score_state::SetScore<S>> {
6791 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
6792 ModEventPriorityScoreBuilder {
6793 _phantom_state: ::core::marker::PhantomData,
6794 __unsafe_private_named: self.__unsafe_private_named,
6795 _phantom: ::core::marker::PhantomData,
6796 }
6797 }
6798}
6799
6800impl<'a, S> ModEventPriorityScoreBuilder<'a, S>
6801where
6802 S: mod_event_priority_score_state::State,
6803 S::Score: mod_event_priority_score_state::IsSet,
6804{
6805 pub fn build(self) -> ModEventPriorityScore<'a> {
6807 ModEventPriorityScore {
6808 comment: self.__unsafe_private_named.0,
6809 score: self.__unsafe_private_named.1.unwrap(),
6810 extra_data: Default::default(),
6811 }
6812 }
6813 pub fn build_with_data(
6815 self,
6816 extra_data: std::collections::BTreeMap<
6817 jacquard_common::smol_str::SmolStr,
6818 jacquard_common::types::value::Data<'a>,
6819 >,
6820 ) -> ModEventPriorityScore<'a> {
6821 ModEventPriorityScore {
6822 comment: self.__unsafe_private_named.0,
6823 score: self.__unsafe_private_named.1.unwrap(),
6824 extra_data: Some(extra_data),
6825 }
6826 }
6827}
6828
6829impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventPriorityScore<'a> {
6830 fn nsid() -> &'static str {
6831 "tools.ozone.moderation.defs"
6832 }
6833 fn def_name() -> &'static str {
6834 "modEventPriorityScore"
6835 }
6836 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
6837 lexicon_doc_tools_ozone_moderation_defs()
6838 }
6839 fn validate(
6840 &self,
6841 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
6842 {
6843 let value = &self.score;
6844 if *value > 100i64 {
6845 return Err(::jacquard_lexicon::validation::ConstraintError::Maximum {
6846 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
6847 "score",
6848 ),
6849 max: 100i64,
6850 actual: *value,
6851 });
6852 }
6853 }
6854 {
6855 let value = &self.score;
6856 if *value < 0i64 {
6857 return Err(::jacquard_lexicon::validation::ConstraintError::Minimum {
6858 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
6859 "score",
6860 ),
6861 min: 0i64,
6862 actual: *value,
6863 });
6864 }
6865 }
6866 Ok(())
6867 }
6868}
6869
6870#[jacquard_derive::lexicon]
6872#[derive(
6873 serde::Serialize,
6874 serde::Deserialize,
6875 Debug,
6876 Clone,
6877 PartialEq,
6878 Eq,
6879 jacquard_derive::IntoStatic
6880)]
6881#[serde(rename_all = "camelCase")]
6882pub struct ModEventReport<'a> {
6883 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6884 #[serde(borrow)]
6885 pub comment: Option<jacquard_common::CowStr<'a>>,
6886 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6888 pub is_reporter_muted: Option<bool>,
6889 #[serde(borrow)]
6890 pub report_type: crate::com_atproto::moderation::ReasonType<'a>,
6891}
6892
6893pub mod mod_event_report_state {
6894
6895 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
6896 #[allow(unused)]
6897 use ::core::marker::PhantomData;
6898 mod sealed {
6899 pub trait Sealed {}
6900 }
6901 pub trait State: sealed::Sealed {
6903 type ReportType;
6904 }
6905 pub struct Empty(());
6907 impl sealed::Sealed for Empty {}
6908 impl State for Empty {
6909 type ReportType = Unset;
6910 }
6911 pub struct SetReportType<S: State = Empty>(PhantomData<fn() -> S>);
6913 impl<S: State> sealed::Sealed for SetReportType<S> {}
6914 impl<S: State> State for SetReportType<S> {
6915 type ReportType = Set<members::report_type>;
6916 }
6917 #[allow(non_camel_case_types)]
6919 pub mod members {
6920 pub struct report_type(());
6922 }
6923}
6924
6925pub struct ModEventReportBuilder<'a, S: mod_event_report_state::State> {
6927 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
6928 __unsafe_private_named: (
6929 ::core::option::Option<jacquard_common::CowStr<'a>>,
6930 ::core::option::Option<bool>,
6931 ::core::option::Option<crate::com_atproto::moderation::ReasonType<'a>>,
6932 ),
6933 _phantom: ::core::marker::PhantomData<&'a ()>,
6934}
6935
6936impl<'a> ModEventReport<'a> {
6937 pub fn new() -> ModEventReportBuilder<'a, mod_event_report_state::Empty> {
6939 ModEventReportBuilder::new()
6940 }
6941}
6942
6943impl<'a> ModEventReportBuilder<'a, mod_event_report_state::Empty> {
6944 pub fn new() -> Self {
6946 ModEventReportBuilder {
6947 _phantom_state: ::core::marker::PhantomData,
6948 __unsafe_private_named: (None, None, None),
6949 _phantom: ::core::marker::PhantomData,
6950 }
6951 }
6952}
6953
6954impl<'a, S: mod_event_report_state::State> ModEventReportBuilder<'a, S> {
6955 pub fn comment(
6957 mut self,
6958 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
6959 ) -> Self {
6960 self.__unsafe_private_named.0 = value.into();
6961 self
6962 }
6963 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
6965 self.__unsafe_private_named.0 = value;
6966 self
6967 }
6968}
6969
6970impl<'a, S: mod_event_report_state::State> ModEventReportBuilder<'a, S> {
6971 pub fn is_reporter_muted(mut self, value: impl Into<Option<bool>>) -> Self {
6973 self.__unsafe_private_named.1 = value.into();
6974 self
6975 }
6976 pub fn maybe_is_reporter_muted(mut self, value: Option<bool>) -> Self {
6978 self.__unsafe_private_named.1 = value;
6979 self
6980 }
6981}
6982
6983impl<'a, S> ModEventReportBuilder<'a, S>
6984where
6985 S: mod_event_report_state::State,
6986 S::ReportType: mod_event_report_state::IsUnset,
6987{
6988 pub fn report_type(
6990 mut self,
6991 value: impl Into<crate::com_atproto::moderation::ReasonType<'a>>,
6992 ) -> ModEventReportBuilder<'a, mod_event_report_state::SetReportType<S>> {
6993 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
6994 ModEventReportBuilder {
6995 _phantom_state: ::core::marker::PhantomData,
6996 __unsafe_private_named: self.__unsafe_private_named,
6997 _phantom: ::core::marker::PhantomData,
6998 }
6999 }
7000}
7001
7002impl<'a, S> ModEventReportBuilder<'a, S>
7003where
7004 S: mod_event_report_state::State,
7005 S::ReportType: mod_event_report_state::IsSet,
7006{
7007 pub fn build(self) -> ModEventReport<'a> {
7009 ModEventReport {
7010 comment: self.__unsafe_private_named.0,
7011 is_reporter_muted: self.__unsafe_private_named.1,
7012 report_type: self.__unsafe_private_named.2.unwrap(),
7013 extra_data: Default::default(),
7014 }
7015 }
7016 pub fn build_with_data(
7018 self,
7019 extra_data: std::collections::BTreeMap<
7020 jacquard_common::smol_str::SmolStr,
7021 jacquard_common::types::value::Data<'a>,
7022 >,
7023 ) -> ModEventReport<'a> {
7024 ModEventReport {
7025 comment: self.__unsafe_private_named.0,
7026 is_reporter_muted: self.__unsafe_private_named.1,
7027 report_type: self.__unsafe_private_named.2.unwrap(),
7028 extra_data: Some(extra_data),
7029 }
7030 }
7031}
7032
7033impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventReport<'a> {
7034 fn nsid() -> &'static str {
7035 "tools.ozone.moderation.defs"
7036 }
7037 fn def_name() -> &'static str {
7038 "modEventReport"
7039 }
7040 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7041 lexicon_doc_tools_ozone_moderation_defs()
7042 }
7043 fn validate(
7044 &self,
7045 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7046 Ok(())
7047 }
7048}
7049
7050#[jacquard_derive::lexicon]
7052#[derive(
7053 serde::Serialize,
7054 serde::Deserialize,
7055 Debug,
7056 Clone,
7057 PartialEq,
7058 Eq,
7059 jacquard_derive::IntoStatic,
7060 Default
7061)]
7062#[serde(rename_all = "camelCase")]
7063pub struct ModEventResolveAppeal<'a> {
7064 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7066 #[serde(borrow)]
7067 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
7068}
7069
7070impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventResolveAppeal<'a> {
7071 fn nsid() -> &'static str {
7072 "tools.ozone.moderation.defs"
7073 }
7074 fn def_name() -> &'static str {
7075 "modEventResolveAppeal"
7076 }
7077 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7078 lexicon_doc_tools_ozone_moderation_defs()
7079 }
7080 fn validate(
7081 &self,
7082 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7083 Ok(())
7084 }
7085}
7086
7087#[jacquard_derive::lexicon]
7089#[derive(
7090 serde::Serialize,
7091 serde::Deserialize,
7092 Debug,
7093 Clone,
7094 PartialEq,
7095 Eq,
7096 jacquard_derive::IntoStatic,
7097 Default
7098)]
7099#[serde(rename_all = "camelCase")]
7100pub struct ModEventReverseTakedown<'a> {
7101 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7103 #[serde(borrow)]
7104 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
7105 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7107 #[serde(borrow)]
7108 pub policies: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
7109 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7111 #[serde(borrow)]
7112 pub severity_level: std::option::Option<jacquard_common::CowStr<'a>>,
7113 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7115 pub strike_count: std::option::Option<i64>,
7116}
7117
7118impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventReverseTakedown<'a> {
7119 fn nsid() -> &'static str {
7120 "tools.ozone.moderation.defs"
7121 }
7122 fn def_name() -> &'static str {
7123 "modEventReverseTakedown"
7124 }
7125 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7126 lexicon_doc_tools_ozone_moderation_defs()
7127 }
7128 fn validate(
7129 &self,
7130 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7131 if let Some(ref value) = self.policies {
7132 #[allow(unused_comparisons)]
7133 if value.len() > 5usize {
7134 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength {
7135 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
7136 "policies",
7137 ),
7138 max: 5usize,
7139 actual: value.len(),
7140 });
7141 }
7142 }
7143 Ok(())
7144 }
7145}
7146
7147#[jacquard_derive::lexicon]
7149#[derive(
7150 serde::Serialize,
7151 serde::Deserialize,
7152 Debug,
7153 Clone,
7154 PartialEq,
7155 Eq,
7156 jacquard_derive::IntoStatic
7157)]
7158#[serde(rename_all = "camelCase")]
7159pub struct ModEventTag<'a> {
7160 #[serde(borrow)]
7162 pub add: Vec<jacquard_common::CowStr<'a>>,
7163 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7165 #[serde(borrow)]
7166 pub comment: Option<jacquard_common::CowStr<'a>>,
7167 #[serde(borrow)]
7169 pub remove: Vec<jacquard_common::CowStr<'a>>,
7170}
7171
7172pub mod mod_event_tag_state {
7173
7174 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
7175 #[allow(unused)]
7176 use ::core::marker::PhantomData;
7177 mod sealed {
7178 pub trait Sealed {}
7179 }
7180 pub trait State: sealed::Sealed {
7182 type Add;
7183 type Remove;
7184 }
7185 pub struct Empty(());
7187 impl sealed::Sealed for Empty {}
7188 impl State for Empty {
7189 type Add = Unset;
7190 type Remove = Unset;
7191 }
7192 pub struct SetAdd<S: State = Empty>(PhantomData<fn() -> S>);
7194 impl<S: State> sealed::Sealed for SetAdd<S> {}
7195 impl<S: State> State for SetAdd<S> {
7196 type Add = Set<members::add>;
7197 type Remove = S::Remove;
7198 }
7199 pub struct SetRemove<S: State = Empty>(PhantomData<fn() -> S>);
7201 impl<S: State> sealed::Sealed for SetRemove<S> {}
7202 impl<S: State> State for SetRemove<S> {
7203 type Add = S::Add;
7204 type Remove = Set<members::remove>;
7205 }
7206 #[allow(non_camel_case_types)]
7208 pub mod members {
7209 pub struct add(());
7211 pub struct remove(());
7213 }
7214}
7215
7216pub struct ModEventTagBuilder<'a, S: mod_event_tag_state::State> {
7218 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
7219 __unsafe_private_named: (
7220 ::core::option::Option<Vec<jacquard_common::CowStr<'a>>>,
7221 ::core::option::Option<jacquard_common::CowStr<'a>>,
7222 ::core::option::Option<Vec<jacquard_common::CowStr<'a>>>,
7223 ),
7224 _phantom: ::core::marker::PhantomData<&'a ()>,
7225}
7226
7227impl<'a> ModEventTag<'a> {
7228 pub fn new() -> ModEventTagBuilder<'a, mod_event_tag_state::Empty> {
7230 ModEventTagBuilder::new()
7231 }
7232}
7233
7234impl<'a> ModEventTagBuilder<'a, mod_event_tag_state::Empty> {
7235 pub fn new() -> Self {
7237 ModEventTagBuilder {
7238 _phantom_state: ::core::marker::PhantomData,
7239 __unsafe_private_named: (None, None, None),
7240 _phantom: ::core::marker::PhantomData,
7241 }
7242 }
7243}
7244
7245impl<'a, S> ModEventTagBuilder<'a, S>
7246where
7247 S: mod_event_tag_state::State,
7248 S::Add: mod_event_tag_state::IsUnset,
7249{
7250 pub fn add(
7252 mut self,
7253 value: impl Into<Vec<jacquard_common::CowStr<'a>>>,
7254 ) -> ModEventTagBuilder<'a, mod_event_tag_state::SetAdd<S>> {
7255 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
7256 ModEventTagBuilder {
7257 _phantom_state: ::core::marker::PhantomData,
7258 __unsafe_private_named: self.__unsafe_private_named,
7259 _phantom: ::core::marker::PhantomData,
7260 }
7261 }
7262}
7263
7264impl<'a, S: mod_event_tag_state::State> ModEventTagBuilder<'a, S> {
7265 pub fn comment(
7267 mut self,
7268 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
7269 ) -> Self {
7270 self.__unsafe_private_named.1 = value.into();
7271 self
7272 }
7273 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
7275 self.__unsafe_private_named.1 = value;
7276 self
7277 }
7278}
7279
7280impl<'a, S> ModEventTagBuilder<'a, S>
7281where
7282 S: mod_event_tag_state::State,
7283 S::Remove: mod_event_tag_state::IsUnset,
7284{
7285 pub fn remove(
7287 mut self,
7288 value: impl Into<Vec<jacquard_common::CowStr<'a>>>,
7289 ) -> ModEventTagBuilder<'a, mod_event_tag_state::SetRemove<S>> {
7290 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
7291 ModEventTagBuilder {
7292 _phantom_state: ::core::marker::PhantomData,
7293 __unsafe_private_named: self.__unsafe_private_named,
7294 _phantom: ::core::marker::PhantomData,
7295 }
7296 }
7297}
7298
7299impl<'a, S> ModEventTagBuilder<'a, S>
7300where
7301 S: mod_event_tag_state::State,
7302 S::Add: mod_event_tag_state::IsSet,
7303 S::Remove: mod_event_tag_state::IsSet,
7304{
7305 pub fn build(self) -> ModEventTag<'a> {
7307 ModEventTag {
7308 add: self.__unsafe_private_named.0.unwrap(),
7309 comment: self.__unsafe_private_named.1,
7310 remove: self.__unsafe_private_named.2.unwrap(),
7311 extra_data: Default::default(),
7312 }
7313 }
7314 pub fn build_with_data(
7316 self,
7317 extra_data: std::collections::BTreeMap<
7318 jacquard_common::smol_str::SmolStr,
7319 jacquard_common::types::value::Data<'a>,
7320 >,
7321 ) -> ModEventTag<'a> {
7322 ModEventTag {
7323 add: self.__unsafe_private_named.0.unwrap(),
7324 comment: self.__unsafe_private_named.1,
7325 remove: self.__unsafe_private_named.2.unwrap(),
7326 extra_data: Some(extra_data),
7327 }
7328 }
7329}
7330
7331impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventTag<'a> {
7332 fn nsid() -> &'static str {
7333 "tools.ozone.moderation.defs"
7334 }
7335 fn def_name() -> &'static str {
7336 "modEventTag"
7337 }
7338 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7339 lexicon_doc_tools_ozone_moderation_defs()
7340 }
7341 fn validate(
7342 &self,
7343 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7344 Ok(())
7345 }
7346}
7347
7348#[jacquard_derive::lexicon]
7350#[derive(
7351 serde::Serialize,
7352 serde::Deserialize,
7353 Debug,
7354 Clone,
7355 PartialEq,
7356 Eq,
7357 jacquard_derive::IntoStatic,
7358 Default
7359)]
7360#[serde(rename_all = "camelCase")]
7361pub struct ModEventTakedown<'a> {
7362 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7364 pub acknowledge_account_subjects: std::option::Option<bool>,
7365 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7366 #[serde(borrow)]
7367 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
7368 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7370 pub duration_in_hours: std::option::Option<i64>,
7371 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7373 #[serde(borrow)]
7374 pub policies: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
7375 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7377 #[serde(borrow)]
7378 pub severity_level: std::option::Option<jacquard_common::CowStr<'a>>,
7379 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7381 pub strike_count: std::option::Option<i64>,
7382 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7384 pub strike_expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
7385}
7386
7387impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventTakedown<'a> {
7388 fn nsid() -> &'static str {
7389 "tools.ozone.moderation.defs"
7390 }
7391 fn def_name() -> &'static str {
7392 "modEventTakedown"
7393 }
7394 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7395 lexicon_doc_tools_ozone_moderation_defs()
7396 }
7397 fn validate(
7398 &self,
7399 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7400 if let Some(ref value) = self.policies {
7401 #[allow(unused_comparisons)]
7402 if value.len() > 5usize {
7403 return Err(::jacquard_lexicon::validation::ConstraintError::MaxLength {
7404 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
7405 "policies",
7406 ),
7407 max: 5usize,
7408 actual: value.len(),
7409 });
7410 }
7411 }
7412 Ok(())
7413 }
7414}
7415
7416#[jacquard_derive::lexicon]
7418#[derive(
7419 serde::Serialize,
7420 serde::Deserialize,
7421 Debug,
7422 Clone,
7423 PartialEq,
7424 Eq,
7425 jacquard_derive::IntoStatic,
7426 Default
7427)]
7428#[serde(rename_all = "camelCase")]
7429pub struct ModEventUnmute<'a> {
7430 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7432 #[serde(borrow)]
7433 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
7434}
7435
7436impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventUnmute<'a> {
7437 fn nsid() -> &'static str {
7438 "tools.ozone.moderation.defs"
7439 }
7440 fn def_name() -> &'static str {
7441 "modEventUnmute"
7442 }
7443 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7444 lexicon_doc_tools_ozone_moderation_defs()
7445 }
7446 fn validate(
7447 &self,
7448 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7449 Ok(())
7450 }
7451}
7452
7453#[jacquard_derive::lexicon]
7455#[derive(
7456 serde::Serialize,
7457 serde::Deserialize,
7458 Debug,
7459 Clone,
7460 PartialEq,
7461 Eq,
7462 jacquard_derive::IntoStatic,
7463 Default
7464)]
7465#[serde(rename_all = "camelCase")]
7466pub struct ModEventUnmuteReporter<'a> {
7467 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7469 #[serde(borrow)]
7470 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
7471}
7472
7473impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventUnmuteReporter<'a> {
7474 fn nsid() -> &'static str {
7475 "tools.ozone.moderation.defs"
7476 }
7477 fn def_name() -> &'static str {
7478 "modEventUnmuteReporter"
7479 }
7480 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
7481 lexicon_doc_tools_ozone_moderation_defs()
7482 }
7483 fn validate(
7484 &self,
7485 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
7486 Ok(())
7487 }
7488}
7489
7490#[jacquard_derive::lexicon]
7491#[derive(
7492 serde::Serialize,
7493 serde::Deserialize,
7494 Debug,
7495 Clone,
7496 PartialEq,
7497 Eq,
7498 jacquard_derive::IntoStatic
7499)]
7500#[serde(rename_all = "camelCase")]
7501pub struct ModEventView<'a> {
7502 pub created_at: jacquard_common::types::string::Datetime,
7503 #[serde(borrow)]
7504 pub created_by: jacquard_common::types::string::Did<'a>,
7505 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7506 #[serde(borrow)]
7507 pub creator_handle: Option<jacquard_common::CowStr<'a>>,
7508 #[serde(borrow)]
7509 pub event: ModEventViewEvent<'a>,
7510 pub id: i64,
7511 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7512 #[serde(borrow)]
7513 pub mod_tool: Option<crate::tools_ozone::moderation::ModTool<'a>>,
7514 #[serde(borrow)]
7515 pub subject: ModEventViewSubject<'a>,
7516 #[serde(borrow)]
7517 pub subject_blob_cids: Vec<jacquard_common::CowStr<'a>>,
7518 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7519 #[serde(borrow)]
7520 pub subject_handle: Option<jacquard_common::CowStr<'a>>,
7521}
7522
7523pub mod mod_event_view_state {
7524
7525 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
7526 #[allow(unused)]
7527 use ::core::marker::PhantomData;
7528 mod sealed {
7529 pub trait Sealed {}
7530 }
7531 pub trait State: sealed::Sealed {
7533 type Id;
7534 type Event;
7535 type Subject;
7536 type SubjectBlobCids;
7537 type CreatedBy;
7538 type CreatedAt;
7539 }
7540 pub struct Empty(());
7542 impl sealed::Sealed for Empty {}
7543 impl State for Empty {
7544 type Id = Unset;
7545 type Event = Unset;
7546 type Subject = Unset;
7547 type SubjectBlobCids = Unset;
7548 type CreatedBy = Unset;
7549 type CreatedAt = Unset;
7550 }
7551 pub struct SetId<S: State = Empty>(PhantomData<fn() -> S>);
7553 impl<S: State> sealed::Sealed for SetId<S> {}
7554 impl<S: State> State for SetId<S> {
7555 type Id = Set<members::id>;
7556 type Event = S::Event;
7557 type Subject = S::Subject;
7558 type SubjectBlobCids = S::SubjectBlobCids;
7559 type CreatedBy = S::CreatedBy;
7560 type CreatedAt = S::CreatedAt;
7561 }
7562 pub struct SetEvent<S: State = Empty>(PhantomData<fn() -> S>);
7564 impl<S: State> sealed::Sealed for SetEvent<S> {}
7565 impl<S: State> State for SetEvent<S> {
7566 type Id = S::Id;
7567 type Event = Set<members::event>;
7568 type Subject = S::Subject;
7569 type SubjectBlobCids = S::SubjectBlobCids;
7570 type CreatedBy = S::CreatedBy;
7571 type CreatedAt = S::CreatedAt;
7572 }
7573 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
7575 impl<S: State> sealed::Sealed for SetSubject<S> {}
7576 impl<S: State> State for SetSubject<S> {
7577 type Id = S::Id;
7578 type Event = S::Event;
7579 type Subject = Set<members::subject>;
7580 type SubjectBlobCids = S::SubjectBlobCids;
7581 type CreatedBy = S::CreatedBy;
7582 type CreatedAt = S::CreatedAt;
7583 }
7584 pub struct SetSubjectBlobCids<S: State = Empty>(PhantomData<fn() -> S>);
7586 impl<S: State> sealed::Sealed for SetSubjectBlobCids<S> {}
7587 impl<S: State> State for SetSubjectBlobCids<S> {
7588 type Id = S::Id;
7589 type Event = S::Event;
7590 type Subject = S::Subject;
7591 type SubjectBlobCids = Set<members::subject_blob_cids>;
7592 type CreatedBy = S::CreatedBy;
7593 type CreatedAt = S::CreatedAt;
7594 }
7595 pub struct SetCreatedBy<S: State = Empty>(PhantomData<fn() -> S>);
7597 impl<S: State> sealed::Sealed for SetCreatedBy<S> {}
7598 impl<S: State> State for SetCreatedBy<S> {
7599 type Id = S::Id;
7600 type Event = S::Event;
7601 type Subject = S::Subject;
7602 type SubjectBlobCids = S::SubjectBlobCids;
7603 type CreatedBy = Set<members::created_by>;
7604 type CreatedAt = S::CreatedAt;
7605 }
7606 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
7608 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
7609 impl<S: State> State for SetCreatedAt<S> {
7610 type Id = S::Id;
7611 type Event = S::Event;
7612 type Subject = S::Subject;
7613 type SubjectBlobCids = S::SubjectBlobCids;
7614 type CreatedBy = S::CreatedBy;
7615 type CreatedAt = Set<members::created_at>;
7616 }
7617 #[allow(non_camel_case_types)]
7619 pub mod members {
7620 pub struct id(());
7622 pub struct event(());
7624 pub struct subject(());
7626 pub struct subject_blob_cids(());
7628 pub struct created_by(());
7630 pub struct created_at(());
7632 }
7633}
7634
7635pub struct ModEventViewBuilder<'a, S: mod_event_view_state::State> {
7637 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
7638 __unsafe_private_named: (
7639 ::core::option::Option<jacquard_common::types::string::Datetime>,
7640 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
7641 ::core::option::Option<jacquard_common::CowStr<'a>>,
7642 ::core::option::Option<ModEventViewEvent<'a>>,
7643 ::core::option::Option<i64>,
7644 ::core::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
7645 ::core::option::Option<ModEventViewSubject<'a>>,
7646 ::core::option::Option<Vec<jacquard_common::CowStr<'a>>>,
7647 ::core::option::Option<jacquard_common::CowStr<'a>>,
7648 ),
7649 _phantom: ::core::marker::PhantomData<&'a ()>,
7650}
7651
7652impl<'a> ModEventView<'a> {
7653 pub fn new() -> ModEventViewBuilder<'a, mod_event_view_state::Empty> {
7655 ModEventViewBuilder::new()
7656 }
7657}
7658
7659impl<'a> ModEventViewBuilder<'a, mod_event_view_state::Empty> {
7660 pub fn new() -> Self {
7662 ModEventViewBuilder {
7663 _phantom_state: ::core::marker::PhantomData,
7664 __unsafe_private_named: (
7665 None,
7666 None,
7667 None,
7668 None,
7669 None,
7670 None,
7671 None,
7672 None,
7673 None,
7674 ),
7675 _phantom: ::core::marker::PhantomData,
7676 }
7677 }
7678}
7679
7680impl<'a, S> ModEventViewBuilder<'a, S>
7681where
7682 S: mod_event_view_state::State,
7683 S::CreatedAt: mod_event_view_state::IsUnset,
7684{
7685 pub fn created_at(
7687 mut self,
7688 value: impl Into<jacquard_common::types::string::Datetime>,
7689 ) -> ModEventViewBuilder<'a, mod_event_view_state::SetCreatedAt<S>> {
7690 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
7691 ModEventViewBuilder {
7692 _phantom_state: ::core::marker::PhantomData,
7693 __unsafe_private_named: self.__unsafe_private_named,
7694 _phantom: ::core::marker::PhantomData,
7695 }
7696 }
7697}
7698
7699impl<'a, S> ModEventViewBuilder<'a, S>
7700where
7701 S: mod_event_view_state::State,
7702 S::CreatedBy: mod_event_view_state::IsUnset,
7703{
7704 pub fn created_by(
7706 mut self,
7707 value: impl Into<jacquard_common::types::string::Did<'a>>,
7708 ) -> ModEventViewBuilder<'a, mod_event_view_state::SetCreatedBy<S>> {
7709 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
7710 ModEventViewBuilder {
7711 _phantom_state: ::core::marker::PhantomData,
7712 __unsafe_private_named: self.__unsafe_private_named,
7713 _phantom: ::core::marker::PhantomData,
7714 }
7715 }
7716}
7717
7718impl<'a, S: mod_event_view_state::State> ModEventViewBuilder<'a, S> {
7719 pub fn creator_handle(
7721 mut self,
7722 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
7723 ) -> Self {
7724 self.__unsafe_private_named.2 = value.into();
7725 self
7726 }
7727 pub fn maybe_creator_handle(
7729 mut self,
7730 value: Option<jacquard_common::CowStr<'a>>,
7731 ) -> Self {
7732 self.__unsafe_private_named.2 = value;
7733 self
7734 }
7735}
7736
7737impl<'a, S> ModEventViewBuilder<'a, S>
7738where
7739 S: mod_event_view_state::State,
7740 S::Event: mod_event_view_state::IsUnset,
7741{
7742 pub fn event(
7744 mut self,
7745 value: impl Into<ModEventViewEvent<'a>>,
7746 ) -> ModEventViewBuilder<'a, mod_event_view_state::SetEvent<S>> {
7747 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
7748 ModEventViewBuilder {
7749 _phantom_state: ::core::marker::PhantomData,
7750 __unsafe_private_named: self.__unsafe_private_named,
7751 _phantom: ::core::marker::PhantomData,
7752 }
7753 }
7754}
7755
7756impl<'a, S> ModEventViewBuilder<'a, S>
7757where
7758 S: mod_event_view_state::State,
7759 S::Id: mod_event_view_state::IsUnset,
7760{
7761 pub fn id(
7763 mut self,
7764 value: impl Into<i64>,
7765 ) -> ModEventViewBuilder<'a, mod_event_view_state::SetId<S>> {
7766 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
7767 ModEventViewBuilder {
7768 _phantom_state: ::core::marker::PhantomData,
7769 __unsafe_private_named: self.__unsafe_private_named,
7770 _phantom: ::core::marker::PhantomData,
7771 }
7772 }
7773}
7774
7775impl<'a, S: mod_event_view_state::State> ModEventViewBuilder<'a, S> {
7776 pub fn mod_tool(
7778 mut self,
7779 value: impl Into<Option<crate::tools_ozone::moderation::ModTool<'a>>>,
7780 ) -> Self {
7781 self.__unsafe_private_named.5 = value.into();
7782 self
7783 }
7784 pub fn maybe_mod_tool(
7786 mut self,
7787 value: Option<crate::tools_ozone::moderation::ModTool<'a>>,
7788 ) -> Self {
7789 self.__unsafe_private_named.5 = value;
7790 self
7791 }
7792}
7793
7794impl<'a, S> ModEventViewBuilder<'a, S>
7795where
7796 S: mod_event_view_state::State,
7797 S::Subject: mod_event_view_state::IsUnset,
7798{
7799 pub fn subject(
7801 mut self,
7802 value: impl Into<ModEventViewSubject<'a>>,
7803 ) -> ModEventViewBuilder<'a, mod_event_view_state::SetSubject<S>> {
7804 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
7805 ModEventViewBuilder {
7806 _phantom_state: ::core::marker::PhantomData,
7807 __unsafe_private_named: self.__unsafe_private_named,
7808 _phantom: ::core::marker::PhantomData,
7809 }
7810 }
7811}
7812
7813impl<'a, S> ModEventViewBuilder<'a, S>
7814where
7815 S: mod_event_view_state::State,
7816 S::SubjectBlobCids: mod_event_view_state::IsUnset,
7817{
7818 pub fn subject_blob_cids(
7820 mut self,
7821 value: impl Into<Vec<jacquard_common::CowStr<'a>>>,
7822 ) -> ModEventViewBuilder<'a, mod_event_view_state::SetSubjectBlobCids<S>> {
7823 self.__unsafe_private_named.7 = ::core::option::Option::Some(value.into());
7824 ModEventViewBuilder {
7825 _phantom_state: ::core::marker::PhantomData,
7826 __unsafe_private_named: self.__unsafe_private_named,
7827 _phantom: ::core::marker::PhantomData,
7828 }
7829 }
7830}
7831
7832impl<'a, S: mod_event_view_state::State> ModEventViewBuilder<'a, S> {
7833 pub fn subject_handle(
7835 mut self,
7836 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
7837 ) -> Self {
7838 self.__unsafe_private_named.8 = value.into();
7839 self
7840 }
7841 pub fn maybe_subject_handle(
7843 mut self,
7844 value: Option<jacquard_common::CowStr<'a>>,
7845 ) -> Self {
7846 self.__unsafe_private_named.8 = value;
7847 self
7848 }
7849}
7850
7851impl<'a, S> ModEventViewBuilder<'a, S>
7852where
7853 S: mod_event_view_state::State,
7854 S::Id: mod_event_view_state::IsSet,
7855 S::Event: mod_event_view_state::IsSet,
7856 S::Subject: mod_event_view_state::IsSet,
7857 S::SubjectBlobCids: mod_event_view_state::IsSet,
7858 S::CreatedBy: mod_event_view_state::IsSet,
7859 S::CreatedAt: mod_event_view_state::IsSet,
7860{
7861 pub fn build(self) -> ModEventView<'a> {
7863 ModEventView {
7864 created_at: self.__unsafe_private_named.0.unwrap(),
7865 created_by: self.__unsafe_private_named.1.unwrap(),
7866 creator_handle: self.__unsafe_private_named.2,
7867 event: self.__unsafe_private_named.3.unwrap(),
7868 id: self.__unsafe_private_named.4.unwrap(),
7869 mod_tool: self.__unsafe_private_named.5,
7870 subject: self.__unsafe_private_named.6.unwrap(),
7871 subject_blob_cids: self.__unsafe_private_named.7.unwrap(),
7872 subject_handle: self.__unsafe_private_named.8,
7873 extra_data: Default::default(),
7874 }
7875 }
7876 pub fn build_with_data(
7878 self,
7879 extra_data: std::collections::BTreeMap<
7880 jacquard_common::smol_str::SmolStr,
7881 jacquard_common::types::value::Data<'a>,
7882 >,
7883 ) -> ModEventView<'a> {
7884 ModEventView {
7885 created_at: self.__unsafe_private_named.0.unwrap(),
7886 created_by: self.__unsafe_private_named.1.unwrap(),
7887 creator_handle: self.__unsafe_private_named.2,
7888 event: self.__unsafe_private_named.3.unwrap(),
7889 id: self.__unsafe_private_named.4.unwrap(),
7890 mod_tool: self.__unsafe_private_named.5,
7891 subject: self.__unsafe_private_named.6.unwrap(),
7892 subject_blob_cids: self.__unsafe_private_named.7.unwrap(),
7893 subject_handle: self.__unsafe_private_named.8,
7894 extra_data: Some(extra_data),
7895 }
7896 }
7897}
7898
7899#[jacquard_derive::open_union]
7900#[derive(
7901 serde::Serialize,
7902 serde::Deserialize,
7903 Debug,
7904 Clone,
7905 PartialEq,
7906 Eq,
7907 jacquard_derive::IntoStatic
7908)]
7909#[serde(tag = "$type")]
7910#[serde(bound(deserialize = "'de: 'a"))]
7911pub enum ModEventViewEvent<'a> {
7912 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
7913 ModEventTakedown(Box<crate::tools_ozone::moderation::ModEventTakedown<'a>>),
7914 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
7915 ModEventReverseTakedown(
7916 Box<crate::tools_ozone::moderation::ModEventReverseTakedown<'a>>,
7917 ),
7918 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
7919 ModEventComment(Box<crate::tools_ozone::moderation::ModEventComment<'a>>),
7920 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
7921 ModEventReport(Box<crate::tools_ozone::moderation::ModEventReport<'a>>),
7922 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
7923 ModEventLabel(Box<crate::tools_ozone::moderation::ModEventLabel<'a>>),
7924 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
7925 ModEventAcknowledge(Box<crate::tools_ozone::moderation::ModEventAcknowledge<'a>>),
7926 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
7927 ModEventEscalate(Box<crate::tools_ozone::moderation::ModEventEscalate<'a>>),
7928 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
7929 ModEventMute(Box<crate::tools_ozone::moderation::ModEventMute<'a>>),
7930 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
7931 ModEventUnmute(Box<crate::tools_ozone::moderation::ModEventUnmute<'a>>),
7932 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
7933 ModEventMuteReporter(Box<crate::tools_ozone::moderation::ModEventMuteReporter<'a>>),
7934 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
7935 ModEventUnmuteReporter(
7936 Box<crate::tools_ozone::moderation::ModEventUnmuteReporter<'a>>,
7937 ),
7938 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
7939 ModEventEmail(Box<crate::tools_ozone::moderation::ModEventEmail<'a>>),
7940 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
7941 ModEventResolveAppeal(
7942 Box<crate::tools_ozone::moderation::ModEventResolveAppeal<'a>>,
7943 ),
7944 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
7945 ModEventDivert(Box<crate::tools_ozone::moderation::ModEventDivert<'a>>),
7946 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
7947 ModEventTag(Box<crate::tools_ozone::moderation::ModEventTag<'a>>),
7948 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
7949 AccountEvent(Box<crate::tools_ozone::moderation::AccountEvent<'a>>),
7950 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
7951 IdentityEvent(Box<crate::tools_ozone::moderation::IdentityEvent<'a>>),
7952 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
7953 RecordEvent(Box<crate::tools_ozone::moderation::RecordEvent<'a>>),
7954 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
7955 ModEventPriorityScore(
7956 Box<crate::tools_ozone::moderation::ModEventPriorityScore<'a>>,
7957 ),
7958 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
7959 AgeAssuranceEvent(Box<crate::tools_ozone::moderation::AgeAssuranceEvent<'a>>),
7960 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
7961 AgeAssuranceOverrideEvent(
7962 Box<crate::tools_ozone::moderation::AgeAssuranceOverrideEvent<'a>>,
7963 ),
7964 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
7965 RevokeAccountCredentialsEvent(
7966 Box<crate::tools_ozone::moderation::RevokeAccountCredentialsEvent<'a>>,
7967 ),
7968 #[serde(rename = "tools.ozone.moderation.defs#scheduleTakedownEvent")]
7969 ScheduleTakedownEvent(
7970 Box<crate::tools_ozone::moderation::ScheduleTakedownEvent<'a>>,
7971 ),
7972 #[serde(rename = "tools.ozone.moderation.defs#cancelScheduledTakedownEvent")]
7973 CancelScheduledTakedownEvent(
7974 Box<crate::tools_ozone::moderation::CancelScheduledTakedownEvent<'a>>,
7975 ),
7976}
7977
7978#[jacquard_derive::open_union]
7979#[derive(
7980 serde::Serialize,
7981 serde::Deserialize,
7982 Debug,
7983 Clone,
7984 PartialEq,
7985 Eq,
7986 jacquard_derive::IntoStatic
7987)]
7988#[serde(tag = "$type")]
7989#[serde(bound(deserialize = "'de: 'a"))]
7990pub enum ModEventViewSubject<'a> {
7991 #[serde(rename = "com.atproto.admin.defs#repoRef")]
7992 RepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>),
7993 #[serde(rename = "com.atproto.repo.strongRef")]
7994 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
7995 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
7996 MessageRef(Box<crate::chat_bsky::convo::MessageRef<'a>>),
7997}
7998
7999impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventView<'a> {
8000 fn nsid() -> &'static str {
8001 "tools.ozone.moderation.defs"
8002 }
8003 fn def_name() -> &'static str {
8004 "modEventView"
8005 }
8006 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8007 lexicon_doc_tools_ozone_moderation_defs()
8008 }
8009 fn validate(
8010 &self,
8011 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8012 Ok(())
8013 }
8014}
8015
8016#[jacquard_derive::lexicon]
8017#[derive(
8018 serde::Serialize,
8019 serde::Deserialize,
8020 Debug,
8021 Clone,
8022 PartialEq,
8023 Eq,
8024 jacquard_derive::IntoStatic
8025)]
8026#[serde(rename_all = "camelCase")]
8027pub struct ModEventViewDetail<'a> {
8028 pub created_at: jacquard_common::types::string::Datetime,
8029 #[serde(borrow)]
8030 pub created_by: jacquard_common::types::string::Did<'a>,
8031 #[serde(borrow)]
8032 pub event: ModEventViewDetailEvent<'a>,
8033 pub id: i64,
8034 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8035 #[serde(borrow)]
8036 pub mod_tool: Option<crate::tools_ozone::moderation::ModTool<'a>>,
8037 #[serde(borrow)]
8038 pub subject: ModEventViewDetailSubject<'a>,
8039 #[serde(borrow)]
8040 pub subject_blobs: Vec<crate::tools_ozone::moderation::BlobView<'a>>,
8041}
8042
8043pub mod mod_event_view_detail_state {
8044
8045 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
8046 #[allow(unused)]
8047 use ::core::marker::PhantomData;
8048 mod sealed {
8049 pub trait Sealed {}
8050 }
8051 pub trait State: sealed::Sealed {
8053 type Id;
8054 type Event;
8055 type Subject;
8056 type SubjectBlobs;
8057 type CreatedBy;
8058 type CreatedAt;
8059 }
8060 pub struct Empty(());
8062 impl sealed::Sealed for Empty {}
8063 impl State for Empty {
8064 type Id = Unset;
8065 type Event = Unset;
8066 type Subject = Unset;
8067 type SubjectBlobs = Unset;
8068 type CreatedBy = Unset;
8069 type CreatedAt = Unset;
8070 }
8071 pub struct SetId<S: State = Empty>(PhantomData<fn() -> S>);
8073 impl<S: State> sealed::Sealed for SetId<S> {}
8074 impl<S: State> State for SetId<S> {
8075 type Id = Set<members::id>;
8076 type Event = S::Event;
8077 type Subject = S::Subject;
8078 type SubjectBlobs = S::SubjectBlobs;
8079 type CreatedBy = S::CreatedBy;
8080 type CreatedAt = S::CreatedAt;
8081 }
8082 pub struct SetEvent<S: State = Empty>(PhantomData<fn() -> S>);
8084 impl<S: State> sealed::Sealed for SetEvent<S> {}
8085 impl<S: State> State for SetEvent<S> {
8086 type Id = S::Id;
8087 type Event = Set<members::event>;
8088 type Subject = S::Subject;
8089 type SubjectBlobs = S::SubjectBlobs;
8090 type CreatedBy = S::CreatedBy;
8091 type CreatedAt = S::CreatedAt;
8092 }
8093 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
8095 impl<S: State> sealed::Sealed for SetSubject<S> {}
8096 impl<S: State> State for SetSubject<S> {
8097 type Id = S::Id;
8098 type Event = S::Event;
8099 type Subject = Set<members::subject>;
8100 type SubjectBlobs = S::SubjectBlobs;
8101 type CreatedBy = S::CreatedBy;
8102 type CreatedAt = S::CreatedAt;
8103 }
8104 pub struct SetSubjectBlobs<S: State = Empty>(PhantomData<fn() -> S>);
8106 impl<S: State> sealed::Sealed for SetSubjectBlobs<S> {}
8107 impl<S: State> State for SetSubjectBlobs<S> {
8108 type Id = S::Id;
8109 type Event = S::Event;
8110 type Subject = S::Subject;
8111 type SubjectBlobs = Set<members::subject_blobs>;
8112 type CreatedBy = S::CreatedBy;
8113 type CreatedAt = S::CreatedAt;
8114 }
8115 pub struct SetCreatedBy<S: State = Empty>(PhantomData<fn() -> S>);
8117 impl<S: State> sealed::Sealed for SetCreatedBy<S> {}
8118 impl<S: State> State for SetCreatedBy<S> {
8119 type Id = S::Id;
8120 type Event = S::Event;
8121 type Subject = S::Subject;
8122 type SubjectBlobs = S::SubjectBlobs;
8123 type CreatedBy = Set<members::created_by>;
8124 type CreatedAt = S::CreatedAt;
8125 }
8126 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
8128 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
8129 impl<S: State> State for SetCreatedAt<S> {
8130 type Id = S::Id;
8131 type Event = S::Event;
8132 type Subject = S::Subject;
8133 type SubjectBlobs = S::SubjectBlobs;
8134 type CreatedBy = S::CreatedBy;
8135 type CreatedAt = Set<members::created_at>;
8136 }
8137 #[allow(non_camel_case_types)]
8139 pub mod members {
8140 pub struct id(());
8142 pub struct event(());
8144 pub struct subject(());
8146 pub struct subject_blobs(());
8148 pub struct created_by(());
8150 pub struct created_at(());
8152 }
8153}
8154
8155pub struct ModEventViewDetailBuilder<'a, S: mod_event_view_detail_state::State> {
8157 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
8158 __unsafe_private_named: (
8159 ::core::option::Option<jacquard_common::types::string::Datetime>,
8160 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
8161 ::core::option::Option<ModEventViewDetailEvent<'a>>,
8162 ::core::option::Option<i64>,
8163 ::core::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
8164 ::core::option::Option<ModEventViewDetailSubject<'a>>,
8165 ::core::option::Option<Vec<crate::tools_ozone::moderation::BlobView<'a>>>,
8166 ),
8167 _phantom: ::core::marker::PhantomData<&'a ()>,
8168}
8169
8170impl<'a> ModEventViewDetail<'a> {
8171 pub fn new() -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::Empty> {
8173 ModEventViewDetailBuilder::new()
8174 }
8175}
8176
8177impl<'a> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::Empty> {
8178 pub fn new() -> Self {
8180 ModEventViewDetailBuilder {
8181 _phantom_state: ::core::marker::PhantomData,
8182 __unsafe_private_named: (None, None, None, None, None, None, None),
8183 _phantom: ::core::marker::PhantomData,
8184 }
8185 }
8186}
8187
8188impl<'a, S> ModEventViewDetailBuilder<'a, S>
8189where
8190 S: mod_event_view_detail_state::State,
8191 S::CreatedAt: mod_event_view_detail_state::IsUnset,
8192{
8193 pub fn created_at(
8195 mut self,
8196 value: impl Into<jacquard_common::types::string::Datetime>,
8197 ) -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::SetCreatedAt<S>> {
8198 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
8199 ModEventViewDetailBuilder {
8200 _phantom_state: ::core::marker::PhantomData,
8201 __unsafe_private_named: self.__unsafe_private_named,
8202 _phantom: ::core::marker::PhantomData,
8203 }
8204 }
8205}
8206
8207impl<'a, S> ModEventViewDetailBuilder<'a, S>
8208where
8209 S: mod_event_view_detail_state::State,
8210 S::CreatedBy: mod_event_view_detail_state::IsUnset,
8211{
8212 pub fn created_by(
8214 mut self,
8215 value: impl Into<jacquard_common::types::string::Did<'a>>,
8216 ) -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::SetCreatedBy<S>> {
8217 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
8218 ModEventViewDetailBuilder {
8219 _phantom_state: ::core::marker::PhantomData,
8220 __unsafe_private_named: self.__unsafe_private_named,
8221 _phantom: ::core::marker::PhantomData,
8222 }
8223 }
8224}
8225
8226impl<'a, S> ModEventViewDetailBuilder<'a, S>
8227where
8228 S: mod_event_view_detail_state::State,
8229 S::Event: mod_event_view_detail_state::IsUnset,
8230{
8231 pub fn event(
8233 mut self,
8234 value: impl Into<ModEventViewDetailEvent<'a>>,
8235 ) -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::SetEvent<S>> {
8236 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
8237 ModEventViewDetailBuilder {
8238 _phantom_state: ::core::marker::PhantomData,
8239 __unsafe_private_named: self.__unsafe_private_named,
8240 _phantom: ::core::marker::PhantomData,
8241 }
8242 }
8243}
8244
8245impl<'a, S> ModEventViewDetailBuilder<'a, S>
8246where
8247 S: mod_event_view_detail_state::State,
8248 S::Id: mod_event_view_detail_state::IsUnset,
8249{
8250 pub fn id(
8252 mut self,
8253 value: impl Into<i64>,
8254 ) -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::SetId<S>> {
8255 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
8256 ModEventViewDetailBuilder {
8257 _phantom_state: ::core::marker::PhantomData,
8258 __unsafe_private_named: self.__unsafe_private_named,
8259 _phantom: ::core::marker::PhantomData,
8260 }
8261 }
8262}
8263
8264impl<'a, S: mod_event_view_detail_state::State> ModEventViewDetailBuilder<'a, S> {
8265 pub fn mod_tool(
8267 mut self,
8268 value: impl Into<Option<crate::tools_ozone::moderation::ModTool<'a>>>,
8269 ) -> Self {
8270 self.__unsafe_private_named.4 = value.into();
8271 self
8272 }
8273 pub fn maybe_mod_tool(
8275 mut self,
8276 value: Option<crate::tools_ozone::moderation::ModTool<'a>>,
8277 ) -> Self {
8278 self.__unsafe_private_named.4 = value;
8279 self
8280 }
8281}
8282
8283impl<'a, S> ModEventViewDetailBuilder<'a, S>
8284where
8285 S: mod_event_view_detail_state::State,
8286 S::Subject: mod_event_view_detail_state::IsUnset,
8287{
8288 pub fn subject(
8290 mut self,
8291 value: impl Into<ModEventViewDetailSubject<'a>>,
8292 ) -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::SetSubject<S>> {
8293 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
8294 ModEventViewDetailBuilder {
8295 _phantom_state: ::core::marker::PhantomData,
8296 __unsafe_private_named: self.__unsafe_private_named,
8297 _phantom: ::core::marker::PhantomData,
8298 }
8299 }
8300}
8301
8302impl<'a, S> ModEventViewDetailBuilder<'a, S>
8303where
8304 S: mod_event_view_detail_state::State,
8305 S::SubjectBlobs: mod_event_view_detail_state::IsUnset,
8306{
8307 pub fn subject_blobs(
8309 mut self,
8310 value: impl Into<Vec<crate::tools_ozone::moderation::BlobView<'a>>>,
8311 ) -> ModEventViewDetailBuilder<'a, mod_event_view_detail_state::SetSubjectBlobs<S>> {
8312 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
8313 ModEventViewDetailBuilder {
8314 _phantom_state: ::core::marker::PhantomData,
8315 __unsafe_private_named: self.__unsafe_private_named,
8316 _phantom: ::core::marker::PhantomData,
8317 }
8318 }
8319}
8320
8321impl<'a, S> ModEventViewDetailBuilder<'a, S>
8322where
8323 S: mod_event_view_detail_state::State,
8324 S::Id: mod_event_view_detail_state::IsSet,
8325 S::Event: mod_event_view_detail_state::IsSet,
8326 S::Subject: mod_event_view_detail_state::IsSet,
8327 S::SubjectBlobs: mod_event_view_detail_state::IsSet,
8328 S::CreatedBy: mod_event_view_detail_state::IsSet,
8329 S::CreatedAt: mod_event_view_detail_state::IsSet,
8330{
8331 pub fn build(self) -> ModEventViewDetail<'a> {
8333 ModEventViewDetail {
8334 created_at: self.__unsafe_private_named.0.unwrap(),
8335 created_by: self.__unsafe_private_named.1.unwrap(),
8336 event: self.__unsafe_private_named.2.unwrap(),
8337 id: self.__unsafe_private_named.3.unwrap(),
8338 mod_tool: self.__unsafe_private_named.4,
8339 subject: self.__unsafe_private_named.5.unwrap(),
8340 subject_blobs: self.__unsafe_private_named.6.unwrap(),
8341 extra_data: Default::default(),
8342 }
8343 }
8344 pub fn build_with_data(
8346 self,
8347 extra_data: std::collections::BTreeMap<
8348 jacquard_common::smol_str::SmolStr,
8349 jacquard_common::types::value::Data<'a>,
8350 >,
8351 ) -> ModEventViewDetail<'a> {
8352 ModEventViewDetail {
8353 created_at: self.__unsafe_private_named.0.unwrap(),
8354 created_by: self.__unsafe_private_named.1.unwrap(),
8355 event: self.__unsafe_private_named.2.unwrap(),
8356 id: self.__unsafe_private_named.3.unwrap(),
8357 mod_tool: self.__unsafe_private_named.4,
8358 subject: self.__unsafe_private_named.5.unwrap(),
8359 subject_blobs: self.__unsafe_private_named.6.unwrap(),
8360 extra_data: Some(extra_data),
8361 }
8362 }
8363}
8364
8365#[jacquard_derive::open_union]
8366#[derive(
8367 serde::Serialize,
8368 serde::Deserialize,
8369 Debug,
8370 Clone,
8371 PartialEq,
8372 Eq,
8373 jacquard_derive::IntoStatic
8374)]
8375#[serde(tag = "$type")]
8376#[serde(bound(deserialize = "'de: 'a"))]
8377pub enum ModEventViewDetailEvent<'a> {
8378 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
8379 ModEventTakedown(Box<crate::tools_ozone::moderation::ModEventTakedown<'a>>),
8380 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
8381 ModEventReverseTakedown(
8382 Box<crate::tools_ozone::moderation::ModEventReverseTakedown<'a>>,
8383 ),
8384 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
8385 ModEventComment(Box<crate::tools_ozone::moderation::ModEventComment<'a>>),
8386 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
8387 ModEventReport(Box<crate::tools_ozone::moderation::ModEventReport<'a>>),
8388 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
8389 ModEventLabel(Box<crate::tools_ozone::moderation::ModEventLabel<'a>>),
8390 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
8391 ModEventAcknowledge(Box<crate::tools_ozone::moderation::ModEventAcknowledge<'a>>),
8392 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
8393 ModEventEscalate(Box<crate::tools_ozone::moderation::ModEventEscalate<'a>>),
8394 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
8395 ModEventMute(Box<crate::tools_ozone::moderation::ModEventMute<'a>>),
8396 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
8397 ModEventUnmute(Box<crate::tools_ozone::moderation::ModEventUnmute<'a>>),
8398 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
8399 ModEventMuteReporter(Box<crate::tools_ozone::moderation::ModEventMuteReporter<'a>>),
8400 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
8401 ModEventUnmuteReporter(
8402 Box<crate::tools_ozone::moderation::ModEventUnmuteReporter<'a>>,
8403 ),
8404 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
8405 ModEventEmail(Box<crate::tools_ozone::moderation::ModEventEmail<'a>>),
8406 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
8407 ModEventResolveAppeal(
8408 Box<crate::tools_ozone::moderation::ModEventResolveAppeal<'a>>,
8409 ),
8410 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
8411 ModEventDivert(Box<crate::tools_ozone::moderation::ModEventDivert<'a>>),
8412 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
8413 ModEventTag(Box<crate::tools_ozone::moderation::ModEventTag<'a>>),
8414 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
8415 AccountEvent(Box<crate::tools_ozone::moderation::AccountEvent<'a>>),
8416 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
8417 IdentityEvent(Box<crate::tools_ozone::moderation::IdentityEvent<'a>>),
8418 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
8419 RecordEvent(Box<crate::tools_ozone::moderation::RecordEvent<'a>>),
8420 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
8421 ModEventPriorityScore(
8422 Box<crate::tools_ozone::moderation::ModEventPriorityScore<'a>>,
8423 ),
8424 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
8425 AgeAssuranceEvent(Box<crate::tools_ozone::moderation::AgeAssuranceEvent<'a>>),
8426 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
8427 AgeAssuranceOverrideEvent(
8428 Box<crate::tools_ozone::moderation::AgeAssuranceOverrideEvent<'a>>,
8429 ),
8430 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
8431 RevokeAccountCredentialsEvent(
8432 Box<crate::tools_ozone::moderation::RevokeAccountCredentialsEvent<'a>>,
8433 ),
8434 #[serde(rename = "tools.ozone.moderation.defs#scheduleTakedownEvent")]
8435 ScheduleTakedownEvent(
8436 Box<crate::tools_ozone::moderation::ScheduleTakedownEvent<'a>>,
8437 ),
8438 #[serde(rename = "tools.ozone.moderation.defs#cancelScheduledTakedownEvent")]
8439 CancelScheduledTakedownEvent(
8440 Box<crate::tools_ozone::moderation::CancelScheduledTakedownEvent<'a>>,
8441 ),
8442}
8443
8444#[jacquard_derive::open_union]
8445#[derive(
8446 serde::Serialize,
8447 serde::Deserialize,
8448 Debug,
8449 Clone,
8450 PartialEq,
8451 Eq,
8452 jacquard_derive::IntoStatic
8453)]
8454#[serde(tag = "$type")]
8455#[serde(bound(deserialize = "'de: 'a"))]
8456pub enum ModEventViewDetailSubject<'a> {
8457 #[serde(rename = "tools.ozone.moderation.defs#repoView")]
8458 RepoView(Box<crate::tools_ozone::moderation::RepoView<'a>>),
8459 #[serde(rename = "tools.ozone.moderation.defs#repoViewNotFound")]
8460 RepoViewNotFound(Box<crate::tools_ozone::moderation::RepoViewNotFound<'a>>),
8461 #[serde(rename = "tools.ozone.moderation.defs#recordView")]
8462 RecordView(Box<crate::tools_ozone::moderation::RecordView<'a>>),
8463 #[serde(rename = "tools.ozone.moderation.defs#recordViewNotFound")]
8464 RecordViewNotFound(Box<crate::tools_ozone::moderation::RecordViewNotFound<'a>>),
8465}
8466
8467impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModEventViewDetail<'a> {
8468 fn nsid() -> &'static str {
8469 "tools.ozone.moderation.defs"
8470 }
8471 fn def_name() -> &'static str {
8472 "modEventViewDetail"
8473 }
8474 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8475 lexicon_doc_tools_ozone_moderation_defs()
8476 }
8477 fn validate(
8478 &self,
8479 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8480 Ok(())
8481 }
8482}
8483
8484#[jacquard_derive::lexicon]
8486#[derive(
8487 serde::Serialize,
8488 serde::Deserialize,
8489 Debug,
8490 Clone,
8491 PartialEq,
8492 Eq,
8493 jacquard_derive::IntoStatic,
8494 Default
8495)]
8496#[serde(rename_all = "camelCase")]
8497pub struct ModTool<'a> {
8498 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8500 #[serde(borrow)]
8501 pub meta: std::option::Option<jacquard_common::types::value::Data<'a>>,
8502 #[serde(borrow)]
8504 pub name: jacquard_common::CowStr<'a>,
8505}
8506
8507impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModTool<'a> {
8508 fn nsid() -> &'static str {
8509 "tools.ozone.moderation.defs"
8510 }
8511 fn def_name() -> &'static str {
8512 "modTool"
8513 }
8514 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8515 lexicon_doc_tools_ozone_moderation_defs()
8516 }
8517 fn validate(
8518 &self,
8519 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8520 Ok(())
8521 }
8522}
8523
8524#[jacquard_derive::lexicon]
8525#[derive(
8526 serde::Serialize,
8527 serde::Deserialize,
8528 Debug,
8529 Clone,
8530 PartialEq,
8531 Eq,
8532 jacquard_derive::IntoStatic,
8533 Default
8534)]
8535#[serde(rename_all = "camelCase")]
8536pub struct Moderation<'a> {
8537 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8538 #[serde(borrow)]
8539 pub subject_status: std::option::Option<
8540 crate::tools_ozone::moderation::SubjectStatusView<'a>,
8541 >,
8542}
8543
8544impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Moderation<'a> {
8545 fn nsid() -> &'static str {
8546 "tools.ozone.moderation.defs"
8547 }
8548 fn def_name() -> &'static str {
8549 "moderation"
8550 }
8551 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8552 lexicon_doc_tools_ozone_moderation_defs()
8553 }
8554 fn validate(
8555 &self,
8556 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8557 Ok(())
8558 }
8559}
8560
8561#[jacquard_derive::lexicon]
8562#[derive(
8563 serde::Serialize,
8564 serde::Deserialize,
8565 Debug,
8566 Clone,
8567 PartialEq,
8568 Eq,
8569 jacquard_derive::IntoStatic,
8570 Default
8571)]
8572#[serde(rename_all = "camelCase")]
8573pub struct ModerationDetail<'a> {
8574 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8575 #[serde(borrow)]
8576 pub subject_status: std::option::Option<
8577 crate::tools_ozone::moderation::SubjectStatusView<'a>,
8578 >,
8579}
8580
8581impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ModerationDetail<'a> {
8582 fn nsid() -> &'static str {
8583 "tools.ozone.moderation.defs"
8584 }
8585 fn def_name() -> &'static str {
8586 "moderationDetail"
8587 }
8588 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8589 lexicon_doc_tools_ozone_moderation_defs()
8590 }
8591 fn validate(
8592 &self,
8593 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8594 Ok(())
8595 }
8596}
8597
8598#[jacquard_derive::lexicon]
8600#[derive(
8601 serde::Serialize,
8602 serde::Deserialize,
8603 Debug,
8604 Clone,
8605 PartialEq,
8606 Eq,
8607 jacquard_derive::IntoStatic
8608)]
8609#[serde(rename_all = "camelCase")]
8610pub struct RecordEvent<'a> {
8611 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8612 #[serde(borrow)]
8613 pub cid: Option<jacquard_common::types::string::Cid<'a>>,
8614 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8615 #[serde(borrow)]
8616 pub comment: Option<jacquard_common::CowStr<'a>>,
8617 #[serde(borrow)]
8618 pub op: jacquard_common::CowStr<'a>,
8619 pub timestamp: jacquard_common::types::string::Datetime,
8620}
8621
8622pub mod record_event_state {
8623
8624 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
8625 #[allow(unused)]
8626 use ::core::marker::PhantomData;
8627 mod sealed {
8628 pub trait Sealed {}
8629 }
8630 pub trait State: sealed::Sealed {
8632 type Timestamp;
8633 type Op;
8634 }
8635 pub struct Empty(());
8637 impl sealed::Sealed for Empty {}
8638 impl State for Empty {
8639 type Timestamp = Unset;
8640 type Op = Unset;
8641 }
8642 pub struct SetTimestamp<S: State = Empty>(PhantomData<fn() -> S>);
8644 impl<S: State> sealed::Sealed for SetTimestamp<S> {}
8645 impl<S: State> State for SetTimestamp<S> {
8646 type Timestamp = Set<members::timestamp>;
8647 type Op = S::Op;
8648 }
8649 pub struct SetOp<S: State = Empty>(PhantomData<fn() -> S>);
8651 impl<S: State> sealed::Sealed for SetOp<S> {}
8652 impl<S: State> State for SetOp<S> {
8653 type Timestamp = S::Timestamp;
8654 type Op = Set<members::op>;
8655 }
8656 #[allow(non_camel_case_types)]
8658 pub mod members {
8659 pub struct timestamp(());
8661 pub struct op(());
8663 }
8664}
8665
8666pub struct RecordEventBuilder<'a, S: record_event_state::State> {
8668 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
8669 __unsafe_private_named: (
8670 ::core::option::Option<jacquard_common::types::string::Cid<'a>>,
8671 ::core::option::Option<jacquard_common::CowStr<'a>>,
8672 ::core::option::Option<jacquard_common::CowStr<'a>>,
8673 ::core::option::Option<jacquard_common::types::string::Datetime>,
8674 ),
8675 _phantom: ::core::marker::PhantomData<&'a ()>,
8676}
8677
8678impl<'a> RecordEvent<'a> {
8679 pub fn new() -> RecordEventBuilder<'a, record_event_state::Empty> {
8681 RecordEventBuilder::new()
8682 }
8683}
8684
8685impl<'a> RecordEventBuilder<'a, record_event_state::Empty> {
8686 pub fn new() -> Self {
8688 RecordEventBuilder {
8689 _phantom_state: ::core::marker::PhantomData,
8690 __unsafe_private_named: (None, None, None, None),
8691 _phantom: ::core::marker::PhantomData,
8692 }
8693 }
8694}
8695
8696impl<'a, S: record_event_state::State> RecordEventBuilder<'a, S> {
8697 pub fn cid(
8699 mut self,
8700 value: impl Into<Option<jacquard_common::types::string::Cid<'a>>>,
8701 ) -> Self {
8702 self.__unsafe_private_named.0 = value.into();
8703 self
8704 }
8705 pub fn maybe_cid(
8707 mut self,
8708 value: Option<jacquard_common::types::string::Cid<'a>>,
8709 ) -> Self {
8710 self.__unsafe_private_named.0 = value;
8711 self
8712 }
8713}
8714
8715impl<'a, S: record_event_state::State> RecordEventBuilder<'a, S> {
8716 pub fn comment(
8718 mut self,
8719 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
8720 ) -> Self {
8721 self.__unsafe_private_named.1 = value.into();
8722 self
8723 }
8724 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
8726 self.__unsafe_private_named.1 = value;
8727 self
8728 }
8729}
8730
8731impl<'a, S> RecordEventBuilder<'a, S>
8732where
8733 S: record_event_state::State,
8734 S::Op: record_event_state::IsUnset,
8735{
8736 pub fn op(
8738 mut self,
8739 value: impl Into<jacquard_common::CowStr<'a>>,
8740 ) -> RecordEventBuilder<'a, record_event_state::SetOp<S>> {
8741 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
8742 RecordEventBuilder {
8743 _phantom_state: ::core::marker::PhantomData,
8744 __unsafe_private_named: self.__unsafe_private_named,
8745 _phantom: ::core::marker::PhantomData,
8746 }
8747 }
8748}
8749
8750impl<'a, S> RecordEventBuilder<'a, S>
8751where
8752 S: record_event_state::State,
8753 S::Timestamp: record_event_state::IsUnset,
8754{
8755 pub fn timestamp(
8757 mut self,
8758 value: impl Into<jacquard_common::types::string::Datetime>,
8759 ) -> RecordEventBuilder<'a, record_event_state::SetTimestamp<S>> {
8760 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
8761 RecordEventBuilder {
8762 _phantom_state: ::core::marker::PhantomData,
8763 __unsafe_private_named: self.__unsafe_private_named,
8764 _phantom: ::core::marker::PhantomData,
8765 }
8766 }
8767}
8768
8769impl<'a, S> RecordEventBuilder<'a, S>
8770where
8771 S: record_event_state::State,
8772 S::Timestamp: record_event_state::IsSet,
8773 S::Op: record_event_state::IsSet,
8774{
8775 pub fn build(self) -> RecordEvent<'a> {
8777 RecordEvent {
8778 cid: self.__unsafe_private_named.0,
8779 comment: self.__unsafe_private_named.1,
8780 op: self.__unsafe_private_named.2.unwrap(),
8781 timestamp: self.__unsafe_private_named.3.unwrap(),
8782 extra_data: Default::default(),
8783 }
8784 }
8785 pub fn build_with_data(
8787 self,
8788 extra_data: std::collections::BTreeMap<
8789 jacquard_common::smol_str::SmolStr,
8790 jacquard_common::types::value::Data<'a>,
8791 >,
8792 ) -> RecordEvent<'a> {
8793 RecordEvent {
8794 cid: self.__unsafe_private_named.0,
8795 comment: self.__unsafe_private_named.1,
8796 op: self.__unsafe_private_named.2.unwrap(),
8797 timestamp: self.__unsafe_private_named.3.unwrap(),
8798 extra_data: Some(extra_data),
8799 }
8800 }
8801}
8802
8803impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordEvent<'a> {
8804 fn nsid() -> &'static str {
8805 "tools.ozone.moderation.defs"
8806 }
8807 fn def_name() -> &'static str {
8808 "recordEvent"
8809 }
8810 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8811 lexicon_doc_tools_ozone_moderation_defs()
8812 }
8813 fn validate(
8814 &self,
8815 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8816 Ok(())
8817 }
8818}
8819
8820#[jacquard_derive::lexicon]
8821#[derive(
8822 serde::Serialize,
8823 serde::Deserialize,
8824 Debug,
8825 Clone,
8826 PartialEq,
8827 Eq,
8828 jacquard_derive::IntoStatic,
8829 Default
8830)]
8831#[serde(rename_all = "camelCase")]
8832pub struct RecordHosting<'a> {
8833 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8834 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
8835 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8836 pub deleted_at: std::option::Option<jacquard_common::types::string::Datetime>,
8837 #[serde(borrow)]
8838 pub status: jacquard_common::CowStr<'a>,
8839 #[serde(skip_serializing_if = "std::option::Option::is_none")]
8840 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
8841}
8842
8843impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordHosting<'a> {
8844 fn nsid() -> &'static str {
8845 "tools.ozone.moderation.defs"
8846 }
8847 fn def_name() -> &'static str {
8848 "recordHosting"
8849 }
8850 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
8851 lexicon_doc_tools_ozone_moderation_defs()
8852 }
8853 fn validate(
8854 &self,
8855 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
8856 Ok(())
8857 }
8858}
8859
8860#[jacquard_derive::lexicon]
8861#[derive(
8862 serde::Serialize,
8863 serde::Deserialize,
8864 Debug,
8865 Clone,
8866 PartialEq,
8867 Eq,
8868 jacquard_derive::IntoStatic
8869)]
8870#[serde(rename_all = "camelCase")]
8871pub struct RecordView<'a> {
8872 #[serde(borrow)]
8873 pub blob_cids: Vec<jacquard_common::types::string::Cid<'a>>,
8874 #[serde(borrow)]
8875 pub cid: jacquard_common::types::string::Cid<'a>,
8876 pub indexed_at: jacquard_common::types::string::Datetime,
8877 #[serde(borrow)]
8878 pub moderation: crate::tools_ozone::moderation::Moderation<'a>,
8879 #[serde(borrow)]
8880 pub repo: crate::tools_ozone::moderation::RepoView<'a>,
8881 #[serde(borrow)]
8882 pub uri: jacquard_common::types::string::AtUri<'a>,
8883 #[serde(borrow)]
8884 pub value: jacquard_common::types::value::Data<'a>,
8885}
8886
8887pub mod record_view_state {
8888
8889 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
8890 #[allow(unused)]
8891 use ::core::marker::PhantomData;
8892 mod sealed {
8893 pub trait Sealed {}
8894 }
8895 pub trait State: sealed::Sealed {
8897 type Uri;
8898 type Cid;
8899 type Value;
8900 type BlobCids;
8901 type IndexedAt;
8902 type Moderation;
8903 type Repo;
8904 }
8905 pub struct Empty(());
8907 impl sealed::Sealed for Empty {}
8908 impl State for Empty {
8909 type Uri = Unset;
8910 type Cid = Unset;
8911 type Value = Unset;
8912 type BlobCids = Unset;
8913 type IndexedAt = Unset;
8914 type Moderation = Unset;
8915 type Repo = Unset;
8916 }
8917 pub struct SetUri<S: State = Empty>(PhantomData<fn() -> S>);
8919 impl<S: State> sealed::Sealed for SetUri<S> {}
8920 impl<S: State> State for SetUri<S> {
8921 type Uri = Set<members::uri>;
8922 type Cid = S::Cid;
8923 type Value = S::Value;
8924 type BlobCids = S::BlobCids;
8925 type IndexedAt = S::IndexedAt;
8926 type Moderation = S::Moderation;
8927 type Repo = S::Repo;
8928 }
8929 pub struct SetCid<S: State = Empty>(PhantomData<fn() -> S>);
8931 impl<S: State> sealed::Sealed for SetCid<S> {}
8932 impl<S: State> State for SetCid<S> {
8933 type Uri = S::Uri;
8934 type Cid = Set<members::cid>;
8935 type Value = S::Value;
8936 type BlobCids = S::BlobCids;
8937 type IndexedAt = S::IndexedAt;
8938 type Moderation = S::Moderation;
8939 type Repo = S::Repo;
8940 }
8941 pub struct SetValue<S: State = Empty>(PhantomData<fn() -> S>);
8943 impl<S: State> sealed::Sealed for SetValue<S> {}
8944 impl<S: State> State for SetValue<S> {
8945 type Uri = S::Uri;
8946 type Cid = S::Cid;
8947 type Value = Set<members::value>;
8948 type BlobCids = S::BlobCids;
8949 type IndexedAt = S::IndexedAt;
8950 type Moderation = S::Moderation;
8951 type Repo = S::Repo;
8952 }
8953 pub struct SetBlobCids<S: State = Empty>(PhantomData<fn() -> S>);
8955 impl<S: State> sealed::Sealed for SetBlobCids<S> {}
8956 impl<S: State> State for SetBlobCids<S> {
8957 type Uri = S::Uri;
8958 type Cid = S::Cid;
8959 type Value = S::Value;
8960 type BlobCids = Set<members::blob_cids>;
8961 type IndexedAt = S::IndexedAt;
8962 type Moderation = S::Moderation;
8963 type Repo = S::Repo;
8964 }
8965 pub struct SetIndexedAt<S: State = Empty>(PhantomData<fn() -> S>);
8967 impl<S: State> sealed::Sealed for SetIndexedAt<S> {}
8968 impl<S: State> State for SetIndexedAt<S> {
8969 type Uri = S::Uri;
8970 type Cid = S::Cid;
8971 type Value = S::Value;
8972 type BlobCids = S::BlobCids;
8973 type IndexedAt = Set<members::indexed_at>;
8974 type Moderation = S::Moderation;
8975 type Repo = S::Repo;
8976 }
8977 pub struct SetModeration<S: State = Empty>(PhantomData<fn() -> S>);
8979 impl<S: State> sealed::Sealed for SetModeration<S> {}
8980 impl<S: State> State for SetModeration<S> {
8981 type Uri = S::Uri;
8982 type Cid = S::Cid;
8983 type Value = S::Value;
8984 type BlobCids = S::BlobCids;
8985 type IndexedAt = S::IndexedAt;
8986 type Moderation = Set<members::moderation>;
8987 type Repo = S::Repo;
8988 }
8989 pub struct SetRepo<S: State = Empty>(PhantomData<fn() -> S>);
8991 impl<S: State> sealed::Sealed for SetRepo<S> {}
8992 impl<S: State> State for SetRepo<S> {
8993 type Uri = S::Uri;
8994 type Cid = S::Cid;
8995 type Value = S::Value;
8996 type BlobCids = S::BlobCids;
8997 type IndexedAt = S::IndexedAt;
8998 type Moderation = S::Moderation;
8999 type Repo = Set<members::repo>;
9000 }
9001 #[allow(non_camel_case_types)]
9003 pub mod members {
9004 pub struct uri(());
9006 pub struct cid(());
9008 pub struct value(());
9010 pub struct blob_cids(());
9012 pub struct indexed_at(());
9014 pub struct moderation(());
9016 pub struct repo(());
9018 }
9019}
9020
9021pub struct RecordViewBuilder<'a, S: record_view_state::State> {
9023 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
9024 __unsafe_private_named: (
9025 ::core::option::Option<Vec<jacquard_common::types::string::Cid<'a>>>,
9026 ::core::option::Option<jacquard_common::types::string::Cid<'a>>,
9027 ::core::option::Option<jacquard_common::types::string::Datetime>,
9028 ::core::option::Option<crate::tools_ozone::moderation::Moderation<'a>>,
9029 ::core::option::Option<crate::tools_ozone::moderation::RepoView<'a>>,
9030 ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
9031 ::core::option::Option<jacquard_common::types::value::Data<'a>>,
9032 ),
9033 _phantom: ::core::marker::PhantomData<&'a ()>,
9034}
9035
9036impl<'a> RecordView<'a> {
9037 pub fn new() -> RecordViewBuilder<'a, record_view_state::Empty> {
9039 RecordViewBuilder::new()
9040 }
9041}
9042
9043impl<'a> RecordViewBuilder<'a, record_view_state::Empty> {
9044 pub fn new() -> Self {
9046 RecordViewBuilder {
9047 _phantom_state: ::core::marker::PhantomData,
9048 __unsafe_private_named: (None, None, None, None, None, None, None),
9049 _phantom: ::core::marker::PhantomData,
9050 }
9051 }
9052}
9053
9054impl<'a, S> RecordViewBuilder<'a, S>
9055where
9056 S: record_view_state::State,
9057 S::BlobCids: record_view_state::IsUnset,
9058{
9059 pub fn blob_cids(
9061 mut self,
9062 value: impl Into<Vec<jacquard_common::types::string::Cid<'a>>>,
9063 ) -> RecordViewBuilder<'a, record_view_state::SetBlobCids<S>> {
9064 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
9065 RecordViewBuilder {
9066 _phantom_state: ::core::marker::PhantomData,
9067 __unsafe_private_named: self.__unsafe_private_named,
9068 _phantom: ::core::marker::PhantomData,
9069 }
9070 }
9071}
9072
9073impl<'a, S> RecordViewBuilder<'a, S>
9074where
9075 S: record_view_state::State,
9076 S::Cid: record_view_state::IsUnset,
9077{
9078 pub fn cid(
9080 mut self,
9081 value: impl Into<jacquard_common::types::string::Cid<'a>>,
9082 ) -> RecordViewBuilder<'a, record_view_state::SetCid<S>> {
9083 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
9084 RecordViewBuilder {
9085 _phantom_state: ::core::marker::PhantomData,
9086 __unsafe_private_named: self.__unsafe_private_named,
9087 _phantom: ::core::marker::PhantomData,
9088 }
9089 }
9090}
9091
9092impl<'a, S> RecordViewBuilder<'a, S>
9093where
9094 S: record_view_state::State,
9095 S::IndexedAt: record_view_state::IsUnset,
9096{
9097 pub fn indexed_at(
9099 mut self,
9100 value: impl Into<jacquard_common::types::string::Datetime>,
9101 ) -> RecordViewBuilder<'a, record_view_state::SetIndexedAt<S>> {
9102 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
9103 RecordViewBuilder {
9104 _phantom_state: ::core::marker::PhantomData,
9105 __unsafe_private_named: self.__unsafe_private_named,
9106 _phantom: ::core::marker::PhantomData,
9107 }
9108 }
9109}
9110
9111impl<'a, S> RecordViewBuilder<'a, S>
9112where
9113 S: record_view_state::State,
9114 S::Moderation: record_view_state::IsUnset,
9115{
9116 pub fn moderation(
9118 mut self,
9119 value: impl Into<crate::tools_ozone::moderation::Moderation<'a>>,
9120 ) -> RecordViewBuilder<'a, record_view_state::SetModeration<S>> {
9121 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
9122 RecordViewBuilder {
9123 _phantom_state: ::core::marker::PhantomData,
9124 __unsafe_private_named: self.__unsafe_private_named,
9125 _phantom: ::core::marker::PhantomData,
9126 }
9127 }
9128}
9129
9130impl<'a, S> RecordViewBuilder<'a, S>
9131where
9132 S: record_view_state::State,
9133 S::Repo: record_view_state::IsUnset,
9134{
9135 pub fn repo(
9137 mut self,
9138 value: impl Into<crate::tools_ozone::moderation::RepoView<'a>>,
9139 ) -> RecordViewBuilder<'a, record_view_state::SetRepo<S>> {
9140 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
9141 RecordViewBuilder {
9142 _phantom_state: ::core::marker::PhantomData,
9143 __unsafe_private_named: self.__unsafe_private_named,
9144 _phantom: ::core::marker::PhantomData,
9145 }
9146 }
9147}
9148
9149impl<'a, S> RecordViewBuilder<'a, S>
9150where
9151 S: record_view_state::State,
9152 S::Uri: record_view_state::IsUnset,
9153{
9154 pub fn uri(
9156 mut self,
9157 value: impl Into<jacquard_common::types::string::AtUri<'a>>,
9158 ) -> RecordViewBuilder<'a, record_view_state::SetUri<S>> {
9159 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
9160 RecordViewBuilder {
9161 _phantom_state: ::core::marker::PhantomData,
9162 __unsafe_private_named: self.__unsafe_private_named,
9163 _phantom: ::core::marker::PhantomData,
9164 }
9165 }
9166}
9167
9168impl<'a, S> RecordViewBuilder<'a, S>
9169where
9170 S: record_view_state::State,
9171 S::Value: record_view_state::IsUnset,
9172{
9173 pub fn value(
9175 mut self,
9176 value: impl Into<jacquard_common::types::value::Data<'a>>,
9177 ) -> RecordViewBuilder<'a, record_view_state::SetValue<S>> {
9178 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
9179 RecordViewBuilder {
9180 _phantom_state: ::core::marker::PhantomData,
9181 __unsafe_private_named: self.__unsafe_private_named,
9182 _phantom: ::core::marker::PhantomData,
9183 }
9184 }
9185}
9186
9187impl<'a, S> RecordViewBuilder<'a, S>
9188where
9189 S: record_view_state::State,
9190 S::Uri: record_view_state::IsSet,
9191 S::Cid: record_view_state::IsSet,
9192 S::Value: record_view_state::IsSet,
9193 S::BlobCids: record_view_state::IsSet,
9194 S::IndexedAt: record_view_state::IsSet,
9195 S::Moderation: record_view_state::IsSet,
9196 S::Repo: record_view_state::IsSet,
9197{
9198 pub fn build(self) -> RecordView<'a> {
9200 RecordView {
9201 blob_cids: self.__unsafe_private_named.0.unwrap(),
9202 cid: self.__unsafe_private_named.1.unwrap(),
9203 indexed_at: self.__unsafe_private_named.2.unwrap(),
9204 moderation: self.__unsafe_private_named.3.unwrap(),
9205 repo: self.__unsafe_private_named.4.unwrap(),
9206 uri: self.__unsafe_private_named.5.unwrap(),
9207 value: self.__unsafe_private_named.6.unwrap(),
9208 extra_data: Default::default(),
9209 }
9210 }
9211 pub fn build_with_data(
9213 self,
9214 extra_data: std::collections::BTreeMap<
9215 jacquard_common::smol_str::SmolStr,
9216 jacquard_common::types::value::Data<'a>,
9217 >,
9218 ) -> RecordView<'a> {
9219 RecordView {
9220 blob_cids: self.__unsafe_private_named.0.unwrap(),
9221 cid: self.__unsafe_private_named.1.unwrap(),
9222 indexed_at: self.__unsafe_private_named.2.unwrap(),
9223 moderation: self.__unsafe_private_named.3.unwrap(),
9224 repo: self.__unsafe_private_named.4.unwrap(),
9225 uri: self.__unsafe_private_named.5.unwrap(),
9226 value: self.__unsafe_private_named.6.unwrap(),
9227 extra_data: Some(extra_data),
9228 }
9229 }
9230}
9231
9232impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordView<'a> {
9233 fn nsid() -> &'static str {
9234 "tools.ozone.moderation.defs"
9235 }
9236 fn def_name() -> &'static str {
9237 "recordView"
9238 }
9239 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
9240 lexicon_doc_tools_ozone_moderation_defs()
9241 }
9242 fn validate(
9243 &self,
9244 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
9245 Ok(())
9246 }
9247}
9248
9249#[jacquard_derive::lexicon]
9250#[derive(
9251 serde::Serialize,
9252 serde::Deserialize,
9253 Debug,
9254 Clone,
9255 PartialEq,
9256 Eq,
9257 jacquard_derive::IntoStatic
9258)]
9259#[serde(rename_all = "camelCase")]
9260pub struct RecordViewDetail<'a> {
9261 #[serde(borrow)]
9262 pub blobs: Vec<crate::tools_ozone::moderation::BlobView<'a>>,
9263 #[serde(borrow)]
9264 pub cid: jacquard_common::types::string::Cid<'a>,
9265 pub indexed_at: jacquard_common::types::string::Datetime,
9266 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9267 #[serde(borrow)]
9268 pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
9269 #[serde(borrow)]
9270 pub moderation: crate::tools_ozone::moderation::ModerationDetail<'a>,
9271 #[serde(borrow)]
9272 pub repo: crate::tools_ozone::moderation::RepoView<'a>,
9273 #[serde(borrow)]
9274 pub uri: jacquard_common::types::string::AtUri<'a>,
9275 #[serde(borrow)]
9276 pub value: jacquard_common::types::value::Data<'a>,
9277}
9278
9279pub mod record_view_detail_state {
9280
9281 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
9282 #[allow(unused)]
9283 use ::core::marker::PhantomData;
9284 mod sealed {
9285 pub trait Sealed {}
9286 }
9287 pub trait State: sealed::Sealed {
9289 type Uri;
9290 type Cid;
9291 type Value;
9292 type Blobs;
9293 type IndexedAt;
9294 type Moderation;
9295 type Repo;
9296 }
9297 pub struct Empty(());
9299 impl sealed::Sealed for Empty {}
9300 impl State for Empty {
9301 type Uri = Unset;
9302 type Cid = Unset;
9303 type Value = Unset;
9304 type Blobs = Unset;
9305 type IndexedAt = Unset;
9306 type Moderation = Unset;
9307 type Repo = Unset;
9308 }
9309 pub struct SetUri<S: State = Empty>(PhantomData<fn() -> S>);
9311 impl<S: State> sealed::Sealed for SetUri<S> {}
9312 impl<S: State> State for SetUri<S> {
9313 type Uri = Set<members::uri>;
9314 type Cid = S::Cid;
9315 type Value = S::Value;
9316 type Blobs = S::Blobs;
9317 type IndexedAt = S::IndexedAt;
9318 type Moderation = S::Moderation;
9319 type Repo = S::Repo;
9320 }
9321 pub struct SetCid<S: State = Empty>(PhantomData<fn() -> S>);
9323 impl<S: State> sealed::Sealed for SetCid<S> {}
9324 impl<S: State> State for SetCid<S> {
9325 type Uri = S::Uri;
9326 type Cid = Set<members::cid>;
9327 type Value = S::Value;
9328 type Blobs = S::Blobs;
9329 type IndexedAt = S::IndexedAt;
9330 type Moderation = S::Moderation;
9331 type Repo = S::Repo;
9332 }
9333 pub struct SetValue<S: State = Empty>(PhantomData<fn() -> S>);
9335 impl<S: State> sealed::Sealed for SetValue<S> {}
9336 impl<S: State> State for SetValue<S> {
9337 type Uri = S::Uri;
9338 type Cid = S::Cid;
9339 type Value = Set<members::value>;
9340 type Blobs = S::Blobs;
9341 type IndexedAt = S::IndexedAt;
9342 type Moderation = S::Moderation;
9343 type Repo = S::Repo;
9344 }
9345 pub struct SetBlobs<S: State = Empty>(PhantomData<fn() -> S>);
9347 impl<S: State> sealed::Sealed for SetBlobs<S> {}
9348 impl<S: State> State for SetBlobs<S> {
9349 type Uri = S::Uri;
9350 type Cid = S::Cid;
9351 type Value = S::Value;
9352 type Blobs = Set<members::blobs>;
9353 type IndexedAt = S::IndexedAt;
9354 type Moderation = S::Moderation;
9355 type Repo = S::Repo;
9356 }
9357 pub struct SetIndexedAt<S: State = Empty>(PhantomData<fn() -> S>);
9359 impl<S: State> sealed::Sealed for SetIndexedAt<S> {}
9360 impl<S: State> State for SetIndexedAt<S> {
9361 type Uri = S::Uri;
9362 type Cid = S::Cid;
9363 type Value = S::Value;
9364 type Blobs = S::Blobs;
9365 type IndexedAt = Set<members::indexed_at>;
9366 type Moderation = S::Moderation;
9367 type Repo = S::Repo;
9368 }
9369 pub struct SetModeration<S: State = Empty>(PhantomData<fn() -> S>);
9371 impl<S: State> sealed::Sealed for SetModeration<S> {}
9372 impl<S: State> State for SetModeration<S> {
9373 type Uri = S::Uri;
9374 type Cid = S::Cid;
9375 type Value = S::Value;
9376 type Blobs = S::Blobs;
9377 type IndexedAt = S::IndexedAt;
9378 type Moderation = Set<members::moderation>;
9379 type Repo = S::Repo;
9380 }
9381 pub struct SetRepo<S: State = Empty>(PhantomData<fn() -> S>);
9383 impl<S: State> sealed::Sealed for SetRepo<S> {}
9384 impl<S: State> State for SetRepo<S> {
9385 type Uri = S::Uri;
9386 type Cid = S::Cid;
9387 type Value = S::Value;
9388 type Blobs = S::Blobs;
9389 type IndexedAt = S::IndexedAt;
9390 type Moderation = S::Moderation;
9391 type Repo = Set<members::repo>;
9392 }
9393 #[allow(non_camel_case_types)]
9395 pub mod members {
9396 pub struct uri(());
9398 pub struct cid(());
9400 pub struct value(());
9402 pub struct blobs(());
9404 pub struct indexed_at(());
9406 pub struct moderation(());
9408 pub struct repo(());
9410 }
9411}
9412
9413pub struct RecordViewDetailBuilder<'a, S: record_view_detail_state::State> {
9415 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
9416 __unsafe_private_named: (
9417 ::core::option::Option<Vec<crate::tools_ozone::moderation::BlobView<'a>>>,
9418 ::core::option::Option<jacquard_common::types::string::Cid<'a>>,
9419 ::core::option::Option<jacquard_common::types::string::Datetime>,
9420 ::core::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
9421 ::core::option::Option<crate::tools_ozone::moderation::ModerationDetail<'a>>,
9422 ::core::option::Option<crate::tools_ozone::moderation::RepoView<'a>>,
9423 ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
9424 ::core::option::Option<jacquard_common::types::value::Data<'a>>,
9425 ),
9426 _phantom: ::core::marker::PhantomData<&'a ()>,
9427}
9428
9429impl<'a> RecordViewDetail<'a> {
9430 pub fn new() -> RecordViewDetailBuilder<'a, record_view_detail_state::Empty> {
9432 RecordViewDetailBuilder::new()
9433 }
9434}
9435
9436impl<'a> RecordViewDetailBuilder<'a, record_view_detail_state::Empty> {
9437 pub fn new() -> Self {
9439 RecordViewDetailBuilder {
9440 _phantom_state: ::core::marker::PhantomData,
9441 __unsafe_private_named: (None, None, None, None, None, None, None, None),
9442 _phantom: ::core::marker::PhantomData,
9443 }
9444 }
9445}
9446
9447impl<'a, S> RecordViewDetailBuilder<'a, S>
9448where
9449 S: record_view_detail_state::State,
9450 S::Blobs: record_view_detail_state::IsUnset,
9451{
9452 pub fn blobs(
9454 mut self,
9455 value: impl Into<Vec<crate::tools_ozone::moderation::BlobView<'a>>>,
9456 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetBlobs<S>> {
9457 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
9458 RecordViewDetailBuilder {
9459 _phantom_state: ::core::marker::PhantomData,
9460 __unsafe_private_named: self.__unsafe_private_named,
9461 _phantom: ::core::marker::PhantomData,
9462 }
9463 }
9464}
9465
9466impl<'a, S> RecordViewDetailBuilder<'a, S>
9467where
9468 S: record_view_detail_state::State,
9469 S::Cid: record_view_detail_state::IsUnset,
9470{
9471 pub fn cid(
9473 mut self,
9474 value: impl Into<jacquard_common::types::string::Cid<'a>>,
9475 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetCid<S>> {
9476 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
9477 RecordViewDetailBuilder {
9478 _phantom_state: ::core::marker::PhantomData,
9479 __unsafe_private_named: self.__unsafe_private_named,
9480 _phantom: ::core::marker::PhantomData,
9481 }
9482 }
9483}
9484
9485impl<'a, S> RecordViewDetailBuilder<'a, S>
9486where
9487 S: record_view_detail_state::State,
9488 S::IndexedAt: record_view_detail_state::IsUnset,
9489{
9490 pub fn indexed_at(
9492 mut self,
9493 value: impl Into<jacquard_common::types::string::Datetime>,
9494 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetIndexedAt<S>> {
9495 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
9496 RecordViewDetailBuilder {
9497 _phantom_state: ::core::marker::PhantomData,
9498 __unsafe_private_named: self.__unsafe_private_named,
9499 _phantom: ::core::marker::PhantomData,
9500 }
9501 }
9502}
9503
9504impl<'a, S: record_view_detail_state::State> RecordViewDetailBuilder<'a, S> {
9505 pub fn labels(
9507 mut self,
9508 value: impl Into<Option<Vec<crate::com_atproto::label::Label<'a>>>>,
9509 ) -> Self {
9510 self.__unsafe_private_named.3 = value.into();
9511 self
9512 }
9513 pub fn maybe_labels(
9515 mut self,
9516 value: Option<Vec<crate::com_atproto::label::Label<'a>>>,
9517 ) -> Self {
9518 self.__unsafe_private_named.3 = value;
9519 self
9520 }
9521}
9522
9523impl<'a, S> RecordViewDetailBuilder<'a, S>
9524where
9525 S: record_view_detail_state::State,
9526 S::Moderation: record_view_detail_state::IsUnset,
9527{
9528 pub fn moderation(
9530 mut self,
9531 value: impl Into<crate::tools_ozone::moderation::ModerationDetail<'a>>,
9532 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetModeration<S>> {
9533 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
9534 RecordViewDetailBuilder {
9535 _phantom_state: ::core::marker::PhantomData,
9536 __unsafe_private_named: self.__unsafe_private_named,
9537 _phantom: ::core::marker::PhantomData,
9538 }
9539 }
9540}
9541
9542impl<'a, S> RecordViewDetailBuilder<'a, S>
9543where
9544 S: record_view_detail_state::State,
9545 S::Repo: record_view_detail_state::IsUnset,
9546{
9547 pub fn repo(
9549 mut self,
9550 value: impl Into<crate::tools_ozone::moderation::RepoView<'a>>,
9551 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetRepo<S>> {
9552 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
9553 RecordViewDetailBuilder {
9554 _phantom_state: ::core::marker::PhantomData,
9555 __unsafe_private_named: self.__unsafe_private_named,
9556 _phantom: ::core::marker::PhantomData,
9557 }
9558 }
9559}
9560
9561impl<'a, S> RecordViewDetailBuilder<'a, S>
9562where
9563 S: record_view_detail_state::State,
9564 S::Uri: record_view_detail_state::IsUnset,
9565{
9566 pub fn uri(
9568 mut self,
9569 value: impl Into<jacquard_common::types::string::AtUri<'a>>,
9570 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetUri<S>> {
9571 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
9572 RecordViewDetailBuilder {
9573 _phantom_state: ::core::marker::PhantomData,
9574 __unsafe_private_named: self.__unsafe_private_named,
9575 _phantom: ::core::marker::PhantomData,
9576 }
9577 }
9578}
9579
9580impl<'a, S> RecordViewDetailBuilder<'a, S>
9581where
9582 S: record_view_detail_state::State,
9583 S::Value: record_view_detail_state::IsUnset,
9584{
9585 pub fn value(
9587 mut self,
9588 value: impl Into<jacquard_common::types::value::Data<'a>>,
9589 ) -> RecordViewDetailBuilder<'a, record_view_detail_state::SetValue<S>> {
9590 self.__unsafe_private_named.7 = ::core::option::Option::Some(value.into());
9591 RecordViewDetailBuilder {
9592 _phantom_state: ::core::marker::PhantomData,
9593 __unsafe_private_named: self.__unsafe_private_named,
9594 _phantom: ::core::marker::PhantomData,
9595 }
9596 }
9597}
9598
9599impl<'a, S> RecordViewDetailBuilder<'a, S>
9600where
9601 S: record_view_detail_state::State,
9602 S::Uri: record_view_detail_state::IsSet,
9603 S::Cid: record_view_detail_state::IsSet,
9604 S::Value: record_view_detail_state::IsSet,
9605 S::Blobs: record_view_detail_state::IsSet,
9606 S::IndexedAt: record_view_detail_state::IsSet,
9607 S::Moderation: record_view_detail_state::IsSet,
9608 S::Repo: record_view_detail_state::IsSet,
9609{
9610 pub fn build(self) -> RecordViewDetail<'a> {
9612 RecordViewDetail {
9613 blobs: self.__unsafe_private_named.0.unwrap(),
9614 cid: self.__unsafe_private_named.1.unwrap(),
9615 indexed_at: self.__unsafe_private_named.2.unwrap(),
9616 labels: self.__unsafe_private_named.3,
9617 moderation: self.__unsafe_private_named.4.unwrap(),
9618 repo: self.__unsafe_private_named.5.unwrap(),
9619 uri: self.__unsafe_private_named.6.unwrap(),
9620 value: self.__unsafe_private_named.7.unwrap(),
9621 extra_data: Default::default(),
9622 }
9623 }
9624 pub fn build_with_data(
9626 self,
9627 extra_data: std::collections::BTreeMap<
9628 jacquard_common::smol_str::SmolStr,
9629 jacquard_common::types::value::Data<'a>,
9630 >,
9631 ) -> RecordViewDetail<'a> {
9632 RecordViewDetail {
9633 blobs: self.__unsafe_private_named.0.unwrap(),
9634 cid: self.__unsafe_private_named.1.unwrap(),
9635 indexed_at: self.__unsafe_private_named.2.unwrap(),
9636 labels: self.__unsafe_private_named.3,
9637 moderation: self.__unsafe_private_named.4.unwrap(),
9638 repo: self.__unsafe_private_named.5.unwrap(),
9639 uri: self.__unsafe_private_named.6.unwrap(),
9640 value: self.__unsafe_private_named.7.unwrap(),
9641 extra_data: Some(extra_data),
9642 }
9643 }
9644}
9645
9646impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordViewDetail<'a> {
9647 fn nsid() -> &'static str {
9648 "tools.ozone.moderation.defs"
9649 }
9650 fn def_name() -> &'static str {
9651 "recordViewDetail"
9652 }
9653 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
9654 lexicon_doc_tools_ozone_moderation_defs()
9655 }
9656 fn validate(
9657 &self,
9658 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
9659 Ok(())
9660 }
9661}
9662
9663#[jacquard_derive::lexicon]
9664#[derive(
9665 serde::Serialize,
9666 serde::Deserialize,
9667 Debug,
9668 Clone,
9669 PartialEq,
9670 Eq,
9671 jacquard_derive::IntoStatic
9672)]
9673#[serde(rename_all = "camelCase")]
9674pub struct RecordViewNotFound<'a> {
9675 #[serde(borrow)]
9676 pub uri: jacquard_common::types::string::AtUri<'a>,
9677}
9678
9679pub mod record_view_not_found_state {
9680
9681 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
9682 #[allow(unused)]
9683 use ::core::marker::PhantomData;
9684 mod sealed {
9685 pub trait Sealed {}
9686 }
9687 pub trait State: sealed::Sealed {
9689 type Uri;
9690 }
9691 pub struct Empty(());
9693 impl sealed::Sealed for Empty {}
9694 impl State for Empty {
9695 type Uri = Unset;
9696 }
9697 pub struct SetUri<S: State = Empty>(PhantomData<fn() -> S>);
9699 impl<S: State> sealed::Sealed for SetUri<S> {}
9700 impl<S: State> State for SetUri<S> {
9701 type Uri = Set<members::uri>;
9702 }
9703 #[allow(non_camel_case_types)]
9705 pub mod members {
9706 pub struct uri(());
9708 }
9709}
9710
9711pub struct RecordViewNotFoundBuilder<'a, S: record_view_not_found_state::State> {
9713 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
9714 __unsafe_private_named: (
9715 ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
9716 ),
9717 _phantom: ::core::marker::PhantomData<&'a ()>,
9718}
9719
9720impl<'a> RecordViewNotFound<'a> {
9721 pub fn new() -> RecordViewNotFoundBuilder<'a, record_view_not_found_state::Empty> {
9723 RecordViewNotFoundBuilder::new()
9724 }
9725}
9726
9727impl<'a> RecordViewNotFoundBuilder<'a, record_view_not_found_state::Empty> {
9728 pub fn new() -> Self {
9730 RecordViewNotFoundBuilder {
9731 _phantom_state: ::core::marker::PhantomData,
9732 __unsafe_private_named: (None,),
9733 _phantom: ::core::marker::PhantomData,
9734 }
9735 }
9736}
9737
9738impl<'a, S> RecordViewNotFoundBuilder<'a, S>
9739where
9740 S: record_view_not_found_state::State,
9741 S::Uri: record_view_not_found_state::IsUnset,
9742{
9743 pub fn uri(
9745 mut self,
9746 value: impl Into<jacquard_common::types::string::AtUri<'a>>,
9747 ) -> RecordViewNotFoundBuilder<'a, record_view_not_found_state::SetUri<S>> {
9748 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
9749 RecordViewNotFoundBuilder {
9750 _phantom_state: ::core::marker::PhantomData,
9751 __unsafe_private_named: self.__unsafe_private_named,
9752 _phantom: ::core::marker::PhantomData,
9753 }
9754 }
9755}
9756
9757impl<'a, S> RecordViewNotFoundBuilder<'a, S>
9758where
9759 S: record_view_not_found_state::State,
9760 S::Uri: record_view_not_found_state::IsSet,
9761{
9762 pub fn build(self) -> RecordViewNotFound<'a> {
9764 RecordViewNotFound {
9765 uri: self.__unsafe_private_named.0.unwrap(),
9766 extra_data: Default::default(),
9767 }
9768 }
9769 pub fn build_with_data(
9771 self,
9772 extra_data: std::collections::BTreeMap<
9773 jacquard_common::smol_str::SmolStr,
9774 jacquard_common::types::value::Data<'a>,
9775 >,
9776 ) -> RecordViewNotFound<'a> {
9777 RecordViewNotFound {
9778 uri: self.__unsafe_private_named.0.unwrap(),
9779 extra_data: Some(extra_data),
9780 }
9781 }
9782}
9783
9784impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordViewNotFound<'a> {
9785 fn nsid() -> &'static str {
9786 "tools.ozone.moderation.defs"
9787 }
9788 fn def_name() -> &'static str {
9789 "recordViewNotFound"
9790 }
9791 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
9792 lexicon_doc_tools_ozone_moderation_defs()
9793 }
9794 fn validate(
9795 &self,
9796 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
9797 Ok(())
9798 }
9799}
9800
9801#[jacquard_derive::lexicon]
9803#[derive(
9804 serde::Serialize,
9805 serde::Deserialize,
9806 Debug,
9807 Clone,
9808 PartialEq,
9809 Eq,
9810 jacquard_derive::IntoStatic,
9811 Default
9812)]
9813#[serde(rename_all = "camelCase")]
9814pub struct RecordsStats<'a> {
9815 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9817 pub appealed_count: std::option::Option<i64>,
9818 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9820 pub escalated_count: std::option::Option<i64>,
9821 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9823 pub pending_count: std::option::Option<i64>,
9824 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9826 pub processed_count: std::option::Option<i64>,
9827 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9829 pub reported_count: std::option::Option<i64>,
9830 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9832 pub subject_count: std::option::Option<i64>,
9833 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9835 pub takendown_count: std::option::Option<i64>,
9836 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9838 pub total_reports: std::option::Option<i64>,
9839}
9840
9841impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RecordsStats<'a> {
9842 fn nsid() -> &'static str {
9843 "tools.ozone.moderation.defs"
9844 }
9845 fn def_name() -> &'static str {
9846 "recordsStats"
9847 }
9848 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
9849 lexicon_doc_tools_ozone_moderation_defs()
9850 }
9851 fn validate(
9852 &self,
9853 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
9854 Ok(())
9855 }
9856}
9857
9858#[jacquard_derive::lexicon]
9859#[derive(
9860 serde::Serialize,
9861 serde::Deserialize,
9862 Debug,
9863 Clone,
9864 PartialEq,
9865 Eq,
9866 jacquard_derive::IntoStatic
9867)]
9868#[serde(rename_all = "camelCase")]
9869pub struct RepoView<'a> {
9870 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9871 pub deactivated_at: Option<jacquard_common::types::string::Datetime>,
9872 #[serde(borrow)]
9873 pub did: jacquard_common::types::string::Did<'a>,
9874 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9875 #[serde(borrow)]
9876 pub email: Option<jacquard_common::CowStr<'a>>,
9877 #[serde(borrow)]
9878 pub handle: jacquard_common::types::string::Handle<'a>,
9879 pub indexed_at: jacquard_common::types::string::Datetime,
9880 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9881 #[serde(borrow)]
9882 pub invite_note: Option<jacquard_common::CowStr<'a>>,
9883 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9884 #[serde(borrow)]
9885 pub invited_by: Option<crate::com_atproto::server::InviteCode<'a>>,
9886 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9887 pub invites_disabled: Option<bool>,
9888 #[serde(borrow)]
9889 pub moderation: crate::tools_ozone::moderation::Moderation<'a>,
9890 #[serde(borrow)]
9891 pub related_records: Vec<jacquard_common::types::value::Data<'a>>,
9892 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9893 #[serde(borrow)]
9894 pub threat_signatures: Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
9895}
9896
9897pub mod repo_view_state {
9898
9899 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
9900 #[allow(unused)]
9901 use ::core::marker::PhantomData;
9902 mod sealed {
9903 pub trait Sealed {}
9904 }
9905 pub trait State: sealed::Sealed {
9907 type Did;
9908 type Handle;
9909 type RelatedRecords;
9910 type IndexedAt;
9911 type Moderation;
9912 }
9913 pub struct Empty(());
9915 impl sealed::Sealed for Empty {}
9916 impl State for Empty {
9917 type Did = Unset;
9918 type Handle = Unset;
9919 type RelatedRecords = Unset;
9920 type IndexedAt = Unset;
9921 type Moderation = Unset;
9922 }
9923 pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
9925 impl<S: State> sealed::Sealed for SetDid<S> {}
9926 impl<S: State> State for SetDid<S> {
9927 type Did = Set<members::did>;
9928 type Handle = S::Handle;
9929 type RelatedRecords = S::RelatedRecords;
9930 type IndexedAt = S::IndexedAt;
9931 type Moderation = S::Moderation;
9932 }
9933 pub struct SetHandle<S: State = Empty>(PhantomData<fn() -> S>);
9935 impl<S: State> sealed::Sealed for SetHandle<S> {}
9936 impl<S: State> State for SetHandle<S> {
9937 type Did = S::Did;
9938 type Handle = Set<members::handle>;
9939 type RelatedRecords = S::RelatedRecords;
9940 type IndexedAt = S::IndexedAt;
9941 type Moderation = S::Moderation;
9942 }
9943 pub struct SetRelatedRecords<S: State = Empty>(PhantomData<fn() -> S>);
9945 impl<S: State> sealed::Sealed for SetRelatedRecords<S> {}
9946 impl<S: State> State for SetRelatedRecords<S> {
9947 type Did = S::Did;
9948 type Handle = S::Handle;
9949 type RelatedRecords = Set<members::related_records>;
9950 type IndexedAt = S::IndexedAt;
9951 type Moderation = S::Moderation;
9952 }
9953 pub struct SetIndexedAt<S: State = Empty>(PhantomData<fn() -> S>);
9955 impl<S: State> sealed::Sealed for SetIndexedAt<S> {}
9956 impl<S: State> State for SetIndexedAt<S> {
9957 type Did = S::Did;
9958 type Handle = S::Handle;
9959 type RelatedRecords = S::RelatedRecords;
9960 type IndexedAt = Set<members::indexed_at>;
9961 type Moderation = S::Moderation;
9962 }
9963 pub struct SetModeration<S: State = Empty>(PhantomData<fn() -> S>);
9965 impl<S: State> sealed::Sealed for SetModeration<S> {}
9966 impl<S: State> State for SetModeration<S> {
9967 type Did = S::Did;
9968 type Handle = S::Handle;
9969 type RelatedRecords = S::RelatedRecords;
9970 type IndexedAt = S::IndexedAt;
9971 type Moderation = Set<members::moderation>;
9972 }
9973 #[allow(non_camel_case_types)]
9975 pub mod members {
9976 pub struct did(());
9978 pub struct handle(());
9980 pub struct related_records(());
9982 pub struct indexed_at(());
9984 pub struct moderation(());
9986 }
9987}
9988
9989pub struct RepoViewBuilder<'a, S: repo_view_state::State> {
9991 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
9992 __unsafe_private_named: (
9993 ::core::option::Option<jacquard_common::types::string::Datetime>,
9994 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
9995 ::core::option::Option<jacquard_common::CowStr<'a>>,
9996 ::core::option::Option<jacquard_common::types::string::Handle<'a>>,
9997 ::core::option::Option<jacquard_common::types::string::Datetime>,
9998 ::core::option::Option<jacquard_common::CowStr<'a>>,
9999 ::core::option::Option<crate::com_atproto::server::InviteCode<'a>>,
10000 ::core::option::Option<bool>,
10001 ::core::option::Option<crate::tools_ozone::moderation::Moderation<'a>>,
10002 ::core::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
10003 ::core::option::Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
10004 ),
10005 _phantom: ::core::marker::PhantomData<&'a ()>,
10006}
10007
10008impl<'a> RepoView<'a> {
10009 pub fn new() -> RepoViewBuilder<'a, repo_view_state::Empty> {
10011 RepoViewBuilder::new()
10012 }
10013}
10014
10015impl<'a> RepoViewBuilder<'a, repo_view_state::Empty> {
10016 pub fn new() -> Self {
10018 RepoViewBuilder {
10019 _phantom_state: ::core::marker::PhantomData,
10020 __unsafe_private_named: (
10021 None,
10022 None,
10023 None,
10024 None,
10025 None,
10026 None,
10027 None,
10028 None,
10029 None,
10030 None,
10031 None,
10032 ),
10033 _phantom: ::core::marker::PhantomData,
10034 }
10035 }
10036}
10037
10038impl<'a, S: repo_view_state::State> RepoViewBuilder<'a, S> {
10039 pub fn deactivated_at(
10041 mut self,
10042 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
10043 ) -> Self {
10044 self.__unsafe_private_named.0 = value.into();
10045 self
10046 }
10047 pub fn maybe_deactivated_at(
10049 mut self,
10050 value: Option<jacquard_common::types::string::Datetime>,
10051 ) -> Self {
10052 self.__unsafe_private_named.0 = value;
10053 self
10054 }
10055}
10056
10057impl<'a, S> RepoViewBuilder<'a, S>
10058where
10059 S: repo_view_state::State,
10060 S::Did: repo_view_state::IsUnset,
10061{
10062 pub fn did(
10064 mut self,
10065 value: impl Into<jacquard_common::types::string::Did<'a>>,
10066 ) -> RepoViewBuilder<'a, repo_view_state::SetDid<S>> {
10067 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
10068 RepoViewBuilder {
10069 _phantom_state: ::core::marker::PhantomData,
10070 __unsafe_private_named: self.__unsafe_private_named,
10071 _phantom: ::core::marker::PhantomData,
10072 }
10073 }
10074}
10075
10076impl<'a, S: repo_view_state::State> RepoViewBuilder<'a, S> {
10077 pub fn email(
10079 mut self,
10080 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
10081 ) -> Self {
10082 self.__unsafe_private_named.2 = value.into();
10083 self
10084 }
10085 pub fn maybe_email(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
10087 self.__unsafe_private_named.2 = value;
10088 self
10089 }
10090}
10091
10092impl<'a, S> RepoViewBuilder<'a, S>
10093where
10094 S: repo_view_state::State,
10095 S::Handle: repo_view_state::IsUnset,
10096{
10097 pub fn handle(
10099 mut self,
10100 value: impl Into<jacquard_common::types::string::Handle<'a>>,
10101 ) -> RepoViewBuilder<'a, repo_view_state::SetHandle<S>> {
10102 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
10103 RepoViewBuilder {
10104 _phantom_state: ::core::marker::PhantomData,
10105 __unsafe_private_named: self.__unsafe_private_named,
10106 _phantom: ::core::marker::PhantomData,
10107 }
10108 }
10109}
10110
10111impl<'a, S> RepoViewBuilder<'a, S>
10112where
10113 S: repo_view_state::State,
10114 S::IndexedAt: repo_view_state::IsUnset,
10115{
10116 pub fn indexed_at(
10118 mut self,
10119 value: impl Into<jacquard_common::types::string::Datetime>,
10120 ) -> RepoViewBuilder<'a, repo_view_state::SetIndexedAt<S>> {
10121 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
10122 RepoViewBuilder {
10123 _phantom_state: ::core::marker::PhantomData,
10124 __unsafe_private_named: self.__unsafe_private_named,
10125 _phantom: ::core::marker::PhantomData,
10126 }
10127 }
10128}
10129
10130impl<'a, S: repo_view_state::State> RepoViewBuilder<'a, S> {
10131 pub fn invite_note(
10133 mut self,
10134 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
10135 ) -> Self {
10136 self.__unsafe_private_named.5 = value.into();
10137 self
10138 }
10139 pub fn maybe_invite_note(
10141 mut self,
10142 value: Option<jacquard_common::CowStr<'a>>,
10143 ) -> Self {
10144 self.__unsafe_private_named.5 = value;
10145 self
10146 }
10147}
10148
10149impl<'a, S: repo_view_state::State> RepoViewBuilder<'a, S> {
10150 pub fn invited_by(
10152 mut self,
10153 value: impl Into<Option<crate::com_atproto::server::InviteCode<'a>>>,
10154 ) -> Self {
10155 self.__unsafe_private_named.6 = value.into();
10156 self
10157 }
10158 pub fn maybe_invited_by(
10160 mut self,
10161 value: Option<crate::com_atproto::server::InviteCode<'a>>,
10162 ) -> Self {
10163 self.__unsafe_private_named.6 = value;
10164 self
10165 }
10166}
10167
10168impl<'a, S: repo_view_state::State> RepoViewBuilder<'a, S> {
10169 pub fn invites_disabled(mut self, value: impl Into<Option<bool>>) -> Self {
10171 self.__unsafe_private_named.7 = value.into();
10172 self
10173 }
10174 pub fn maybe_invites_disabled(mut self, value: Option<bool>) -> Self {
10176 self.__unsafe_private_named.7 = value;
10177 self
10178 }
10179}
10180
10181impl<'a, S> RepoViewBuilder<'a, S>
10182where
10183 S: repo_view_state::State,
10184 S::Moderation: repo_view_state::IsUnset,
10185{
10186 pub fn moderation(
10188 mut self,
10189 value: impl Into<crate::tools_ozone::moderation::Moderation<'a>>,
10190 ) -> RepoViewBuilder<'a, repo_view_state::SetModeration<S>> {
10191 self.__unsafe_private_named.8 = ::core::option::Option::Some(value.into());
10192 RepoViewBuilder {
10193 _phantom_state: ::core::marker::PhantomData,
10194 __unsafe_private_named: self.__unsafe_private_named,
10195 _phantom: ::core::marker::PhantomData,
10196 }
10197 }
10198}
10199
10200impl<'a, S> RepoViewBuilder<'a, S>
10201where
10202 S: repo_view_state::State,
10203 S::RelatedRecords: repo_view_state::IsUnset,
10204{
10205 pub fn related_records(
10207 mut self,
10208 value: impl Into<Vec<jacquard_common::types::value::Data<'a>>>,
10209 ) -> RepoViewBuilder<'a, repo_view_state::SetRelatedRecords<S>> {
10210 self.__unsafe_private_named.9 = ::core::option::Option::Some(value.into());
10211 RepoViewBuilder {
10212 _phantom_state: ::core::marker::PhantomData,
10213 __unsafe_private_named: self.__unsafe_private_named,
10214 _phantom: ::core::marker::PhantomData,
10215 }
10216 }
10217}
10218
10219impl<'a, S: repo_view_state::State> RepoViewBuilder<'a, S> {
10220 pub fn threat_signatures(
10222 mut self,
10223 value: impl Into<Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>>,
10224 ) -> Self {
10225 self.__unsafe_private_named.10 = value.into();
10226 self
10227 }
10228 pub fn maybe_threat_signatures(
10230 mut self,
10231 value: Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
10232 ) -> Self {
10233 self.__unsafe_private_named.10 = value;
10234 self
10235 }
10236}
10237
10238impl<'a, S> RepoViewBuilder<'a, S>
10239where
10240 S: repo_view_state::State,
10241 S::Did: repo_view_state::IsSet,
10242 S::Handle: repo_view_state::IsSet,
10243 S::RelatedRecords: repo_view_state::IsSet,
10244 S::IndexedAt: repo_view_state::IsSet,
10245 S::Moderation: repo_view_state::IsSet,
10246{
10247 pub fn build(self) -> RepoView<'a> {
10249 RepoView {
10250 deactivated_at: self.__unsafe_private_named.0,
10251 did: self.__unsafe_private_named.1.unwrap(),
10252 email: self.__unsafe_private_named.2,
10253 handle: self.__unsafe_private_named.3.unwrap(),
10254 indexed_at: self.__unsafe_private_named.4.unwrap(),
10255 invite_note: self.__unsafe_private_named.5,
10256 invited_by: self.__unsafe_private_named.6,
10257 invites_disabled: self.__unsafe_private_named.7,
10258 moderation: self.__unsafe_private_named.8.unwrap(),
10259 related_records: self.__unsafe_private_named.9.unwrap(),
10260 threat_signatures: self.__unsafe_private_named.10,
10261 extra_data: Default::default(),
10262 }
10263 }
10264 pub fn build_with_data(
10266 self,
10267 extra_data: std::collections::BTreeMap<
10268 jacquard_common::smol_str::SmolStr,
10269 jacquard_common::types::value::Data<'a>,
10270 >,
10271 ) -> RepoView<'a> {
10272 RepoView {
10273 deactivated_at: self.__unsafe_private_named.0,
10274 did: self.__unsafe_private_named.1.unwrap(),
10275 email: self.__unsafe_private_named.2,
10276 handle: self.__unsafe_private_named.3.unwrap(),
10277 indexed_at: self.__unsafe_private_named.4.unwrap(),
10278 invite_note: self.__unsafe_private_named.5,
10279 invited_by: self.__unsafe_private_named.6,
10280 invites_disabled: self.__unsafe_private_named.7,
10281 moderation: self.__unsafe_private_named.8.unwrap(),
10282 related_records: self.__unsafe_private_named.9.unwrap(),
10283 threat_signatures: self.__unsafe_private_named.10,
10284 extra_data: Some(extra_data),
10285 }
10286 }
10287}
10288
10289impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RepoView<'a> {
10290 fn nsid() -> &'static str {
10291 "tools.ozone.moderation.defs"
10292 }
10293 fn def_name() -> &'static str {
10294 "repoView"
10295 }
10296 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
10297 lexicon_doc_tools_ozone_moderation_defs()
10298 }
10299 fn validate(
10300 &self,
10301 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
10302 Ok(())
10303 }
10304}
10305
10306#[jacquard_derive::lexicon]
10307#[derive(
10308 serde::Serialize,
10309 serde::Deserialize,
10310 Debug,
10311 Clone,
10312 PartialEq,
10313 Eq,
10314 jacquard_derive::IntoStatic
10315)]
10316#[serde(rename_all = "camelCase")]
10317pub struct RepoViewDetail<'a> {
10318 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10319 pub deactivated_at: Option<jacquard_common::types::string::Datetime>,
10320 #[serde(borrow)]
10321 pub did: jacquard_common::types::string::Did<'a>,
10322 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10323 #[serde(borrow)]
10324 pub email: Option<jacquard_common::CowStr<'a>>,
10325 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10326 pub email_confirmed_at: Option<jacquard_common::types::string::Datetime>,
10327 #[serde(borrow)]
10328 pub handle: jacquard_common::types::string::Handle<'a>,
10329 pub indexed_at: jacquard_common::types::string::Datetime,
10330 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10331 #[serde(borrow)]
10332 pub invite_note: Option<jacquard_common::CowStr<'a>>,
10333 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10334 #[serde(borrow)]
10335 pub invited_by: Option<crate::com_atproto::server::InviteCode<'a>>,
10336 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10337 #[serde(borrow)]
10338 pub invites: Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
10339 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10340 pub invites_disabled: Option<bool>,
10341 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10342 #[serde(borrow)]
10343 pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
10344 #[serde(borrow)]
10345 pub moderation: crate::tools_ozone::moderation::ModerationDetail<'a>,
10346 #[serde(borrow)]
10347 pub related_records: Vec<jacquard_common::types::value::Data<'a>>,
10348 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10349 #[serde(borrow)]
10350 pub threat_signatures: Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
10351}
10352
10353pub mod repo_view_detail_state {
10354
10355 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
10356 #[allow(unused)]
10357 use ::core::marker::PhantomData;
10358 mod sealed {
10359 pub trait Sealed {}
10360 }
10361 pub trait State: sealed::Sealed {
10363 type Did;
10364 type Handle;
10365 type RelatedRecords;
10366 type IndexedAt;
10367 type Moderation;
10368 }
10369 pub struct Empty(());
10371 impl sealed::Sealed for Empty {}
10372 impl State for Empty {
10373 type Did = Unset;
10374 type Handle = Unset;
10375 type RelatedRecords = Unset;
10376 type IndexedAt = Unset;
10377 type Moderation = Unset;
10378 }
10379 pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
10381 impl<S: State> sealed::Sealed for SetDid<S> {}
10382 impl<S: State> State for SetDid<S> {
10383 type Did = Set<members::did>;
10384 type Handle = S::Handle;
10385 type RelatedRecords = S::RelatedRecords;
10386 type IndexedAt = S::IndexedAt;
10387 type Moderation = S::Moderation;
10388 }
10389 pub struct SetHandle<S: State = Empty>(PhantomData<fn() -> S>);
10391 impl<S: State> sealed::Sealed for SetHandle<S> {}
10392 impl<S: State> State for SetHandle<S> {
10393 type Did = S::Did;
10394 type Handle = Set<members::handle>;
10395 type RelatedRecords = S::RelatedRecords;
10396 type IndexedAt = S::IndexedAt;
10397 type Moderation = S::Moderation;
10398 }
10399 pub struct SetRelatedRecords<S: State = Empty>(PhantomData<fn() -> S>);
10401 impl<S: State> sealed::Sealed for SetRelatedRecords<S> {}
10402 impl<S: State> State for SetRelatedRecords<S> {
10403 type Did = S::Did;
10404 type Handle = S::Handle;
10405 type RelatedRecords = Set<members::related_records>;
10406 type IndexedAt = S::IndexedAt;
10407 type Moderation = S::Moderation;
10408 }
10409 pub struct SetIndexedAt<S: State = Empty>(PhantomData<fn() -> S>);
10411 impl<S: State> sealed::Sealed for SetIndexedAt<S> {}
10412 impl<S: State> State for SetIndexedAt<S> {
10413 type Did = S::Did;
10414 type Handle = S::Handle;
10415 type RelatedRecords = S::RelatedRecords;
10416 type IndexedAt = Set<members::indexed_at>;
10417 type Moderation = S::Moderation;
10418 }
10419 pub struct SetModeration<S: State = Empty>(PhantomData<fn() -> S>);
10421 impl<S: State> sealed::Sealed for SetModeration<S> {}
10422 impl<S: State> State for SetModeration<S> {
10423 type Did = S::Did;
10424 type Handle = S::Handle;
10425 type RelatedRecords = S::RelatedRecords;
10426 type IndexedAt = S::IndexedAt;
10427 type Moderation = Set<members::moderation>;
10428 }
10429 #[allow(non_camel_case_types)]
10431 pub mod members {
10432 pub struct did(());
10434 pub struct handle(());
10436 pub struct related_records(());
10438 pub struct indexed_at(());
10440 pub struct moderation(());
10442 }
10443}
10444
10445pub struct RepoViewDetailBuilder<'a, S: repo_view_detail_state::State> {
10447 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
10448 __unsafe_private_named: (
10449 ::core::option::Option<jacquard_common::types::string::Datetime>,
10450 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
10451 ::core::option::Option<jacquard_common::CowStr<'a>>,
10452 ::core::option::Option<jacquard_common::types::string::Datetime>,
10453 ::core::option::Option<jacquard_common::types::string::Handle<'a>>,
10454 ::core::option::Option<jacquard_common::types::string::Datetime>,
10455 ::core::option::Option<jacquard_common::CowStr<'a>>,
10456 ::core::option::Option<crate::com_atproto::server::InviteCode<'a>>,
10457 ::core::option::Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
10458 ::core::option::Option<bool>,
10459 ::core::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
10460 ::core::option::Option<crate::tools_ozone::moderation::ModerationDetail<'a>>,
10461 ::core::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
10462 ::core::option::Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
10463 ),
10464 _phantom: ::core::marker::PhantomData<&'a ()>,
10465}
10466
10467impl<'a> RepoViewDetail<'a> {
10468 pub fn new() -> RepoViewDetailBuilder<'a, repo_view_detail_state::Empty> {
10470 RepoViewDetailBuilder::new()
10471 }
10472}
10473
10474impl<'a> RepoViewDetailBuilder<'a, repo_view_detail_state::Empty> {
10475 pub fn new() -> Self {
10477 RepoViewDetailBuilder {
10478 _phantom_state: ::core::marker::PhantomData,
10479 __unsafe_private_named: (
10480 None,
10481 None,
10482 None,
10483 None,
10484 None,
10485 None,
10486 None,
10487 None,
10488 None,
10489 None,
10490 None,
10491 None,
10492 None,
10493 None,
10494 ),
10495 _phantom: ::core::marker::PhantomData,
10496 }
10497 }
10498}
10499
10500impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10501 pub fn deactivated_at(
10503 mut self,
10504 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
10505 ) -> Self {
10506 self.__unsafe_private_named.0 = value.into();
10507 self
10508 }
10509 pub fn maybe_deactivated_at(
10511 mut self,
10512 value: Option<jacquard_common::types::string::Datetime>,
10513 ) -> Self {
10514 self.__unsafe_private_named.0 = value;
10515 self
10516 }
10517}
10518
10519impl<'a, S> RepoViewDetailBuilder<'a, S>
10520where
10521 S: repo_view_detail_state::State,
10522 S::Did: repo_view_detail_state::IsUnset,
10523{
10524 pub fn did(
10526 mut self,
10527 value: impl Into<jacquard_common::types::string::Did<'a>>,
10528 ) -> RepoViewDetailBuilder<'a, repo_view_detail_state::SetDid<S>> {
10529 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
10530 RepoViewDetailBuilder {
10531 _phantom_state: ::core::marker::PhantomData,
10532 __unsafe_private_named: self.__unsafe_private_named,
10533 _phantom: ::core::marker::PhantomData,
10534 }
10535 }
10536}
10537
10538impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10539 pub fn email(
10541 mut self,
10542 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
10543 ) -> Self {
10544 self.__unsafe_private_named.2 = value.into();
10545 self
10546 }
10547 pub fn maybe_email(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
10549 self.__unsafe_private_named.2 = value;
10550 self
10551 }
10552}
10553
10554impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10555 pub fn email_confirmed_at(
10557 mut self,
10558 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
10559 ) -> Self {
10560 self.__unsafe_private_named.3 = value.into();
10561 self
10562 }
10563 pub fn maybe_email_confirmed_at(
10565 mut self,
10566 value: Option<jacquard_common::types::string::Datetime>,
10567 ) -> Self {
10568 self.__unsafe_private_named.3 = value;
10569 self
10570 }
10571}
10572
10573impl<'a, S> RepoViewDetailBuilder<'a, S>
10574where
10575 S: repo_view_detail_state::State,
10576 S::Handle: repo_view_detail_state::IsUnset,
10577{
10578 pub fn handle(
10580 mut self,
10581 value: impl Into<jacquard_common::types::string::Handle<'a>>,
10582 ) -> RepoViewDetailBuilder<'a, repo_view_detail_state::SetHandle<S>> {
10583 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
10584 RepoViewDetailBuilder {
10585 _phantom_state: ::core::marker::PhantomData,
10586 __unsafe_private_named: self.__unsafe_private_named,
10587 _phantom: ::core::marker::PhantomData,
10588 }
10589 }
10590}
10591
10592impl<'a, S> RepoViewDetailBuilder<'a, S>
10593where
10594 S: repo_view_detail_state::State,
10595 S::IndexedAt: repo_view_detail_state::IsUnset,
10596{
10597 pub fn indexed_at(
10599 mut self,
10600 value: impl Into<jacquard_common::types::string::Datetime>,
10601 ) -> RepoViewDetailBuilder<'a, repo_view_detail_state::SetIndexedAt<S>> {
10602 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
10603 RepoViewDetailBuilder {
10604 _phantom_state: ::core::marker::PhantomData,
10605 __unsafe_private_named: self.__unsafe_private_named,
10606 _phantom: ::core::marker::PhantomData,
10607 }
10608 }
10609}
10610
10611impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10612 pub fn invite_note(
10614 mut self,
10615 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
10616 ) -> Self {
10617 self.__unsafe_private_named.6 = value.into();
10618 self
10619 }
10620 pub fn maybe_invite_note(
10622 mut self,
10623 value: Option<jacquard_common::CowStr<'a>>,
10624 ) -> Self {
10625 self.__unsafe_private_named.6 = value;
10626 self
10627 }
10628}
10629
10630impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10631 pub fn invited_by(
10633 mut self,
10634 value: impl Into<Option<crate::com_atproto::server::InviteCode<'a>>>,
10635 ) -> Self {
10636 self.__unsafe_private_named.7 = value.into();
10637 self
10638 }
10639 pub fn maybe_invited_by(
10641 mut self,
10642 value: Option<crate::com_atproto::server::InviteCode<'a>>,
10643 ) -> Self {
10644 self.__unsafe_private_named.7 = value;
10645 self
10646 }
10647}
10648
10649impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10650 pub fn invites(
10652 mut self,
10653 value: impl Into<Option<Vec<crate::com_atproto::server::InviteCode<'a>>>>,
10654 ) -> Self {
10655 self.__unsafe_private_named.8 = value.into();
10656 self
10657 }
10658 pub fn maybe_invites(
10660 mut self,
10661 value: Option<Vec<crate::com_atproto::server::InviteCode<'a>>>,
10662 ) -> Self {
10663 self.__unsafe_private_named.8 = value;
10664 self
10665 }
10666}
10667
10668impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10669 pub fn invites_disabled(mut self, value: impl Into<Option<bool>>) -> Self {
10671 self.__unsafe_private_named.9 = value.into();
10672 self
10673 }
10674 pub fn maybe_invites_disabled(mut self, value: Option<bool>) -> Self {
10676 self.__unsafe_private_named.9 = value;
10677 self
10678 }
10679}
10680
10681impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10682 pub fn labels(
10684 mut self,
10685 value: impl Into<Option<Vec<crate::com_atproto::label::Label<'a>>>>,
10686 ) -> Self {
10687 self.__unsafe_private_named.10 = value.into();
10688 self
10689 }
10690 pub fn maybe_labels(
10692 mut self,
10693 value: Option<Vec<crate::com_atproto::label::Label<'a>>>,
10694 ) -> Self {
10695 self.__unsafe_private_named.10 = value;
10696 self
10697 }
10698}
10699
10700impl<'a, S> RepoViewDetailBuilder<'a, S>
10701where
10702 S: repo_view_detail_state::State,
10703 S::Moderation: repo_view_detail_state::IsUnset,
10704{
10705 pub fn moderation(
10707 mut self,
10708 value: impl Into<crate::tools_ozone::moderation::ModerationDetail<'a>>,
10709 ) -> RepoViewDetailBuilder<'a, repo_view_detail_state::SetModeration<S>> {
10710 self.__unsafe_private_named.11 = ::core::option::Option::Some(value.into());
10711 RepoViewDetailBuilder {
10712 _phantom_state: ::core::marker::PhantomData,
10713 __unsafe_private_named: self.__unsafe_private_named,
10714 _phantom: ::core::marker::PhantomData,
10715 }
10716 }
10717}
10718
10719impl<'a, S> RepoViewDetailBuilder<'a, S>
10720where
10721 S: repo_view_detail_state::State,
10722 S::RelatedRecords: repo_view_detail_state::IsUnset,
10723{
10724 pub fn related_records(
10726 mut self,
10727 value: impl Into<Vec<jacquard_common::types::value::Data<'a>>>,
10728 ) -> RepoViewDetailBuilder<'a, repo_view_detail_state::SetRelatedRecords<S>> {
10729 self.__unsafe_private_named.12 = ::core::option::Option::Some(value.into());
10730 RepoViewDetailBuilder {
10731 _phantom_state: ::core::marker::PhantomData,
10732 __unsafe_private_named: self.__unsafe_private_named,
10733 _phantom: ::core::marker::PhantomData,
10734 }
10735 }
10736}
10737
10738impl<'a, S: repo_view_detail_state::State> RepoViewDetailBuilder<'a, S> {
10739 pub fn threat_signatures(
10741 mut self,
10742 value: impl Into<Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>>,
10743 ) -> Self {
10744 self.__unsafe_private_named.13 = value.into();
10745 self
10746 }
10747 pub fn maybe_threat_signatures(
10749 mut self,
10750 value: Option<Vec<crate::com_atproto::admin::ThreatSignature<'a>>>,
10751 ) -> Self {
10752 self.__unsafe_private_named.13 = value;
10753 self
10754 }
10755}
10756
10757impl<'a, S> RepoViewDetailBuilder<'a, S>
10758where
10759 S: repo_view_detail_state::State,
10760 S::Did: repo_view_detail_state::IsSet,
10761 S::Handle: repo_view_detail_state::IsSet,
10762 S::RelatedRecords: repo_view_detail_state::IsSet,
10763 S::IndexedAt: repo_view_detail_state::IsSet,
10764 S::Moderation: repo_view_detail_state::IsSet,
10765{
10766 pub fn build(self) -> RepoViewDetail<'a> {
10768 RepoViewDetail {
10769 deactivated_at: self.__unsafe_private_named.0,
10770 did: self.__unsafe_private_named.1.unwrap(),
10771 email: self.__unsafe_private_named.2,
10772 email_confirmed_at: self.__unsafe_private_named.3,
10773 handle: self.__unsafe_private_named.4.unwrap(),
10774 indexed_at: self.__unsafe_private_named.5.unwrap(),
10775 invite_note: self.__unsafe_private_named.6,
10776 invited_by: self.__unsafe_private_named.7,
10777 invites: self.__unsafe_private_named.8,
10778 invites_disabled: self.__unsafe_private_named.9,
10779 labels: self.__unsafe_private_named.10,
10780 moderation: self.__unsafe_private_named.11.unwrap(),
10781 related_records: self.__unsafe_private_named.12.unwrap(),
10782 threat_signatures: self.__unsafe_private_named.13,
10783 extra_data: Default::default(),
10784 }
10785 }
10786 pub fn build_with_data(
10788 self,
10789 extra_data: std::collections::BTreeMap<
10790 jacquard_common::smol_str::SmolStr,
10791 jacquard_common::types::value::Data<'a>,
10792 >,
10793 ) -> RepoViewDetail<'a> {
10794 RepoViewDetail {
10795 deactivated_at: self.__unsafe_private_named.0,
10796 did: self.__unsafe_private_named.1.unwrap(),
10797 email: self.__unsafe_private_named.2,
10798 email_confirmed_at: self.__unsafe_private_named.3,
10799 handle: self.__unsafe_private_named.4.unwrap(),
10800 indexed_at: self.__unsafe_private_named.5.unwrap(),
10801 invite_note: self.__unsafe_private_named.6,
10802 invited_by: self.__unsafe_private_named.7,
10803 invites: self.__unsafe_private_named.8,
10804 invites_disabled: self.__unsafe_private_named.9,
10805 labels: self.__unsafe_private_named.10,
10806 moderation: self.__unsafe_private_named.11.unwrap(),
10807 related_records: self.__unsafe_private_named.12.unwrap(),
10808 threat_signatures: self.__unsafe_private_named.13,
10809 extra_data: Some(extra_data),
10810 }
10811 }
10812}
10813
10814impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RepoViewDetail<'a> {
10815 fn nsid() -> &'static str {
10816 "tools.ozone.moderation.defs"
10817 }
10818 fn def_name() -> &'static str {
10819 "repoViewDetail"
10820 }
10821 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
10822 lexicon_doc_tools_ozone_moderation_defs()
10823 }
10824 fn validate(
10825 &self,
10826 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
10827 Ok(())
10828 }
10829}
10830
10831#[jacquard_derive::lexicon]
10832#[derive(
10833 serde::Serialize,
10834 serde::Deserialize,
10835 Debug,
10836 Clone,
10837 PartialEq,
10838 Eq,
10839 jacquard_derive::IntoStatic
10840)]
10841#[serde(rename_all = "camelCase")]
10842pub struct RepoViewNotFound<'a> {
10843 #[serde(borrow)]
10844 pub did: jacquard_common::types::string::Did<'a>,
10845}
10846
10847pub mod repo_view_not_found_state {
10848
10849 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
10850 #[allow(unused)]
10851 use ::core::marker::PhantomData;
10852 mod sealed {
10853 pub trait Sealed {}
10854 }
10855 pub trait State: sealed::Sealed {
10857 type Did;
10858 }
10859 pub struct Empty(());
10861 impl sealed::Sealed for Empty {}
10862 impl State for Empty {
10863 type Did = Unset;
10864 }
10865 pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
10867 impl<S: State> sealed::Sealed for SetDid<S> {}
10868 impl<S: State> State for SetDid<S> {
10869 type Did = Set<members::did>;
10870 }
10871 #[allow(non_camel_case_types)]
10873 pub mod members {
10874 pub struct did(());
10876 }
10877}
10878
10879pub struct RepoViewNotFoundBuilder<'a, S: repo_view_not_found_state::State> {
10881 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
10882 __unsafe_private_named: (
10883 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
10884 ),
10885 _phantom: ::core::marker::PhantomData<&'a ()>,
10886}
10887
10888impl<'a> RepoViewNotFound<'a> {
10889 pub fn new() -> RepoViewNotFoundBuilder<'a, repo_view_not_found_state::Empty> {
10891 RepoViewNotFoundBuilder::new()
10892 }
10893}
10894
10895impl<'a> RepoViewNotFoundBuilder<'a, repo_view_not_found_state::Empty> {
10896 pub fn new() -> Self {
10898 RepoViewNotFoundBuilder {
10899 _phantom_state: ::core::marker::PhantomData,
10900 __unsafe_private_named: (None,),
10901 _phantom: ::core::marker::PhantomData,
10902 }
10903 }
10904}
10905
10906impl<'a, S> RepoViewNotFoundBuilder<'a, S>
10907where
10908 S: repo_view_not_found_state::State,
10909 S::Did: repo_view_not_found_state::IsUnset,
10910{
10911 pub fn did(
10913 mut self,
10914 value: impl Into<jacquard_common::types::string::Did<'a>>,
10915 ) -> RepoViewNotFoundBuilder<'a, repo_view_not_found_state::SetDid<S>> {
10916 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
10917 RepoViewNotFoundBuilder {
10918 _phantom_state: ::core::marker::PhantomData,
10919 __unsafe_private_named: self.__unsafe_private_named,
10920 _phantom: ::core::marker::PhantomData,
10921 }
10922 }
10923}
10924
10925impl<'a, S> RepoViewNotFoundBuilder<'a, S>
10926where
10927 S: repo_view_not_found_state::State,
10928 S::Did: repo_view_not_found_state::IsSet,
10929{
10930 pub fn build(self) -> RepoViewNotFound<'a> {
10932 RepoViewNotFound {
10933 did: self.__unsafe_private_named.0.unwrap(),
10934 extra_data: Default::default(),
10935 }
10936 }
10937 pub fn build_with_data(
10939 self,
10940 extra_data: std::collections::BTreeMap<
10941 jacquard_common::smol_str::SmolStr,
10942 jacquard_common::types::value::Data<'a>,
10943 >,
10944 ) -> RepoViewNotFound<'a> {
10945 RepoViewNotFound {
10946 did: self.__unsafe_private_named.0.unwrap(),
10947 extra_data: Some(extra_data),
10948 }
10949 }
10950}
10951
10952impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RepoViewNotFound<'a> {
10953 fn nsid() -> &'static str {
10954 "tools.ozone.moderation.defs"
10955 }
10956 fn def_name() -> &'static str {
10957 "repoViewNotFound"
10958 }
10959 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
10960 lexicon_doc_tools_ozone_moderation_defs()
10961 }
10962 fn validate(
10963 &self,
10964 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
10965 Ok(())
10966 }
10967}
10968
10969#[jacquard_derive::lexicon]
10970#[derive(
10971 serde::Serialize,
10972 serde::Deserialize,
10973 Debug,
10974 Clone,
10975 PartialEq,
10976 Eq,
10977 jacquard_derive::IntoStatic
10978)]
10979#[serde(rename_all = "camelCase")]
10980pub struct ReporterStats<'a> {
10981 pub account_report_count: i64,
10983 #[serde(borrow)]
10984 pub did: jacquard_common::types::string::Did<'a>,
10985 pub labeled_account_count: i64,
10987 pub labeled_record_count: i64,
10989 pub record_report_count: i64,
10991 pub reported_account_count: i64,
10993 pub reported_record_count: i64,
10995 pub takendown_account_count: i64,
10997 pub takendown_record_count: i64,
10999}
11000
11001pub mod reporter_stats_state {
11002
11003 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
11004 #[allow(unused)]
11005 use ::core::marker::PhantomData;
11006 mod sealed {
11007 pub trait Sealed {}
11008 }
11009 pub trait State: sealed::Sealed {
11011 type Did;
11012 type AccountReportCount;
11013 type RecordReportCount;
11014 type ReportedAccountCount;
11015 type ReportedRecordCount;
11016 type TakendownAccountCount;
11017 type TakendownRecordCount;
11018 type LabeledAccountCount;
11019 type LabeledRecordCount;
11020 }
11021 pub struct Empty(());
11023 impl sealed::Sealed for Empty {}
11024 impl State for Empty {
11025 type Did = Unset;
11026 type AccountReportCount = Unset;
11027 type RecordReportCount = Unset;
11028 type ReportedAccountCount = Unset;
11029 type ReportedRecordCount = Unset;
11030 type TakendownAccountCount = Unset;
11031 type TakendownRecordCount = Unset;
11032 type LabeledAccountCount = Unset;
11033 type LabeledRecordCount = Unset;
11034 }
11035 pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
11037 impl<S: State> sealed::Sealed for SetDid<S> {}
11038 impl<S: State> State for SetDid<S> {
11039 type Did = Set<members::did>;
11040 type AccountReportCount = S::AccountReportCount;
11041 type RecordReportCount = S::RecordReportCount;
11042 type ReportedAccountCount = S::ReportedAccountCount;
11043 type ReportedRecordCount = S::ReportedRecordCount;
11044 type TakendownAccountCount = S::TakendownAccountCount;
11045 type TakendownRecordCount = S::TakendownRecordCount;
11046 type LabeledAccountCount = S::LabeledAccountCount;
11047 type LabeledRecordCount = S::LabeledRecordCount;
11048 }
11049 pub struct SetAccountReportCount<S: State = Empty>(PhantomData<fn() -> S>);
11051 impl<S: State> sealed::Sealed for SetAccountReportCount<S> {}
11052 impl<S: State> State for SetAccountReportCount<S> {
11053 type Did = S::Did;
11054 type AccountReportCount = Set<members::account_report_count>;
11055 type RecordReportCount = S::RecordReportCount;
11056 type ReportedAccountCount = S::ReportedAccountCount;
11057 type ReportedRecordCount = S::ReportedRecordCount;
11058 type TakendownAccountCount = S::TakendownAccountCount;
11059 type TakendownRecordCount = S::TakendownRecordCount;
11060 type LabeledAccountCount = S::LabeledAccountCount;
11061 type LabeledRecordCount = S::LabeledRecordCount;
11062 }
11063 pub struct SetRecordReportCount<S: State = Empty>(PhantomData<fn() -> S>);
11065 impl<S: State> sealed::Sealed for SetRecordReportCount<S> {}
11066 impl<S: State> State for SetRecordReportCount<S> {
11067 type Did = S::Did;
11068 type AccountReportCount = S::AccountReportCount;
11069 type RecordReportCount = Set<members::record_report_count>;
11070 type ReportedAccountCount = S::ReportedAccountCount;
11071 type ReportedRecordCount = S::ReportedRecordCount;
11072 type TakendownAccountCount = S::TakendownAccountCount;
11073 type TakendownRecordCount = S::TakendownRecordCount;
11074 type LabeledAccountCount = S::LabeledAccountCount;
11075 type LabeledRecordCount = S::LabeledRecordCount;
11076 }
11077 pub struct SetReportedAccountCount<S: State = Empty>(PhantomData<fn() -> S>);
11079 impl<S: State> sealed::Sealed for SetReportedAccountCount<S> {}
11080 impl<S: State> State for SetReportedAccountCount<S> {
11081 type Did = S::Did;
11082 type AccountReportCount = S::AccountReportCount;
11083 type RecordReportCount = S::RecordReportCount;
11084 type ReportedAccountCount = Set<members::reported_account_count>;
11085 type ReportedRecordCount = S::ReportedRecordCount;
11086 type TakendownAccountCount = S::TakendownAccountCount;
11087 type TakendownRecordCount = S::TakendownRecordCount;
11088 type LabeledAccountCount = S::LabeledAccountCount;
11089 type LabeledRecordCount = S::LabeledRecordCount;
11090 }
11091 pub struct SetReportedRecordCount<S: State = Empty>(PhantomData<fn() -> S>);
11093 impl<S: State> sealed::Sealed for SetReportedRecordCount<S> {}
11094 impl<S: State> State for SetReportedRecordCount<S> {
11095 type Did = S::Did;
11096 type AccountReportCount = S::AccountReportCount;
11097 type RecordReportCount = S::RecordReportCount;
11098 type ReportedAccountCount = S::ReportedAccountCount;
11099 type ReportedRecordCount = Set<members::reported_record_count>;
11100 type TakendownAccountCount = S::TakendownAccountCount;
11101 type TakendownRecordCount = S::TakendownRecordCount;
11102 type LabeledAccountCount = S::LabeledAccountCount;
11103 type LabeledRecordCount = S::LabeledRecordCount;
11104 }
11105 pub struct SetTakendownAccountCount<S: State = Empty>(PhantomData<fn() -> S>);
11107 impl<S: State> sealed::Sealed for SetTakendownAccountCount<S> {}
11108 impl<S: State> State for SetTakendownAccountCount<S> {
11109 type Did = S::Did;
11110 type AccountReportCount = S::AccountReportCount;
11111 type RecordReportCount = S::RecordReportCount;
11112 type ReportedAccountCount = S::ReportedAccountCount;
11113 type ReportedRecordCount = S::ReportedRecordCount;
11114 type TakendownAccountCount = Set<members::takendown_account_count>;
11115 type TakendownRecordCount = S::TakendownRecordCount;
11116 type LabeledAccountCount = S::LabeledAccountCount;
11117 type LabeledRecordCount = S::LabeledRecordCount;
11118 }
11119 pub struct SetTakendownRecordCount<S: State = Empty>(PhantomData<fn() -> S>);
11121 impl<S: State> sealed::Sealed for SetTakendownRecordCount<S> {}
11122 impl<S: State> State for SetTakendownRecordCount<S> {
11123 type Did = S::Did;
11124 type AccountReportCount = S::AccountReportCount;
11125 type RecordReportCount = S::RecordReportCount;
11126 type ReportedAccountCount = S::ReportedAccountCount;
11127 type ReportedRecordCount = S::ReportedRecordCount;
11128 type TakendownAccountCount = S::TakendownAccountCount;
11129 type TakendownRecordCount = Set<members::takendown_record_count>;
11130 type LabeledAccountCount = S::LabeledAccountCount;
11131 type LabeledRecordCount = S::LabeledRecordCount;
11132 }
11133 pub struct SetLabeledAccountCount<S: State = Empty>(PhantomData<fn() -> S>);
11135 impl<S: State> sealed::Sealed for SetLabeledAccountCount<S> {}
11136 impl<S: State> State for SetLabeledAccountCount<S> {
11137 type Did = S::Did;
11138 type AccountReportCount = S::AccountReportCount;
11139 type RecordReportCount = S::RecordReportCount;
11140 type ReportedAccountCount = S::ReportedAccountCount;
11141 type ReportedRecordCount = S::ReportedRecordCount;
11142 type TakendownAccountCount = S::TakendownAccountCount;
11143 type TakendownRecordCount = S::TakendownRecordCount;
11144 type LabeledAccountCount = Set<members::labeled_account_count>;
11145 type LabeledRecordCount = S::LabeledRecordCount;
11146 }
11147 pub struct SetLabeledRecordCount<S: State = Empty>(PhantomData<fn() -> S>);
11149 impl<S: State> sealed::Sealed for SetLabeledRecordCount<S> {}
11150 impl<S: State> State for SetLabeledRecordCount<S> {
11151 type Did = S::Did;
11152 type AccountReportCount = S::AccountReportCount;
11153 type RecordReportCount = S::RecordReportCount;
11154 type ReportedAccountCount = S::ReportedAccountCount;
11155 type ReportedRecordCount = S::ReportedRecordCount;
11156 type TakendownAccountCount = S::TakendownAccountCount;
11157 type TakendownRecordCount = S::TakendownRecordCount;
11158 type LabeledAccountCount = S::LabeledAccountCount;
11159 type LabeledRecordCount = Set<members::labeled_record_count>;
11160 }
11161 #[allow(non_camel_case_types)]
11163 pub mod members {
11164 pub struct did(());
11166 pub struct account_report_count(());
11168 pub struct record_report_count(());
11170 pub struct reported_account_count(());
11172 pub struct reported_record_count(());
11174 pub struct takendown_account_count(());
11176 pub struct takendown_record_count(());
11178 pub struct labeled_account_count(());
11180 pub struct labeled_record_count(());
11182 }
11183}
11184
11185pub struct ReporterStatsBuilder<'a, S: reporter_stats_state::State> {
11187 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
11188 __unsafe_private_named: (
11189 ::core::option::Option<i64>,
11190 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
11191 ::core::option::Option<i64>,
11192 ::core::option::Option<i64>,
11193 ::core::option::Option<i64>,
11194 ::core::option::Option<i64>,
11195 ::core::option::Option<i64>,
11196 ::core::option::Option<i64>,
11197 ::core::option::Option<i64>,
11198 ),
11199 _phantom: ::core::marker::PhantomData<&'a ()>,
11200}
11201
11202impl<'a> ReporterStats<'a> {
11203 pub fn new() -> ReporterStatsBuilder<'a, reporter_stats_state::Empty> {
11205 ReporterStatsBuilder::new()
11206 }
11207}
11208
11209impl<'a> ReporterStatsBuilder<'a, reporter_stats_state::Empty> {
11210 pub fn new() -> Self {
11212 ReporterStatsBuilder {
11213 _phantom_state: ::core::marker::PhantomData,
11214 __unsafe_private_named: (
11215 None,
11216 None,
11217 None,
11218 None,
11219 None,
11220 None,
11221 None,
11222 None,
11223 None,
11224 ),
11225 _phantom: ::core::marker::PhantomData,
11226 }
11227 }
11228}
11229
11230impl<'a, S> ReporterStatsBuilder<'a, S>
11231where
11232 S: reporter_stats_state::State,
11233 S::AccountReportCount: reporter_stats_state::IsUnset,
11234{
11235 pub fn account_report_count(
11237 mut self,
11238 value: impl Into<i64>,
11239 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetAccountReportCount<S>> {
11240 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
11241 ReporterStatsBuilder {
11242 _phantom_state: ::core::marker::PhantomData,
11243 __unsafe_private_named: self.__unsafe_private_named,
11244 _phantom: ::core::marker::PhantomData,
11245 }
11246 }
11247}
11248
11249impl<'a, S> ReporterStatsBuilder<'a, S>
11250where
11251 S: reporter_stats_state::State,
11252 S::Did: reporter_stats_state::IsUnset,
11253{
11254 pub fn did(
11256 mut self,
11257 value: impl Into<jacquard_common::types::string::Did<'a>>,
11258 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetDid<S>> {
11259 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
11260 ReporterStatsBuilder {
11261 _phantom_state: ::core::marker::PhantomData,
11262 __unsafe_private_named: self.__unsafe_private_named,
11263 _phantom: ::core::marker::PhantomData,
11264 }
11265 }
11266}
11267
11268impl<'a, S> ReporterStatsBuilder<'a, S>
11269where
11270 S: reporter_stats_state::State,
11271 S::LabeledAccountCount: reporter_stats_state::IsUnset,
11272{
11273 pub fn labeled_account_count(
11275 mut self,
11276 value: impl Into<i64>,
11277 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetLabeledAccountCount<S>> {
11278 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
11279 ReporterStatsBuilder {
11280 _phantom_state: ::core::marker::PhantomData,
11281 __unsafe_private_named: self.__unsafe_private_named,
11282 _phantom: ::core::marker::PhantomData,
11283 }
11284 }
11285}
11286
11287impl<'a, S> ReporterStatsBuilder<'a, S>
11288where
11289 S: reporter_stats_state::State,
11290 S::LabeledRecordCount: reporter_stats_state::IsUnset,
11291{
11292 pub fn labeled_record_count(
11294 mut self,
11295 value: impl Into<i64>,
11296 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetLabeledRecordCount<S>> {
11297 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
11298 ReporterStatsBuilder {
11299 _phantom_state: ::core::marker::PhantomData,
11300 __unsafe_private_named: self.__unsafe_private_named,
11301 _phantom: ::core::marker::PhantomData,
11302 }
11303 }
11304}
11305
11306impl<'a, S> ReporterStatsBuilder<'a, S>
11307where
11308 S: reporter_stats_state::State,
11309 S::RecordReportCount: reporter_stats_state::IsUnset,
11310{
11311 pub fn record_report_count(
11313 mut self,
11314 value: impl Into<i64>,
11315 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetRecordReportCount<S>> {
11316 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
11317 ReporterStatsBuilder {
11318 _phantom_state: ::core::marker::PhantomData,
11319 __unsafe_private_named: self.__unsafe_private_named,
11320 _phantom: ::core::marker::PhantomData,
11321 }
11322 }
11323}
11324
11325impl<'a, S> ReporterStatsBuilder<'a, S>
11326where
11327 S: reporter_stats_state::State,
11328 S::ReportedAccountCount: reporter_stats_state::IsUnset,
11329{
11330 pub fn reported_account_count(
11332 mut self,
11333 value: impl Into<i64>,
11334 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetReportedAccountCount<S>> {
11335 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
11336 ReporterStatsBuilder {
11337 _phantom_state: ::core::marker::PhantomData,
11338 __unsafe_private_named: self.__unsafe_private_named,
11339 _phantom: ::core::marker::PhantomData,
11340 }
11341 }
11342}
11343
11344impl<'a, S> ReporterStatsBuilder<'a, S>
11345where
11346 S: reporter_stats_state::State,
11347 S::ReportedRecordCount: reporter_stats_state::IsUnset,
11348{
11349 pub fn reported_record_count(
11351 mut self,
11352 value: impl Into<i64>,
11353 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetReportedRecordCount<S>> {
11354 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
11355 ReporterStatsBuilder {
11356 _phantom_state: ::core::marker::PhantomData,
11357 __unsafe_private_named: self.__unsafe_private_named,
11358 _phantom: ::core::marker::PhantomData,
11359 }
11360 }
11361}
11362
11363impl<'a, S> ReporterStatsBuilder<'a, S>
11364where
11365 S: reporter_stats_state::State,
11366 S::TakendownAccountCount: reporter_stats_state::IsUnset,
11367{
11368 pub fn takendown_account_count(
11370 mut self,
11371 value: impl Into<i64>,
11372 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetTakendownAccountCount<S>> {
11373 self.__unsafe_private_named.7 = ::core::option::Option::Some(value.into());
11374 ReporterStatsBuilder {
11375 _phantom_state: ::core::marker::PhantomData,
11376 __unsafe_private_named: self.__unsafe_private_named,
11377 _phantom: ::core::marker::PhantomData,
11378 }
11379 }
11380}
11381
11382impl<'a, S> ReporterStatsBuilder<'a, S>
11383where
11384 S: reporter_stats_state::State,
11385 S::TakendownRecordCount: reporter_stats_state::IsUnset,
11386{
11387 pub fn takendown_record_count(
11389 mut self,
11390 value: impl Into<i64>,
11391 ) -> ReporterStatsBuilder<'a, reporter_stats_state::SetTakendownRecordCount<S>> {
11392 self.__unsafe_private_named.8 = ::core::option::Option::Some(value.into());
11393 ReporterStatsBuilder {
11394 _phantom_state: ::core::marker::PhantomData,
11395 __unsafe_private_named: self.__unsafe_private_named,
11396 _phantom: ::core::marker::PhantomData,
11397 }
11398 }
11399}
11400
11401impl<'a, S> ReporterStatsBuilder<'a, S>
11402where
11403 S: reporter_stats_state::State,
11404 S::Did: reporter_stats_state::IsSet,
11405 S::AccountReportCount: reporter_stats_state::IsSet,
11406 S::RecordReportCount: reporter_stats_state::IsSet,
11407 S::ReportedAccountCount: reporter_stats_state::IsSet,
11408 S::ReportedRecordCount: reporter_stats_state::IsSet,
11409 S::TakendownAccountCount: reporter_stats_state::IsSet,
11410 S::TakendownRecordCount: reporter_stats_state::IsSet,
11411 S::LabeledAccountCount: reporter_stats_state::IsSet,
11412 S::LabeledRecordCount: reporter_stats_state::IsSet,
11413{
11414 pub fn build(self) -> ReporterStats<'a> {
11416 ReporterStats {
11417 account_report_count: self.__unsafe_private_named.0.unwrap(),
11418 did: self.__unsafe_private_named.1.unwrap(),
11419 labeled_account_count: self.__unsafe_private_named.2.unwrap(),
11420 labeled_record_count: self.__unsafe_private_named.3.unwrap(),
11421 record_report_count: self.__unsafe_private_named.4.unwrap(),
11422 reported_account_count: self.__unsafe_private_named.5.unwrap(),
11423 reported_record_count: self.__unsafe_private_named.6.unwrap(),
11424 takendown_account_count: self.__unsafe_private_named.7.unwrap(),
11425 takendown_record_count: self.__unsafe_private_named.8.unwrap(),
11426 extra_data: Default::default(),
11427 }
11428 }
11429 pub fn build_with_data(
11431 self,
11432 extra_data: std::collections::BTreeMap<
11433 jacquard_common::smol_str::SmolStr,
11434 jacquard_common::types::value::Data<'a>,
11435 >,
11436 ) -> ReporterStats<'a> {
11437 ReporterStats {
11438 account_report_count: self.__unsafe_private_named.0.unwrap(),
11439 did: self.__unsafe_private_named.1.unwrap(),
11440 labeled_account_count: self.__unsafe_private_named.2.unwrap(),
11441 labeled_record_count: self.__unsafe_private_named.3.unwrap(),
11442 record_report_count: self.__unsafe_private_named.4.unwrap(),
11443 reported_account_count: self.__unsafe_private_named.5.unwrap(),
11444 reported_record_count: self.__unsafe_private_named.6.unwrap(),
11445 takendown_account_count: self.__unsafe_private_named.7.unwrap(),
11446 takendown_record_count: self.__unsafe_private_named.8.unwrap(),
11447 extra_data: Some(extra_data),
11448 }
11449 }
11450}
11451
11452impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ReporterStats<'a> {
11453 fn nsid() -> &'static str {
11454 "tools.ozone.moderation.defs"
11455 }
11456 fn def_name() -> &'static str {
11457 "reporterStats"
11458 }
11459 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
11460 lexicon_doc_tools_ozone_moderation_defs()
11461 }
11462 fn validate(
11463 &self,
11464 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
11465 Ok(())
11466 }
11467}
11468
11469#[derive(
11471 serde::Serialize,
11472 serde::Deserialize,
11473 Debug,
11474 Clone,
11475 PartialEq,
11476 Eq,
11477 Hash,
11478 jacquard_derive::IntoStatic
11479)]
11480pub struct ReviewClosed;
11481impl std::fmt::Display for ReviewClosed {
11482 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11483 write!(f, "reviewClosed")
11484 }
11485}
11486
11487#[derive(
11489 serde::Serialize,
11490 serde::Deserialize,
11491 Debug,
11492 Clone,
11493 PartialEq,
11494 Eq,
11495 Hash,
11496 jacquard_derive::IntoStatic
11497)]
11498pub struct ReviewEscalated;
11499impl std::fmt::Display for ReviewEscalated {
11500 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11501 write!(f, "reviewEscalated")
11502 }
11503}
11504
11505#[derive(
11507 serde::Serialize,
11508 serde::Deserialize,
11509 Debug,
11510 Clone,
11511 PartialEq,
11512 Eq,
11513 Hash,
11514 jacquard_derive::IntoStatic
11515)]
11516pub struct ReviewNone;
11517impl std::fmt::Display for ReviewNone {
11518 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11519 write!(f, "reviewNone")
11520 }
11521}
11522
11523#[derive(
11525 serde::Serialize,
11526 serde::Deserialize,
11527 Debug,
11528 Clone,
11529 PartialEq,
11530 Eq,
11531 Hash,
11532 jacquard_derive::IntoStatic
11533)]
11534pub struct ReviewOpen;
11535impl std::fmt::Display for ReviewOpen {
11536 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11537 write!(f, "reviewOpen")
11538 }
11539}
11540
11541#[jacquard_derive::lexicon]
11543#[derive(
11544 serde::Serialize,
11545 serde::Deserialize,
11546 Debug,
11547 Clone,
11548 PartialEq,
11549 Eq,
11550 jacquard_derive::IntoStatic,
11551 Default
11552)]
11553#[serde(rename_all = "camelCase")]
11554pub struct RevokeAccountCredentialsEvent<'a> {
11555 #[serde(borrow)]
11557 pub comment: jacquard_common::CowStr<'a>,
11558}
11559
11560impl<'a> ::jacquard_lexicon::schema::LexiconSchema
11561for RevokeAccountCredentialsEvent<'a> {
11562 fn nsid() -> &'static str {
11563 "tools.ozone.moderation.defs"
11564 }
11565 fn def_name() -> &'static str {
11566 "revokeAccountCredentialsEvent"
11567 }
11568 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
11569 lexicon_doc_tools_ozone_moderation_defs()
11570 }
11571 fn validate(
11572 &self,
11573 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
11574 Ok(())
11575 }
11576}
11577
11578#[jacquard_derive::lexicon]
11580#[derive(
11581 serde::Serialize,
11582 serde::Deserialize,
11583 Debug,
11584 Clone,
11585 PartialEq,
11586 Eq,
11587 jacquard_derive::IntoStatic,
11588 Default
11589)]
11590#[serde(rename_all = "camelCase")]
11591pub struct ScheduleTakedownEvent<'a> {
11592 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11593 #[serde(borrow)]
11594 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
11595 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11596 pub execute_after: std::option::Option<jacquard_common::types::string::Datetime>,
11597 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11598 pub execute_at: std::option::Option<jacquard_common::types::string::Datetime>,
11599 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11600 pub execute_until: std::option::Option<jacquard_common::types::string::Datetime>,
11601}
11602
11603impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ScheduleTakedownEvent<'a> {
11604 fn nsid() -> &'static str {
11605 "tools.ozone.moderation.defs"
11606 }
11607 fn def_name() -> &'static str {
11608 "scheduleTakedownEvent"
11609 }
11610 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
11611 lexicon_doc_tools_ozone_moderation_defs()
11612 }
11613 fn validate(
11614 &self,
11615 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
11616 Ok(())
11617 }
11618}
11619
11620#[jacquard_derive::lexicon]
11622#[derive(
11623 serde::Serialize,
11624 serde::Deserialize,
11625 Debug,
11626 Clone,
11627 PartialEq,
11628 Eq,
11629 jacquard_derive::IntoStatic
11630)]
11631#[serde(rename_all = "camelCase")]
11632pub struct ScheduledActionView<'a> {
11633 #[serde(borrow)]
11635 pub action: jacquard_common::CowStr<'a>,
11636 pub created_at: jacquard_common::types::string::Datetime,
11638 #[serde(borrow)]
11640 pub created_by: jacquard_common::types::string::Did<'a>,
11641 #[serde(borrow)]
11643 pub did: jacquard_common::types::string::Did<'a>,
11644 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11646 #[serde(borrow)]
11647 pub event_data: Option<jacquard_common::types::value::Data<'a>>,
11648 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11650 pub execute_after: Option<jacquard_common::types::string::Datetime>,
11651 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11653 pub execute_at: Option<jacquard_common::types::string::Datetime>,
11654 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11656 pub execute_until: Option<jacquard_common::types::string::Datetime>,
11657 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11659 pub execution_event_id: Option<i64>,
11660 pub id: i64,
11662 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11664 pub last_executed_at: Option<jacquard_common::types::string::Datetime>,
11665 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11667 #[serde(borrow)]
11668 pub last_failure_reason: Option<jacquard_common::CowStr<'a>>,
11669 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11671 pub randomize_execution: Option<bool>,
11672 #[serde(borrow)]
11674 pub status: jacquard_common::CowStr<'a>,
11675 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11677 pub updated_at: Option<jacquard_common::types::string::Datetime>,
11678}
11679
11680pub mod scheduled_action_view_state {
11681
11682 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
11683 #[allow(unused)]
11684 use ::core::marker::PhantomData;
11685 mod sealed {
11686 pub trait Sealed {}
11687 }
11688 pub trait State: sealed::Sealed {
11690 type Id;
11691 type Action;
11692 type Did;
11693 type CreatedBy;
11694 type CreatedAt;
11695 type Status;
11696 }
11697 pub struct Empty(());
11699 impl sealed::Sealed for Empty {}
11700 impl State for Empty {
11701 type Id = Unset;
11702 type Action = Unset;
11703 type Did = Unset;
11704 type CreatedBy = Unset;
11705 type CreatedAt = Unset;
11706 type Status = Unset;
11707 }
11708 pub struct SetId<S: State = Empty>(PhantomData<fn() -> S>);
11710 impl<S: State> sealed::Sealed for SetId<S> {}
11711 impl<S: State> State for SetId<S> {
11712 type Id = Set<members::id>;
11713 type Action = S::Action;
11714 type Did = S::Did;
11715 type CreatedBy = S::CreatedBy;
11716 type CreatedAt = S::CreatedAt;
11717 type Status = S::Status;
11718 }
11719 pub struct SetAction<S: State = Empty>(PhantomData<fn() -> S>);
11721 impl<S: State> sealed::Sealed for SetAction<S> {}
11722 impl<S: State> State for SetAction<S> {
11723 type Id = S::Id;
11724 type Action = Set<members::action>;
11725 type Did = S::Did;
11726 type CreatedBy = S::CreatedBy;
11727 type CreatedAt = S::CreatedAt;
11728 type Status = S::Status;
11729 }
11730 pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
11732 impl<S: State> sealed::Sealed for SetDid<S> {}
11733 impl<S: State> State for SetDid<S> {
11734 type Id = S::Id;
11735 type Action = S::Action;
11736 type Did = Set<members::did>;
11737 type CreatedBy = S::CreatedBy;
11738 type CreatedAt = S::CreatedAt;
11739 type Status = S::Status;
11740 }
11741 pub struct SetCreatedBy<S: State = Empty>(PhantomData<fn() -> S>);
11743 impl<S: State> sealed::Sealed for SetCreatedBy<S> {}
11744 impl<S: State> State for SetCreatedBy<S> {
11745 type Id = S::Id;
11746 type Action = S::Action;
11747 type Did = S::Did;
11748 type CreatedBy = Set<members::created_by>;
11749 type CreatedAt = S::CreatedAt;
11750 type Status = S::Status;
11751 }
11752 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
11754 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
11755 impl<S: State> State for SetCreatedAt<S> {
11756 type Id = S::Id;
11757 type Action = S::Action;
11758 type Did = S::Did;
11759 type CreatedBy = S::CreatedBy;
11760 type CreatedAt = Set<members::created_at>;
11761 type Status = S::Status;
11762 }
11763 pub struct SetStatus<S: State = Empty>(PhantomData<fn() -> S>);
11765 impl<S: State> sealed::Sealed for SetStatus<S> {}
11766 impl<S: State> State for SetStatus<S> {
11767 type Id = S::Id;
11768 type Action = S::Action;
11769 type Did = S::Did;
11770 type CreatedBy = S::CreatedBy;
11771 type CreatedAt = S::CreatedAt;
11772 type Status = Set<members::status>;
11773 }
11774 #[allow(non_camel_case_types)]
11776 pub mod members {
11777 pub struct id(());
11779 pub struct action(());
11781 pub struct did(());
11783 pub struct created_by(());
11785 pub struct created_at(());
11787 pub struct status(());
11789 }
11790}
11791
11792pub struct ScheduledActionViewBuilder<'a, S: scheduled_action_view_state::State> {
11794 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
11795 __unsafe_private_named: (
11796 ::core::option::Option<jacquard_common::CowStr<'a>>,
11797 ::core::option::Option<jacquard_common::types::string::Datetime>,
11798 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
11799 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
11800 ::core::option::Option<jacquard_common::types::value::Data<'a>>,
11801 ::core::option::Option<jacquard_common::types::string::Datetime>,
11802 ::core::option::Option<jacquard_common::types::string::Datetime>,
11803 ::core::option::Option<jacquard_common::types::string::Datetime>,
11804 ::core::option::Option<i64>,
11805 ::core::option::Option<i64>,
11806 ::core::option::Option<jacquard_common::types::string::Datetime>,
11807 ::core::option::Option<jacquard_common::CowStr<'a>>,
11808 ::core::option::Option<bool>,
11809 ::core::option::Option<jacquard_common::CowStr<'a>>,
11810 ::core::option::Option<jacquard_common::types::string::Datetime>,
11811 ),
11812 _phantom: ::core::marker::PhantomData<&'a ()>,
11813}
11814
11815impl<'a> ScheduledActionView<'a> {
11816 pub fn new() -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::Empty> {
11818 ScheduledActionViewBuilder::new()
11819 }
11820}
11821
11822impl<'a> ScheduledActionViewBuilder<'a, scheduled_action_view_state::Empty> {
11823 pub fn new() -> Self {
11825 ScheduledActionViewBuilder {
11826 _phantom_state: ::core::marker::PhantomData,
11827 __unsafe_private_named: (
11828 None,
11829 None,
11830 None,
11831 None,
11832 None,
11833 None,
11834 None,
11835 None,
11836 None,
11837 None,
11838 None,
11839 None,
11840 None,
11841 None,
11842 None,
11843 ),
11844 _phantom: ::core::marker::PhantomData,
11845 }
11846 }
11847}
11848
11849impl<'a, S> ScheduledActionViewBuilder<'a, S>
11850where
11851 S: scheduled_action_view_state::State,
11852 S::Action: scheduled_action_view_state::IsUnset,
11853{
11854 pub fn action(
11856 mut self,
11857 value: impl Into<jacquard_common::CowStr<'a>>,
11858 ) -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::SetAction<S>> {
11859 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
11860 ScheduledActionViewBuilder {
11861 _phantom_state: ::core::marker::PhantomData,
11862 __unsafe_private_named: self.__unsafe_private_named,
11863 _phantom: ::core::marker::PhantomData,
11864 }
11865 }
11866}
11867
11868impl<'a, S> ScheduledActionViewBuilder<'a, S>
11869where
11870 S: scheduled_action_view_state::State,
11871 S::CreatedAt: scheduled_action_view_state::IsUnset,
11872{
11873 pub fn created_at(
11875 mut self,
11876 value: impl Into<jacquard_common::types::string::Datetime>,
11877 ) -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::SetCreatedAt<S>> {
11878 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
11879 ScheduledActionViewBuilder {
11880 _phantom_state: ::core::marker::PhantomData,
11881 __unsafe_private_named: self.__unsafe_private_named,
11882 _phantom: ::core::marker::PhantomData,
11883 }
11884 }
11885}
11886
11887impl<'a, S> ScheduledActionViewBuilder<'a, S>
11888where
11889 S: scheduled_action_view_state::State,
11890 S::CreatedBy: scheduled_action_view_state::IsUnset,
11891{
11892 pub fn created_by(
11894 mut self,
11895 value: impl Into<jacquard_common::types::string::Did<'a>>,
11896 ) -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::SetCreatedBy<S>> {
11897 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
11898 ScheduledActionViewBuilder {
11899 _phantom_state: ::core::marker::PhantomData,
11900 __unsafe_private_named: self.__unsafe_private_named,
11901 _phantom: ::core::marker::PhantomData,
11902 }
11903 }
11904}
11905
11906impl<'a, S> ScheduledActionViewBuilder<'a, S>
11907where
11908 S: scheduled_action_view_state::State,
11909 S::Did: scheduled_action_view_state::IsUnset,
11910{
11911 pub fn did(
11913 mut self,
11914 value: impl Into<jacquard_common::types::string::Did<'a>>,
11915 ) -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::SetDid<S>> {
11916 self.__unsafe_private_named.3 = ::core::option::Option::Some(value.into());
11917 ScheduledActionViewBuilder {
11918 _phantom_state: ::core::marker::PhantomData,
11919 __unsafe_private_named: self.__unsafe_private_named,
11920 _phantom: ::core::marker::PhantomData,
11921 }
11922 }
11923}
11924
11925impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
11926 pub fn event_data(
11928 mut self,
11929 value: impl Into<Option<jacquard_common::types::value::Data<'a>>>,
11930 ) -> Self {
11931 self.__unsafe_private_named.4 = value.into();
11932 self
11933 }
11934 pub fn maybe_event_data(
11936 mut self,
11937 value: Option<jacquard_common::types::value::Data<'a>>,
11938 ) -> Self {
11939 self.__unsafe_private_named.4 = value;
11940 self
11941 }
11942}
11943
11944impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
11945 pub fn execute_after(
11947 mut self,
11948 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
11949 ) -> Self {
11950 self.__unsafe_private_named.5 = value.into();
11951 self
11952 }
11953 pub fn maybe_execute_after(
11955 mut self,
11956 value: Option<jacquard_common::types::string::Datetime>,
11957 ) -> Self {
11958 self.__unsafe_private_named.5 = value;
11959 self
11960 }
11961}
11962
11963impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
11964 pub fn execute_at(
11966 mut self,
11967 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
11968 ) -> Self {
11969 self.__unsafe_private_named.6 = value.into();
11970 self
11971 }
11972 pub fn maybe_execute_at(
11974 mut self,
11975 value: Option<jacquard_common::types::string::Datetime>,
11976 ) -> Self {
11977 self.__unsafe_private_named.6 = value;
11978 self
11979 }
11980}
11981
11982impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
11983 pub fn execute_until(
11985 mut self,
11986 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
11987 ) -> Self {
11988 self.__unsafe_private_named.7 = value.into();
11989 self
11990 }
11991 pub fn maybe_execute_until(
11993 mut self,
11994 value: Option<jacquard_common::types::string::Datetime>,
11995 ) -> Self {
11996 self.__unsafe_private_named.7 = value;
11997 self
11998 }
11999}
12000
12001impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
12002 pub fn execution_event_id(mut self, value: impl Into<Option<i64>>) -> Self {
12004 self.__unsafe_private_named.8 = value.into();
12005 self
12006 }
12007 pub fn maybe_execution_event_id(mut self, value: Option<i64>) -> Self {
12009 self.__unsafe_private_named.8 = value;
12010 self
12011 }
12012}
12013
12014impl<'a, S> ScheduledActionViewBuilder<'a, S>
12015where
12016 S: scheduled_action_view_state::State,
12017 S::Id: scheduled_action_view_state::IsUnset,
12018{
12019 pub fn id(
12021 mut self,
12022 value: impl Into<i64>,
12023 ) -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::SetId<S>> {
12024 self.__unsafe_private_named.9 = ::core::option::Option::Some(value.into());
12025 ScheduledActionViewBuilder {
12026 _phantom_state: ::core::marker::PhantomData,
12027 __unsafe_private_named: self.__unsafe_private_named,
12028 _phantom: ::core::marker::PhantomData,
12029 }
12030 }
12031}
12032
12033impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
12034 pub fn last_executed_at(
12036 mut self,
12037 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12038 ) -> Self {
12039 self.__unsafe_private_named.10 = value.into();
12040 self
12041 }
12042 pub fn maybe_last_executed_at(
12044 mut self,
12045 value: Option<jacquard_common::types::string::Datetime>,
12046 ) -> Self {
12047 self.__unsafe_private_named.10 = value;
12048 self
12049 }
12050}
12051
12052impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
12053 pub fn last_failure_reason(
12055 mut self,
12056 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
12057 ) -> Self {
12058 self.__unsafe_private_named.11 = value.into();
12059 self
12060 }
12061 pub fn maybe_last_failure_reason(
12063 mut self,
12064 value: Option<jacquard_common::CowStr<'a>>,
12065 ) -> Self {
12066 self.__unsafe_private_named.11 = value;
12067 self
12068 }
12069}
12070
12071impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
12072 pub fn randomize_execution(mut self, value: impl Into<Option<bool>>) -> Self {
12074 self.__unsafe_private_named.12 = value.into();
12075 self
12076 }
12077 pub fn maybe_randomize_execution(mut self, value: Option<bool>) -> Self {
12079 self.__unsafe_private_named.12 = value;
12080 self
12081 }
12082}
12083
12084impl<'a, S> ScheduledActionViewBuilder<'a, S>
12085where
12086 S: scheduled_action_view_state::State,
12087 S::Status: scheduled_action_view_state::IsUnset,
12088{
12089 pub fn status(
12091 mut self,
12092 value: impl Into<jacquard_common::CowStr<'a>>,
12093 ) -> ScheduledActionViewBuilder<'a, scheduled_action_view_state::SetStatus<S>> {
12094 self.__unsafe_private_named.13 = ::core::option::Option::Some(value.into());
12095 ScheduledActionViewBuilder {
12096 _phantom_state: ::core::marker::PhantomData,
12097 __unsafe_private_named: self.__unsafe_private_named,
12098 _phantom: ::core::marker::PhantomData,
12099 }
12100 }
12101}
12102
12103impl<'a, S: scheduled_action_view_state::State> ScheduledActionViewBuilder<'a, S> {
12104 pub fn updated_at(
12106 mut self,
12107 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12108 ) -> Self {
12109 self.__unsafe_private_named.14 = value.into();
12110 self
12111 }
12112 pub fn maybe_updated_at(
12114 mut self,
12115 value: Option<jacquard_common::types::string::Datetime>,
12116 ) -> Self {
12117 self.__unsafe_private_named.14 = value;
12118 self
12119 }
12120}
12121
12122impl<'a, S> ScheduledActionViewBuilder<'a, S>
12123where
12124 S: scheduled_action_view_state::State,
12125 S::Id: scheduled_action_view_state::IsSet,
12126 S::Action: scheduled_action_view_state::IsSet,
12127 S::Did: scheduled_action_view_state::IsSet,
12128 S::CreatedBy: scheduled_action_view_state::IsSet,
12129 S::CreatedAt: scheduled_action_view_state::IsSet,
12130 S::Status: scheduled_action_view_state::IsSet,
12131{
12132 pub fn build(self) -> ScheduledActionView<'a> {
12134 ScheduledActionView {
12135 action: self.__unsafe_private_named.0.unwrap(),
12136 created_at: self.__unsafe_private_named.1.unwrap(),
12137 created_by: self.__unsafe_private_named.2.unwrap(),
12138 did: self.__unsafe_private_named.3.unwrap(),
12139 event_data: self.__unsafe_private_named.4,
12140 execute_after: self.__unsafe_private_named.5,
12141 execute_at: self.__unsafe_private_named.6,
12142 execute_until: self.__unsafe_private_named.7,
12143 execution_event_id: self.__unsafe_private_named.8,
12144 id: self.__unsafe_private_named.9.unwrap(),
12145 last_executed_at: self.__unsafe_private_named.10,
12146 last_failure_reason: self.__unsafe_private_named.11,
12147 randomize_execution: self.__unsafe_private_named.12,
12148 status: self.__unsafe_private_named.13.unwrap(),
12149 updated_at: self.__unsafe_private_named.14,
12150 extra_data: Default::default(),
12151 }
12152 }
12153 pub fn build_with_data(
12155 self,
12156 extra_data: std::collections::BTreeMap<
12157 jacquard_common::smol_str::SmolStr,
12158 jacquard_common::types::value::Data<'a>,
12159 >,
12160 ) -> ScheduledActionView<'a> {
12161 ScheduledActionView {
12162 action: self.__unsafe_private_named.0.unwrap(),
12163 created_at: self.__unsafe_private_named.1.unwrap(),
12164 created_by: self.__unsafe_private_named.2.unwrap(),
12165 did: self.__unsafe_private_named.3.unwrap(),
12166 event_data: self.__unsafe_private_named.4,
12167 execute_after: self.__unsafe_private_named.5,
12168 execute_at: self.__unsafe_private_named.6,
12169 execute_until: self.__unsafe_private_named.7,
12170 execution_event_id: self.__unsafe_private_named.8,
12171 id: self.__unsafe_private_named.9.unwrap(),
12172 last_executed_at: self.__unsafe_private_named.10,
12173 last_failure_reason: self.__unsafe_private_named.11,
12174 randomize_execution: self.__unsafe_private_named.12,
12175 status: self.__unsafe_private_named.13.unwrap(),
12176 updated_at: self.__unsafe_private_named.14,
12177 extra_data: Some(extra_data),
12178 }
12179 }
12180}
12181
12182impl<'a> ::jacquard_lexicon::schema::LexiconSchema for ScheduledActionView<'a> {
12183 fn nsid() -> &'static str {
12184 "tools.ozone.moderation.defs"
12185 }
12186 fn def_name() -> &'static str {
12187 "scheduledActionView"
12188 }
12189 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
12190 lexicon_doc_tools_ozone_moderation_defs()
12191 }
12192 fn validate(
12193 &self,
12194 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
12195 Ok(())
12196 }
12197}
12198
12199#[derive(Debug, Clone, PartialEq, Eq, Hash)]
12200pub enum SubjectReviewState<'a> {
12201 ReviewOpen,
12202 ReviewEscalated,
12203 ReviewClosed,
12204 ReviewNone,
12205 Other(jacquard_common::CowStr<'a>),
12206}
12207
12208impl<'a> SubjectReviewState<'a> {
12209 pub fn as_str(&self) -> &str {
12210 match self {
12211 Self::ReviewOpen => "#reviewOpen",
12212 Self::ReviewEscalated => "#reviewEscalated",
12213 Self::ReviewClosed => "#reviewClosed",
12214 Self::ReviewNone => "#reviewNone",
12215 Self::Other(s) => s.as_ref(),
12216 }
12217 }
12218}
12219
12220impl<'a> From<&'a str> for SubjectReviewState<'a> {
12221 fn from(s: &'a str) -> Self {
12222 match s {
12223 "#reviewOpen" => Self::ReviewOpen,
12224 "#reviewEscalated" => Self::ReviewEscalated,
12225 "#reviewClosed" => Self::ReviewClosed,
12226 "#reviewNone" => Self::ReviewNone,
12227 _ => Self::Other(jacquard_common::CowStr::from(s)),
12228 }
12229 }
12230}
12231
12232impl<'a> From<String> for SubjectReviewState<'a> {
12233 fn from(s: String) -> Self {
12234 match s.as_str() {
12235 "#reviewOpen" => Self::ReviewOpen,
12236 "#reviewEscalated" => Self::ReviewEscalated,
12237 "#reviewClosed" => Self::ReviewClosed,
12238 "#reviewNone" => Self::ReviewNone,
12239 _ => Self::Other(jacquard_common::CowStr::from(s)),
12240 }
12241 }
12242}
12243
12244impl<'a> AsRef<str> for SubjectReviewState<'a> {
12245 fn as_ref(&self) -> &str {
12246 self.as_str()
12247 }
12248}
12249
12250impl<'a> serde::Serialize for SubjectReviewState<'a> {
12251 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
12252 where
12253 S: serde::Serializer,
12254 {
12255 serializer.serialize_str(self.as_str())
12256 }
12257}
12258
12259impl<'de, 'a> serde::Deserialize<'de> for SubjectReviewState<'a>
12260where
12261 'de: 'a,
12262{
12263 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
12264 where
12265 D: serde::Deserializer<'de>,
12266 {
12267 let s = <&'de str>::deserialize(deserializer)?;
12268 Ok(Self::from(s))
12269 }
12270}
12271
12272impl jacquard_common::IntoStatic for SubjectReviewState<'_> {
12273 type Output = SubjectReviewState<'static>;
12274 fn into_static(self) -> Self::Output {
12275 match self {
12276 SubjectReviewState::ReviewOpen => SubjectReviewState::ReviewOpen,
12277 SubjectReviewState::ReviewEscalated => SubjectReviewState::ReviewEscalated,
12278 SubjectReviewState::ReviewClosed => SubjectReviewState::ReviewClosed,
12279 SubjectReviewState::ReviewNone => SubjectReviewState::ReviewNone,
12280 SubjectReviewState::Other(v) => SubjectReviewState::Other(v.into_static()),
12281 }
12282 }
12283}
12284
12285#[jacquard_derive::lexicon]
12286#[derive(
12287 serde::Serialize,
12288 serde::Deserialize,
12289 Debug,
12290 Clone,
12291 PartialEq,
12292 Eq,
12293 jacquard_derive::IntoStatic
12294)]
12295#[serde(rename_all = "camelCase")]
12296pub struct SubjectStatusView<'a> {
12297 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12299 #[serde(borrow)]
12300 pub account_stats: Option<crate::tools_ozone::moderation::AccountStats<'a>>,
12301 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12303 #[serde(borrow)]
12304 pub account_strike: Option<crate::tools_ozone::moderation::AccountStrike<'a>>,
12305 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12307 #[serde(borrow)]
12308 pub age_assurance_state: Option<jacquard_common::CowStr<'a>>,
12309 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12311 #[serde(borrow)]
12312 pub age_assurance_updated_by: Option<jacquard_common::CowStr<'a>>,
12313 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12315 pub appealed: Option<bool>,
12316 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12318 #[serde(borrow)]
12319 pub comment: Option<jacquard_common::CowStr<'a>>,
12320 pub created_at: jacquard_common::types::string::Datetime,
12322 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12323 #[serde(borrow)]
12324 pub hosting: Option<SubjectStatusViewHosting<'a>>,
12325 pub id: i64,
12326 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12328 pub last_appealed_at: Option<jacquard_common::types::string::Datetime>,
12329 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12330 pub last_reported_at: Option<jacquard_common::types::string::Datetime>,
12331 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12332 pub last_reviewed_at: Option<jacquard_common::types::string::Datetime>,
12333 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12334 #[serde(borrow)]
12335 pub last_reviewed_by: Option<jacquard_common::types::string::Did<'a>>,
12336 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12337 pub mute_reporting_until: Option<jacquard_common::types::string::Datetime>,
12338 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12339 pub mute_until: Option<jacquard_common::types::string::Datetime>,
12340 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12342 pub priority_score: Option<i64>,
12343 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12345 #[serde(borrow)]
12346 pub records_stats: Option<crate::tools_ozone::moderation::RecordsStats<'a>>,
12347 #[serde(borrow)]
12348 pub review_state: crate::tools_ozone::moderation::SubjectReviewState<'a>,
12349 #[serde(borrow)]
12350 pub subject: SubjectStatusViewSubject<'a>,
12351 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12352 #[serde(borrow)]
12353 pub subject_blob_cids: Option<Vec<jacquard_common::types::string::Cid<'a>>>,
12354 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12355 #[serde(borrow)]
12356 pub subject_repo_handle: Option<jacquard_common::CowStr<'a>>,
12357 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12358 pub suspend_until: Option<jacquard_common::types::string::Datetime>,
12359 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12360 #[serde(borrow)]
12361 pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
12362 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12363 pub takendown: Option<bool>,
12364 pub updated_at: jacquard_common::types::string::Datetime,
12366}
12367
12368pub mod subject_status_view_state {
12369
12370 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
12371 #[allow(unused)]
12372 use ::core::marker::PhantomData;
12373 mod sealed {
12374 pub trait Sealed {}
12375 }
12376 pub trait State: sealed::Sealed {
12378 type Id;
12379 type Subject;
12380 type CreatedAt;
12381 type UpdatedAt;
12382 type ReviewState;
12383 }
12384 pub struct Empty(());
12386 impl sealed::Sealed for Empty {}
12387 impl State for Empty {
12388 type Id = Unset;
12389 type Subject = Unset;
12390 type CreatedAt = Unset;
12391 type UpdatedAt = Unset;
12392 type ReviewState = Unset;
12393 }
12394 pub struct SetId<S: State = Empty>(PhantomData<fn() -> S>);
12396 impl<S: State> sealed::Sealed for SetId<S> {}
12397 impl<S: State> State for SetId<S> {
12398 type Id = Set<members::id>;
12399 type Subject = S::Subject;
12400 type CreatedAt = S::CreatedAt;
12401 type UpdatedAt = S::UpdatedAt;
12402 type ReviewState = S::ReviewState;
12403 }
12404 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
12406 impl<S: State> sealed::Sealed for SetSubject<S> {}
12407 impl<S: State> State for SetSubject<S> {
12408 type Id = S::Id;
12409 type Subject = Set<members::subject>;
12410 type CreatedAt = S::CreatedAt;
12411 type UpdatedAt = S::UpdatedAt;
12412 type ReviewState = S::ReviewState;
12413 }
12414 pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
12416 impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
12417 impl<S: State> State for SetCreatedAt<S> {
12418 type Id = S::Id;
12419 type Subject = S::Subject;
12420 type CreatedAt = Set<members::created_at>;
12421 type UpdatedAt = S::UpdatedAt;
12422 type ReviewState = S::ReviewState;
12423 }
12424 pub struct SetUpdatedAt<S: State = Empty>(PhantomData<fn() -> S>);
12426 impl<S: State> sealed::Sealed for SetUpdatedAt<S> {}
12427 impl<S: State> State for SetUpdatedAt<S> {
12428 type Id = S::Id;
12429 type Subject = S::Subject;
12430 type CreatedAt = S::CreatedAt;
12431 type UpdatedAt = Set<members::updated_at>;
12432 type ReviewState = S::ReviewState;
12433 }
12434 pub struct SetReviewState<S: State = Empty>(PhantomData<fn() -> S>);
12436 impl<S: State> sealed::Sealed for SetReviewState<S> {}
12437 impl<S: State> State for SetReviewState<S> {
12438 type Id = S::Id;
12439 type Subject = S::Subject;
12440 type CreatedAt = S::CreatedAt;
12441 type UpdatedAt = S::UpdatedAt;
12442 type ReviewState = Set<members::review_state>;
12443 }
12444 #[allow(non_camel_case_types)]
12446 pub mod members {
12447 pub struct id(());
12449 pub struct subject(());
12451 pub struct created_at(());
12453 pub struct updated_at(());
12455 pub struct review_state(());
12457 }
12458}
12459
12460pub struct SubjectStatusViewBuilder<'a, S: subject_status_view_state::State> {
12462 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
12463 __unsafe_private_named: (
12464 ::core::option::Option<crate::tools_ozone::moderation::AccountStats<'a>>,
12465 ::core::option::Option<crate::tools_ozone::moderation::AccountStrike<'a>>,
12466 ::core::option::Option<jacquard_common::CowStr<'a>>,
12467 ::core::option::Option<jacquard_common::CowStr<'a>>,
12468 ::core::option::Option<bool>,
12469 ::core::option::Option<jacquard_common::CowStr<'a>>,
12470 ::core::option::Option<jacquard_common::types::string::Datetime>,
12471 ::core::option::Option<SubjectStatusViewHosting<'a>>,
12472 ::core::option::Option<i64>,
12473 ::core::option::Option<jacquard_common::types::string::Datetime>,
12474 ::core::option::Option<jacquard_common::types::string::Datetime>,
12475 ::core::option::Option<jacquard_common::types::string::Datetime>,
12476 ::core::option::Option<jacquard_common::types::string::Did<'a>>,
12477 ::core::option::Option<jacquard_common::types::string::Datetime>,
12478 ::core::option::Option<jacquard_common::types::string::Datetime>,
12479 ::core::option::Option<i64>,
12480 ::core::option::Option<crate::tools_ozone::moderation::RecordsStats<'a>>,
12481 ::core::option::Option<crate::tools_ozone::moderation::SubjectReviewState<'a>>,
12482 ::core::option::Option<SubjectStatusViewSubject<'a>>,
12483 ::core::option::Option<Vec<jacquard_common::types::string::Cid<'a>>>,
12484 ::core::option::Option<jacquard_common::CowStr<'a>>,
12485 ::core::option::Option<jacquard_common::types::string::Datetime>,
12486 ::core::option::Option<Vec<jacquard_common::CowStr<'a>>>,
12487 ::core::option::Option<bool>,
12488 ::core::option::Option<jacquard_common::types::string::Datetime>,
12489 ),
12490 _phantom: ::core::marker::PhantomData<&'a ()>,
12491}
12492
12493impl<'a> SubjectStatusView<'a> {
12494 pub fn new() -> SubjectStatusViewBuilder<'a, subject_status_view_state::Empty> {
12496 SubjectStatusViewBuilder::new()
12497 }
12498}
12499
12500impl<'a> SubjectStatusViewBuilder<'a, subject_status_view_state::Empty> {
12501 pub fn new() -> Self {
12503 SubjectStatusViewBuilder {
12504 _phantom_state: ::core::marker::PhantomData,
12505 __unsafe_private_named: (
12506 None,
12507 None,
12508 None,
12509 None,
12510 None,
12511 None,
12512 None,
12513 None,
12514 None,
12515 None,
12516 None,
12517 None,
12518 None,
12519 None,
12520 None,
12521 None,
12522 None,
12523 None,
12524 None,
12525 None,
12526 None,
12527 None,
12528 None,
12529 None,
12530 None,
12531 ),
12532 _phantom: ::core::marker::PhantomData,
12533 }
12534 }
12535}
12536
12537impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12538 pub fn account_stats(
12540 mut self,
12541 value: impl Into<Option<crate::tools_ozone::moderation::AccountStats<'a>>>,
12542 ) -> Self {
12543 self.__unsafe_private_named.0 = value.into();
12544 self
12545 }
12546 pub fn maybe_account_stats(
12548 mut self,
12549 value: Option<crate::tools_ozone::moderation::AccountStats<'a>>,
12550 ) -> Self {
12551 self.__unsafe_private_named.0 = value;
12552 self
12553 }
12554}
12555
12556impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12557 pub fn account_strike(
12559 mut self,
12560 value: impl Into<Option<crate::tools_ozone::moderation::AccountStrike<'a>>>,
12561 ) -> Self {
12562 self.__unsafe_private_named.1 = value.into();
12563 self
12564 }
12565 pub fn maybe_account_strike(
12567 mut self,
12568 value: Option<crate::tools_ozone::moderation::AccountStrike<'a>>,
12569 ) -> Self {
12570 self.__unsafe_private_named.1 = value;
12571 self
12572 }
12573}
12574
12575impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12576 pub fn age_assurance_state(
12578 mut self,
12579 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
12580 ) -> Self {
12581 self.__unsafe_private_named.2 = value.into();
12582 self
12583 }
12584 pub fn maybe_age_assurance_state(
12586 mut self,
12587 value: Option<jacquard_common::CowStr<'a>>,
12588 ) -> Self {
12589 self.__unsafe_private_named.2 = value;
12590 self
12591 }
12592}
12593
12594impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12595 pub fn age_assurance_updated_by(
12597 mut self,
12598 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
12599 ) -> Self {
12600 self.__unsafe_private_named.3 = value.into();
12601 self
12602 }
12603 pub fn maybe_age_assurance_updated_by(
12605 mut self,
12606 value: Option<jacquard_common::CowStr<'a>>,
12607 ) -> Self {
12608 self.__unsafe_private_named.3 = value;
12609 self
12610 }
12611}
12612
12613impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12614 pub fn appealed(mut self, value: impl Into<Option<bool>>) -> Self {
12616 self.__unsafe_private_named.4 = value.into();
12617 self
12618 }
12619 pub fn maybe_appealed(mut self, value: Option<bool>) -> Self {
12621 self.__unsafe_private_named.4 = value;
12622 self
12623 }
12624}
12625
12626impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12627 pub fn comment(
12629 mut self,
12630 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
12631 ) -> Self {
12632 self.__unsafe_private_named.5 = value.into();
12633 self
12634 }
12635 pub fn maybe_comment(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self {
12637 self.__unsafe_private_named.5 = value;
12638 self
12639 }
12640}
12641
12642impl<'a, S> SubjectStatusViewBuilder<'a, S>
12643where
12644 S: subject_status_view_state::State,
12645 S::CreatedAt: subject_status_view_state::IsUnset,
12646{
12647 pub fn created_at(
12649 mut self,
12650 value: impl Into<jacquard_common::types::string::Datetime>,
12651 ) -> SubjectStatusViewBuilder<'a, subject_status_view_state::SetCreatedAt<S>> {
12652 self.__unsafe_private_named.6 = ::core::option::Option::Some(value.into());
12653 SubjectStatusViewBuilder {
12654 _phantom_state: ::core::marker::PhantomData,
12655 __unsafe_private_named: self.__unsafe_private_named,
12656 _phantom: ::core::marker::PhantomData,
12657 }
12658 }
12659}
12660
12661impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12662 pub fn hosting(
12664 mut self,
12665 value: impl Into<Option<SubjectStatusViewHosting<'a>>>,
12666 ) -> Self {
12667 self.__unsafe_private_named.7 = value.into();
12668 self
12669 }
12670 pub fn maybe_hosting(mut self, value: Option<SubjectStatusViewHosting<'a>>) -> Self {
12672 self.__unsafe_private_named.7 = value;
12673 self
12674 }
12675}
12676
12677impl<'a, S> SubjectStatusViewBuilder<'a, S>
12678where
12679 S: subject_status_view_state::State,
12680 S::Id: subject_status_view_state::IsUnset,
12681{
12682 pub fn id(
12684 mut self,
12685 value: impl Into<i64>,
12686 ) -> SubjectStatusViewBuilder<'a, subject_status_view_state::SetId<S>> {
12687 self.__unsafe_private_named.8 = ::core::option::Option::Some(value.into());
12688 SubjectStatusViewBuilder {
12689 _phantom_state: ::core::marker::PhantomData,
12690 __unsafe_private_named: self.__unsafe_private_named,
12691 _phantom: ::core::marker::PhantomData,
12692 }
12693 }
12694}
12695
12696impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12697 pub fn last_appealed_at(
12699 mut self,
12700 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12701 ) -> Self {
12702 self.__unsafe_private_named.9 = value.into();
12703 self
12704 }
12705 pub fn maybe_last_appealed_at(
12707 mut self,
12708 value: Option<jacquard_common::types::string::Datetime>,
12709 ) -> Self {
12710 self.__unsafe_private_named.9 = value;
12711 self
12712 }
12713}
12714
12715impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12716 pub fn last_reported_at(
12718 mut self,
12719 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12720 ) -> Self {
12721 self.__unsafe_private_named.10 = value.into();
12722 self
12723 }
12724 pub fn maybe_last_reported_at(
12726 mut self,
12727 value: Option<jacquard_common::types::string::Datetime>,
12728 ) -> Self {
12729 self.__unsafe_private_named.10 = value;
12730 self
12731 }
12732}
12733
12734impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12735 pub fn last_reviewed_at(
12737 mut self,
12738 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12739 ) -> Self {
12740 self.__unsafe_private_named.11 = value.into();
12741 self
12742 }
12743 pub fn maybe_last_reviewed_at(
12745 mut self,
12746 value: Option<jacquard_common::types::string::Datetime>,
12747 ) -> Self {
12748 self.__unsafe_private_named.11 = value;
12749 self
12750 }
12751}
12752
12753impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12754 pub fn last_reviewed_by(
12756 mut self,
12757 value: impl Into<Option<jacquard_common::types::string::Did<'a>>>,
12758 ) -> Self {
12759 self.__unsafe_private_named.12 = value.into();
12760 self
12761 }
12762 pub fn maybe_last_reviewed_by(
12764 mut self,
12765 value: Option<jacquard_common::types::string::Did<'a>>,
12766 ) -> Self {
12767 self.__unsafe_private_named.12 = value;
12768 self
12769 }
12770}
12771
12772impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12773 pub fn mute_reporting_until(
12775 mut self,
12776 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12777 ) -> Self {
12778 self.__unsafe_private_named.13 = value.into();
12779 self
12780 }
12781 pub fn maybe_mute_reporting_until(
12783 mut self,
12784 value: Option<jacquard_common::types::string::Datetime>,
12785 ) -> Self {
12786 self.__unsafe_private_named.13 = value;
12787 self
12788 }
12789}
12790
12791impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12792 pub fn mute_until(
12794 mut self,
12795 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12796 ) -> Self {
12797 self.__unsafe_private_named.14 = value.into();
12798 self
12799 }
12800 pub fn maybe_mute_until(
12802 mut self,
12803 value: Option<jacquard_common::types::string::Datetime>,
12804 ) -> Self {
12805 self.__unsafe_private_named.14 = value;
12806 self
12807 }
12808}
12809
12810impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12811 pub fn priority_score(mut self, value: impl Into<Option<i64>>) -> Self {
12813 self.__unsafe_private_named.15 = value.into();
12814 self
12815 }
12816 pub fn maybe_priority_score(mut self, value: Option<i64>) -> Self {
12818 self.__unsafe_private_named.15 = value;
12819 self
12820 }
12821}
12822
12823impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12824 pub fn records_stats(
12826 mut self,
12827 value: impl Into<Option<crate::tools_ozone::moderation::RecordsStats<'a>>>,
12828 ) -> Self {
12829 self.__unsafe_private_named.16 = value.into();
12830 self
12831 }
12832 pub fn maybe_records_stats(
12834 mut self,
12835 value: Option<crate::tools_ozone::moderation::RecordsStats<'a>>,
12836 ) -> Self {
12837 self.__unsafe_private_named.16 = value;
12838 self
12839 }
12840}
12841
12842impl<'a, S> SubjectStatusViewBuilder<'a, S>
12843where
12844 S: subject_status_view_state::State,
12845 S::ReviewState: subject_status_view_state::IsUnset,
12846{
12847 pub fn review_state(
12849 mut self,
12850 value: impl Into<crate::tools_ozone::moderation::SubjectReviewState<'a>>,
12851 ) -> SubjectStatusViewBuilder<'a, subject_status_view_state::SetReviewState<S>> {
12852 self.__unsafe_private_named.17 = ::core::option::Option::Some(value.into());
12853 SubjectStatusViewBuilder {
12854 _phantom_state: ::core::marker::PhantomData,
12855 __unsafe_private_named: self.__unsafe_private_named,
12856 _phantom: ::core::marker::PhantomData,
12857 }
12858 }
12859}
12860
12861impl<'a, S> SubjectStatusViewBuilder<'a, S>
12862where
12863 S: subject_status_view_state::State,
12864 S::Subject: subject_status_view_state::IsUnset,
12865{
12866 pub fn subject(
12868 mut self,
12869 value: impl Into<SubjectStatusViewSubject<'a>>,
12870 ) -> SubjectStatusViewBuilder<'a, subject_status_view_state::SetSubject<S>> {
12871 self.__unsafe_private_named.18 = ::core::option::Option::Some(value.into());
12872 SubjectStatusViewBuilder {
12873 _phantom_state: ::core::marker::PhantomData,
12874 __unsafe_private_named: self.__unsafe_private_named,
12875 _phantom: ::core::marker::PhantomData,
12876 }
12877 }
12878}
12879
12880impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12881 pub fn subject_blob_cids(
12883 mut self,
12884 value: impl Into<Option<Vec<jacquard_common::types::string::Cid<'a>>>>,
12885 ) -> Self {
12886 self.__unsafe_private_named.19 = value.into();
12887 self
12888 }
12889 pub fn maybe_subject_blob_cids(
12891 mut self,
12892 value: Option<Vec<jacquard_common::types::string::Cid<'a>>>,
12893 ) -> Self {
12894 self.__unsafe_private_named.19 = value;
12895 self
12896 }
12897}
12898
12899impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12900 pub fn subject_repo_handle(
12902 mut self,
12903 value: impl Into<Option<jacquard_common::CowStr<'a>>>,
12904 ) -> Self {
12905 self.__unsafe_private_named.20 = value.into();
12906 self
12907 }
12908 pub fn maybe_subject_repo_handle(
12910 mut self,
12911 value: Option<jacquard_common::CowStr<'a>>,
12912 ) -> Self {
12913 self.__unsafe_private_named.20 = value;
12914 self
12915 }
12916}
12917
12918impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12919 pub fn suspend_until(
12921 mut self,
12922 value: impl Into<Option<jacquard_common::types::string::Datetime>>,
12923 ) -> Self {
12924 self.__unsafe_private_named.21 = value.into();
12925 self
12926 }
12927 pub fn maybe_suspend_until(
12929 mut self,
12930 value: Option<jacquard_common::types::string::Datetime>,
12931 ) -> Self {
12932 self.__unsafe_private_named.21 = value;
12933 self
12934 }
12935}
12936
12937impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12938 pub fn tags(
12940 mut self,
12941 value: impl Into<Option<Vec<jacquard_common::CowStr<'a>>>>,
12942 ) -> Self {
12943 self.__unsafe_private_named.22 = value.into();
12944 self
12945 }
12946 pub fn maybe_tags(
12948 mut self,
12949 value: Option<Vec<jacquard_common::CowStr<'a>>>,
12950 ) -> Self {
12951 self.__unsafe_private_named.22 = value;
12952 self
12953 }
12954}
12955
12956impl<'a, S: subject_status_view_state::State> SubjectStatusViewBuilder<'a, S> {
12957 pub fn takendown(mut self, value: impl Into<Option<bool>>) -> Self {
12959 self.__unsafe_private_named.23 = value.into();
12960 self
12961 }
12962 pub fn maybe_takendown(mut self, value: Option<bool>) -> Self {
12964 self.__unsafe_private_named.23 = value;
12965 self
12966 }
12967}
12968
12969impl<'a, S> SubjectStatusViewBuilder<'a, S>
12970where
12971 S: subject_status_view_state::State,
12972 S::UpdatedAt: subject_status_view_state::IsUnset,
12973{
12974 pub fn updated_at(
12976 mut self,
12977 value: impl Into<jacquard_common::types::string::Datetime>,
12978 ) -> SubjectStatusViewBuilder<'a, subject_status_view_state::SetUpdatedAt<S>> {
12979 self.__unsafe_private_named.24 = ::core::option::Option::Some(value.into());
12980 SubjectStatusViewBuilder {
12981 _phantom_state: ::core::marker::PhantomData,
12982 __unsafe_private_named: self.__unsafe_private_named,
12983 _phantom: ::core::marker::PhantomData,
12984 }
12985 }
12986}
12987
12988impl<'a, S> SubjectStatusViewBuilder<'a, S>
12989where
12990 S: subject_status_view_state::State,
12991 S::Id: subject_status_view_state::IsSet,
12992 S::Subject: subject_status_view_state::IsSet,
12993 S::CreatedAt: subject_status_view_state::IsSet,
12994 S::UpdatedAt: subject_status_view_state::IsSet,
12995 S::ReviewState: subject_status_view_state::IsSet,
12996{
12997 pub fn build(self) -> SubjectStatusView<'a> {
12999 SubjectStatusView {
13000 account_stats: self.__unsafe_private_named.0,
13001 account_strike: self.__unsafe_private_named.1,
13002 age_assurance_state: self.__unsafe_private_named.2,
13003 age_assurance_updated_by: self.__unsafe_private_named.3,
13004 appealed: self.__unsafe_private_named.4,
13005 comment: self.__unsafe_private_named.5,
13006 created_at: self.__unsafe_private_named.6.unwrap(),
13007 hosting: self.__unsafe_private_named.7,
13008 id: self.__unsafe_private_named.8.unwrap(),
13009 last_appealed_at: self.__unsafe_private_named.9,
13010 last_reported_at: self.__unsafe_private_named.10,
13011 last_reviewed_at: self.__unsafe_private_named.11,
13012 last_reviewed_by: self.__unsafe_private_named.12,
13013 mute_reporting_until: self.__unsafe_private_named.13,
13014 mute_until: self.__unsafe_private_named.14,
13015 priority_score: self.__unsafe_private_named.15,
13016 records_stats: self.__unsafe_private_named.16,
13017 review_state: self.__unsafe_private_named.17.unwrap(),
13018 subject: self.__unsafe_private_named.18.unwrap(),
13019 subject_blob_cids: self.__unsafe_private_named.19,
13020 subject_repo_handle: self.__unsafe_private_named.20,
13021 suspend_until: self.__unsafe_private_named.21,
13022 tags: self.__unsafe_private_named.22,
13023 takendown: self.__unsafe_private_named.23,
13024 updated_at: self.__unsafe_private_named.24.unwrap(),
13025 extra_data: Default::default(),
13026 }
13027 }
13028 pub fn build_with_data(
13030 self,
13031 extra_data: std::collections::BTreeMap<
13032 jacquard_common::smol_str::SmolStr,
13033 jacquard_common::types::value::Data<'a>,
13034 >,
13035 ) -> SubjectStatusView<'a> {
13036 SubjectStatusView {
13037 account_stats: self.__unsafe_private_named.0,
13038 account_strike: self.__unsafe_private_named.1,
13039 age_assurance_state: self.__unsafe_private_named.2,
13040 age_assurance_updated_by: self.__unsafe_private_named.3,
13041 appealed: self.__unsafe_private_named.4,
13042 comment: self.__unsafe_private_named.5,
13043 created_at: self.__unsafe_private_named.6.unwrap(),
13044 hosting: self.__unsafe_private_named.7,
13045 id: self.__unsafe_private_named.8.unwrap(),
13046 last_appealed_at: self.__unsafe_private_named.9,
13047 last_reported_at: self.__unsafe_private_named.10,
13048 last_reviewed_at: self.__unsafe_private_named.11,
13049 last_reviewed_by: self.__unsafe_private_named.12,
13050 mute_reporting_until: self.__unsafe_private_named.13,
13051 mute_until: self.__unsafe_private_named.14,
13052 priority_score: self.__unsafe_private_named.15,
13053 records_stats: self.__unsafe_private_named.16,
13054 review_state: self.__unsafe_private_named.17.unwrap(),
13055 subject: self.__unsafe_private_named.18.unwrap(),
13056 subject_blob_cids: self.__unsafe_private_named.19,
13057 subject_repo_handle: self.__unsafe_private_named.20,
13058 suspend_until: self.__unsafe_private_named.21,
13059 tags: self.__unsafe_private_named.22,
13060 takendown: self.__unsafe_private_named.23,
13061 updated_at: self.__unsafe_private_named.24.unwrap(),
13062 extra_data: Some(extra_data),
13063 }
13064 }
13065}
13066
13067#[jacquard_derive::open_union]
13068#[derive(
13069 serde::Serialize,
13070 serde::Deserialize,
13071 Debug,
13072 Clone,
13073 PartialEq,
13074 Eq,
13075 jacquard_derive::IntoStatic
13076)]
13077#[serde(tag = "$type")]
13078#[serde(bound(deserialize = "'de: 'a"))]
13079pub enum SubjectStatusViewHosting<'a> {
13080 #[serde(rename = "tools.ozone.moderation.defs#accountHosting")]
13081 AccountHosting(Box<crate::tools_ozone::moderation::AccountHosting<'a>>),
13082 #[serde(rename = "tools.ozone.moderation.defs#recordHosting")]
13083 RecordHosting(Box<crate::tools_ozone::moderation::RecordHosting<'a>>),
13084}
13085
13086#[jacquard_derive::open_union]
13087#[derive(
13088 serde::Serialize,
13089 serde::Deserialize,
13090 Debug,
13091 Clone,
13092 PartialEq,
13093 Eq,
13094 jacquard_derive::IntoStatic
13095)]
13096#[serde(tag = "$type")]
13097#[serde(bound(deserialize = "'de: 'a"))]
13098pub enum SubjectStatusViewSubject<'a> {
13099 #[serde(rename = "com.atproto.admin.defs#repoRef")]
13100 RepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>),
13101 #[serde(rename = "com.atproto.repo.strongRef")]
13102 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
13103 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
13104 MessageRef(Box<crate::chat_bsky::convo::MessageRef<'a>>),
13105}
13106
13107impl<'a> ::jacquard_lexicon::schema::LexiconSchema for SubjectStatusView<'a> {
13108 fn nsid() -> &'static str {
13109 "tools.ozone.moderation.defs"
13110 }
13111 fn def_name() -> &'static str {
13112 "subjectStatusView"
13113 }
13114 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
13115 lexicon_doc_tools_ozone_moderation_defs()
13116 }
13117 fn validate(
13118 &self,
13119 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
13120 if let Some(ref value) = self.priority_score {
13121 if *value > 100i64 {
13122 return Err(::jacquard_lexicon::validation::ConstraintError::Maximum {
13123 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
13124 "priority_score",
13125 ),
13126 max: 100i64,
13127 actual: *value,
13128 });
13129 }
13130 }
13131 if let Some(ref value) = self.priority_score {
13132 if *value < 0i64 {
13133 return Err(::jacquard_lexicon::validation::ConstraintError::Minimum {
13134 path: ::jacquard_lexicon::validation::ValidationPath::from_field(
13135 "priority_score",
13136 ),
13137 min: 0i64,
13138 actual: *value,
13139 });
13140 }
13141 }
13142 Ok(())
13143 }
13144}
13145
13146#[jacquard_derive::lexicon]
13148#[derive(
13149 serde::Serialize,
13150 serde::Deserialize,
13151 Debug,
13152 Clone,
13153 PartialEq,
13154 Eq,
13155 jacquard_derive::IntoStatic
13156)]
13157#[serde(rename_all = "camelCase")]
13158pub struct SubjectView<'a> {
13159 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13160 #[serde(borrow)]
13161 pub profile: Option<jacquard_common::types::value::Data<'a>>,
13162 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13163 #[serde(borrow)]
13164 pub record: Option<crate::tools_ozone::moderation::RecordViewDetail<'a>>,
13165 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13166 #[serde(borrow)]
13167 pub repo: Option<crate::tools_ozone::moderation::RepoViewDetail<'a>>,
13168 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13169 #[serde(borrow)]
13170 pub status: Option<crate::tools_ozone::moderation::SubjectStatusView<'a>>,
13171 #[serde(borrow)]
13172 pub subject: jacquard_common::CowStr<'a>,
13173 #[serde(borrow)]
13174 pub r#type: crate::com_atproto::moderation::SubjectType<'a>,
13175}
13176
13177pub mod subject_view_state {
13178
13179 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
13180 #[allow(unused)]
13181 use ::core::marker::PhantomData;
13182 mod sealed {
13183 pub trait Sealed {}
13184 }
13185 pub trait State: sealed::Sealed {
13187 type Type;
13188 type Subject;
13189 }
13190 pub struct Empty(());
13192 impl sealed::Sealed for Empty {}
13193 impl State for Empty {
13194 type Type = Unset;
13195 type Subject = Unset;
13196 }
13197 pub struct SetType<S: State = Empty>(PhantomData<fn() -> S>);
13199 impl<S: State> sealed::Sealed for SetType<S> {}
13200 impl<S: State> State for SetType<S> {
13201 type Type = Set<members::r#type>;
13202 type Subject = S::Subject;
13203 }
13204 pub struct SetSubject<S: State = Empty>(PhantomData<fn() -> S>);
13206 impl<S: State> sealed::Sealed for SetSubject<S> {}
13207 impl<S: State> State for SetSubject<S> {
13208 type Type = S::Type;
13209 type Subject = Set<members::subject>;
13210 }
13211 #[allow(non_camel_case_types)]
13213 pub mod members {
13214 pub struct r#type(());
13216 pub struct subject(());
13218 }
13219}
13220
13221pub struct SubjectViewBuilder<'a, S: subject_view_state::State> {
13223 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
13224 __unsafe_private_named: (
13225 ::core::option::Option<jacquard_common::types::value::Data<'a>>,
13226 ::core::option::Option<crate::tools_ozone::moderation::RecordViewDetail<'a>>,
13227 ::core::option::Option<crate::tools_ozone::moderation::RepoViewDetail<'a>>,
13228 ::core::option::Option<crate::tools_ozone::moderation::SubjectStatusView<'a>>,
13229 ::core::option::Option<jacquard_common::CowStr<'a>>,
13230 ::core::option::Option<crate::com_atproto::moderation::SubjectType<'a>>,
13231 ),
13232 _phantom: ::core::marker::PhantomData<&'a ()>,
13233}
13234
13235impl<'a> SubjectView<'a> {
13236 pub fn new() -> SubjectViewBuilder<'a, subject_view_state::Empty> {
13238 SubjectViewBuilder::new()
13239 }
13240}
13241
13242impl<'a> SubjectViewBuilder<'a, subject_view_state::Empty> {
13243 pub fn new() -> Self {
13245 SubjectViewBuilder {
13246 _phantom_state: ::core::marker::PhantomData,
13247 __unsafe_private_named: (None, None, None, None, None, None),
13248 _phantom: ::core::marker::PhantomData,
13249 }
13250 }
13251}
13252
13253impl<'a, S: subject_view_state::State> SubjectViewBuilder<'a, S> {
13254 pub fn profile(
13256 mut self,
13257 value: impl Into<Option<jacquard_common::types::value::Data<'a>>>,
13258 ) -> Self {
13259 self.__unsafe_private_named.0 = value.into();
13260 self
13261 }
13262 pub fn maybe_profile(
13264 mut self,
13265 value: Option<jacquard_common::types::value::Data<'a>>,
13266 ) -> Self {
13267 self.__unsafe_private_named.0 = value;
13268 self
13269 }
13270}
13271
13272impl<'a, S: subject_view_state::State> SubjectViewBuilder<'a, S> {
13273 pub fn record(
13275 mut self,
13276 value: impl Into<Option<crate::tools_ozone::moderation::RecordViewDetail<'a>>>,
13277 ) -> Self {
13278 self.__unsafe_private_named.1 = value.into();
13279 self
13280 }
13281 pub fn maybe_record(
13283 mut self,
13284 value: Option<crate::tools_ozone::moderation::RecordViewDetail<'a>>,
13285 ) -> Self {
13286 self.__unsafe_private_named.1 = value;
13287 self
13288 }
13289}
13290
13291impl<'a, S: subject_view_state::State> SubjectViewBuilder<'a, S> {
13292 pub fn repo(
13294 mut self,
13295 value: impl Into<Option<crate::tools_ozone::moderation::RepoViewDetail<'a>>>,
13296 ) -> Self {
13297 self.__unsafe_private_named.2 = value.into();
13298 self
13299 }
13300 pub fn maybe_repo(
13302 mut self,
13303 value: Option<crate::tools_ozone::moderation::RepoViewDetail<'a>>,
13304 ) -> Self {
13305 self.__unsafe_private_named.2 = value;
13306 self
13307 }
13308}
13309
13310impl<'a, S: subject_view_state::State> SubjectViewBuilder<'a, S> {
13311 pub fn status(
13313 mut self,
13314 value: impl Into<Option<crate::tools_ozone::moderation::SubjectStatusView<'a>>>,
13315 ) -> Self {
13316 self.__unsafe_private_named.3 = value.into();
13317 self
13318 }
13319 pub fn maybe_status(
13321 mut self,
13322 value: Option<crate::tools_ozone::moderation::SubjectStatusView<'a>>,
13323 ) -> Self {
13324 self.__unsafe_private_named.3 = value;
13325 self
13326 }
13327}
13328
13329impl<'a, S> SubjectViewBuilder<'a, S>
13330where
13331 S: subject_view_state::State,
13332 S::Subject: subject_view_state::IsUnset,
13333{
13334 pub fn subject(
13336 mut self,
13337 value: impl Into<jacquard_common::CowStr<'a>>,
13338 ) -> SubjectViewBuilder<'a, subject_view_state::SetSubject<S>> {
13339 self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
13340 SubjectViewBuilder {
13341 _phantom_state: ::core::marker::PhantomData,
13342 __unsafe_private_named: self.__unsafe_private_named,
13343 _phantom: ::core::marker::PhantomData,
13344 }
13345 }
13346}
13347
13348impl<'a, S> SubjectViewBuilder<'a, S>
13349where
13350 S: subject_view_state::State,
13351 S::Type: subject_view_state::IsUnset,
13352{
13353 pub fn r#type(
13355 mut self,
13356 value: impl Into<crate::com_atproto::moderation::SubjectType<'a>>,
13357 ) -> SubjectViewBuilder<'a, subject_view_state::SetType<S>> {
13358 self.__unsafe_private_named.5 = ::core::option::Option::Some(value.into());
13359 SubjectViewBuilder {
13360 _phantom_state: ::core::marker::PhantomData,
13361 __unsafe_private_named: self.__unsafe_private_named,
13362 _phantom: ::core::marker::PhantomData,
13363 }
13364 }
13365}
13366
13367impl<'a, S> SubjectViewBuilder<'a, S>
13368where
13369 S: subject_view_state::State,
13370 S::Type: subject_view_state::IsSet,
13371 S::Subject: subject_view_state::IsSet,
13372{
13373 pub fn build(self) -> SubjectView<'a> {
13375 SubjectView {
13376 profile: self.__unsafe_private_named.0,
13377 record: self.__unsafe_private_named.1,
13378 repo: self.__unsafe_private_named.2,
13379 status: self.__unsafe_private_named.3,
13380 subject: self.__unsafe_private_named.4.unwrap(),
13381 r#type: self.__unsafe_private_named.5.unwrap(),
13382 extra_data: Default::default(),
13383 }
13384 }
13385 pub fn build_with_data(
13387 self,
13388 extra_data: std::collections::BTreeMap<
13389 jacquard_common::smol_str::SmolStr,
13390 jacquard_common::types::value::Data<'a>,
13391 >,
13392 ) -> SubjectView<'a> {
13393 SubjectView {
13394 profile: self.__unsafe_private_named.0,
13395 record: self.__unsafe_private_named.1,
13396 repo: self.__unsafe_private_named.2,
13397 status: self.__unsafe_private_named.3,
13398 subject: self.__unsafe_private_named.4.unwrap(),
13399 r#type: self.__unsafe_private_named.5.unwrap(),
13400 extra_data: Some(extra_data),
13401 }
13402 }
13403}
13404
13405impl<'a> ::jacquard_lexicon::schema::LexiconSchema for SubjectView<'a> {
13406 fn nsid() -> &'static str {
13407 "tools.ozone.moderation.defs"
13408 }
13409 fn def_name() -> &'static str {
13410 "subjectView"
13411 }
13412 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
13413 lexicon_doc_tools_ozone_moderation_defs()
13414 }
13415 fn validate(
13416 &self,
13417 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
13418 Ok(())
13419 }
13420}
13421
13422#[derive(
13424 serde::Serialize,
13425 serde::Deserialize,
13426 Debug,
13427 Clone,
13428 PartialEq,
13429 Eq,
13430 Hash,
13431 jacquard_derive::IntoStatic
13432)]
13433pub struct TimelineEventPlcCreate;
13434impl std::fmt::Display for TimelineEventPlcCreate {
13435 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13436 write!(f, "timelineEventPlcCreate")
13437 }
13438}
13439
13440#[derive(
13442 serde::Serialize,
13443 serde::Deserialize,
13444 Debug,
13445 Clone,
13446 PartialEq,
13447 Eq,
13448 Hash,
13449 jacquard_derive::IntoStatic
13450)]
13451pub struct TimelineEventPlcOperation;
13452impl std::fmt::Display for TimelineEventPlcOperation {
13453 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13454 write!(f, "timelineEventPlcOperation")
13455 }
13456}
13457
13458#[derive(
13460 serde::Serialize,
13461 serde::Deserialize,
13462 Debug,
13463 Clone,
13464 PartialEq,
13465 Eq,
13466 Hash,
13467 jacquard_derive::IntoStatic
13468)]
13469pub struct TimelineEventPlcTombstone;
13470impl std::fmt::Display for TimelineEventPlcTombstone {
13471 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13472 write!(f, "timelineEventPlcTombstone")
13473 }
13474}
13475
13476#[jacquard_derive::lexicon]
13477#[derive(
13478 serde::Serialize,
13479 serde::Deserialize,
13480 Debug,
13481 Clone,
13482 PartialEq,
13483 Eq,
13484 jacquard_derive::IntoStatic
13485)]
13486#[serde(rename_all = "camelCase")]
13487pub struct VideoDetails<'a> {
13488 pub height: i64,
13489 pub length: i64,
13490 pub width: i64,
13491}
13492
13493pub mod video_details_state {
13494
13495 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
13496 #[allow(unused)]
13497 use ::core::marker::PhantomData;
13498 mod sealed {
13499 pub trait Sealed {}
13500 }
13501 pub trait State: sealed::Sealed {
13503 type Width;
13504 type Height;
13505 type Length;
13506 }
13507 pub struct Empty(());
13509 impl sealed::Sealed for Empty {}
13510 impl State for Empty {
13511 type Width = Unset;
13512 type Height = Unset;
13513 type Length = Unset;
13514 }
13515 pub struct SetWidth<S: State = Empty>(PhantomData<fn() -> S>);
13517 impl<S: State> sealed::Sealed for SetWidth<S> {}
13518 impl<S: State> State for SetWidth<S> {
13519 type Width = Set<members::width>;
13520 type Height = S::Height;
13521 type Length = S::Length;
13522 }
13523 pub struct SetHeight<S: State = Empty>(PhantomData<fn() -> S>);
13525 impl<S: State> sealed::Sealed for SetHeight<S> {}
13526 impl<S: State> State for SetHeight<S> {
13527 type Width = S::Width;
13528 type Height = Set<members::height>;
13529 type Length = S::Length;
13530 }
13531 pub struct SetLength<S: State = Empty>(PhantomData<fn() -> S>);
13533 impl<S: State> sealed::Sealed for SetLength<S> {}
13534 impl<S: State> State for SetLength<S> {
13535 type Width = S::Width;
13536 type Height = S::Height;
13537 type Length = Set<members::length>;
13538 }
13539 #[allow(non_camel_case_types)]
13541 pub mod members {
13542 pub struct width(());
13544 pub struct height(());
13546 pub struct length(());
13548 }
13549}
13550
13551pub struct VideoDetailsBuilder<'a, S: video_details_state::State> {
13553 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
13554 __unsafe_private_named: (
13555 ::core::option::Option<i64>,
13556 ::core::option::Option<i64>,
13557 ::core::option::Option<i64>,
13558 ),
13559 _phantom: ::core::marker::PhantomData<&'a ()>,
13560}
13561
13562impl<'a> VideoDetails<'a> {
13563 pub fn new() -> VideoDetailsBuilder<'a, video_details_state::Empty> {
13565 VideoDetailsBuilder::new()
13566 }
13567}
13568
13569impl<'a> VideoDetailsBuilder<'a, video_details_state::Empty> {
13570 pub fn new() -> Self {
13572 VideoDetailsBuilder {
13573 _phantom_state: ::core::marker::PhantomData,
13574 __unsafe_private_named: (None, None, None),
13575 _phantom: ::core::marker::PhantomData,
13576 }
13577 }
13578}
13579
13580impl<'a, S> VideoDetailsBuilder<'a, S>
13581where
13582 S: video_details_state::State,
13583 S::Height: video_details_state::IsUnset,
13584{
13585 pub fn height(
13587 mut self,
13588 value: impl Into<i64>,
13589 ) -> VideoDetailsBuilder<'a, video_details_state::SetHeight<S>> {
13590 self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
13591 VideoDetailsBuilder {
13592 _phantom_state: ::core::marker::PhantomData,
13593 __unsafe_private_named: self.__unsafe_private_named,
13594 _phantom: ::core::marker::PhantomData,
13595 }
13596 }
13597}
13598
13599impl<'a, S> VideoDetailsBuilder<'a, S>
13600where
13601 S: video_details_state::State,
13602 S::Length: video_details_state::IsUnset,
13603{
13604 pub fn length(
13606 mut self,
13607 value: impl Into<i64>,
13608 ) -> VideoDetailsBuilder<'a, video_details_state::SetLength<S>> {
13609 self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
13610 VideoDetailsBuilder {
13611 _phantom_state: ::core::marker::PhantomData,
13612 __unsafe_private_named: self.__unsafe_private_named,
13613 _phantom: ::core::marker::PhantomData,
13614 }
13615 }
13616}
13617
13618impl<'a, S> VideoDetailsBuilder<'a, S>
13619where
13620 S: video_details_state::State,
13621 S::Width: video_details_state::IsUnset,
13622{
13623 pub fn width(
13625 mut self,
13626 value: impl Into<i64>,
13627 ) -> VideoDetailsBuilder<'a, video_details_state::SetWidth<S>> {
13628 self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
13629 VideoDetailsBuilder {
13630 _phantom_state: ::core::marker::PhantomData,
13631 __unsafe_private_named: self.__unsafe_private_named,
13632 _phantom: ::core::marker::PhantomData,
13633 }
13634 }
13635}
13636
13637impl<'a, S> VideoDetailsBuilder<'a, S>
13638where
13639 S: video_details_state::State,
13640 S::Width: video_details_state::IsSet,
13641 S::Height: video_details_state::IsSet,
13642 S::Length: video_details_state::IsSet,
13643{
13644 pub fn build(self) -> VideoDetails<'a> {
13646 VideoDetails {
13647 height: self.__unsafe_private_named.0.unwrap(),
13648 length: self.__unsafe_private_named.1.unwrap(),
13649 width: self.__unsafe_private_named.2.unwrap(),
13650 extra_data: Default::default(),
13651 }
13652 }
13653 pub fn build_with_data(
13655 self,
13656 extra_data: std::collections::BTreeMap<
13657 jacquard_common::smol_str::SmolStr,
13658 jacquard_common::types::value::Data<'a>,
13659 >,
13660 ) -> VideoDetails<'a> {
13661 VideoDetails {
13662 height: self.__unsafe_private_named.0.unwrap(),
13663 length: self.__unsafe_private_named.1.unwrap(),
13664 width: self.__unsafe_private_named.2.unwrap(),
13665 extra_data: Some(extra_data),
13666 }
13667 }
13668}
13669
13670impl<'a> ::jacquard_lexicon::schema::LexiconSchema for VideoDetails<'a> {
13671 fn nsid() -> &'static str {
13672 "tools.ozone.moderation.defs"
13673 }
13674 fn def_name() -> &'static str {
13675 "videoDetails"
13676 }
13677 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
13678 lexicon_doc_tools_ozone_moderation_defs()
13679 }
13680 fn validate(
13681 &self,
13682 ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
13683 Ok(())
13684 }
13685}