feat: node if, node start, node link
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
from typing import Dict, Any
|
||||
from core import VorkNode
|
||||
from model_nodes.node_if_models import (
|
||||
IfNodeData,
|
||||
IfNodeLinks,
|
||||
IfNodeCoreSchema,
|
||||
IfNodeCoreSchemaData,
|
||||
IfNodeDescriptor
|
||||
)
|
||||
|
||||
|
||||
class VorkNodeIf(VorkNode):
|
||||
@@ -9,13 +16,47 @@ class VorkNodeIf(VorkNode):
|
||||
return "vork_node_if"
|
||||
|
||||
@classmethod
|
||||
def form(cls) -> Dict[str, Any]:
|
||||
return {
|
||||
def form(cls) -> IfNodeDescriptor:
|
||||
return IfNodeDescriptor()
|
||||
|
||||
}
|
||||
def validate(self) -> IfNodeCoreSchema:
|
||||
"""
|
||||
Валидирует данные и связи узла с помощью Pydantic моделей
|
||||
и возвращает схему с валидированными данными.
|
||||
"""
|
||||
try:
|
||||
# Валидируем данные
|
||||
validated_data = self.validate_data()
|
||||
|
||||
def validate(self) -> bool:
|
||||
return True
|
||||
# Валидируем связи
|
||||
validated_links = self.validate_links()
|
||||
|
||||
# Создаем вложенную схему с данными портов
|
||||
node_data = IfNodeCoreSchemaData(
|
||||
then_port_number=0,
|
||||
else_port_number=1,
|
||||
)
|
||||
|
||||
# Создаем схему с валидированными данными из экземпляра
|
||||
return IfNodeCoreSchema(
|
||||
ps_id=validated_data.ps_id,
|
||||
node_type=validated_data.node_type,
|
||||
parent_id=validated_links.parent_id,
|
||||
parent_port_number=validated_links.parent_port_number,
|
||||
data=node_data,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Node validation error if: {e}")
|
||||
raise
|
||||
|
||||
def validate_data(self) -> IfNodeData:
|
||||
|
||||
return IfNodeData(**self.data)
|
||||
|
||||
def validate_links(self) -> IfNodeLinks:
|
||||
|
||||
return IfNodeLinks(**self.links)
|
||||
|
||||
def process(self, context: Any) -> bool:
|
||||
return True
|
||||
|
@@ -1,5 +1,11 @@
|
||||
from typing import Dict, Any
|
||||
from core import VorkNode
|
||||
# from model_nodes.node_listen_models import (
|
||||
# ListenNodeData,
|
||||
# ListenNodeLinks,
|
||||
# ListenNodePSNodeCore,
|
||||
# ListenNodeSettingsDataCore
|
||||
# )
|
||||
|
||||
|
||||
class VorkNodeListen(VorkNode):
|
||||
@@ -10,12 +16,10 @@ class VorkNodeListen(VorkNode):
|
||||
|
||||
@classmethod
|
||||
def form(cls) -> Dict[str, Any]:
|
||||
return {
|
||||
|
||||
}
|
||||
return cls.get_schema()
|
||||
|
||||
def validate(self) -> bool:
|
||||
return True
|
||||
|
||||
def process(self, context: Any) -> Any:
|
||||
return context
|
||||
def process(self, context):
|
||||
pass
|
||||
|
Reference in New Issue
Block a user