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> serde::Serialize for ReasonType<'a> {
1038 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1039 where
1040 S: serde::Serializer,
1041 {
1042 serializer.serialize_str(self.as_str())
1043 }
1044}
1045
1046impl<'de, 'a> serde::Deserialize<'de> for ReasonType<'a>
1047where
1048 'de: 'a,
1049{
1050 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1051 where
1052 D: serde::Deserializer<'de>,
1053 {
1054 let s = <&'de str>::deserialize(deserializer)?;
1055 Ok(Self::from(s))
1056 }
1057}
1058
1059impl jacquard_common::IntoStatic for ReasonType<'_> {
1060 type Output = ReasonType<'static>;
1061 fn into_static(self) -> Self::Output {
1062 match self {
1063 ReasonType::ToolsOzoneReportDefsReasonAppeal => {
1064 ReasonType::ToolsOzoneReportDefsReasonAppeal
1065 }
1066 ReasonType::ToolsOzoneReportDefsReasonOther => {
1067 ReasonType::ToolsOzoneReportDefsReasonOther
1068 }
1069 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimal => {
1070 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimal
1071 }
1072 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats => {
1073 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats
1074 }
1075 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent => {
1076 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent
1077 }
1078 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification => {
1079 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification
1080 }
1081 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent => {
1082 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent
1083 }
1084 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking => {
1085 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking
1086 }
1087 ReasonType::ToolsOzoneReportDefsReasonViolenceOther => {
1088 ReasonType::ToolsOzoneReportDefsReasonViolenceOther
1089 }
1090 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent => {
1091 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent
1092 }
1093 ReasonType::ToolsOzoneReportDefsReasonSexualNcii => {
1094 ReasonType::ToolsOzoneReportDefsReasonSexualNcii
1095 }
1096 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake => {
1097 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake
1098 }
1099 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal => {
1100 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal
1101 }
1102 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled => {
1103 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled
1104 }
1105 ReasonType::ToolsOzoneReportDefsReasonSexualOther => {
1106 ReasonType::ToolsOzoneReportDefsReasonSexualOther
1107 }
1108 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam => {
1109 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam
1110 }
1111 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom => {
1112 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom
1113 }
1114 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPrivacy => {
1115 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPrivacy
1116 }
1117 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment => {
1118 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment
1119 }
1120 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther => {
1121 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther
1122 }
1123 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll => {
1124 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll
1125 }
1126 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted => {
1127 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted
1128 }
1129 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech => {
1130 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech
1131 }
1132 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing => {
1133 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing
1134 }
1135 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther => {
1136 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther
1137 }
1138 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot => {
1139 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot
1140 }
1141 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation => {
1142 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation
1143 }
1144 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam => {
1145 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam
1146 }
1147 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam => {
1148 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam
1149 }
1150 ReasonType::ToolsOzoneReportDefsReasonMisleadingElections => {
1151 ReasonType::ToolsOzoneReportDefsReasonMisleadingElections
1152 }
1153 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther => {
1154 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther
1155 }
1156 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity => {
1157 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity
1158 }
1159 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales => {
1160 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales
1161 }
1162 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion => {
1163 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion
1164 }
1165 ReasonType::ToolsOzoneReportDefsReasonRuleOther => {
1166 ReasonType::ToolsOzoneReportDefsReasonRuleOther
1167 }
1168 ReasonType::ToolsOzoneReportDefsReasonSelfHarmContent => {
1169 ReasonType::ToolsOzoneReportDefsReasonSelfHarmContent
1170 }
1171 ReasonType::ToolsOzoneReportDefsReasonSelfHarmEd => {
1172 ReasonType::ToolsOzoneReportDefsReasonSelfHarmEd
1173 }
1174 ReasonType::ToolsOzoneReportDefsReasonSelfHarmStunts => {
1175 ReasonType::ToolsOzoneReportDefsReasonSelfHarmStunts
1176 }
1177 ReasonType::ToolsOzoneReportDefsReasonSelfHarmSubstances => {
1178 ReasonType::ToolsOzoneReportDefsReasonSelfHarmSubstances
1179 }
1180 ReasonType::ToolsOzoneReportDefsReasonSelfHarmOther => {
1181 ReasonType::ToolsOzoneReportDefsReasonSelfHarmOther
1182 }
1183 ReasonType::Other(v) => ReasonType::Other(v.into_static()),
1184 }
1185 }
1186}
1187
1188/// Animal welfare violations
1189#[derive(
1190 serde::Serialize,
1191 serde::Deserialize,
1192 Debug,
1193 Clone,
1194 PartialEq,
1195 Eq,
1196 Hash,
1197 jacquard_derive::IntoStatic
1198)]
1199pub struct ReasonViolenceAnimal;
1200impl std::fmt::Display for ReasonViolenceAnimal {
1201 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1202 write!(f, "reasonViolenceAnimal")
1203 }
1204}
1205
1206/// Extremist content. These reports will be sent only be sent to the application's Moderation Authority.
1207#[derive(
1208 serde::Serialize,
1209 serde::Deserialize,
1210 Debug,
1211 Clone,
1212 PartialEq,
1213 Eq,
1214 Hash,
1215 jacquard_derive::IntoStatic
1216)]
1217pub struct ReasonViolenceExtremistContent;
1218impl std::fmt::Display for ReasonViolenceExtremistContent {
1219 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1220 write!(f, "reasonViolenceExtremistContent")
1221 }
1222}
1223
1224/// Glorification of violence
1225#[derive(
1226 serde::Serialize,
1227 serde::Deserialize,
1228 Debug,
1229 Clone,
1230 PartialEq,
1231 Eq,
1232 Hash,
1233 jacquard_derive::IntoStatic
1234)]
1235pub struct ReasonViolenceGlorification;
1236impl std::fmt::Display for ReasonViolenceGlorification {
1237 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1238 write!(f, "reasonViolenceGlorification")
1239 }
1240}
1241
1242/// Graphic violent content
1243#[derive(
1244 serde::Serialize,
1245 serde::Deserialize,
1246 Debug,
1247 Clone,
1248 PartialEq,
1249 Eq,
1250 Hash,
1251 jacquard_derive::IntoStatic
1252)]
1253pub struct ReasonViolenceGraphicContent;
1254impl std::fmt::Display for ReasonViolenceGraphicContent {
1255 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1256 write!(f, "reasonViolenceGraphicContent")
1257 }
1258}
1259
1260/// Other violent content
1261#[derive(
1262 serde::Serialize,
1263 serde::Deserialize,
1264 Debug,
1265 Clone,
1266 PartialEq,
1267 Eq,
1268 Hash,
1269 jacquard_derive::IntoStatic
1270)]
1271pub struct ReasonViolenceOther;
1272impl std::fmt::Display for ReasonViolenceOther {
1273 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1274 write!(f, "reasonViolenceOther")
1275 }
1276}
1277
1278/// Threats or incitement
1279#[derive(
1280 serde::Serialize,
1281 serde::Deserialize,
1282 Debug,
1283 Clone,
1284 PartialEq,
1285 Eq,
1286 Hash,
1287 jacquard_derive::IntoStatic
1288)]
1289pub struct ReasonViolenceThreats;
1290impl std::fmt::Display for ReasonViolenceThreats {
1291 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1292 write!(f, "reasonViolenceThreats")
1293 }
1294}
1295
1296/// Human trafficking
1297#[derive(
1298 serde::Serialize,
1299 serde::Deserialize,
1300 Debug,
1301 Clone,
1302 PartialEq,
1303 Eq,
1304 Hash,
1305 jacquard_derive::IntoStatic
1306)]
1307pub struct ReasonViolenceTrafficking;
1308impl std::fmt::Display for ReasonViolenceTrafficking {
1309 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1310 write!(f, "reasonViolenceTrafficking")
1311 }
1312}