diff --git a/core/vork_node.py b/core/vork_node.py index c00e202..dc4627a 100644 --- a/core/vork_node.py +++ b/core/vork_node.py @@ -1,16 +1,16 @@ from abc import ABC, abstractmethod -from typing import Any, Dict +from typing import Any class VorkNode(ABC): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any]): - self.data: Dict[str, Any] = data - self.links: Dict[str, Any] = links + def __init__(self, data: dict[str, Any], links: dict[str, Any]): + self.data: dict[str, Any] = data + self.links: dict[str, Any] = links @classmethod @abstractmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: pass @abstractmethod diff --git a/core/vork_node_link.py b/core/vork_node_link.py index 74bc757..ceac138 100644 --- a/core/vork_node_link.py +++ b/core/vork_node_link.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from model_nodes import VorkNodeLinkData, VorkNodeLinkSchema @@ -8,7 +8,7 @@ from .link_name_generator import edge_title_generator, edge_title_to_number class VorkNodeLink: - def __init__(self, data: Dict[str, Any]): + def __init__(self, data: dict[str, Any]): """ Инициализация связи между узлами """ diff --git a/core/vork_node_registry.py b/core/vork_node_registry.py index 43a27d6..ff584a2 100644 --- a/core/vork_node_registry.py +++ b/core/vork_node_registry.py @@ -1,18 +1,18 @@ import importlib import inspect import pkgutil -from typing import Dict, Type, Optional, List +from typing import Type, Optional from .vork_node import VorkNode class VorkNodeRegistry: def __init__(self): - self.registry: Dict[str, Type[VorkNode]] = {} + self.registry: dict[str, Type[VorkNode]] = {} # Автоматически сканируем пакет 'nodes' при создании self._auto_discover_nodes() - def get_all(self) -> Dict[str, Type[VorkNode]]: + def get_all(self) -> dict[str, Type[VorkNode]]: return self.registry.copy() def get(self, node_type: str) -> Optional[Type[VorkNode]]: @@ -55,12 +55,12 @@ class VorkNodeRegistry: except Exception as e: print(f"Ошибка при сканировании пакета 'nodes': {e}") - def get_available_node_types(self) -> List[str]: + def get_available_node_types(self) -> list[str]: """ Возвращает список всех доступных типов узлов Returns: - List[str]: Список типов узлов + list[str]: Список типов узлов """ return list(self.registry.keys()) diff --git a/core/vork_node_test.py b/core/vork_node_test.py index febbb37..f25a18d 100644 --- a/core/vork_node_test.py +++ b/core/vork_node_test.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from .vork_node import VorkNode from model_nodes.node_test_models import ( TestNodeData, @@ -9,7 +9,7 @@ from model_nodes.node_test_models import ( class VorkNodeTest(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла test """ diff --git a/model_nodes/form_base_descriptor_models.py b/model_nodes/form_base_descriptor_models.py index 70277df..67223d2 100644 --- a/model_nodes/form_base_descriptor_models.py +++ b/model_nodes/form_base_descriptor_models.py @@ -1,67 +1,77 @@ from __future__ import annotations -from typing import Optional, Annotated, Literal, List +from typing import Optional, Annotated, Literal, Any from pydantic import BaseModel, Field +from pydantic import BaseModel, Field +from typing import Literal, Annotated, Union + + class LinkPort(BaseModel): - id: str + id: int label: str - is_addable: Optional[bool] = None + is_addable: bool | None = None class LineElement(BaseModel): - type: Literal['line'] + type: Literal['line'] = 'line' name: str label: str - placeholder: Optional[str] = None + placeholder: str | None = None + value: str | None = None class AreaElement(BaseModel): - type: Literal['area'] + type: Literal['area'] = 'area' name: str label: str - placeholder: Optional[str] = None + placeholder: str | None = None + value: str | None = None class SelectElement(BaseModel): - type: Literal['select'] + type: Literal['select'] = 'select' name: str label: str - data: List[str] - default: Optional[str] = None - placeholder: Optional[str] = None + data: list[str] + default: str | None = None + placeholder: str | None = None + value: str | None = None class NumberElement(BaseModel): - type: Literal['number'] + type: Literal['number'] = 'number' name: str label: str - placeholder: Optional[str] = None + placeholder: str | None = None + value: int | float | None = None class DateElement(BaseModel): - type: Literal['date'] + type: Literal['date'] = 'date' name: str label: str - placeholder: Optional[str] = None + placeholder: str | None = None + value: str | None = None + FieldElement = Annotated[ LineElement | AreaElement | SelectElement | NumberElement | DateElement, - Field(discriminator='type'), + Field(discriminator='type') ] class RowElement(BaseModel): - type: Literal['row'] + type: Literal['row'] = 'row' name: str label: str - link_port: Optional[LinkPort] = None - elements: Optional[List[FieldElement]] = None + link_port: LinkPort | None = None + elements: list[FieldElement] | None = None class FormDescriptor(BaseModel): - elements: List[RowElement] + elements: list[RowElement] # Descriptor-suffixed aliases for clarity (backward compatible) diff --git a/model_nodes/node_callback_models.py b/model_nodes/node_callback_models.py index a0f17c6..792b6e2 100644 --- a/model_nodes/node_callback_models.py +++ b/model_nodes/node_callback_models.py @@ -21,9 +21,8 @@ class CallbackNodeLinks(BaseModel): class CallbackNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла callback + Pydantic модель для данных узла callback """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") class CallbackNodeCoreSchema(BaseModel): @@ -111,7 +110,7 @@ CALLBACK_FORM_DESCRIPTOR = FormDescriptor( name="then_row", type="row", label="Then", - link_port=LinkPort(id="then_output", label="Then"), + link_port=LinkPort(id=0, label="Then"), ), ] ) diff --git a/model_nodes/node_each_models.py b/model_nodes/node_each_models.py index 76cf954..bc48537 100644 --- a/model_nodes/node_each_models.py +++ b/model_nodes/node_each_models.py @@ -21,10 +21,8 @@ class EachNodeLinks(BaseModel): class EachNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла each + Pydantic модель для данных узла each """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") - else_port_number: Optional[int] = Field(default=1, description="Номер порта для перехода по Связи Else (LINK)") class EachNodeCoreSchema(BaseModel): @@ -45,7 +43,7 @@ EACH_FORM_DESCRIPTOR = FormDescriptor( name="list_row", type="row", label="List", - link_port=LinkPort(id="then_output", label="Then"), + link_port=LinkPort(id=0, label="Then"), elements=[ LineElement( name="list", @@ -59,7 +57,7 @@ EACH_FORM_DESCRIPTOR = FormDescriptor( name="else_row", type="row", label="Alternative path", - link_port=LinkPort(id="else_output", label="Else"), + link_port=LinkPort(id=1, label="Else"), ), ] ) diff --git a/model_nodes/node_if_models.py b/model_nodes/node_if_models.py index c8bd360..9746746 100644 --- a/model_nodes/node_if_models.py +++ b/model_nodes/node_if_models.py @@ -21,10 +21,8 @@ class IfNodeLinks(BaseModel): class IfNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла if + Pydantic модель для данных узла if """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") - else_port_number: Optional[int] = Field(default=1, description="Номер порта для перехода по Связи Else (LINK)") class IfNodeCoreSchema(BaseModel): @@ -38,14 +36,18 @@ class IfNodeCoreSchema(BaseModel): data: Optional[IfNodeCoreSchemaData] = Field(default=None, description="Данные узла") -# Дескриптор формы узла IF IF_FORM_DESCRIPTOR = FormDescriptor( elements=[ + RowElement( + name="condition_row_label", + type="row", + label="condition_name", + ), RowElement( name="condition_row", type="row", - label="Condition", - link_port=LinkPort(id="then_output", label="Then"), + label="condition", + link_port=LinkPort(id=0, label="Then"), elements=[ AreaElement( name="condition", @@ -58,8 +60,8 @@ IF_FORM_DESCRIPTOR = FormDescriptor( RowElement( name="else_row", type="row", - label="Alternative path", - link_port=LinkPort(id="else_output", label="Else"), + label="alternative_path", + link_port=LinkPort(id=1, label="Else"), ), ] ) diff --git a/model_nodes/node_link_models.py b/model_nodes/node_link_models.py index 8e498e6..925b12d 100644 --- a/model_nodes/node_link_models.py +++ b/model_nodes/node_link_models.py @@ -1,4 +1,4 @@ -from typing import Optional, Dict, Any +from typing import Optional from pydantic import BaseModel, Field diff --git a/model_nodes/node_listen_models.py b/model_nodes/node_listen_models.py index 8eb3ae6..2f49a79 100644 --- a/model_nodes/node_listen_models.py +++ b/model_nodes/node_listen_models.py @@ -22,9 +22,9 @@ class ListenNodeLinks(BaseModel): class ListenNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла listen + Pydantic модель для данных узла listen """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") + is_start: bool = Field(default=False, description="Является ли узел стартовым") @@ -43,36 +43,36 @@ class ListenNodeCoreSchema(BaseModel): LISTEN_FORM_DESCRIPTOR = FormDescriptor( elements=[ RowElement( - name="event_row", + name="listen_row_label", type="row", - label="Event", + label="listen_name", + ), + RowElement( + name="listen_row", + type="row", + label="event_input", elements=[ LineElement( - name="event_name", + name="event_id", type="line", - label="Event", + label="event_id", placeholder="Event identifier", ) ], ), RowElement( - name="condition_row", + name="listen_row", type="row", - label="Condition", + label="condition_input", + link_port=LinkPort(id=0, label="Then"), elements=[ AreaElement( - name="condition", + name="listen_condition", type="area", - label="Condition", + label="listen_condition", placeholder="If P([condition(i), [AND, OR]]) == true", ) ], ), - RowElement( - name="then_row", - type="row", - label="Then", - link_port=LinkPort(id="then_output", label="Then"), - ), ] ) diff --git a/model_nodes/node_run_models.py b/model_nodes/node_run_models.py index 0738fe7..6c9b655 100644 --- a/model_nodes/node_run_models.py +++ b/model_nodes/node_run_models.py @@ -21,9 +21,9 @@ class RunNodeLinks(BaseModel): class RunNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла run + Pydantic модель для данных узла run """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") + class RunNodeCoreSchema(BaseModel): @@ -71,7 +71,7 @@ RUN_FORM_DESCRIPTOR = FormDescriptor( name="then_row", type="row", label="Then", - link_port=LinkPort(id="then_output", label="Then"), + link_port=LinkPort(id=0, label="Then"), ), ] ) diff --git a/model_nodes/node_set_models.py b/model_nodes/node_set_models.py index 7bd1473..b6baa59 100644 --- a/model_nodes/node_set_models.py +++ b/model_nodes/node_set_models.py @@ -21,9 +21,9 @@ class SetNodeLinks(BaseModel): class SetNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла set + Pydantic модель для данных узла set """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи then (LINK)") + class SetNodeCoreSchema(BaseModel): @@ -41,22 +41,14 @@ class SetNodeCoreSchema(BaseModel): SET_FORM_DESCRIPTOR = FormDescriptor( elements=[ RowElement( - name="variable_row", + name="set_row_label", type="row", - label="Parameter name", - elements=[ - LineElement( - name="variable", - type="line", - label="Parameter name", - placeholder="Enter parameter name", - ) - ], + label="set_row_name", ), RowElement( name="value_row", type="row", - label="Value", + label="set_value", elements=[ AreaElement( name="value", @@ -65,13 +57,7 @@ SET_FORM_DESCRIPTOR = FormDescriptor( placeholder="Enter value", ) ], - ), - RowElement( - name="link_row", - type="row", - label="Link", - link_port=LinkPort(id="then_output", label="then"), - elements=[], + link_port=LinkPort(id=0, label="then"), ), ] ) diff --git a/model_nodes/node_switch_models.py b/model_nodes/node_switch_models.py index 7d4e8c2..e28e43a 100644 --- a/model_nodes/node_switch_models.py +++ b/model_nodes/node_switch_models.py @@ -21,10 +21,9 @@ class SwitchNodeLinks(BaseModel): class SwitchNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла switch + Pydantic модель для данных узла switch """ - default_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи default (LINK)") - case_1_port_number: Optional[int] = Field(default=1, description="Номер порта для перехода по Связи case_1 (LINK)") + class SwitchNodeCoreSchema(BaseModel): @@ -45,7 +44,7 @@ SWITCH_FORM_DESCRIPTOR = FormDescriptor( name="switch_row", type="row", label="Switch condition", - link_port=LinkPort(id="case_1_output", label="case_1", is_addable=True), + link_port=LinkPort(id=0, label="case_1", is_addable=True), elements=[ AreaElement( name="switch_value", @@ -59,7 +58,7 @@ SWITCH_FORM_DESCRIPTOR = FormDescriptor( name="default_row", type="row", label="Default", - link_port=LinkPort(id="default_output", label="default"), + link_port=LinkPort(id=0, label="default"), ), ] ) diff --git a/model_nodes/node_test_models.py b/model_nodes/node_test_models.py index f50b87e..d986ca1 100644 --- a/model_nodes/node_test_models.py +++ b/model_nodes/node_test_models.py @@ -19,9 +19,9 @@ class TestNodeLinks(BaseModel): class TestNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла test + Pydantic модель для данных узла test """ - node_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") + class TestNodeCoreSchema(BaseModel): diff --git a/model_nodes/node_trigger_models.py b/model_nodes/node_trigger_models.py index 7814e1b..d3a4fec 100644 --- a/model_nodes/node_trigger_models.py +++ b/model_nodes/node_trigger_models.py @@ -21,9 +21,9 @@ class TriggerNodeLinks(BaseModel): class TriggerNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла trigger + Pydantic модель для данных узла trigger """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") + class TriggerNodeCoreSchema(BaseModel): @@ -70,7 +70,7 @@ TRIGGER_FORM_DESCRIPTOR = FormDescriptor( name="then_row", type="row", label="Then", - link_port=LinkPort(id="then_output", label="Then"), + link_port=LinkPort(id=0, label="Then"), ), ] ) diff --git a/model_nodes/node_wait_models.py b/model_nodes/node_wait_models.py index 352f5c7..1759df5 100644 --- a/model_nodes/node_wait_models.py +++ b/model_nodes/node_wait_models.py @@ -21,9 +21,9 @@ class WaitNodeLinks(BaseModel): class WaitNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла wait + Pydantic модель для данных узла wait """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи then (LINK)") + class WaitNodeCoreSchema(BaseModel): @@ -84,7 +84,7 @@ WAIT_FORM_DESCRIPTOR = FormDescriptor( name="then_row", type="row", label="Transition", - link_port=LinkPort(id="then_output", label="then"), + link_port=LinkPort(id=0, label="then"), ), ] ) diff --git a/model_nodes/node_while_models.py b/model_nodes/node_while_models.py index b4bcd6c..c41d2c5 100644 --- a/model_nodes/node_while_models.py +++ b/model_nodes/node_while_models.py @@ -21,10 +21,9 @@ class WhileNodeLinks(BaseModel): class WhileNodeCoreSchemaData(BaseModel): """ - Pydantic модель для данных портов узла while + Pydantic модель для данных узла while """ - then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)") - else_port_number: Optional[int] = Field(default=1, description="Номер порта для перехода по Связи Else (LINK)") + class WhileNodeCoreSchema(BaseModel): @@ -45,7 +44,7 @@ WHILE_FORM_DESCRIPTOR = FormDescriptor( name="condition_row", type="row", label="Parameter", - link_port=LinkPort(id="then_output", label="Then"), + link_port=LinkPort(id=0, label="Then"), elements=[ AreaElement( name="condition", @@ -59,7 +58,7 @@ WHILE_FORM_DESCRIPTOR = FormDescriptor( name="else_row", type="row", label="Alternative path", - link_port=LinkPort(id="else_output", label="Else"), + link_port=LinkPort(id=0, label="Else"), ), ] ) diff --git a/nodes/vork_node_callback.py b/nodes/vork_node_callback.py index a1f12bd..fa532c2 100644 --- a/nodes/vork_node_callback.py +++ b/nodes/vork_node_callback.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_callback_models import ( CallbackNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_callback_models import ( class VorkNodeCallback(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла callback """ @@ -22,7 +22,7 @@ class VorkNodeCallback(VorkNode): return "CALLBACK" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Callback """ @@ -33,17 +33,13 @@ class VorkNodeCallback(VorkNode): Валидирует данные узла callback и возвращает схему """ try: - # Валидируем данные узла + validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - node_data = CallbackNodeCoreSchemaData( - then_port_number=0 - ) + node_data = None - # Создаем схему с валидированными данными return CallbackNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_each.py b/nodes/vork_node_each.py index 283dd30..0befce9 100644 --- a/nodes/vork_node_each.py +++ b/nodes/vork_node_each.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_each_models import ( EachNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_each_models import ( class VorkNodeEach(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла each """ @@ -22,7 +22,7 @@ class VorkNodeEach(VorkNode): return "EACH" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Each """ @@ -33,19 +33,12 @@ class VorkNodeEach(VorkNode): Валидирует данные узла each и возвращает схему """ try: - # Валидируем данные узла validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - # Создаем данные портов (аналогично if) - node_data = EachNodeCoreSchemaData( - then_port_number=0, - else_port_number=1, - ) + node_data = None - # Создаем схему с валидированными данными return EachNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_if.py b/nodes/vork_node_if.py index a0fef48..b1288fc 100644 --- a/nodes/vork_node_if.py +++ b/nodes/vork_node_if.py @@ -1,4 +1,4 @@ -from typing import Any, Dict +from typing import Any from core import VorkNode from model_nodes.node_if_models import ( IfNodeData, @@ -16,7 +16,7 @@ class VorkNodeIf(VorkNode): return "IF" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла IF """ @@ -28,19 +28,12 @@ class VorkNodeIf(VorkNode): и возвращает схему с валидированными данными. """ try: - # Валидируем данные validated_data = self.validate_data() - # Валидируем связи validated_links = self.validate_links() - # Создаем вложенную схему с данными портов - node_data = IfNodeCoreSchemaData( - then_port_number=0, - else_port_number=1, - ) + node_data = None - # Создаем схему с валидированными данными из экземпляра return IfNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_listen.py b/nodes/vork_node_listen.py index 9dad076..099c04a 100644 --- a/nodes/vork_node_listen.py +++ b/nodes/vork_node_listen.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_listen_models import ( ListenNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_listen_models import ( class VorkNodeListen(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла listen """ @@ -22,7 +22,7 @@ class VorkNodeListen(VorkNode): return "LISTEN" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Listen """ @@ -33,18 +33,14 @@ class VorkNodeListen(VorkNode): Валидирует данные узла listen и возвращает схему """ try: - # Валидируем данные узла validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() node_data = ListenNodeCoreSchemaData( - then_port_number=0, is_start=validated_data.is_start ) - # Создаем схему с валидированными данными return ListenNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_run.py b/nodes/vork_node_run.py index ba5b056..2ceab3c 100644 --- a/nodes/vork_node_run.py +++ b/nodes/vork_node_run.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_run_models import ( RunNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_run_models import ( class VorkNodeRun(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла run """ @@ -22,7 +22,7 @@ class VorkNodeRun(VorkNode): return "RUN" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Run """ @@ -33,17 +33,13 @@ class VorkNodeRun(VorkNode): Валидирует данные узла run и возвращает схему """ try: - # Валидируем данные узла + validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - node_data = RunNodeCoreSchemaData( - then_port_number=0 - ) + node_data = None - # Создаем схему с валидированными данными return RunNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_set.py b/nodes/vork_node_set.py index 2ab7530..2d266fa 100644 --- a/nodes/vork_node_set.py +++ b/nodes/vork_node_set.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_set_models import ( SetNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_set_models import ( class VorkNodeSet(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла set """ @@ -22,7 +22,7 @@ class VorkNodeSet(VorkNode): return "SET" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Set """ @@ -33,18 +33,13 @@ class VorkNodeSet(VorkNode): Валидирует данные узла set и возвращает схему """ try: - # Валидируем данные узла + validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - # Создаем данные портов - node_data = SetNodeCoreSchemaData( - then_port_number=0, - ) + node_data = None - # Создаем схему с валидированными данными return SetNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_switch.py b/nodes/vork_node_switch.py index 0aa8e66..2ee2797 100644 --- a/nodes/vork_node_switch.py +++ b/nodes/vork_node_switch.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_switch_models import ( SwitchNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_switch_models import ( class VorkNodeSwitch(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла switch """ @@ -22,7 +22,7 @@ class VorkNodeSwitch(VorkNode): return "SWITCH" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Switch """ @@ -40,10 +40,7 @@ class VorkNodeSwitch(VorkNode): validated_links = self.validate_links() # Создаем данные портов (default=0, case_1=1) - node_data = SwitchNodeCoreSchemaData( - default_port_number=0, - case_1_port_number=1, - ) + node_data = None # Создаем схему с валидированными данными return SwitchNodeCoreSchema( diff --git a/nodes/vork_node_trigger.py b/nodes/vork_node_trigger.py index 2f8504d..618d7d4 100644 --- a/nodes/vork_node_trigger.py +++ b/nodes/vork_node_trigger.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_trigger_models import ( TriggerNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_trigger_models import ( class VorkNodeTrigger(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла trigger """ @@ -22,7 +22,7 @@ class VorkNodeTrigger(VorkNode): return "TRIGGER" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Trigger """ @@ -33,17 +33,12 @@ class VorkNodeTrigger(VorkNode): Валидирует данные узла trigger и возвращает схему """ try: - # Валидируем данные узла validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - node_data = TriggerNodeCoreSchemaData( - then_port_number=0 - ) + node_data = None - # Создаем схему с валидированными данными return TriggerNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_wait.py b/nodes/vork_node_wait.py index 20fab2c..e0b3eb8 100644 --- a/nodes/vork_node_wait.py +++ b/nodes/vork_node_wait.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_wait_models import ( WaitNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_wait_models import ( class VorkNodeWait(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла wait """ @@ -22,7 +22,7 @@ class VorkNodeWait(VorkNode): return "WAIT" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Wait """ @@ -33,18 +33,12 @@ class VorkNodeWait(VorkNode): Валидирует данные узла wait и возвращает схему """ try: - # Валидируем данные узла validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - # Создаем данные портов - node_data = WaitNodeCoreSchemaData( - then_port_number=0, - ) + node_data = None - # Создаем схему с валидированными данными return WaitNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/nodes/vork_node_while.py b/nodes/vork_node_while.py index a327d97..d132b8a 100644 --- a/nodes/vork_node_while.py +++ b/nodes/vork_node_while.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_while_models import ( WhileNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_while_models import ( class VorkNodeWhile(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла while """ @@ -22,7 +22,7 @@ class VorkNodeWhile(VorkNode): return "WHILE" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла While """ @@ -33,19 +33,13 @@ class VorkNodeWhile(VorkNode): Валидирует данные узла while и возвращает схему """ try: - # Валидируем данные узла + validated_data = self.validate_data() - # Валидируем связи узла validated_links = self.validate_links() - # Создаем данные портов (аналогично if) - node_data = WhileNodeCoreSchemaData( - then_port_number=0, - else_port_number=1, - ) + node_data = None - # Создаем схему с валидированными данными return WhileNodeCoreSchema( ps_id=validated_data.ps_id, node_type=validated_data.node_type, diff --git a/orm/schemas/process/node_link.py b/orm/schemas/process/node_link.py index 75c01dd..9ad1c93 100644 --- a/orm/schemas/process/node_link.py +++ b/orm/schemas/process/node_link.py @@ -1,5 +1,5 @@ from pydantic import Field -from typing import Dict, Any +from typing import Any from datetime import datetime from enum import Enum @@ -12,7 +12,7 @@ class NodeLink(Base): link_name: str = Field(..., max_length=20) node_id: int next_node_id: int - settings: Dict[str, Any] + settings: dict[str, Any] creator_id: int created_at: datetime status: NodeLinkStatus diff --git a/orm/schemas/process/process_schema.py b/orm/schemas/process/process_schema.py index 2b4ceb4..2c4a8cc 100644 --- a/orm/schemas/process/process_schema.py +++ b/orm/schemas/process/process_schema.py @@ -1,5 +1,5 @@ from pydantic import Field -from typing import Dict, Any +from typing import Any from datetime import datetime from enum import Enum @@ -15,5 +15,5 @@ class ProcessSchema(Base): owner_id: int creator_id: int created_at: datetime - settings: Dict[str, Any] + settings: dict[str, Any] status: ProcessStatus diff --git a/orm/schemas/process/process_version_archive.py b/orm/schemas/process/process_version_archive.py index 2c4c158..243d26c 100644 --- a/orm/schemas/process/process_version_archive.py +++ b/orm/schemas/process/process_version_archive.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from datetime import datetime from orm.schemas.base import Base @@ -7,7 +7,7 @@ from orm.schemas.base import Base class ProcessStatusSchema(Base): id: int version: int - snapshot: Dict[str, Any] + snapshot: dict[str, Any] owner_id: int created_at: datetime is_last: int diff --git a/orm/schemas/process/ps_node.py b/orm/schemas/process/ps_node.py index e38577a..4d47d3b 100644 --- a/orm/schemas/process/ps_node.py +++ b/orm/schemas/process/ps_node.py @@ -1,5 +1,5 @@ from datetime import datetime -from typing import Dict, Any +from typing import Any from enum import Enum from orm.schemas.base import Base @@ -11,6 +11,6 @@ class Ps_Node(Base): ps_id: int node_type: NodeType settings: dict - creator_id: Dict[str, Any] + creator_id: dict[str, Any] created_at: datetime status: NodeStatus