#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ProjectUpdate {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "type_str")]
pub type_str: String,
#[serde(rename = "score_type")]
pub score_type: crate::models::ScoreTypeEnum,
#[serde(rename = "subtitle")]
pub subtitle: String,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(rename = "site_id")]
pub site_id: i32,
#[serde(rename = "user_perms", deserialize_with = "Option::deserialize")]
pub user_perms: Option<serde_json::Value>,
#[serde(
rename = "question_user_perms",
deserialize_with = "Option::deserialize"
)]
pub question_user_perms: Option<serde_json::Value>,
#[serde(rename = "sign_up_fields")]
pub sign_up_fields: ::std::collections::HashMap<String, serde_json::Value>,
#[serde(
rename = "tournament_close_date",
skip_serializing_if = "Option::is_none"
)]
pub tournament_close_date: Option<String>,
#[serde(
rename = "tournament_start_date",
skip_serializing_if = "Option::is_none"
)]
pub tournament_start_date: Option<String>,
#[serde(rename = "prize_pool")]
pub prize_pool: f64,
#[serde(rename = "config")]
pub config: ::std::collections::HashMap<String, serde_json::Value>,
#[serde(
rename = "in_main_feed_by_default",
skip_serializing_if = "Option::is_none"
)]
pub in_main_feed_by_default: Option<bool>,
#[serde(rename = "public", skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
#[serde(rename = "is_opt_in")]
pub is_opt_in: bool,
#[serde(rename = "organizations", skip_serializing_if = "Option::is_none")]
pub organizations: Option<Vec<crate::models::ProjectOrganization>>,
}
impl ProjectUpdate {
#[must_use]
pub fn new(
id: i32,
name: String,
url: String,
type_str: String,
score_type: crate::models::ScoreTypeEnum,
subtitle: String,
site_id: i32,
user_perms: Option<serde_json::Value>,
question_user_perms: Option<serde_json::Value>,
sign_up_fields: ::std::collections::HashMap<String, serde_json::Value>,
prize_pool: f64,
config: ::std::collections::HashMap<String, serde_json::Value>,
is_opt_in: bool,
) -> ProjectUpdate {
ProjectUpdate {
id,
name,
url,
type_str,
score_type,
subtitle,
description: None,
r#type: None,
site_id,
user_perms,
question_user_perms,
sign_up_fields,
tournament_close_date: None,
tournament_start_date: None,
prize_pool,
config,
in_main_feed_by_default: None,
public: None,
is_opt_in,
organizations: None,
}
}
}