diff --git a/backend/workflow_executor.py b/backend/workflow_executor.py index e5a7152..693c7ed 100644 --- a/backend/workflow_executor.py +++ b/backend/workflow_executor.py @@ -398,8 +398,16 @@ def execute_logic_node( started_at = datetime.utcnow().isoformat() try: - if not node.condition: - raise ValueError(f"Logic node {node.id} has no condition") + if not node.condition or not node.condition.expression: + error_msg = f"Logic node {node.id} has no condition/expression defined" + logger.error(error_msg) + return NodeExecutionState( + node_id=node.id, + status=NodeStatus.FAILED, + error=error_msg, + started_at=started_at, + completed_at=datetime.utcnow().isoformat() + ) # 1. Evaluiere Bedingung result, error = evaluate_logic_expression(node.condition.expression, context)