atrium_api/tools/ozone/report/
defs.rs1#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct AssignmentActivityData {
7 #[serde(skip_serializing_if = "core::option::Option::is_none")]
9 pub previous_status: core::option::Option<String>,
10}
11pub type AssignmentActivity = crate::types::Object<AssignmentActivityData>;
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
14pub struct AssignmentViewData {
15 pub did: crate::types::string::Did,
16 #[serde(skip_serializing_if = "core::option::Option::is_none")]
17 pub end_at: core::option::Option<crate::types::string::Datetime>,
18 pub id: i64,
19 #[serde(skip_serializing_if = "core::option::Option::is_none")]
21 pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
22 #[serde(skip_serializing_if = "core::option::Option::is_none")]
23 pub queue: core::option::Option<crate::tools::ozone::queue::defs::QueueView>,
24 pub report_id: i64,
25 pub start_at: crate::types::string::Datetime,
26}
27pub type AssignmentView = crate::types::Object<AssignmentViewData>;
28#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
30#[serde(rename_all = "camelCase")]
31pub struct CloseActivityData {
32 #[serde(skip_serializing_if = "core::option::Option::is_none")]
34 pub previous_status: core::option::Option<String>,
35}
36pub type CloseActivity = crate::types::Object<CloseActivityData>;
37#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(rename_all = "camelCase")]
40pub struct EscalationActivityData {
41 #[serde(skip_serializing_if = "core::option::Option::is_none")]
43 pub previous_status: core::option::Option<String>,
44}
45pub type EscalationActivity = crate::types::Object<EscalationActivityData>;
46#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
48#[serde(rename_all = "camelCase")]
49pub struct HistoricalStatsData {
50 #[serde(skip_serializing_if = "core::option::Option::is_none")]
52 pub action_rate: core::option::Option<i64>,
53 #[serde(skip_serializing_if = "core::option::Option::is_none")]
55 pub actioned_count: core::option::Option<i64>,
56 #[serde(skip_serializing_if = "core::option::Option::is_none")]
58 pub avg_handling_time_sec: core::option::Option<i64>,
59 #[serde(skip_serializing_if = "core::option::Option::is_none")]
61 pub computed_at: core::option::Option<crate::types::string::Datetime>,
62 pub date: String,
64 #[serde(skip_serializing_if = "core::option::Option::is_none")]
66 pub escalated_count: core::option::Option<i64>,
67 #[serde(skip_serializing_if = "core::option::Option::is_none")]
69 pub inbound_count: core::option::Option<i64>,
70 #[serde(skip_serializing_if = "core::option::Option::is_none")]
72 pub pending_count: core::option::Option<i64>,
73}
74pub type HistoricalStats = crate::types::Object<HistoricalStatsData>;
75#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
77#[serde(rename_all = "camelCase")]
78pub struct LiveStatsData {
79 #[serde(skip_serializing_if = "core::option::Option::is_none")]
81 pub action_rate: core::option::Option<i64>,
82 #[serde(skip_serializing_if = "core::option::Option::is_none")]
84 pub actioned_count: core::option::Option<i64>,
85 #[serde(skip_serializing_if = "core::option::Option::is_none")]
87 pub avg_handling_time_sec: core::option::Option<i64>,
88 #[serde(skip_serializing_if = "core::option::Option::is_none")]
90 pub escalated_count: core::option::Option<i64>,
91 #[serde(skip_serializing_if = "core::option::Option::is_none")]
93 pub inbound_count: core::option::Option<i64>,
94 #[serde(skip_serializing_if = "core::option::Option::is_none")]
96 pub last_updated: core::option::Option<crate::types::string::Datetime>,
97 #[serde(skip_serializing_if = "core::option::Option::is_none")]
99 pub pending_count: core::option::Option<i64>,
100}
101pub type LiveStats = crate::types::Object<LiveStatsData>;
102#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
104#[serde(rename_all = "camelCase")]
105pub struct NoteActivityData {}
106pub type NoteActivity = crate::types::Object<NoteActivityData>;
107#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
109#[serde(rename_all = "camelCase")]
110pub struct QueueActivityData {
111 #[serde(skip_serializing_if = "core::option::Option::is_none")]
113 pub previous_status: core::option::Option<String>,
114}
115pub type QueueActivity = crate::types::Object<QueueActivityData>;
116pub const REASON_APPEAL: &str = "tools.ozone.report.defs#reasonAppeal";
118pub const REASON_CHILD_SAFETY_CSAM: &str = "tools.ozone.report.defs#reasonChildSafetyCSAM";
120pub const REASON_CHILD_SAFETY_GROOM: &str = "tools.ozone.report.defs#reasonChildSafetyGroom";
122pub const REASON_CHILD_SAFETY_HARASSMENT: &str = "tools.ozone.report.defs#reasonChildSafetyHarassment";
124pub const REASON_CHILD_SAFETY_OTHER: &str = "tools.ozone.report.defs#reasonChildSafetyOther";
126pub const REASON_CHILD_SAFETY_PRIVACY: &str = "tools.ozone.report.defs#reasonChildSafetyPrivacy";
128pub const REASON_HARASSMENT_DOXXING: &str = "tools.ozone.report.defs#reasonHarassmentDoxxing";
130pub const REASON_HARASSMENT_HATE_SPEECH: &str = "tools.ozone.report.defs#reasonHarassmentHateSpeech";
132pub const REASON_HARASSMENT_OTHER: &str = "tools.ozone.report.defs#reasonHarassmentOther";
134pub const REASON_HARASSMENT_TARGETED: &str = "tools.ozone.report.defs#reasonHarassmentTargeted";
136pub const REASON_HARASSMENT_TROLL: &str = "tools.ozone.report.defs#reasonHarassmentTroll";
138pub const REASON_MISLEADING_BOT: &str = "tools.ozone.report.defs#reasonMisleadingBot";
140pub const REASON_MISLEADING_ELECTIONS: &str = "tools.ozone.report.defs#reasonMisleadingElections";
142pub const REASON_MISLEADING_IMPERSONATION: &str = "tools.ozone.report.defs#reasonMisleadingImpersonation";
144pub const REASON_MISLEADING_OTHER: &str = "tools.ozone.report.defs#reasonMisleadingOther";
146pub const REASON_MISLEADING_SCAM: &str = "tools.ozone.report.defs#reasonMisleadingScam";
148pub const REASON_MISLEADING_SPAM: &str = "tools.ozone.report.defs#reasonMisleadingSpam";
150pub const REASON_OTHER: &str = "tools.ozone.report.defs#reasonOther";
152pub const REASON_RULE_BAN_EVASION: &str = "tools.ozone.report.defs#reasonRuleBanEvasion";
154pub const REASON_RULE_OTHER: &str = "tools.ozone.report.defs#reasonRuleOther";
156pub const REASON_RULE_PROHIBITED_SALES: &str = "tools.ozone.report.defs#reasonRuleProhibitedSales";
158pub const REASON_RULE_SITE_SECURITY: &str = "tools.ozone.report.defs#reasonRuleSiteSecurity";
160pub const REASON_SELF_HARM_CONTENT: &str = "tools.ozone.report.defs#reasonSelfHarmContent";
162pub const REASON_SELF_HARM_ED: &str = "tools.ozone.report.defs#reasonSelfHarmED";
164pub const REASON_SELF_HARM_OTHER: &str = "tools.ozone.report.defs#reasonSelfHarmOther";
166pub const REASON_SELF_HARM_STUNTS: &str = "tools.ozone.report.defs#reasonSelfHarmStunts";
168pub const REASON_SELF_HARM_SUBSTANCES: &str = "tools.ozone.report.defs#reasonSelfHarmSubstances";
170pub const REASON_SEXUAL_ABUSE_CONTENT: &str = "tools.ozone.report.defs#reasonSexualAbuseContent";
172pub const REASON_SEXUAL_ANIMAL: &str = "tools.ozone.report.defs#reasonSexualAnimal";
174pub const REASON_SEXUAL_DEEPFAKE: &str = "tools.ozone.report.defs#reasonSexualDeepfake";
176pub const REASON_SEXUAL_NCII: &str = "tools.ozone.report.defs#reasonSexualNCII";
178pub const REASON_SEXUAL_OTHER: &str = "tools.ozone.report.defs#reasonSexualOther";
180pub const REASON_SEXUAL_UNLABELED: &str = "tools.ozone.report.defs#reasonSexualUnlabeled";
182pub type ReasonType = String;
183pub const REASON_VIOLENCE_ANIMAL: &str = "tools.ozone.report.defs#reasonViolenceAnimal";
185pub const REASON_VIOLENCE_EXTREMIST_CONTENT: &str = "tools.ozone.report.defs#reasonViolenceExtremistContent";
187pub const REASON_VIOLENCE_GLORIFICATION: &str = "tools.ozone.report.defs#reasonViolenceGlorification";
189pub const REASON_VIOLENCE_GRAPHIC_CONTENT: &str = "tools.ozone.report.defs#reasonViolenceGraphicContent";
191pub const REASON_VIOLENCE_OTHER: &str = "tools.ozone.report.defs#reasonViolenceOther";
193pub const REASON_VIOLENCE_THREATS: &str = "tools.ozone.report.defs#reasonViolenceThreats";
195pub const REASON_VIOLENCE_TRAFFICKING: &str = "tools.ozone.report.defs#reasonViolenceTrafficking";
197#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
199#[serde(rename_all = "camelCase")]
200pub struct ReopenActivityData {
201 #[serde(skip_serializing_if = "core::option::Option::is_none")]
203 pub previous_status: core::option::Option<String>,
204}
205pub type ReopenActivity = crate::types::Object<ReopenActivityData>;
206#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
208#[serde(rename_all = "camelCase")]
209pub struct ReportActivityViewData {
210 pub activity: crate::types::Union<ReportActivityViewActivityRefs>,
212 pub created_at: crate::types::string::Datetime,
214 pub created_by: crate::types::string::Did,
216 pub id: i64,
218 #[serde(skip_serializing_if = "core::option::Option::is_none")]
220 pub internal_note: core::option::Option<String>,
221 pub is_automated: bool,
223 #[serde(skip_serializing_if = "core::option::Option::is_none")]
225 pub meta: core::option::Option<crate::types::Unknown>,
226 #[serde(skip_serializing_if = "core::option::Option::is_none")]
228 pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
229 #[serde(skip_serializing_if = "core::option::Option::is_none")]
231 pub public_note: core::option::Option<String>,
232 #[serde(skip_serializing_if = "core::option::Option::is_none")]
234 pub report: core::option::Option<ReportView>,
235 pub report_id: i64,
237}
238pub type ReportActivityView = crate::types::Object<ReportActivityViewData>;
239#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
241#[serde(rename_all = "camelCase")]
242pub struct ReportAssignmentData {
243 pub assigned_at: crate::types::string::Datetime,
245 pub did: crate::types::string::Did,
247 #[serde(skip_serializing_if = "core::option::Option::is_none")]
249 pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
250}
251pub type ReportAssignment = crate::types::Object<ReportAssignmentData>;
252#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
253#[serde(rename_all = "camelCase")]
254pub struct ReportViewData {
255 #[serde(skip_serializing_if = "core::option::Option::is_none")]
257 pub action_event_ids: core::option::Option<Vec<i64>>,
258 #[serde(skip_serializing_if = "core::option::Option::is_none")]
260 pub action_note: core::option::Option<String>,
261 #[serde(skip_serializing_if = "core::option::Option::is_none")]
263 pub actions: core::option::Option<
264 Vec<crate::tools::ozone::moderation::defs::ModEventView>,
265 >,
266 #[serde(skip_serializing_if = "core::option::Option::is_none")]
268 pub assignment: core::option::Option<ReportAssignment>,
269 #[serde(skip_serializing_if = "core::option::Option::is_none")]
271 pub comment: core::option::Option<String>,
272 pub created_at: crate::types::string::Datetime,
274 pub event_id: i64,
276 pub id: i64,
278 #[serde(skip_serializing_if = "core::option::Option::is_none")]
280 pub is_automated: core::option::Option<bool>,
281 #[serde(skip_serializing_if = "core::option::Option::is_none")]
283 pub is_muted: core::option::Option<bool>,
284 #[serde(skip_serializing_if = "core::option::Option::is_none")]
286 pub queue: core::option::Option<crate::tools::ozone::queue::defs::QueueView>,
287 #[serde(skip_serializing_if = "core::option::Option::is_none")]
289 pub queued_at: core::option::Option<crate::types::string::Datetime>,
290 #[serde(skip_serializing_if = "core::option::Option::is_none")]
292 pub related_report_count: core::option::Option<i64>,
293 pub report_type: crate::com::atproto::moderation::defs::ReasonType,
295 pub reported_by: crate::types::string::Did,
297 pub reporter: crate::tools::ozone::moderation::defs::SubjectView,
299 pub status: String,
301 pub subject: crate::tools::ozone::moderation::defs::SubjectView,
303 #[serde(skip_serializing_if = "core::option::Option::is_none")]
305 pub subject_status: core::option::Option<
306 crate::tools::ozone::moderation::defs::SubjectStatusView,
307 >,
308 #[serde(skip_serializing_if = "core::option::Option::is_none")]
310 pub updated_at: core::option::Option<crate::types::string::Datetime>,
311}
312pub type ReportView = crate::types::Object<ReportViewData>;
313#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
314#[serde(tag = "$type")]
315pub enum ReportActivityViewActivityRefs {
316 #[serde(rename = "tools.ozone.report.defs#queueActivity")]
317 QueueActivity(Box<QueueActivity>),
318 #[serde(rename = "tools.ozone.report.defs#assignmentActivity")]
319 AssignmentActivity(Box<AssignmentActivity>),
320 #[serde(rename = "tools.ozone.report.defs#escalationActivity")]
321 EscalationActivity(Box<EscalationActivity>),
322 #[serde(rename = "tools.ozone.report.defs#closeActivity")]
323 CloseActivity(Box<CloseActivity>),
324 #[serde(rename = "tools.ozone.report.defs#reopenActivity")]
325 ReopenActivity(Box<ReopenActivity>),
326 #[serde(rename = "tools.ozone.report.defs#noteActivity")]
327 NoteActivity(Box<NoteActivity>),
328}