// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WorkflowGraphVersionDiff {
    pub from_workflow_version_id: String,
    pub to_workflow_version_id: String,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub added_block_ids: Option<Vec<String>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub removed_block_ids: Option<Vec<String>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub changed_block_ids: Option<Vec<String>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub added_edge_ids: Option<Vec<String>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub removed_edge_ids: Option<Vec<String>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub changed_edge_ids: Option<Vec<String>>,
}
impl WorkflowGraphVersionDiff {
    /// Construct a new `WorkflowGraphVersionDiff` with the required fields set.
    #[allow(deprecated)]
    pub fn new(
        from_workflow_version_id: impl Into<String>,
        to_workflow_version_id: impl Into<String>,
    ) -> Self {
        Self {
            from_workflow_version_id: from_workflow_version_id.into(),
            to_workflow_version_id: to_workflow_version_id.into(),
            added_block_ids: Default::default(),
            removed_block_ids: Default::default(),
            changed_block_ids: Default::default(),
            added_edge_ids: Default::default(),
            removed_edge_ids: Default::default(),
            changed_edge_ids: Default::default(),
        }
    }
}
