metaculus 0.4.0

API Client for Metaculus
Documentation
/*
 * Metaculus API
 *
 * Welcome to the unofficial Rust client for the Metaculus API
 *
 * The version of the OpenAPI document: 1.0
 * Contact: Benjamin Manns <opensource@benmanns.com>
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PatchedCommentUpdate {
    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
    pub url: Option<String>,
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i32>,
    #[serde(
        rename = "author",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub author: Option<Option<i32>>,
    #[serde(
        rename = "author_name",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub author_name: Option<Option<String>>,
    #[serde(
        rename = "author_lvl",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub author_lvl: Option<Option<serde_json::Value>>,
    #[serde(
        rename = "author_supporter_lvl",
        skip_serializing_if = "Option::is_none"
    )]
    pub author_supporter_lvl: Option<i32>,
    #[serde(rename = "is_deactivated", skip_serializing_if = "Option::is_none")]
    pub is_deactivated: Option<bool>,
    #[serde(rename = "is_moderator", skip_serializing_if = "Option::is_none")]
    pub is_moderator: Option<bool>,
    #[serde(rename = "is_admin", skip_serializing_if = "Option::is_none")]
    pub is_admin: Option<bool>,
    #[serde(rename = "question", skip_serializing_if = "Option::is_none")]
    pub question: Option<String>,
    #[serde(rename = "comment_html", skip_serializing_if = "Option::is_none")]
    pub comment_html: Option<String>,
    #[serde(rename = "comment_text", skip_serializing_if = "Option::is_none")]
    pub comment_text: Option<String>,
    #[serde(rename = "created_time", skip_serializing_if = "Option::is_none")]
    pub created_time: Option<String>,
    #[serde(
        rename = "prediction_value",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub prediction_value: Option<Option<::std::collections::HashMap<String, serde_json::Value>>>,
    #[serde(rename = "submit_type", skip_serializing_if = "Option::is_none")]
    pub submit_type: Option<crate::models::SubmitTypeEnum>,
    #[serde(rename = "preview", skip_serializing_if = "Option::is_none")]
    pub preview: Option<bool>,
    #[serde(
        rename = "parent",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub parent: Option<Option<i32>>,
    #[serde(rename = "num_children", skip_serializing_if = "Option::is_none")]
    pub num_children: Option<i32>,
    #[serde(
        rename = "num_likes",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub num_likes: Option<Option<i32>>,
    #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
    pub deleted: Option<bool>,
    #[serde(
        rename = "parent_author",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub parent_author: Option<Option<String>>,
    #[serde(rename = "user_like", skip_serializing_if = "Option::is_none")]
    pub user_like: Option<i32>,
    #[serde(rename = "user_like_at", skip_serializing_if = "Option::is_none")]
    pub user_like_at: Option<String>,
    #[serde(
        rename = "latest_prediction",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub latest_prediction: Option<Option<::std::collections::HashMap<String, serde_json::Value>>>,
    #[serde(
        rename = "include_latest_prediction",
        skip_serializing_if = "Option::is_none"
    )]
    pub include_latest_prediction: Option<bool>,
    #[serde(rename = "edits", skip_serializing_if = "Option::is_none")]
    pub edits: Option<::std::collections::HashMap<String, serde_json::Value>>,
}

impl Default for PatchedCommentUpdate {
    fn default() -> Self {
        Self::new()
    }
}

impl PatchedCommentUpdate {
    #[must_use]
    pub fn new() -> PatchedCommentUpdate {
        PatchedCommentUpdate {
            url: None,
            id: None,
            author: None,
            author_name: None,
            author_lvl: None,
            author_supporter_lvl: None,
            is_deactivated: None,
            is_moderator: None,
            is_admin: None,
            question: None,
            comment_html: None,
            comment_text: None,
            created_time: None,
            prediction_value: None,
            submit_type: None,
            preview: None,
            parent: None,
            num_children: None,
            num_likes: None,
            deleted: None,
            parent_author: None,
            user_like: None,
            user_like_at: None,
            latest_prediction: None,
            include_latest_prediction: None,
            edits: None,
        }
    }
}