atrium_api/tools/ozone/moderation/
emit_event.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `tools.ozone.moderation.emitEvent` namespace.
3pub 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    ///An optional external ID for the event, used to deduplicate events from external systems. Fails when an event of same type with the same external ID exists for the same subject.
10    #[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    ///An event with the same external ID already exists for the subject.
25    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}