Files
core/nodes/vork_node_trigger.py
2025-10-06 19:13:55 +05:00

72 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Dict, Any
from core import VorkNode
from model_nodes.node_trigger_models import (
TriggerNodeData,
TriggerNodeLinks,
TriggerNodeCoreSchema,
TriggerNodeCoreSchemaData,
TRIGGER_FORM_DESCRIPTOR,
)
class VorkNodeTrigger(VorkNode):
def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None):
"""
Инициализация узла trigger
"""
super().__init__(data, links or {})
@property
def id(self) -> str:
return "TRIGGER"
@classmethod
def form(cls) -> Dict[str, Any]:
"""
Возвращает статический дескриптор формы для узла Trigger
"""
return TRIGGER_FORM_DESCRIPTOR
def validate(self) -> TriggerNodeCoreSchema:
"""
Валидирует данные узла trigger и возвращает схему
"""
try:
# Валидируем данные узла
validated_data = self.validate_data()
# Валидируем связи узла
validated_links = self.validate_links()
node_data = TriggerNodeCoreSchemaData(
then_port_number=0
)
# Создаем схему с валидированными данными
return TriggerNodeCoreSchema(
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"Trigger node validation error: {e}")
raise
def validate_data(self) -> TriggerNodeData:
"""
Валидирует данные узла trigger
"""
return TriggerNodeData(**self.data)
def validate_links(self) -> TriggerNodeLinks:
"""
Валидирует связи узла trigger
"""
return TriggerNodeLinks(**self.links)
def process(self, context):
pass