#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Report {
#[serde(rename = "_id")]
pub _id: String,
#[serde(rename = "author_id")]
pub author_id: String,
#[serde(rename = "content")]
pub content: Box<crate::models::ReportedContent>,
#[serde(rename = "additional_context")]
pub additional_context: String,
#[serde(rename = "notes", skip_serializing_if = "Option::is_none")]
pub notes: Option<String>,
#[serde(rename = "status")]
pub status: Status,
#[serde(rename = "rejection_reason")]
pub rejection_reason: String,
#[serde(rename = "closed_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub closed_at: Option<Option<String>>,
}
impl Report {
pub fn new(_id: String, author_id: String, content: crate::models::ReportedContent, additional_context: String, status: Status, rejection_reason: String) -> Report {
Report {
_id,
author_id,
content: Box::new(content),
additional_context,
notes: None,
status,
rejection_reason,
closed_at: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "Resolved")]
Resolved,
}
impl Default for Status {
fn default() -> Status {
Self::Resolved
}
}