#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PatchedQuestionUpdate {
#[serde(
rename = "active_state",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub active_state: Option<Option<serde_json::Value>>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "page_url", skip_serializing_if = "Option::is_none")]
pub page_url: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "author", skip_serializing_if = "Option::is_none")]
pub author: Option<i32>,
#[serde(rename = "author_name", skip_serializing_if = "Option::is_none")]
pub author_name: Option<String>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "title_short", skip_serializing_if = "Option::is_none")]
pub title_short: Option<String>,
#[serde(rename = "group_label", skip_serializing_if = "Option::is_none")]
pub group_label: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<crate::models::QuestionUpdateStatusEnum>,
#[serde(
rename = "resolution",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub resolution: Option<Option<f64>>,
#[serde(rename = "created_time", skip_serializing_if = "Option::is_none")]
pub created_time: Option<String>,
#[serde(rename = "publish_time", skip_serializing_if = "Option::is_none")]
pub publish_time: Option<String>,
#[serde(rename = "close_time", skip_serializing_if = "Option::is_none")]
pub close_time: Option<String>,
#[serde(
rename = "effected_close_time",
skip_serializing_if = "Option::is_none"
)]
pub effected_close_time: Option<String>,
#[serde(rename = "resolve_time", skip_serializing_if = "Option::is_none")]
pub resolve_time: Option<String>,
#[serde(rename = "possibilities", skip_serializing_if = "Option::is_none")]
pub possibilities: Option<::std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "scoring", skip_serializing_if = "Option::is_none")]
pub scoring: Option<::std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<crate::models::QuestionTypes>,
#[serde(
rename = "user_perms",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub user_perms: Option<Option<serde_json::Value>>,
#[serde(
rename = "weekly_movement",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub weekly_movement: Option<Option<f64>>,
#[serde(
rename = "weekly_movement_direction",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub weekly_movement_direction: Option<Option<i32>>,
#[serde(rename = "cp_reveal_time", skip_serializing_if = "Option::is_none")]
pub cp_reveal_time: Option<String>,
#[serde(rename = "edited_time", skip_serializing_if = "Option::is_none")]
pub edited_time: Option<String>,
#[serde(rename = "categories", skip_serializing_if = "Option::is_none")]
pub categories: Option<Vec<String>>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "description_html", skip_serializing_if = "Option::is_none")]
pub description_html: Option<String>,
#[serde(
rename = "resolution_criteria",
skip_serializing_if = "Option::is_none"
)]
pub resolution_criteria: Option<String>,
#[serde(
rename = "resolution_criteria_html",
skip_serializing_if = "Option::is_none"
)]
pub resolution_criteria_html: Option<String>,
#[serde(rename = "fine_print", skip_serializing_if = "Option::is_none")]
pub fine_print: Option<String>,
#[serde(rename = "fine_print_html", skip_serializing_if = "Option::is_none")]
pub fine_print_html: Option<String>,
#[serde(rename = "prediction_count", skip_serializing_if = "Option::is_none")]
pub prediction_count: Option<i32>,
#[serde(rename = "parent_question_id", skip_serializing_if = "Option::is_none")]
pub parent_question_id: Option<i32>,
#[serde(rename = "related_questions", skip_serializing_if = "Option::is_none")]
pub related_questions: Option<Vec<serde_json::Value>>,
#[serde(rename = "sub_questions", skip_serializing_if = "Option::is_none")]
pub sub_questions: Option<Vec<crate::models::SubQuestionUpdate>>,
#[serde(
rename = "projects",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub projects: Option<Option<serde_json::Value>>,
#[serde(rename = "projects_input", skip_serializing_if = "Option::is_none")]
pub projects_input: Option<Vec<crate::models::QuestionProject>>,
#[serde(rename = "conditioned_on", skip_serializing_if = "Option::is_none")]
pub conditioned_on: Option<i32>,
#[serde(
rename = "unconditional_question",
skip_serializing_if = "Option::is_none"
)]
pub unconditional_question: Option<i32>,
#[serde(rename = "options", skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<crate::models::Option>>,
}
impl Default for PatchedQuestionUpdate {
fn default() -> Self {
Self::new()
}
}
impl PatchedQuestionUpdate {
#[must_use]
pub fn new() -> PatchedQuestionUpdate {
PatchedQuestionUpdate {
active_state: None,
url: None,
page_url: None,
id: None,
author: None,
author_name: None,
title: None,
title_short: None,
group_label: None,
status: None,
resolution: None,
created_time: None,
publish_time: None,
close_time: None,
effected_close_time: None,
resolve_time: None,
possibilities: None,
scoring: None,
r#type: None,
user_perms: None,
weekly_movement: None,
weekly_movement_direction: None,
cp_reveal_time: None,
edited_time: None,
categories: None,
description: None,
description_html: None,
resolution_criteria: None,
resolution_criteria_html: None,
fine_print: None,
fine_print_html: None,
prediction_count: None,
parent_question_id: None,
related_questions: None,
sub_questions: None,
projects: None,
projects_input: None,
conditioned_on: None,
unconditional_question: None,
options: None,
}
}
}