diff --git a/flows b/flows index 0d9bd86..c6af26c 160000 --- a/flows +++ b/flows @@ -1 +1 @@ -Subproject commit 0d9bd8644eadf89fe5bcaba37f6833c688822d16 +Subproject commit c6af26ceceaa4715a5ebfec1a8e1155e80f0faba diff --git a/src/database/compile/filter.rs b/src/database/compile/filter.rs index 7820901..2474432 100644 --- a/src/database/compile/filter.rs +++ b/src/database/compile/filter.rs @@ -151,6 +151,7 @@ impl Schema { "number" => Some(vec!["number.condition".to_string()]), "boolean" => Some(vec!["boolean.condition".to_string()]), "object" => None, // Inline structures are ignored in Composed References + "dict" => None, // Dynamic dictionary maps are ignored in Composed References "array" => { if let Some(items) = &schema.obj.items { return Self::resolve_filter_type(items, db); diff --git a/src/database/compile/mod.rs b/src/database/compile/mod.rs index 1f820c7..26a3218 100644 --- a/src/database/compile/mod.rs +++ b/src/database/compile/mod.rs @@ -125,6 +125,7 @@ impl Schema { child.compile(db, root_id, format!("{}/{}", path, k), errors); } } + if let Some(items) = &self.obj.items { items.compile(db, root_id, format!("{}/items", path), errors); } @@ -138,6 +139,7 @@ impl Schema { if let Some(child) = &self.obj.not { child.compile(db, root_id, format!("{}/not", path), errors); } + if let Some(child) = &self.obj.contains { child.compile(db, root_id, format!("{}/contains", path), errors); }