use std::path::PathBuf;
use serde::{Deserialize, Serialize};
use super::WorkflowSchema;
use super::diagnose::*;
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct WorkspaceSchema {
#[serde(default)]
pub root: Option<PathBuf>,
#[serde(flatten)]
unknown_fields: serde_yaml::Mapping,
}
impl Diagnose for WorkspaceSchema {
fn diagnose(&self, _: &WorkflowSchema) -> Diagnostics {
let mut diagnostics = Diagnostics::new();
if let Some(root) = &self.root {
diagnostics.error_if_empty_path("root", root);
}
diagnostics.warn_unknown_fields(&self.unknown_fields);
diagnostics
}
}