use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateWorkflowCondition {
#[serde(rename = "conditions", skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<models::CreateWorkflowCondition>>,
#[serde(rename = "configuration", skip_serializing_if = "Option::is_none")]
pub configuration: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "operator", skip_serializing_if = "Option::is_none")]
pub operator: Option<Operator>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
impl CreateWorkflowCondition {
pub fn new() -> CreateWorkflowCondition {
CreateWorkflowCondition {
conditions: None,
configuration: None,
operator: None,
r#type: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Operator {
#[serde(rename = "AND")]
And,
#[serde(rename = "OR")]
Or,
}
impl Default for Operator {
fn default() -> Operator {
Self::And
}
}