#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ProjectFeature {
#[serde(rename = "projectId", skip_serializing_if = "Option::is_none")]
pub project_id: Option<i64>,
#[serde(rename = "state", skip_serializing_if = "Option::is_none")]
pub state: Option<State>,
#[serde(rename = "toggleLocked", skip_serializing_if = "Option::is_none")]
pub toggle_locked: Option<bool>,
#[serde(rename = "feature", skip_serializing_if = "Option::is_none")]
pub feature: Option<String>,
#[serde(rename = "prerequisites", skip_serializing_if = "Option::is_none")]
pub prerequisites: Option<Vec<String>>,
#[serde(rename = "localisedName", skip_serializing_if = "Option::is_none")]
pub localised_name: Option<String>,
#[serde(rename = "localisedDescription", skip_serializing_if = "Option::is_none")]
pub localised_description: Option<String>,
#[serde(rename = "imageUri", skip_serializing_if = "Option::is_none")]
pub image_uri: Option<String>,
}
impl ProjectFeature {
pub fn new() -> ProjectFeature {
ProjectFeature {
project_id: None,
state: None,
toggle_locked: None,
feature: None,
prerequisites: None,
localised_name: None,
localised_description: None,
image_uri: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "ENABLED")]
ENABLED,
#[serde(rename = "DISABLED")]
DISABLED,
#[serde(rename = "COMING_SOON")]
COMINGSOON,
}
impl Default for State {
fn default() -> State {
Self::ENABLED
}
}