feat: all models
This commit is contained in:
@@ -1,18 +1,41 @@
|
||||
# Экспорты для моделей узла listen
|
||||
# from .node_listen_models import (
|
||||
# ListenNodeData,
|
||||
# ListenNodeLinks,
|
||||
# ListenNodePSNodeCore,
|
||||
# ListenNodeSettingsDataCore
|
||||
# )
|
||||
from .node_listen_models import (
|
||||
ListenNodeData,
|
||||
ListenNodeLinks,
|
||||
ListenNodeCoreSchema,
|
||||
ListenNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла trigger
|
||||
from .node_trigger_models import (
|
||||
TriggerNodeData,
|
||||
TriggerNodeLinks,
|
||||
TriggerNodeCoreSchema,
|
||||
TriggerNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла run
|
||||
from .node_run_models import (
|
||||
RunNodeData,
|
||||
RunNodeLinks,
|
||||
RunNodeCoreSchema,
|
||||
RunNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла callback
|
||||
from .node_callback_models import (
|
||||
CallbackNodeData,
|
||||
CallbackNodeLinks,
|
||||
CallbackNodeCoreSchema,
|
||||
CallbackNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла if
|
||||
from .node_if_models import (
|
||||
IfNodeData,
|
||||
IfNodeLinks,
|
||||
IfNodeCoreSchema,
|
||||
IfNodeCoreSchemaData,
|
||||
IfNodeDescriptor
|
||||
IfNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла start
|
||||
@@ -20,8 +43,47 @@ from .node_start_models import (
|
||||
StartNodeData,
|
||||
StartNodeLinks,
|
||||
StartNodeCoreSchema,
|
||||
StartNodeCoreSchemaData,
|
||||
StartNodeDescriptor
|
||||
StartNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла switch
|
||||
from .node_switch_models import (
|
||||
SwitchNodeData,
|
||||
SwitchNodeLinks,
|
||||
SwitchNodeCoreSchema,
|
||||
SwitchNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла set
|
||||
from .node_set_models import (
|
||||
SetNodeData,
|
||||
SetNodeLinks,
|
||||
SetNodeCoreSchema,
|
||||
SetNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла wait
|
||||
from .node_wait_models import (
|
||||
WaitNodeData,
|
||||
WaitNodeLinks,
|
||||
WaitNodeCoreSchema,
|
||||
WaitNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла while
|
||||
from .node_while_models import (
|
||||
WhileNodeData,
|
||||
WhileNodeLinks,
|
||||
WhileNodeCoreSchema,
|
||||
WhileNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей узла each
|
||||
from .node_each_models import (
|
||||
EachNodeData,
|
||||
EachNodeLinks,
|
||||
EachNodeCoreSchema,
|
||||
EachNodeCoreSchemaData
|
||||
)
|
||||
|
||||
# Экспорты для моделей связей между узлами
|
||||
@@ -32,24 +94,70 @@ from .node_link_models import (
|
||||
|
||||
__all__ = [
|
||||
# Listen node models
|
||||
# "ListenNodeData",
|
||||
# "ListenNodeLinks",
|
||||
# "ListenNodePSNodeCore",
|
||||
# "ListenNodeSettingsDataCore",
|
||||
"ListenNodeData",
|
||||
"ListenNodeLinks",
|
||||
"ListenNodeCoreSchema",
|
||||
"ListenNodeCoreSchemaData",
|
||||
|
||||
# Trigger node models
|
||||
"TriggerNodeData",
|
||||
"TriggerNodeLinks",
|
||||
"TriggerNodeCoreSchema",
|
||||
"TriggerNodeCoreSchemaData",
|
||||
|
||||
# Run node models
|
||||
"RunNodeData",
|
||||
"RunNodeLinks",
|
||||
"RunNodeCoreSchema",
|
||||
"RunNodeCoreSchemaData",
|
||||
|
||||
# Callback node models
|
||||
"CallbackNodeData",
|
||||
"CallbackNodeLinks",
|
||||
"CallbackNodeCoreSchema",
|
||||
"CallbackNodeCoreSchemaData",
|
||||
|
||||
# If node models
|
||||
"IfNodeData",
|
||||
"IfNodeLinks",
|
||||
"IfNodeCoreSchema",
|
||||
"IfNodeCoreSchemaData",
|
||||
"IfNodeDescriptor",
|
||||
|
||||
# Start node models
|
||||
"StartNodeData",
|
||||
"StartNodeLinks",
|
||||
"StartNodeCoreSchema",
|
||||
"StartNodeCoreSchemaData",
|
||||
"StartNodeDescriptor",
|
||||
|
||||
# Switch node models
|
||||
"SwitchNodeData",
|
||||
"SwitchNodeLinks",
|
||||
"SwitchNodeCoreSchema",
|
||||
"SwitchNodeCoreSchemaData",
|
||||
|
||||
# Set node models
|
||||
"SetNodeData",
|
||||
"SetNodeLinks",
|
||||
"SetNodeCoreSchema",
|
||||
"SetNodeCoreSchemaData",
|
||||
|
||||
# Wait node models
|
||||
"WaitNodeData",
|
||||
"WaitNodeLinks",
|
||||
"WaitNodeCoreSchema",
|
||||
"WaitNodeCoreSchemaData",
|
||||
|
||||
# While node models
|
||||
"WhileNodeData",
|
||||
"WhileNodeLinks",
|
||||
"WhileNodeCoreSchema",
|
||||
"WhileNodeCoreSchemaData",
|
||||
|
||||
# Each node models
|
||||
"EachNodeData",
|
||||
"EachNodeLinks",
|
||||
"EachNodeCoreSchema",
|
||||
"EachNodeCoreSchemaData",
|
||||
|
||||
# Node link models
|
||||
"VorkNodeLinkData",
|
||||
|
36
model_nodes/node_callback_models.py
Normal file
36
model_nodes/node_callback_models.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class CallbackNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла callback
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class CallbackNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла callback
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class CallbackNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для данных портов узла callback
|
||||
"""
|
||||
then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)")
|
||||
|
||||
|
||||
class CallbackNodeCoreSchema(BaseModel):
|
||||
"""
|
||||
Pydantic модель для схемы узла callback
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[CallbackNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
37
model_nodes/node_each_models.py
Normal file
37
model_nodes/node_each_models.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class EachNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла each
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class EachNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла each
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class EachNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
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):
|
||||
"""
|
||||
Pydantic модель для схемы узла each
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[EachNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
@@ -1,4 +1,4 @@
|
||||
from typing import Optional, Dict, Any
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
@@ -35,10 +35,3 @@ class IfNodeCoreSchema(BaseModel):
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[IfNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
||||
|
||||
|
||||
class IfNodeDescriptor(BaseModel):
|
||||
"""
|
||||
Pydantic модель для дескриптора узла if
|
||||
"""
|
||||
condition: Optional[str] = Field(default=None, description="Условие для проверки (PREDICATE)")
|
||||
|
@@ -1,33 +1,38 @@
|
||||
# from multiprocessing import process
|
||||
# from typing import Optional, Dict, Any
|
||||
# from pydantic import BaseModel, Field
|
||||
# from orm.schemas.base import Base
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
# class ListenNodeData(Base):
|
||||
# """
|
||||
# Поле Data для Core
|
||||
# """
|
||||
# process_schema_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
# node_type: str = Field(description="Тип узла")
|
||||
class ListenNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла listen
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
is_start: bool = Field(default=False, description="Является ли узел стартовым")
|
||||
|
||||
|
||||
# class ListenNodeLinks(Base):
|
||||
# """
|
||||
# Поле Links для Core
|
||||
# """
|
||||
# node_port_number: Optional[int] = Field(default=0, description="Источник данных")
|
||||
class ListenNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла listen
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
# class ListenNodePSNodeCore(Base):
|
||||
# """
|
||||
# Данные для PS_Node которые уходят из Core
|
||||
# """
|
||||
# process_schema_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
# node_type: str = Field(description="Тип узла")
|
||||
class ListenNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для данных портов узла listen
|
||||
"""
|
||||
then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)")
|
||||
is_start: bool = Field(default=False, description="Является ли узел стартовым")
|
||||
|
||||
# class ListenNodeSettingsDataCore(Base):
|
||||
# """
|
||||
# Данные для process_schema Settings которые уходят из Core
|
||||
# """
|
||||
# node_port_number: Optional[int] = Field(default=0, description="Источник данных")
|
||||
|
||||
class ListenNodeCoreSchema(BaseModel):
|
||||
"""
|
||||
Pydantic модель для схемы узла listen
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[ListenNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
||||
|
36
model_nodes/node_run_models.py
Normal file
36
model_nodes/node_run_models.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class RunNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла run
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class RunNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла run
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class RunNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для данных портов узла run
|
||||
"""
|
||||
then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)")
|
||||
|
||||
|
||||
class RunNodeCoreSchema(BaseModel):
|
||||
"""
|
||||
Pydantic модель для схемы узла run
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[RunNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
36
model_nodes/node_set_models.py
Normal file
36
model_nodes/node_set_models.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class SetNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла set
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class SetNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла set
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class SetNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для данных портов узла set
|
||||
"""
|
||||
then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи then (LINK)")
|
||||
|
||||
|
||||
class SetNodeCoreSchema(BaseModel):
|
||||
"""
|
||||
Pydantic модель для схемы узла set
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[SetNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
@@ -31,10 +31,3 @@ class StartNodeCoreSchema(BaseModel):
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
data: Optional[StartNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
||||
|
||||
|
||||
class StartNodeDescriptor(BaseModel):
|
||||
"""
|
||||
Pydantic модель для дескриптора узла start
|
||||
"""
|
||||
# Start узел не имеет дополнительных параметров, это точка входа в процесс
|
||||
|
37
model_nodes/node_switch_models.py
Normal file
37
model_nodes/node_switch_models.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class SwitchNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла switch
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class SwitchNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла switch
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class SwitchNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
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):
|
||||
"""
|
||||
Pydantic модель для схемы узла switch
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[SwitchNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
36
model_nodes/node_trigger_models.py
Normal file
36
model_nodes/node_trigger_models.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class TriggerNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла trigger
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class TriggerNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла trigger
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class TriggerNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для данных портов узла trigger
|
||||
"""
|
||||
then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи Then (LINK)")
|
||||
|
||||
|
||||
class TriggerNodeCoreSchema(BaseModel):
|
||||
"""
|
||||
Pydantic модель для схемы узла trigger
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[TriggerNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
36
model_nodes/node_wait_models.py
Normal file
36
model_nodes/node_wait_models.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class WaitNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла wait
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class WaitNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла wait
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class WaitNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для данных портов узла wait
|
||||
"""
|
||||
then_port_number: Optional[int] = Field(default=0, description="Номер порта для перехода по Связи then (LINK)")
|
||||
|
||||
|
||||
class WaitNodeCoreSchema(BaseModel):
|
||||
"""
|
||||
Pydantic модель для схемы узла wait
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[WaitNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
37
model_nodes/node_while_models.py
Normal file
37
model_nodes/node_while_models.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class WhileNodeData(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации данных узла while
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
|
||||
|
||||
class WhileNodeLinks(BaseModel):
|
||||
"""
|
||||
Pydantic модель для валидации связей узла while
|
||||
"""
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
|
||||
|
||||
class WhileNodeCoreSchemaData(BaseModel):
|
||||
"""
|
||||
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):
|
||||
"""
|
||||
Pydantic модель для схемы узла while
|
||||
"""
|
||||
ps_id: Optional[int] = Field(default=None, description="ID процесса")
|
||||
node_type: Optional[str] = Field(default=None, description="Тип узла")
|
||||
parent_id: Optional[int] = Field(default=None, description="ID родительского узла")
|
||||
parent_port_number: Optional[int] = Field(default=None, description="Номер порта родительского узла")
|
||||
data: Optional[WhileNodeCoreSchemaData] = Field(default=None, description="Данные узла")
|
Reference in New Issue
Block a user