use serde::{Deserialize, Serialize};
use crate::model::PipelineContract;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PipelinePlan {
pub contract_id: String,
pub contract_version: String,
pub step_order: Vec<String>,
}
pub fn plan(contract: &PipelineContract) -> PipelinePlan {
PipelinePlan {
contract_id: contract.id.clone(),
contract_version: contract.version.clone(),
step_order: contract.steps.iter().map(|s| s.id.clone()).collect(),
}
}