atrium_api/tools/ozone/moderation/
emit_event.rs1pub const NSID: &str = "tools.ozone.moderation.emitEvent";
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct InputData {
7 pub created_by: crate::types::string::Did,
8 pub event: crate::types::Union<InputEventRefs>,
9 #[serde(skip_serializing_if = "core::option::Option::is_none")]
11 pub external_id: core::option::Option<String>,
12 #[serde(skip_serializing_if = "core::option::Option::is_none")]
13 pub mod_tool: core::option::Option<crate::tools::ozone::moderation::defs::ModTool>,
14 pub subject: crate::types::Union<InputSubjectRefs>,
15 #[serde(skip_serializing_if = "core::option::Option::is_none")]
16 pub subject_blob_cids: core::option::Option<Vec<crate::types::string::Cid>>,
17}
18pub type Input = crate::types::Object<InputData>;
19pub type Output = crate::tools::ozone::moderation::defs::ModEventView;
20#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
21#[serde(tag = "error", content = "message")]
22pub enum Error {
23 SubjectHasAction(Option<String>),
24 DuplicateExternalId(Option<String>),
26}
27impl std::fmt::Display for Error {
28 fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
29 match self {
30 Error::SubjectHasAction(msg) => {
31 write!(_f, "SubjectHasAction")?;
32 if let Some(msg) = msg {
33 write!(_f, ": {msg}")?;
34 }
35 }
36 Error::DuplicateExternalId(msg) => {
37 write!(_f, "DuplicateExternalId")?;
38 if let Some(msg) = msg {
39 write!(_f, ": {msg}")?;
40 }
41 }
42 }
43 Ok(())
44 }
45}
46#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
47#[serde(tag = "$type")]
48pub enum InputEventRefs {
49 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
50 ToolsOzoneModerationDefsModEventTakedown(
51 Box<crate::tools::ozone::moderation::defs::ModEventTakedown>,
52 ),
53 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
54 ToolsOzoneModerationDefsModEventAcknowledge(
55 Box<crate::tools::ozone::moderation::defs::ModEventAcknowledge>,
56 ),
57 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
58 ToolsOzoneModerationDefsModEventEscalate(
59 Box<crate::tools::ozone::moderation::defs::ModEventEscalate>,
60 ),
61 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
62 ToolsOzoneModerationDefsModEventComment(
63 Box<crate::tools::ozone::moderation::defs::ModEventComment>,
64 ),
65 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
66 ToolsOzoneModerationDefsModEventLabel(
67 Box<crate::tools::ozone::moderation::defs::ModEventLabel>,
68 ),
69 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
70 ToolsOzoneModerationDefsModEventReport(
71 Box<crate::tools::ozone::moderation::defs::ModEventReport>,
72 ),
73 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
74 ToolsOzoneModerationDefsModEventMute(Box<crate::tools::ozone::moderation::defs::ModEventMute>),
75 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
76 ToolsOzoneModerationDefsModEventUnmute(
77 Box<crate::tools::ozone::moderation::defs::ModEventUnmute>,
78 ),
79 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
80 ToolsOzoneModerationDefsModEventMuteReporter(
81 Box<crate::tools::ozone::moderation::defs::ModEventMuteReporter>,
82 ),
83 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
84 ToolsOzoneModerationDefsModEventUnmuteReporter(
85 Box<crate::tools::ozone::moderation::defs::ModEventUnmuteReporter>,
86 ),
87 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
88 ToolsOzoneModerationDefsModEventReverseTakedown(
89 Box<crate::tools::ozone::moderation::defs::ModEventReverseTakedown>,
90 ),
91 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
92 ToolsOzoneModerationDefsModEventResolveAppeal(
93 Box<crate::tools::ozone::moderation::defs::ModEventResolveAppeal>,
94 ),
95 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
96 ToolsOzoneModerationDefsModEventEmail(
97 Box<crate::tools::ozone::moderation::defs::ModEventEmail>,
98 ),
99 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
100 ToolsOzoneModerationDefsModEventDivert(
101 Box<crate::tools::ozone::moderation::defs::ModEventDivert>,
102 ),
103 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
104 ToolsOzoneModerationDefsModEventTag(Box<crate::tools::ozone::moderation::defs::ModEventTag>),
105 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
106 ToolsOzoneModerationDefsAccountEvent(Box<crate::tools::ozone::moderation::defs::AccountEvent>),
107 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
108 ToolsOzoneModerationDefsIdentityEvent(
109 Box<crate::tools::ozone::moderation::defs::IdentityEvent>,
110 ),
111 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
112 ToolsOzoneModerationDefsRecordEvent(Box<crate::tools::ozone::moderation::defs::RecordEvent>),
113 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
114 ToolsOzoneModerationDefsModEventPriorityScore(
115 Box<crate::tools::ozone::moderation::defs::ModEventPriorityScore>,
116 ),
117 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
118 ToolsOzoneModerationDefsAgeAssuranceEvent(
119 Box<crate::tools::ozone::moderation::defs::AgeAssuranceEvent>,
120 ),
121 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
122 ToolsOzoneModerationDefsAgeAssuranceOverrideEvent(
123 Box<crate::tools::ozone::moderation::defs::AgeAssuranceOverrideEvent>,
124 ),
125 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
126 ToolsOzoneModerationDefsRevokeAccountCredentialsEvent(
127 Box<crate::tools::ozone::moderation::defs::RevokeAccountCredentialsEvent>,
128 ),
129}
130#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
131#[serde(tag = "$type")]
132pub enum InputSubjectRefs {
133 #[serde(rename = "com.atproto.admin.defs#repoRef")]
134 ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
135 #[serde(rename = "com.atproto.repo.strongRef")]
136 ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
137}