atrium_api/com/atproto/moderation/
create_report.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `com.atproto.moderation.createReport` namespace.
3pub const NSID: &str = "com.atproto.moderation.createReport";
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct InputData {
7    ///Additional context about the content and violation.
8    #[serde(skip_serializing_if = "core::option::Option::is_none")]
9    pub reason: core::option::Option<String>,
10    ///Indicates the broad category of violation the report is for.
11    pub reason_type: crate::com::atproto::moderation::defs::ReasonType,
12    pub subject: crate::types::Union<InputSubjectRefs>,
13}
14pub type Input = crate::types::Object<InputData>;
15#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
16#[serde(rename_all = "camelCase")]
17pub struct OutputData {
18    pub created_at: crate::types::string::Datetime,
19    pub id: i64,
20    #[serde(skip_serializing_if = "core::option::Option::is_none")]
21    pub reason: core::option::Option<String>,
22    pub reason_type: crate::com::atproto::moderation::defs::ReasonType,
23    pub reported_by: crate::types::string::Did,
24    pub subject: crate::types::Union<OutputSubjectRefs>,
25}
26pub type Output = crate::types::Object<OutputData>;
27#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
28#[serde(tag = "error", content = "message")]
29pub enum Error {}
30impl std::fmt::Display for Error {
31    fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
32        Ok(())
33    }
34}
35#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
36#[serde(tag = "$type")]
37pub enum InputSubjectRefs {
38    #[serde(rename = "com.atproto.admin.defs#repoRef")]
39    ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
40    #[serde(rename = "com.atproto.repo.strongRef")]
41    ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
42}
43#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
44#[serde(tag = "$type")]
45pub enum OutputSubjectRefs {
46    #[serde(rename = "com.atproto.admin.defs#repoRef")]
47    ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
48    #[serde(rename = "com.atproto.repo.strongRef")]
49    ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
50}