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 #[serde(skip_serializing_if = "core::option::Option::is_none")]
16 pub report_action: core::option::Option<ReportAction>,
17 pub subject: crate::types::Union<InputSubjectRefs>,
18 #[serde(skip_serializing_if = "core::option::Option::is_none")]
19 pub subject_blob_cids: core::option::Option<Vec<crate::types::string::Cid>>,
20}
21pub type Input = crate::types::Object<InputData>;
22pub type Output = crate::tools::ozone::moderation::defs::ModEventView;
23#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
24#[serde(tag = "error", content = "message")]
25pub enum Error {
26 SubjectHasAction(Option<String>),
27 DuplicateExternalId(Option<String>),
29}
30impl std::fmt::Display for Error {
31 fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
32 match self {
33 Error::SubjectHasAction(msg) => {
34 write!(_f, "SubjectHasAction")?;
35 if let Some(msg) = msg {
36 write!(_f, ": {msg}")?;
37 }
38 }
39 Error::DuplicateExternalId(msg) => {
40 write!(_f, "DuplicateExternalId")?;
41 if let Some(msg) = msg {
42 write!(_f, ": {msg}")?;
43 }
44 }
45 }
46 Ok(())
47 }
48}
49#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
51#[serde(rename_all = "camelCase")]
52pub struct ReportActionData {
53 #[serde(skip_serializing_if = "core::option::Option::is_none")]
55 pub all: core::option::Option<bool>,
56 #[serde(skip_serializing_if = "core::option::Option::is_none")]
58 pub ids: core::option::Option<Vec<i64>>,
59 #[serde(skip_serializing_if = "core::option::Option::is_none")]
61 pub note: core::option::Option<String>,
62 #[serde(skip_serializing_if = "core::option::Option::is_none")]
64 pub types: core::option::Option<Vec<String>>,
65}
66pub type ReportAction = crate::types::Object<ReportActionData>;
67#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
68#[serde(tag = "$type")]
69pub enum InputEventRefs {
70 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
71 ToolsOzoneModerationDefsModEventTakedown(
72 Box<crate::tools::ozone::moderation::defs::ModEventTakedown>,
73 ),
74 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
75 ToolsOzoneModerationDefsModEventAcknowledge(
76 Box<crate::tools::ozone::moderation::defs::ModEventAcknowledge>,
77 ),
78 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
79 ToolsOzoneModerationDefsModEventEscalate(
80 Box<crate::tools::ozone::moderation::defs::ModEventEscalate>,
81 ),
82 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
83 ToolsOzoneModerationDefsModEventComment(
84 Box<crate::tools::ozone::moderation::defs::ModEventComment>,
85 ),
86 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
87 ToolsOzoneModerationDefsModEventLabel(
88 Box<crate::tools::ozone::moderation::defs::ModEventLabel>,
89 ),
90 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
91 ToolsOzoneModerationDefsModEventReport(
92 Box<crate::tools::ozone::moderation::defs::ModEventReport>,
93 ),
94 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
95 ToolsOzoneModerationDefsModEventMute(
96 Box<crate::tools::ozone::moderation::defs::ModEventMute>,
97 ),
98 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
99 ToolsOzoneModerationDefsModEventUnmute(
100 Box<crate::tools::ozone::moderation::defs::ModEventUnmute>,
101 ),
102 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
103 ToolsOzoneModerationDefsModEventMuteReporter(
104 Box<crate::tools::ozone::moderation::defs::ModEventMuteReporter>,
105 ),
106 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
107 ToolsOzoneModerationDefsModEventUnmuteReporter(
108 Box<crate::tools::ozone::moderation::defs::ModEventUnmuteReporter>,
109 ),
110 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
111 ToolsOzoneModerationDefsModEventReverseTakedown(
112 Box<crate::tools::ozone::moderation::defs::ModEventReverseTakedown>,
113 ),
114 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
115 ToolsOzoneModerationDefsModEventResolveAppeal(
116 Box<crate::tools::ozone::moderation::defs::ModEventResolveAppeal>,
117 ),
118 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
119 ToolsOzoneModerationDefsModEventEmail(
120 Box<crate::tools::ozone::moderation::defs::ModEventEmail>,
121 ),
122 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
123 ToolsOzoneModerationDefsModEventDivert(
124 Box<crate::tools::ozone::moderation::defs::ModEventDivert>,
125 ),
126 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
127 ToolsOzoneModerationDefsModEventTag(
128 Box<crate::tools::ozone::moderation::defs::ModEventTag>,
129 ),
130 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
131 ToolsOzoneModerationDefsAccountEvent(
132 Box<crate::tools::ozone::moderation::defs::AccountEvent>,
133 ),
134 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
135 ToolsOzoneModerationDefsIdentityEvent(
136 Box<crate::tools::ozone::moderation::defs::IdentityEvent>,
137 ),
138 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
139 ToolsOzoneModerationDefsRecordEvent(
140 Box<crate::tools::ozone::moderation::defs::RecordEvent>,
141 ),
142 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
143 ToolsOzoneModerationDefsModEventPriorityScore(
144 Box<crate::tools::ozone::moderation::defs::ModEventPriorityScore>,
145 ),
146 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
147 ToolsOzoneModerationDefsAgeAssuranceEvent(
148 Box<crate::tools::ozone::moderation::defs::AgeAssuranceEvent>,
149 ),
150 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
151 ToolsOzoneModerationDefsAgeAssuranceOverrideEvent(
152 Box<crate::tools::ozone::moderation::defs::AgeAssuranceOverrideEvent>,
153 ),
154 #[serde(rename = "tools.ozone.moderation.defs#ageAssurancePurgeEvent")]
155 ToolsOzoneModerationDefsAgeAssurancePurgeEvent(
156 Box<crate::tools::ozone::moderation::defs::AgeAssurancePurgeEvent>,
157 ),
158 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
159 ToolsOzoneModerationDefsRevokeAccountCredentialsEvent(
160 Box<crate::tools::ozone::moderation::defs::RevokeAccountCredentialsEvent>,
161 ),
162 #[serde(rename = "tools.ozone.moderation.defs#scheduleTakedownEvent")]
163 ToolsOzoneModerationDefsScheduleTakedownEvent(
164 Box<crate::tools::ozone::moderation::defs::ScheduleTakedownEvent>,
165 ),
166 #[serde(rename = "tools.ozone.moderation.defs#cancelScheduledTakedownEvent")]
167 ToolsOzoneModerationDefsCancelScheduledTakedownEvent(
168 Box<crate::tools::ozone::moderation::defs::CancelScheduledTakedownEvent>,
169 ),
170}
171#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
172#[serde(tag = "$type")]
173pub enum InputSubjectRefs {
174 #[serde(rename = "com.atproto.admin.defs#repoRef")]
175 ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
176 #[serde(rename = "com.atproto.repo.strongRef")]
177 ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
178}