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 PatchedReminder {
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i32>,
    #[serde(rename = "reminder", skip_serializing_if = "Option::is_none")]
    pub reminder: Option<crate::models::ReminderEnum>,
    #[serde(rename = "question", skip_serializing_if = "Option::is_none")]
    pub question: Option<i32>,
    #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
    pub user: Option<i32>,
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<crate::models::ReminderStatusEnum>,
    #[serde(rename = "created_time", skip_serializing_if = "Option::is_none")]
    pub created_time: Option<String>,
    #[serde(rename = "note", skip_serializing_if = "Option::is_none")]
    pub note: Option<String>,
    #[serde(
        rename = "question_title",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub question_title: Option<Option<String>>,
    #[serde(rename = "status_label", skip_serializing_if = "Option::is_none")]
    pub status_label: Option<String>,
    #[serde(rename = "reminder_label", skip_serializing_if = "Option::is_none")]
    pub reminder_label: Option<String>,
    #[serde(
        rename = "remind_on_date",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub remind_on_date: Option<Option<String>>,
    #[serde(
        rename = "remind_on_new_comments",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub remind_on_new_comments: Option<Option<i32>>,
    #[serde(
        rename = "remind_base_prediction",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub remind_base_prediction:
        Option<Option<::std::collections::HashMap<String, serde_json::Value>>>,
    #[serde(
        rename = "remind_on_percent_lifetime",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub remind_on_percent_lifetime: Option<Option<i32>>,
    #[serde(
        rename = "next_trigger_date",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub next_trigger_date: Option<Option<String>>,
    #[serde(
        rename = "next_trigger_value",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub next_trigger_value: Option<Option<i32>>,
    #[serde(rename = "repeat_pattern", skip_serializing_if = "Option::is_none")]
    pub repeat_pattern: Option<crate::models::RepeatPatternEnum>,
}

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

impl PatchedReminder {
    #[must_use]
    pub fn new() -> PatchedReminder {
        PatchedReminder {
            id: None,
            reminder: None,
            question: None,
            user: None,
            status: None,
            created_time: None,
            note: None,
            question_title: None,
            status_label: None,
            reminder_label: None,
            remind_on_date: None,
            remind_on_new_comments: None,
            remind_base_prediction: None,
            remind_on_percent_lifetime: None,
            next_trigger_date: None,
            next_trigger_value: None,
            repeat_pattern: None,
        }
    }
}