change validator to string

This commit is contained in:
Stefan
2024-12-24 13:31:37 +01:00
parent 949f38ad14
commit fcda0a8a03
2 changed files with 18 additions and 6 deletions
+14 -4
View File
@@ -205,10 +205,15 @@ impl<L: DecisionLoader + 'static, A: CustomNodeAdapter + 'static> DecisionGraph<
trace_data: None,
});
if let Some(json_schema) = &content.schema {
if let Some(json_schema) = content
.schema
.as_ref()
.map(|s| serde_json::from_str::<Value>(&s).ok())
.flatten()
{
let validator = self
.validator_cache
.get_or_insert(node.id.as_str(), json_schema)
.get_or_insert(node.id.as_str(), &json_schema)
.await
.map_err(|e| NodeError {
source: e.into(),
@@ -238,10 +243,15 @@ impl<L: DecisionLoader + 'static, A: CustomNodeAdapter + 'static> DecisionGraph<
trace_data: None,
});
if let Some(json_schema) = &content.schema {
if let Some(json_schema) = content
.schema
.as_ref()
.map(|s| serde_json::from_str::<Value>(&s).ok())
.flatten()
{
let validator = self
.validator_cache
.get_or_insert(node.id.as_str(), json_schema)
.get_or_insert(node.id.as_str(), &json_schema)
.await
.map_err(|e| NodeError {
source: e.into(),
+4 -2
View File
@@ -71,13 +71,15 @@ pub enum DecisionNodeKind {
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct InputNodeContent {
pub schema: Option<Value>,
#[serde(default, deserialize_with = "empty_string_is_none")]
pub schema: Option<String>,
}
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OutputNodeContent {
pub schema: Option<Value>,
#[serde(default, deserialize_with = "empty_string_is_none")]
pub schema: Option<String>,
}
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]