atproto blogging
1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.report.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8/// Appeal a previously taken moderation action
9#[derive(
10 serde::Serialize,
11 serde::Deserialize,
12 Debug,
13 Clone,
14 PartialEq,
15 Eq,
16 Hash,
17 jacquard_derive::IntoStatic
18)]
19pub struct ReasonAppeal;
20impl std::fmt::Display for ReasonAppeal {
21 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
22 write!(f, "reasonAppeal")
23 }
24}
25
26/// Child sexual abuse material (CSAM). These reports will be sent only be sent to the application's Moderation Authority.
27#[derive(
28 serde::Serialize,
29 serde::Deserialize,
30 Debug,
31 Clone,
32 PartialEq,
33 Eq,
34 Hash,
35 jacquard_derive::IntoStatic
36)]
37pub struct ReasonChildSafetyCsam;
38impl std::fmt::Display for ReasonChildSafetyCsam {
39 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
40 write!(f, "reasonChildSafetyCSAM")
41 }
42}
43
44/// Grooming or predatory behavior. These reports will be sent only be sent to the application's Moderation Authority.
45#[derive(
46 serde::Serialize,
47 serde::Deserialize,
48 Debug,
49 Clone,
50 PartialEq,
51 Eq,
52 Hash,
53 jacquard_derive::IntoStatic
54)]
55pub struct ReasonChildSafetyGroom;
56impl std::fmt::Display for ReasonChildSafetyGroom {
57 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
58 write!(f, "reasonChildSafetyGroom")
59 }
60}
61
62/// Harassment or bullying of minors
63#[derive(
64 serde::Serialize,
65 serde::Deserialize,
66 Debug,
67 Clone,
68 PartialEq,
69 Eq,
70 Hash,
71 jacquard_derive::IntoStatic
72)]
73pub struct ReasonChildSafetyHarassment;
74impl std::fmt::Display for ReasonChildSafetyHarassment {
75 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
76 write!(f, "reasonChildSafetyHarassment")
77 }
78}
79
80/// Other child safety. These reports will be sent only be sent to the application's Moderation Authority.
81#[derive(
82 serde::Serialize,
83 serde::Deserialize,
84 Debug,
85 Clone,
86 PartialEq,
87 Eq,
88 Hash,
89 jacquard_derive::IntoStatic
90)]
91pub struct ReasonChildSafetyOther;
92impl std::fmt::Display for ReasonChildSafetyOther {
93 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
94 write!(f, "reasonChildSafetyOther")
95 }
96}
97
98/// Privacy violation involving a minor
99#[derive(
100 serde::Serialize,
101 serde::Deserialize,
102 Debug,
103 Clone,
104 PartialEq,
105 Eq,
106 Hash,
107 jacquard_derive::IntoStatic
108)]
109pub struct ReasonChildSafetyPrivacy;
110impl std::fmt::Display for ReasonChildSafetyPrivacy {
111 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
112 write!(f, "reasonChildSafetyPrivacy")
113 }
114}
115
116/// Doxxing
117#[derive(
118 serde::Serialize,
119 serde::Deserialize,
120 Debug,
121 Clone,
122 PartialEq,
123 Eq,
124 Hash,
125 jacquard_derive::IntoStatic
126)]
127pub struct ReasonHarassmentDoxxing;
128impl std::fmt::Display for ReasonHarassmentDoxxing {
129 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
130 write!(f, "reasonHarassmentDoxxing")
131 }
132}
133
134/// Hate speech
135#[derive(
136 serde::Serialize,
137 serde::Deserialize,
138 Debug,
139 Clone,
140 PartialEq,
141 Eq,
142 Hash,
143 jacquard_derive::IntoStatic
144)]
145pub struct ReasonHarassmentHateSpeech;
146impl std::fmt::Display for ReasonHarassmentHateSpeech {
147 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
148 write!(f, "reasonHarassmentHateSpeech")
149 }
150}
151
152/// Other harassing or hateful content
153#[derive(
154 serde::Serialize,
155 serde::Deserialize,
156 Debug,
157 Clone,
158 PartialEq,
159 Eq,
160 Hash,
161 jacquard_derive::IntoStatic
162)]
163pub struct ReasonHarassmentOther;
164impl std::fmt::Display for ReasonHarassmentOther {
165 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
166 write!(f, "reasonHarassmentOther")
167 }
168}
169
170/// Targeted harassment
171#[derive(
172 serde::Serialize,
173 serde::Deserialize,
174 Debug,
175 Clone,
176 PartialEq,
177 Eq,
178 Hash,
179 jacquard_derive::IntoStatic
180)]
181pub struct ReasonHarassmentTargeted;
182impl std::fmt::Display for ReasonHarassmentTargeted {
183 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
184 write!(f, "reasonHarassmentTargeted")
185 }
186}
187
188/// Trolling
189#[derive(
190 serde::Serialize,
191 serde::Deserialize,
192 Debug,
193 Clone,
194 PartialEq,
195 Eq,
196 Hash,
197 jacquard_derive::IntoStatic
198)]
199pub struct ReasonHarassmentTroll;
200impl std::fmt::Display for ReasonHarassmentTroll {
201 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
202 write!(f, "reasonHarassmentTroll")
203 }
204}
205
206/// Fake account or bot
207#[derive(
208 serde::Serialize,
209 serde::Deserialize,
210 Debug,
211 Clone,
212 PartialEq,
213 Eq,
214 Hash,
215 jacquard_derive::IntoStatic
216)]
217pub struct ReasonMisleadingBot;
218impl std::fmt::Display for ReasonMisleadingBot {
219 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
220 write!(f, "reasonMisleadingBot")
221 }
222}
223
224/// False information about elections
225#[derive(
226 serde::Serialize,
227 serde::Deserialize,
228 Debug,
229 Clone,
230 PartialEq,
231 Eq,
232 Hash,
233 jacquard_derive::IntoStatic
234)]
235pub struct ReasonMisleadingElections;
236impl std::fmt::Display for ReasonMisleadingElections {
237 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
238 write!(f, "reasonMisleadingElections")
239 }
240}
241
242/// Impersonation
243#[derive(
244 serde::Serialize,
245 serde::Deserialize,
246 Debug,
247 Clone,
248 PartialEq,
249 Eq,
250 Hash,
251 jacquard_derive::IntoStatic
252)]
253pub struct ReasonMisleadingImpersonation;
254impl std::fmt::Display for ReasonMisleadingImpersonation {
255 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
256 write!(f, "reasonMisleadingImpersonation")
257 }
258}
259
260/// Other misleading content
261#[derive(
262 serde::Serialize,
263 serde::Deserialize,
264 Debug,
265 Clone,
266 PartialEq,
267 Eq,
268 Hash,
269 jacquard_derive::IntoStatic
270)]
271pub struct ReasonMisleadingOther;
272impl std::fmt::Display for ReasonMisleadingOther {
273 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
274 write!(f, "reasonMisleadingOther")
275 }
276}
277
278/// Scam
279#[derive(
280 serde::Serialize,
281 serde::Deserialize,
282 Debug,
283 Clone,
284 PartialEq,
285 Eq,
286 Hash,
287 jacquard_derive::IntoStatic
288)]
289pub struct ReasonMisleadingScam;
290impl std::fmt::Display for ReasonMisleadingScam {
291 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
292 write!(f, "reasonMisleadingScam")
293 }
294}
295
296/// Spam
297#[derive(
298 serde::Serialize,
299 serde::Deserialize,
300 Debug,
301 Clone,
302 PartialEq,
303 Eq,
304 Hash,
305 jacquard_derive::IntoStatic
306)]
307pub struct ReasonMisleadingSpam;
308impl std::fmt::Display for ReasonMisleadingSpam {
309 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
310 write!(f, "reasonMisleadingSpam")
311 }
312}
313
314/// An issue not included in these options
315#[derive(
316 serde::Serialize,
317 serde::Deserialize,
318 Debug,
319 Clone,
320 PartialEq,
321 Eq,
322 Hash,
323 jacquard_derive::IntoStatic
324)]
325pub struct ReasonOther;
326impl std::fmt::Display for ReasonOther {
327 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
328 write!(f, "reasonOther")
329 }
330}
331
332/// Banned user returning
333#[derive(
334 serde::Serialize,
335 serde::Deserialize,
336 Debug,
337 Clone,
338 PartialEq,
339 Eq,
340 Hash,
341 jacquard_derive::IntoStatic
342)]
343pub struct ReasonRuleBanEvasion;
344impl std::fmt::Display for ReasonRuleBanEvasion {
345 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
346 write!(f, "reasonRuleBanEvasion")
347 }
348}
349
350/// Other
351#[derive(
352 serde::Serialize,
353 serde::Deserialize,
354 Debug,
355 Clone,
356 PartialEq,
357 Eq,
358 Hash,
359 jacquard_derive::IntoStatic
360)]
361pub struct ReasonRuleOther;
362impl std::fmt::Display for ReasonRuleOther {
363 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
364 write!(f, "reasonRuleOther")
365 }
366}
367
368/// Promoting or selling prohibited items or services
369#[derive(
370 serde::Serialize,
371 serde::Deserialize,
372 Debug,
373 Clone,
374 PartialEq,
375 Eq,
376 Hash,
377 jacquard_derive::IntoStatic
378)]
379pub struct ReasonRuleProhibitedSales;
380impl std::fmt::Display for ReasonRuleProhibitedSales {
381 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
382 write!(f, "reasonRuleProhibitedSales")
383 }
384}
385
386/// Hacking or system attacks
387#[derive(
388 serde::Serialize,
389 serde::Deserialize,
390 Debug,
391 Clone,
392 PartialEq,
393 Eq,
394 Hash,
395 jacquard_derive::IntoStatic
396)]
397pub struct ReasonRuleSiteSecurity;
398impl std::fmt::Display for ReasonRuleSiteSecurity {
399 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
400 write!(f, "reasonRuleSiteSecurity")
401 }
402}
403
404/// Content promoting or depicting self-harm
405#[derive(
406 serde::Serialize,
407 serde::Deserialize,
408 Debug,
409 Clone,
410 PartialEq,
411 Eq,
412 Hash,
413 jacquard_derive::IntoStatic
414)]
415pub struct ReasonSelfHarmContent;
416impl std::fmt::Display for ReasonSelfHarmContent {
417 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
418 write!(f, "reasonSelfHarmContent")
419 }
420}
421
422/// Eating disorders
423#[derive(
424 serde::Serialize,
425 serde::Deserialize,
426 Debug,
427 Clone,
428 PartialEq,
429 Eq,
430 Hash,
431 jacquard_derive::IntoStatic
432)]
433pub struct ReasonSelfHarmEd;
434impl std::fmt::Display for ReasonSelfHarmEd {
435 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
436 write!(f, "reasonSelfHarmED")
437 }
438}
439
440/// Other dangerous content
441#[derive(
442 serde::Serialize,
443 serde::Deserialize,
444 Debug,
445 Clone,
446 PartialEq,
447 Eq,
448 Hash,
449 jacquard_derive::IntoStatic
450)]
451pub struct ReasonSelfHarmOther;
452impl std::fmt::Display for ReasonSelfHarmOther {
453 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
454 write!(f, "reasonSelfHarmOther")
455 }
456}
457
458/// Dangerous challenges or activities
459#[derive(
460 serde::Serialize,
461 serde::Deserialize,
462 Debug,
463 Clone,
464 PartialEq,
465 Eq,
466 Hash,
467 jacquard_derive::IntoStatic
468)]
469pub struct ReasonSelfHarmStunts;
470impl std::fmt::Display for ReasonSelfHarmStunts {
471 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
472 write!(f, "reasonSelfHarmStunts")
473 }
474}
475
476/// Dangerous substances or drug abuse
477#[derive(
478 serde::Serialize,
479 serde::Deserialize,
480 Debug,
481 Clone,
482 PartialEq,
483 Eq,
484 Hash,
485 jacquard_derive::IntoStatic
486)]
487pub struct ReasonSelfHarmSubstances;
488impl std::fmt::Display for ReasonSelfHarmSubstances {
489 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
490 write!(f, "reasonSelfHarmSubstances")
491 }
492}
493
494/// Adult sexual abuse content
495#[derive(
496 serde::Serialize,
497 serde::Deserialize,
498 Debug,
499 Clone,
500 PartialEq,
501 Eq,
502 Hash,
503 jacquard_derive::IntoStatic
504)]
505pub struct ReasonSexualAbuseContent;
506impl std::fmt::Display for ReasonSexualAbuseContent {
507 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
508 write!(f, "reasonSexualAbuseContent")
509 }
510}
511
512/// Animal sexual abuse
513#[derive(
514 serde::Serialize,
515 serde::Deserialize,
516 Debug,
517 Clone,
518 PartialEq,
519 Eq,
520 Hash,
521 jacquard_derive::IntoStatic
522)]
523pub struct ReasonSexualAnimal;
524impl std::fmt::Display for ReasonSexualAnimal {
525 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
526 write!(f, "reasonSexualAnimal")
527 }
528}
529
530/// Deepfake adult content
531#[derive(
532 serde::Serialize,
533 serde::Deserialize,
534 Debug,
535 Clone,
536 PartialEq,
537 Eq,
538 Hash,
539 jacquard_derive::IntoStatic
540)]
541pub struct ReasonSexualDeepfake;
542impl std::fmt::Display for ReasonSexualDeepfake {
543 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
544 write!(f, "reasonSexualDeepfake")
545 }
546}
547
548/// Non-consensual intimate imagery
549#[derive(
550 serde::Serialize,
551 serde::Deserialize,
552 Debug,
553 Clone,
554 PartialEq,
555 Eq,
556 Hash,
557 jacquard_derive::IntoStatic
558)]
559pub struct ReasonSexualNcii;
560impl std::fmt::Display for ReasonSexualNcii {
561 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
562 write!(f, "reasonSexualNCII")
563 }
564}
565
566/// Other sexual violence content
567#[derive(
568 serde::Serialize,
569 serde::Deserialize,
570 Debug,
571 Clone,
572 PartialEq,
573 Eq,
574 Hash,
575 jacquard_derive::IntoStatic
576)]
577pub struct ReasonSexualOther;
578impl std::fmt::Display for ReasonSexualOther {
579 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
580 write!(f, "reasonSexualOther")
581 }
582}
583
584/// Unlabelled adult content
585#[derive(
586 serde::Serialize,
587 serde::Deserialize,
588 Debug,
589 Clone,
590 PartialEq,
591 Eq,
592 Hash,
593 jacquard_derive::IntoStatic
594)]
595pub struct ReasonSexualUnlabeled;
596impl std::fmt::Display for ReasonSexualUnlabeled {
597 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
598 write!(f, "reasonSexualUnlabeled")
599 }
600}
601
602#[derive(Debug, Clone, PartialEq, Eq, Hash)]
603pub enum ReasonType<'a> {
604 ToolsOzoneReportDefsReasonAppeal,
605 ToolsOzoneReportDefsReasonOther,
606 ToolsOzoneReportDefsReasonViolenceAnimal,
607 ToolsOzoneReportDefsReasonViolenceThreats,
608 ToolsOzoneReportDefsReasonViolenceGraphicContent,
609 ToolsOzoneReportDefsReasonViolenceGlorification,
610 ToolsOzoneReportDefsReasonViolenceExtremistContent,
611 ToolsOzoneReportDefsReasonViolenceTrafficking,
612 ToolsOzoneReportDefsReasonViolenceOther,
613 ToolsOzoneReportDefsReasonSexualAbuseContent,
614 ToolsOzoneReportDefsReasonSexualNcii,
615 ToolsOzoneReportDefsReasonSexualDeepfake,
616 ToolsOzoneReportDefsReasonSexualAnimal,
617 ToolsOzoneReportDefsReasonSexualUnlabeled,
618 ToolsOzoneReportDefsReasonSexualOther,
619 ToolsOzoneReportDefsReasonChildSafetyCsam,
620 ToolsOzoneReportDefsReasonChildSafetyGroom,
621 ToolsOzoneReportDefsReasonChildSafetyPrivacy,
622 ToolsOzoneReportDefsReasonChildSafetyHarassment,
623 ToolsOzoneReportDefsReasonChildSafetyOther,
624 ToolsOzoneReportDefsReasonHarassmentTroll,
625 ToolsOzoneReportDefsReasonHarassmentTargeted,
626 ToolsOzoneReportDefsReasonHarassmentHateSpeech,
627 ToolsOzoneReportDefsReasonHarassmentDoxxing,
628 ToolsOzoneReportDefsReasonHarassmentOther,
629 ToolsOzoneReportDefsReasonMisleadingBot,
630 ToolsOzoneReportDefsReasonMisleadingImpersonation,
631 ToolsOzoneReportDefsReasonMisleadingSpam,
632 ToolsOzoneReportDefsReasonMisleadingScam,
633 ToolsOzoneReportDefsReasonMisleadingElections,
634 ToolsOzoneReportDefsReasonMisleadingOther,
635 ToolsOzoneReportDefsReasonRuleSiteSecurity,
636 ToolsOzoneReportDefsReasonRuleProhibitedSales,
637 ToolsOzoneReportDefsReasonRuleBanEvasion,
638 ToolsOzoneReportDefsReasonRuleOther,
639 ToolsOzoneReportDefsReasonSelfHarmContent,
640 ToolsOzoneReportDefsReasonSelfHarmEd,
641 ToolsOzoneReportDefsReasonSelfHarmStunts,
642 ToolsOzoneReportDefsReasonSelfHarmSubstances,
643 ToolsOzoneReportDefsReasonSelfHarmOther,
644 Other(jacquard_common::CowStr<'a>),
645}
646
647impl<'a> ReasonType<'a> {
648 pub fn as_str(&self) -> &str {
649 match self {
650 Self::ToolsOzoneReportDefsReasonAppeal => {
651 "tools.ozone.report.defs#reasonAppeal"
652 }
653 Self::ToolsOzoneReportDefsReasonOther => {
654 "tools.ozone.report.defs#reasonOther"
655 }
656 Self::ToolsOzoneReportDefsReasonViolenceAnimal => {
657 "tools.ozone.report.defs#reasonViolenceAnimal"
658 }
659 Self::ToolsOzoneReportDefsReasonViolenceThreats => {
660 "tools.ozone.report.defs#reasonViolenceThreats"
661 }
662 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent => {
663 "tools.ozone.report.defs#reasonViolenceGraphicContent"
664 }
665 Self::ToolsOzoneReportDefsReasonViolenceGlorification => {
666 "tools.ozone.report.defs#reasonViolenceGlorification"
667 }
668 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent => {
669 "tools.ozone.report.defs#reasonViolenceExtremistContent"
670 }
671 Self::ToolsOzoneReportDefsReasonViolenceTrafficking => {
672 "tools.ozone.report.defs#reasonViolenceTrafficking"
673 }
674 Self::ToolsOzoneReportDefsReasonViolenceOther => {
675 "tools.ozone.report.defs#reasonViolenceOther"
676 }
677 Self::ToolsOzoneReportDefsReasonSexualAbuseContent => {
678 "tools.ozone.report.defs#reasonSexualAbuseContent"
679 }
680 Self::ToolsOzoneReportDefsReasonSexualNcii => {
681 "tools.ozone.report.defs#reasonSexualNCII"
682 }
683 Self::ToolsOzoneReportDefsReasonSexualDeepfake => {
684 "tools.ozone.report.defs#reasonSexualDeepfake"
685 }
686 Self::ToolsOzoneReportDefsReasonSexualAnimal => {
687 "tools.ozone.report.defs#reasonSexualAnimal"
688 }
689 Self::ToolsOzoneReportDefsReasonSexualUnlabeled => {
690 "tools.ozone.report.defs#reasonSexualUnlabeled"
691 }
692 Self::ToolsOzoneReportDefsReasonSexualOther => {
693 "tools.ozone.report.defs#reasonSexualOther"
694 }
695 Self::ToolsOzoneReportDefsReasonChildSafetyCsam => {
696 "tools.ozone.report.defs#reasonChildSafetyCSAM"
697 }
698 Self::ToolsOzoneReportDefsReasonChildSafetyGroom => {
699 "tools.ozone.report.defs#reasonChildSafetyGroom"
700 }
701 Self::ToolsOzoneReportDefsReasonChildSafetyPrivacy => {
702 "tools.ozone.report.defs#reasonChildSafetyPrivacy"
703 }
704 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment => {
705 "tools.ozone.report.defs#reasonChildSafetyHarassment"
706 }
707 Self::ToolsOzoneReportDefsReasonChildSafetyOther => {
708 "tools.ozone.report.defs#reasonChildSafetyOther"
709 }
710 Self::ToolsOzoneReportDefsReasonHarassmentTroll => {
711 "tools.ozone.report.defs#reasonHarassmentTroll"
712 }
713 Self::ToolsOzoneReportDefsReasonHarassmentTargeted => {
714 "tools.ozone.report.defs#reasonHarassmentTargeted"
715 }
716 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech => {
717 "tools.ozone.report.defs#reasonHarassmentHateSpeech"
718 }
719 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing => {
720 "tools.ozone.report.defs#reasonHarassmentDoxxing"
721 }
722 Self::ToolsOzoneReportDefsReasonHarassmentOther => {
723 "tools.ozone.report.defs#reasonHarassmentOther"
724 }
725 Self::ToolsOzoneReportDefsReasonMisleadingBot => {
726 "tools.ozone.report.defs#reasonMisleadingBot"
727 }
728 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation => {
729 "tools.ozone.report.defs#reasonMisleadingImpersonation"
730 }
731 Self::ToolsOzoneReportDefsReasonMisleadingSpam => {
732 "tools.ozone.report.defs#reasonMisleadingSpam"
733 }
734 Self::ToolsOzoneReportDefsReasonMisleadingScam => {
735 "tools.ozone.report.defs#reasonMisleadingScam"
736 }
737 Self::ToolsOzoneReportDefsReasonMisleadingElections => {
738 "tools.ozone.report.defs#reasonMisleadingElections"
739 }
740 Self::ToolsOzoneReportDefsReasonMisleadingOther => {
741 "tools.ozone.report.defs#reasonMisleadingOther"
742 }
743 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity => {
744 "tools.ozone.report.defs#reasonRuleSiteSecurity"
745 }
746 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales => {
747 "tools.ozone.report.defs#reasonRuleProhibitedSales"
748 }
749 Self::ToolsOzoneReportDefsReasonRuleBanEvasion => {
750 "tools.ozone.report.defs#reasonRuleBanEvasion"
751 }
752 Self::ToolsOzoneReportDefsReasonRuleOther => {
753 "tools.ozone.report.defs#reasonRuleOther"
754 }
755 Self::ToolsOzoneReportDefsReasonSelfHarmContent => {
756 "tools.ozone.report.defs#reasonSelfHarmContent"
757 }
758 Self::ToolsOzoneReportDefsReasonSelfHarmEd => {
759 "tools.ozone.report.defs#reasonSelfHarmED"
760 }
761 Self::ToolsOzoneReportDefsReasonSelfHarmStunts => {
762 "tools.ozone.report.defs#reasonSelfHarmStunts"
763 }
764 Self::ToolsOzoneReportDefsReasonSelfHarmSubstances => {
765 "tools.ozone.report.defs#reasonSelfHarmSubstances"
766 }
767 Self::ToolsOzoneReportDefsReasonSelfHarmOther => {
768 "tools.ozone.report.defs#reasonSelfHarmOther"
769 }
770 Self::Other(s) => s.as_ref(),
771 }
772 }
773}
774
775impl<'a> From<&'a str> for ReasonType<'a> {
776 fn from(s: &'a str) -> Self {
777 match s {
778 "tools.ozone.report.defs#reasonAppeal" => {
779 Self::ToolsOzoneReportDefsReasonAppeal
780 }
781 "tools.ozone.report.defs#reasonOther" => {
782 Self::ToolsOzoneReportDefsReasonOther
783 }
784 "tools.ozone.report.defs#reasonViolenceAnimal" => {
785 Self::ToolsOzoneReportDefsReasonViolenceAnimal
786 }
787 "tools.ozone.report.defs#reasonViolenceThreats" => {
788 Self::ToolsOzoneReportDefsReasonViolenceThreats
789 }
790 "tools.ozone.report.defs#reasonViolenceGraphicContent" => {
791 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent
792 }
793 "tools.ozone.report.defs#reasonViolenceGlorification" => {
794 Self::ToolsOzoneReportDefsReasonViolenceGlorification
795 }
796 "tools.ozone.report.defs#reasonViolenceExtremistContent" => {
797 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent
798 }
799 "tools.ozone.report.defs#reasonViolenceTrafficking" => {
800 Self::ToolsOzoneReportDefsReasonViolenceTrafficking
801 }
802 "tools.ozone.report.defs#reasonViolenceOther" => {
803 Self::ToolsOzoneReportDefsReasonViolenceOther
804 }
805 "tools.ozone.report.defs#reasonSexualAbuseContent" => {
806 Self::ToolsOzoneReportDefsReasonSexualAbuseContent
807 }
808 "tools.ozone.report.defs#reasonSexualNCII" => {
809 Self::ToolsOzoneReportDefsReasonSexualNcii
810 }
811 "tools.ozone.report.defs#reasonSexualDeepfake" => {
812 Self::ToolsOzoneReportDefsReasonSexualDeepfake
813 }
814 "tools.ozone.report.defs#reasonSexualAnimal" => {
815 Self::ToolsOzoneReportDefsReasonSexualAnimal
816 }
817 "tools.ozone.report.defs#reasonSexualUnlabeled" => {
818 Self::ToolsOzoneReportDefsReasonSexualUnlabeled
819 }
820 "tools.ozone.report.defs#reasonSexualOther" => {
821 Self::ToolsOzoneReportDefsReasonSexualOther
822 }
823 "tools.ozone.report.defs#reasonChildSafetyCSAM" => {
824 Self::ToolsOzoneReportDefsReasonChildSafetyCsam
825 }
826 "tools.ozone.report.defs#reasonChildSafetyGroom" => {
827 Self::ToolsOzoneReportDefsReasonChildSafetyGroom
828 }
829 "tools.ozone.report.defs#reasonChildSafetyPrivacy" => {
830 Self::ToolsOzoneReportDefsReasonChildSafetyPrivacy
831 }
832 "tools.ozone.report.defs#reasonChildSafetyHarassment" => {
833 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment
834 }
835 "tools.ozone.report.defs#reasonChildSafetyOther" => {
836 Self::ToolsOzoneReportDefsReasonChildSafetyOther
837 }
838 "tools.ozone.report.defs#reasonHarassmentTroll" => {
839 Self::ToolsOzoneReportDefsReasonHarassmentTroll
840 }
841 "tools.ozone.report.defs#reasonHarassmentTargeted" => {
842 Self::ToolsOzoneReportDefsReasonHarassmentTargeted
843 }
844 "tools.ozone.report.defs#reasonHarassmentHateSpeech" => {
845 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech
846 }
847 "tools.ozone.report.defs#reasonHarassmentDoxxing" => {
848 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing
849 }
850 "tools.ozone.report.defs#reasonHarassmentOther" => {
851 Self::ToolsOzoneReportDefsReasonHarassmentOther
852 }
853 "tools.ozone.report.defs#reasonMisleadingBot" => {
854 Self::ToolsOzoneReportDefsReasonMisleadingBot
855 }
856 "tools.ozone.report.defs#reasonMisleadingImpersonation" => {
857 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation
858 }
859 "tools.ozone.report.defs#reasonMisleadingSpam" => {
860 Self::ToolsOzoneReportDefsReasonMisleadingSpam
861 }
862 "tools.ozone.report.defs#reasonMisleadingScam" => {
863 Self::ToolsOzoneReportDefsReasonMisleadingScam
864 }
865 "tools.ozone.report.defs#reasonMisleadingElections" => {
866 Self::ToolsOzoneReportDefsReasonMisleadingElections
867 }
868 "tools.ozone.report.defs#reasonMisleadingOther" => {
869 Self::ToolsOzoneReportDefsReasonMisleadingOther
870 }
871 "tools.ozone.report.defs#reasonRuleSiteSecurity" => {
872 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity
873 }
874 "tools.ozone.report.defs#reasonRuleProhibitedSales" => {
875 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales
876 }
877 "tools.ozone.report.defs#reasonRuleBanEvasion" => {
878 Self::ToolsOzoneReportDefsReasonRuleBanEvasion
879 }
880 "tools.ozone.report.defs#reasonRuleOther" => {
881 Self::ToolsOzoneReportDefsReasonRuleOther
882 }
883 "tools.ozone.report.defs#reasonSelfHarmContent" => {
884 Self::ToolsOzoneReportDefsReasonSelfHarmContent
885 }
886 "tools.ozone.report.defs#reasonSelfHarmED" => {
887 Self::ToolsOzoneReportDefsReasonSelfHarmEd
888 }
889 "tools.ozone.report.defs#reasonSelfHarmStunts" => {
890 Self::ToolsOzoneReportDefsReasonSelfHarmStunts
891 }
892 "tools.ozone.report.defs#reasonSelfHarmSubstances" => {
893 Self::ToolsOzoneReportDefsReasonSelfHarmSubstances
894 }
895 "tools.ozone.report.defs#reasonSelfHarmOther" => {
896 Self::ToolsOzoneReportDefsReasonSelfHarmOther
897 }
898 _ => Self::Other(jacquard_common::CowStr::from(s)),
899 }
900 }
901}
902
903impl<'a> From<String> for ReasonType<'a> {
904 fn from(s: String) -> Self {
905 match s.as_str() {
906 "tools.ozone.report.defs#reasonAppeal" => {
907 Self::ToolsOzoneReportDefsReasonAppeal
908 }
909 "tools.ozone.report.defs#reasonOther" => {
910 Self::ToolsOzoneReportDefsReasonOther
911 }
912 "tools.ozone.report.defs#reasonViolenceAnimal" => {
913 Self::ToolsOzoneReportDefsReasonViolenceAnimal
914 }
915 "tools.ozone.report.defs#reasonViolenceThreats" => {
916 Self::ToolsOzoneReportDefsReasonViolenceThreats
917 }
918 "tools.ozone.report.defs#reasonViolenceGraphicContent" => {
919 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent
920 }
921 "tools.ozone.report.defs#reasonViolenceGlorification" => {
922 Self::ToolsOzoneReportDefsReasonViolenceGlorification
923 }
924 "tools.ozone.report.defs#reasonViolenceExtremistContent" => {
925 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent
926 }
927 "tools.ozone.report.defs#reasonViolenceTrafficking" => {
928 Self::ToolsOzoneReportDefsReasonViolenceTrafficking
929 }
930 "tools.ozone.report.defs#reasonViolenceOther" => {
931 Self::ToolsOzoneReportDefsReasonViolenceOther
932 }
933 "tools.ozone.report.defs#reasonSexualAbuseContent" => {
934 Self::ToolsOzoneReportDefsReasonSexualAbuseContent
935 }
936 "tools.ozone.report.defs#reasonSexualNCII" => {
937 Self::ToolsOzoneReportDefsReasonSexualNcii
938 }
939 "tools.ozone.report.defs#reasonSexualDeepfake" => {
940 Self::ToolsOzoneReportDefsReasonSexualDeepfake
941 }
942 "tools.ozone.report.defs#reasonSexualAnimal" => {
943 Self::ToolsOzoneReportDefsReasonSexualAnimal
944 }
945 "tools.ozone.report.defs#reasonSexualUnlabeled" => {
946 Self::ToolsOzoneReportDefsReasonSexualUnlabeled
947 }
948 "tools.ozone.report.defs#reasonSexualOther" => {
949 Self::ToolsOzoneReportDefsReasonSexualOther
950 }
951 "tools.ozone.report.defs#reasonChildSafetyCSAM" => {
952 Self::ToolsOzoneReportDefsReasonChildSafetyCsam
953 }
954 "tools.ozone.report.defs#reasonChildSafetyGroom" => {
955 Self::ToolsOzoneReportDefsReasonChildSafetyGroom
956 }
957 "tools.ozone.report.defs#reasonChildSafetyPrivacy" => {
958 Self::ToolsOzoneReportDefsReasonChildSafetyPrivacy
959 }
960 "tools.ozone.report.defs#reasonChildSafetyHarassment" => {
961 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment
962 }
963 "tools.ozone.report.defs#reasonChildSafetyOther" => {
964 Self::ToolsOzoneReportDefsReasonChildSafetyOther
965 }
966 "tools.ozone.report.defs#reasonHarassmentTroll" => {
967 Self::ToolsOzoneReportDefsReasonHarassmentTroll
968 }
969 "tools.ozone.report.defs#reasonHarassmentTargeted" => {
970 Self::ToolsOzoneReportDefsReasonHarassmentTargeted
971 }
972 "tools.ozone.report.defs#reasonHarassmentHateSpeech" => {
973 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech
974 }
975 "tools.ozone.report.defs#reasonHarassmentDoxxing" => {
976 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing
977 }
978 "tools.ozone.report.defs#reasonHarassmentOther" => {
979 Self::ToolsOzoneReportDefsReasonHarassmentOther
980 }
981 "tools.ozone.report.defs#reasonMisleadingBot" => {
982 Self::ToolsOzoneReportDefsReasonMisleadingBot
983 }
984 "tools.ozone.report.defs#reasonMisleadingImpersonation" => {
985 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation
986 }
987 "tools.ozone.report.defs#reasonMisleadingSpam" => {
988 Self::ToolsOzoneReportDefsReasonMisleadingSpam
989 }
990 "tools.ozone.report.defs#reasonMisleadingScam" => {
991 Self::ToolsOzoneReportDefsReasonMisleadingScam
992 }
993 "tools.ozone.report.defs#reasonMisleadingElections" => {
994 Self::ToolsOzoneReportDefsReasonMisleadingElections
995 }
996 "tools.ozone.report.defs#reasonMisleadingOther" => {
997 Self::ToolsOzoneReportDefsReasonMisleadingOther
998 }
999 "tools.ozone.report.defs#reasonRuleSiteSecurity" => {
1000 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity
1001 }
1002 "tools.ozone.report.defs#reasonRuleProhibitedSales" => {
1003 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales
1004 }
1005 "tools.ozone.report.defs#reasonRuleBanEvasion" => {
1006 Self::ToolsOzoneReportDefsReasonRuleBanEvasion
1007 }
1008 "tools.ozone.report.defs#reasonRuleOther" => {
1009 Self::ToolsOzoneReportDefsReasonRuleOther
1010 }
1011 "tools.ozone.report.defs#reasonSelfHarmContent" => {
1012 Self::ToolsOzoneReportDefsReasonSelfHarmContent
1013 }
1014 "tools.ozone.report.defs#reasonSelfHarmED" => {
1015 Self::ToolsOzoneReportDefsReasonSelfHarmEd
1016 }
1017 "tools.ozone.report.defs#reasonSelfHarmStunts" => {
1018 Self::ToolsOzoneReportDefsReasonSelfHarmStunts
1019 }
1020 "tools.ozone.report.defs#reasonSelfHarmSubstances" => {
1021 Self::ToolsOzoneReportDefsReasonSelfHarmSubstances
1022 }
1023 "tools.ozone.report.defs#reasonSelfHarmOther" => {
1024 Self::ToolsOzoneReportDefsReasonSelfHarmOther
1025 }
1026 _ => Self::Other(jacquard_common::CowStr::from(s)),
1027 }
1028 }
1029}
1030
1031impl<'a> AsRef<str> for ReasonType<'a> {
1032 fn as_ref(&self) -> &str {
1033 self.as_str()
1034 }
1035}
1036
1037impl<'a> core::fmt::Display for ReasonType<'a> {
1038 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1039 write!(f, "{}", self.as_str())
1040 }
1041}
1042
1043impl<'a> serde::Serialize for ReasonType<'a> {
1044 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1045 where
1046 S: serde::Serializer,
1047 {
1048 serializer.serialize_str(self.as_str())
1049 }
1050}
1051
1052impl<'de, 'a> serde::Deserialize<'de> for ReasonType<'a>
1053where
1054 'de: 'a,
1055{
1056 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1057 where
1058 D: serde::Deserializer<'de>,
1059 {
1060 let s = <&'de str>::deserialize(deserializer)?;
1061 Ok(Self::from(s))
1062 }
1063}
1064
1065impl jacquard_common::IntoStatic for ReasonType<'_> {
1066 type Output = ReasonType<'static>;
1067 fn into_static(self) -> Self::Output {
1068 match self {
1069 ReasonType::ToolsOzoneReportDefsReasonAppeal => {
1070 ReasonType::ToolsOzoneReportDefsReasonAppeal
1071 }
1072 ReasonType::ToolsOzoneReportDefsReasonOther => {
1073 ReasonType::ToolsOzoneReportDefsReasonOther
1074 }
1075 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimal => {
1076 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimal
1077 }
1078 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats => {
1079 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats
1080 }
1081 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent => {
1082 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent
1083 }
1084 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification => {
1085 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification
1086 }
1087 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent => {
1088 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent
1089 }
1090 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking => {
1091 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking
1092 }
1093 ReasonType::ToolsOzoneReportDefsReasonViolenceOther => {
1094 ReasonType::ToolsOzoneReportDefsReasonViolenceOther
1095 }
1096 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent => {
1097 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent
1098 }
1099 ReasonType::ToolsOzoneReportDefsReasonSexualNcii => {
1100 ReasonType::ToolsOzoneReportDefsReasonSexualNcii
1101 }
1102 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake => {
1103 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake
1104 }
1105 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal => {
1106 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal
1107 }
1108 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled => {
1109 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled
1110 }
1111 ReasonType::ToolsOzoneReportDefsReasonSexualOther => {
1112 ReasonType::ToolsOzoneReportDefsReasonSexualOther
1113 }
1114 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam => {
1115 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam
1116 }
1117 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom => {
1118 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom
1119 }
1120 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPrivacy => {
1121 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPrivacy
1122 }
1123 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment => {
1124 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment
1125 }
1126 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther => {
1127 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther
1128 }
1129 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll => {
1130 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll
1131 }
1132 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted => {
1133 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted
1134 }
1135 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech => {
1136 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech
1137 }
1138 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing => {
1139 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing
1140 }
1141 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther => {
1142 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther
1143 }
1144 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot => {
1145 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot
1146 }
1147 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation => {
1148 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation
1149 }
1150 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam => {
1151 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam
1152 }
1153 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam => {
1154 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam
1155 }
1156 ReasonType::ToolsOzoneReportDefsReasonMisleadingElections => {
1157 ReasonType::ToolsOzoneReportDefsReasonMisleadingElections
1158 }
1159 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther => {
1160 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther
1161 }
1162 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity => {
1163 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity
1164 }
1165 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales => {
1166 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales
1167 }
1168 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion => {
1169 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion
1170 }
1171 ReasonType::ToolsOzoneReportDefsReasonRuleOther => {
1172 ReasonType::ToolsOzoneReportDefsReasonRuleOther
1173 }
1174 ReasonType::ToolsOzoneReportDefsReasonSelfHarmContent => {
1175 ReasonType::ToolsOzoneReportDefsReasonSelfHarmContent
1176 }
1177 ReasonType::ToolsOzoneReportDefsReasonSelfHarmEd => {
1178 ReasonType::ToolsOzoneReportDefsReasonSelfHarmEd
1179 }
1180 ReasonType::ToolsOzoneReportDefsReasonSelfHarmStunts => {
1181 ReasonType::ToolsOzoneReportDefsReasonSelfHarmStunts
1182 }
1183 ReasonType::ToolsOzoneReportDefsReasonSelfHarmSubstances => {
1184 ReasonType::ToolsOzoneReportDefsReasonSelfHarmSubstances
1185 }
1186 ReasonType::ToolsOzoneReportDefsReasonSelfHarmOther => {
1187 ReasonType::ToolsOzoneReportDefsReasonSelfHarmOther
1188 }
1189 ReasonType::Other(v) => ReasonType::Other(v.into_static()),
1190 }
1191 }
1192}
1193
1194/// Animal welfare violations
1195#[derive(
1196 serde::Serialize,
1197 serde::Deserialize,
1198 Debug,
1199 Clone,
1200 PartialEq,
1201 Eq,
1202 Hash,
1203 jacquard_derive::IntoStatic
1204)]
1205pub struct ReasonViolenceAnimal;
1206impl std::fmt::Display for ReasonViolenceAnimal {
1207 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1208 write!(f, "reasonViolenceAnimal")
1209 }
1210}
1211
1212/// Extremist content. These reports will be sent only be sent to the application's Moderation Authority.
1213#[derive(
1214 serde::Serialize,
1215 serde::Deserialize,
1216 Debug,
1217 Clone,
1218 PartialEq,
1219 Eq,
1220 Hash,
1221 jacquard_derive::IntoStatic
1222)]
1223pub struct ReasonViolenceExtremistContent;
1224impl std::fmt::Display for ReasonViolenceExtremistContent {
1225 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1226 write!(f, "reasonViolenceExtremistContent")
1227 }
1228}
1229
1230/// Glorification of violence
1231#[derive(
1232 serde::Serialize,
1233 serde::Deserialize,
1234 Debug,
1235 Clone,
1236 PartialEq,
1237 Eq,
1238 Hash,
1239 jacquard_derive::IntoStatic
1240)]
1241pub struct ReasonViolenceGlorification;
1242impl std::fmt::Display for ReasonViolenceGlorification {
1243 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1244 write!(f, "reasonViolenceGlorification")
1245 }
1246}
1247
1248/// Graphic violent content
1249#[derive(
1250 serde::Serialize,
1251 serde::Deserialize,
1252 Debug,
1253 Clone,
1254 PartialEq,
1255 Eq,
1256 Hash,
1257 jacquard_derive::IntoStatic
1258)]
1259pub struct ReasonViolenceGraphicContent;
1260impl std::fmt::Display for ReasonViolenceGraphicContent {
1261 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1262 write!(f, "reasonViolenceGraphicContent")
1263 }
1264}
1265
1266/// Other violent content
1267#[derive(
1268 serde::Serialize,
1269 serde::Deserialize,
1270 Debug,
1271 Clone,
1272 PartialEq,
1273 Eq,
1274 Hash,
1275 jacquard_derive::IntoStatic
1276)]
1277pub struct ReasonViolenceOther;
1278impl std::fmt::Display for ReasonViolenceOther {
1279 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1280 write!(f, "reasonViolenceOther")
1281 }
1282}
1283
1284/// Threats or incitement
1285#[derive(
1286 serde::Serialize,
1287 serde::Deserialize,
1288 Debug,
1289 Clone,
1290 PartialEq,
1291 Eq,
1292 Hash,
1293 jacquard_derive::IntoStatic
1294)]
1295pub struct ReasonViolenceThreats;
1296impl std::fmt::Display for ReasonViolenceThreats {
1297 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1298 write!(f, "reasonViolenceThreats")
1299 }
1300}
1301
1302/// Human trafficking
1303#[derive(
1304 serde::Serialize,
1305 serde::Deserialize,
1306 Debug,
1307 Clone,
1308 PartialEq,
1309 Eq,
1310 Hash,
1311 jacquard_derive::IntoStatic
1312)]
1313pub struct ReasonViolenceTrafficking;
1314impl std::fmt::Display for ReasonViolenceTrafficking {
1315 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1316 write!(f, "reasonViolenceTrafficking")
1317 }
1318}