use crate::task::Task;
use crate::workflow::Workflow;
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct Workspace {
pub workflows: Vec<Workflow>,
pub tasks: Vec<Task>,
}
impl Workspace {
pub fn of(workflows: Vec<Workflow>, tasks: Vec<Task>) -> Workspace {
Workspace { workflows, tasks }
}
pub fn workflow(&self, name: &str) -> Option<&Workflow> {
self.workflows.iter().find(|flow| flow.name == name)
}
pub fn task(&self, name: &str) -> Option<&Task> {
self.tasks.iter().find(|task| task.name == name)
}
}