revolt_api 0.6.5

Open source user-first chat platform.
Documentation
/*
 * Revolt API
 *
 * Open source user-first chat platform.
 *
 * The version of the OpenAPI document: 0.6.5
 * Contact: contact@revolt.chat
 * Generated by: https://openapi-generator.tech
 */

/// ReportedContentOneOf2 : Report a user



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ReportedContentOneOf2 {
    #[serde(rename = "type")]
    pub r#type: RHashType,
    /// ID of the user
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "report_reason")]
    pub report_reason: crate::models::UserReportReason,
    /// Message context
    #[serde(rename = "message_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub message_id: Option<Option<String>>,
}

impl ReportedContentOneOf2 {
    /// Report a user
    pub fn new(r#type: RHashType, id: String, report_reason: crate::models::UserReportReason) -> ReportedContentOneOf2 {
        ReportedContentOneOf2 {
            r#type,
            id,
            report_reason,
            message_id: None,
        }
    }
}

/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RHashType {
    #[serde(rename = "User")]
    User,
}

impl Default for RHashType {
    fn default() -> RHashType {
        Self::User
    }
}