#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SubQuestionUserDetail {
#[serde(rename = "active_state", deserialize_with = "Option::deserialize")]
pub active_state: Option<serde_json::Value>,
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "resolution", deserialize_with = "Option::deserialize")]
pub resolution: Option<f64>,
#[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",
deserialize_with = "Option::deserialize"
)]
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 = "sub_question_label", skip_serializing_if = "Option::is_none")]
pub sub_question_label: Option<String>,
#[serde(
rename = "metaculus_prediction",
deserialize_with = "Option::deserialize"
)]
pub metaculus_prediction: Option<serde_json::Value>,
#[serde(
rename = "community_prediction",
deserialize_with = "Option::deserialize"
)]
pub community_prediction: Option<serde_json::Value>,
#[serde(rename = "conditioned_on_resolution")]
pub conditioned_on_resolution: f64,
#[serde(rename = "cp_reveal_time", skip_serializing_if = "Option::is_none")]
pub cp_reveal_time: 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 = "prediction_count")]
pub prediction_count: i32,
#[serde(rename = "created_time")]
pub created_time: String,
#[serde(rename = "scoring", skip_serializing_if = "Option::is_none")]
pub scoring: Option<::std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "closing_bonus")]
pub closing_bonus: f64,
#[serde(rename = "user_perms", deserialize_with = "Option::deserialize")]
pub user_perms: Option<serde_json::Value>,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "cp_peer_score", deserialize_with = "Option::deserialize")]
pub cp_peer_score: Option<f64>,
#[serde(rename = "cp_baseline_score", deserialize_with = "Option::deserialize")]
pub cp_baseline_score: Option<f64>,
#[serde(rename = "my_predictions")]
pub my_predictions: Box<crate::models::Prediction>,
#[serde(rename = "user_community_vis")]
pub user_community_vis: crate::models::UserCommunityVisEnum,
#[serde(rename = "peer_score", deserialize_with = "Option::deserialize")]
pub peer_score: Option<f64>,
#[serde(rename = "baseline_score", deserialize_with = "Option::deserialize")]
pub baseline_score: Option<f64>,
}
impl SubQuestionUserDetail {
#[must_use]
pub fn new(
active_state: Option<serde_json::Value>,
id: i32,
resolution: Option<f64>,
effected_close_time: Option<String>,
metaculus_prediction: Option<serde_json::Value>,
community_prediction: Option<serde_json::Value>,
conditioned_on_resolution: f64,
prediction_count: i32,
created_time: String,
closing_bonus: f64,
user_perms: Option<serde_json::Value>,
url: String,
cp_peer_score: Option<f64>,
cp_baseline_score: Option<f64>,
my_predictions: crate::models::Prediction,
user_community_vis: crate::models::UserCommunityVisEnum,
peer_score: Option<f64>,
baseline_score: Option<f64>,
) -> SubQuestionUserDetail {
SubQuestionUserDetail {
active_state,
id,
resolution,
publish_time: None,
close_time: None,
effected_close_time,
resolve_time: None,
possibilities: None,
sub_question_label: None,
metaculus_prediction,
community_prediction,
conditioned_on_resolution,
cp_reveal_time: None,
title: None,
title_short: None,
prediction_count,
created_time,
scoring: None,
closing_bonus,
user_perms,
url,
cp_peer_score,
cp_baseline_score,
my_predictions: Box::new(my_predictions),
user_community_vis,
peer_score,
baseline_score,
}
}
}