summaryrefslogtreecommitdiff
path: root/grc/core/schema_checker/flow_graph.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/core/schema_checker/flow_graph.py')
-rw-r--r--grc/core/schema_checker/flow_graph.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/grc/core/schema_checker/flow_graph.py b/grc/core/schema_checker/flow_graph.py
new file mode 100644
index 0000000000..746fbf4aa7
--- /dev/null
+++ b/grc/core/schema_checker/flow_graph.py
@@ -0,0 +1,23 @@
+from .utils import Spec, expand, str_
+
+OPTIONS_SCHEME = expand(
+ parameters=Spec(types=dict, required=False, item_scheme=(str_, str_)),
+ states=Spec(types=dict, required=False, item_scheme=(str_, str_)),
+)
+
+BLOCK_SCHEME = expand(
+ name=str_,
+ id=str_,
+ **OPTIONS_SCHEME
+)
+
+FLOW_GRAPH_SCHEME = expand(
+ options=Spec(types=dict, required=False, item_scheme=OPTIONS_SCHEME),
+ blocks=Spec(types=dict, required=False, item_scheme=BLOCK_SCHEME),
+ connections=list,
+
+ metadata=Spec(types=dict, required=True, item_scheme=expand(
+ file_format=Spec(types=int, required=True, item_scheme=None),
+ ))
+
+)