use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Jam {
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "isVisible")]
pub is_visible: bool,
#[serde(rename = "moreInfo")]
pub more_info: String,
#[serde(rename = "state")]
pub state: String,
#[serde(rename = "stateChangeDates")]
pub state_change_dates: models::JamStateChangeDates,
#[serde(
rename = "submissionContentGateDate",
deserialize_with = "Option::deserialize"
)]
pub submission_content_gate_date: Option<String>,
#[serde(rename = "submissionContentGated")]
pub submission_content_gated: bool,
#[serde(rename = "title")]
pub title: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
impl Jam {
pub fn new(
description: String,
id: String,
is_visible: bool,
more_info: String,
state: String,
state_change_dates: models::JamStateChangeDates,
submission_content_gate_date: Option<String>,
submission_content_gated: bool,
title: String,
updated_at: String,
) -> Jam {
Jam {
description,
id,
is_visible,
more_info,
state,
state_change_dates,
submission_content_gate_date,
submission_content_gated,
title,
updated_at,
}
}
}