Files
core/model_nodes/node_while_models.py
2025-09-26 14:59:59 +05:00

38 lines
1.7 KiB
Python

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="Данные узла")