#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct AssignmentActivityData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub previous_status: core::option::Option<String>,
}
pub type AssignmentActivity = crate::types::Object<AssignmentActivityData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct AssignmentViewData {
pub did: crate::types::string::Did,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub end_at: core::option::Option<crate::types::string::Datetime>,
pub id: i64,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub queue: core::option::Option<crate::tools::ozone::queue::defs::QueueView>,
pub report_id: i64,
pub start_at: crate::types::string::Datetime,
}
pub type AssignmentView = crate::types::Object<AssignmentViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct CloseActivityData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub previous_status: core::option::Option<String>,
}
pub type CloseActivity = crate::types::Object<CloseActivityData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EscalationActivityData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub previous_status: core::option::Option<String>,
}
pub type EscalationActivity = crate::types::Object<EscalationActivityData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct HistoricalStatsData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub action_rate: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub actioned_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub avg_handling_time_sec: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub computed_at: core::option::Option<crate::types::string::Datetime>,
pub date: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub escalated_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub inbound_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub pending_count: core::option::Option<i64>,
}
pub type HistoricalStats = crate::types::Object<HistoricalStatsData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LiveStatsData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub action_rate: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub actioned_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub avg_handling_time_sec: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub escalated_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub inbound_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub last_updated: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub pending_count: core::option::Option<i64>,
}
pub type LiveStats = crate::types::Object<LiveStatsData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct NoteActivityData {}
pub type NoteActivity = crate::types::Object<NoteActivityData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct QueueActivityData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub previous_status: core::option::Option<String>,
}
pub type QueueActivity = crate::types::Object<QueueActivityData>;
pub const REASON_APPEAL: &str = "tools.ozone.report.defs#reasonAppeal";
pub const REASON_CHILD_SAFETY_CSAM: &str = "tools.ozone.report.defs#reasonChildSafetyCSAM";
pub const REASON_CHILD_SAFETY_GROOM: &str = "tools.ozone.report.defs#reasonChildSafetyGroom";
pub const REASON_CHILD_SAFETY_HARASSMENT: &str = "tools.ozone.report.defs#reasonChildSafetyHarassment";
pub const REASON_CHILD_SAFETY_OTHER: &str = "tools.ozone.report.defs#reasonChildSafetyOther";
pub const REASON_CHILD_SAFETY_PRIVACY: &str = "tools.ozone.report.defs#reasonChildSafetyPrivacy";
pub const REASON_HARASSMENT_DOXXING: &str = "tools.ozone.report.defs#reasonHarassmentDoxxing";
pub const REASON_HARASSMENT_HATE_SPEECH: &str = "tools.ozone.report.defs#reasonHarassmentHateSpeech";
pub const REASON_HARASSMENT_OTHER: &str = "tools.ozone.report.defs#reasonHarassmentOther";
pub const REASON_HARASSMENT_TARGETED: &str = "tools.ozone.report.defs#reasonHarassmentTargeted";
pub const REASON_HARASSMENT_TROLL: &str = "tools.ozone.report.defs#reasonHarassmentTroll";
pub const REASON_MISLEADING_BOT: &str = "tools.ozone.report.defs#reasonMisleadingBot";
pub const REASON_MISLEADING_ELECTIONS: &str = "tools.ozone.report.defs#reasonMisleadingElections";
pub const REASON_MISLEADING_IMPERSONATION: &str = "tools.ozone.report.defs#reasonMisleadingImpersonation";
pub const REASON_MISLEADING_OTHER: &str = "tools.ozone.report.defs#reasonMisleadingOther";
pub const REASON_MISLEADING_SCAM: &str = "tools.ozone.report.defs#reasonMisleadingScam";
pub const REASON_MISLEADING_SPAM: &str = "tools.ozone.report.defs#reasonMisleadingSpam";
pub const REASON_OTHER: &str = "tools.ozone.report.defs#reasonOther";
pub const REASON_RULE_BAN_EVASION: &str = "tools.ozone.report.defs#reasonRuleBanEvasion";
pub const REASON_RULE_OTHER: &str = "tools.ozone.report.defs#reasonRuleOther";
pub const REASON_RULE_PROHIBITED_SALES: &str = "tools.ozone.report.defs#reasonRuleProhibitedSales";
pub const REASON_RULE_SITE_SECURITY: &str = "tools.ozone.report.defs#reasonRuleSiteSecurity";
pub const REASON_SELF_HARM_CONTENT: &str = "tools.ozone.report.defs#reasonSelfHarmContent";
pub const REASON_SELF_HARM_ED: &str = "tools.ozone.report.defs#reasonSelfHarmED";
pub const REASON_SELF_HARM_OTHER: &str = "tools.ozone.report.defs#reasonSelfHarmOther";
pub const REASON_SELF_HARM_STUNTS: &str = "tools.ozone.report.defs#reasonSelfHarmStunts";
pub const REASON_SELF_HARM_SUBSTANCES: &str = "tools.ozone.report.defs#reasonSelfHarmSubstances";
pub const REASON_SEXUAL_ABUSE_CONTENT: &str = "tools.ozone.report.defs#reasonSexualAbuseContent";
pub const REASON_SEXUAL_ANIMAL: &str = "tools.ozone.report.defs#reasonSexualAnimal";
pub const REASON_SEXUAL_DEEPFAKE: &str = "tools.ozone.report.defs#reasonSexualDeepfake";
pub const REASON_SEXUAL_NCII: &str = "tools.ozone.report.defs#reasonSexualNCII";
pub const REASON_SEXUAL_OTHER: &str = "tools.ozone.report.defs#reasonSexualOther";
pub const REASON_SEXUAL_UNLABELED: &str = "tools.ozone.report.defs#reasonSexualUnlabeled";
pub type ReasonType = String;
pub const REASON_VIOLENCE_ANIMAL: &str = "tools.ozone.report.defs#reasonViolenceAnimal";
pub const REASON_VIOLENCE_EXTREMIST_CONTENT: &str = "tools.ozone.report.defs#reasonViolenceExtremistContent";
pub const REASON_VIOLENCE_GLORIFICATION: &str = "tools.ozone.report.defs#reasonViolenceGlorification";
pub const REASON_VIOLENCE_GRAPHIC_CONTENT: &str = "tools.ozone.report.defs#reasonViolenceGraphicContent";
pub const REASON_VIOLENCE_OTHER: &str = "tools.ozone.report.defs#reasonViolenceOther";
pub const REASON_VIOLENCE_THREATS: &str = "tools.ozone.report.defs#reasonViolenceThreats";
pub const REASON_VIOLENCE_TRAFFICKING: &str = "tools.ozone.report.defs#reasonViolenceTrafficking";
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReopenActivityData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub previous_status: core::option::Option<String>,
}
pub type ReopenActivity = crate::types::Object<ReopenActivityData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReportActivityViewData {
pub activity: crate::types::Union<ReportActivityViewActivityRefs>,
pub created_at: crate::types::string::Datetime,
pub created_by: crate::types::string::Did,
pub id: i64,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub internal_note: core::option::Option<String>,
pub is_automated: bool,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub meta: core::option::Option<crate::types::Unknown>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub public_note: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub report: core::option::Option<ReportView>,
pub report_id: i64,
}
pub type ReportActivityView = crate::types::Object<ReportActivityViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReportAssignmentData {
pub assigned_at: crate::types::string::Datetime,
pub did: crate::types::string::Did,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
}
pub type ReportAssignment = crate::types::Object<ReportAssignmentData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReportViewData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub action_event_ids: core::option::Option<Vec<i64>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub action_note: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub actions: core::option::Option<
Vec<crate::tools::ozone::moderation::defs::ModEventView>,
>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub assignment: core::option::Option<ReportAssignment>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub comment: core::option::Option<String>,
pub created_at: crate::types::string::Datetime,
pub event_id: i64,
pub id: i64,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub is_automated: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub is_muted: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub queue: core::option::Option<crate::tools::ozone::queue::defs::QueueView>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub queued_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub related_report_count: core::option::Option<i64>,
pub report_type: crate::com::atproto::moderation::defs::ReasonType,
pub reported_by: crate::types::string::Did,
pub reporter: crate::tools::ozone::moderation::defs::SubjectView,
pub status: String,
pub subject: crate::tools::ozone::moderation::defs::SubjectView,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub subject_status: core::option::Option<
crate::tools::ozone::moderation::defs::SubjectStatusView,
>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub updated_at: core::option::Option<crate::types::string::Datetime>,
}
pub type ReportView = crate::types::Object<ReportViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum ReportActivityViewActivityRefs {
#[serde(rename = "tools.ozone.report.defs#queueActivity")]
QueueActivity(Box<QueueActivity>),
#[serde(rename = "tools.ozone.report.defs#assignmentActivity")]
AssignmentActivity(Box<AssignmentActivity>),
#[serde(rename = "tools.ozone.report.defs#escalationActivity")]
EscalationActivity(Box<EscalationActivity>),
#[serde(rename = "tools.ozone.report.defs#closeActivity")]
CloseActivity(Box<CloseActivity>),
#[serde(rename = "tools.ozone.report.defs#reopenActivity")]
ReopenActivity(Box<ReopenActivity>),
#[serde(rename = "tools.ozone.report.defs#noteActivity")]
NoteActivity(Box<NoteActivity>),
}