mirror of
https://github.com/langgenius/dify.git
synced 2026-04-14 16:08:01 +08:00
refactor(trigger): streamline workflow argument handling in DraftWorkflowTriggerNodeApi
- Simplified retrieval of workflow arguments by directly accessing event.workflow_args. - Removed unnecessary conditional checks for user inputs, ensuring cleaner code. - Enhanced TriggerEventNode to use deepcopy for user inputs to prevent unintended mutations.
This commit is contained in:
parent
a264a609db
commit
5c95c77604
@ -1057,19 +1057,14 @@ class DraftWorkflowTriggerNodeApi(Resource):
|
||||
if not event:
|
||||
return jsonable_encoder({"status": "waiting", "retry_in": LISTENING_RETRY_IN})
|
||||
|
||||
workflow_args = dict(event.workflow_args or {})
|
||||
raw_files = workflow_args.get("files")
|
||||
raw_files = event.workflow_args.get("files")
|
||||
files = _parse_file(draft_workflow, raw_files if isinstance(raw_files, list) else None)
|
||||
if node_type == NodeType.TRIGGER_WEBHOOK:
|
||||
user_inputs = workflow_args.get("inputs") or {}
|
||||
else:
|
||||
user_inputs = workflow_args
|
||||
try:
|
||||
node_execution = workflow_service.run_draft_workflow_node(
|
||||
app_model=app_model,
|
||||
draft_workflow=draft_workflow,
|
||||
node_id=node_id,
|
||||
user_inputs=user_inputs,
|
||||
user_inputs=event.workflow_args.get("inputs") or {},
|
||||
account=current_user,
|
||||
query="",
|
||||
files=files,
|
||||
|
||||
@ -118,7 +118,6 @@ class TriggerDebugEventBus:
|
||||
pool_key,
|
||||
address_id,
|
||||
)
|
||||
logger.info("event_data: %s", event_data)
|
||||
return event_type.model_validate_json(json_data=event_data) if event_data else None
|
||||
except RedisError:
|
||||
logger.exception("Failed to poll event from pool: %s", pool_key)
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
from collections.abc import Mapping
|
||||
from copy import deepcopy
|
||||
from typing import Any, Optional
|
||||
|
||||
from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus
|
||||
@ -65,7 +66,7 @@ class TriggerEventNode(Node):
|
||||
"""
|
||||
|
||||
# Get trigger data passed when workflow was triggered
|
||||
inputs = dict(self.graph_runtime_state.variable_pool.user_inputs)
|
||||
inputs = deepcopy(self.graph_runtime_state.variable_pool.user_inputs)
|
||||
metadata = {
|
||||
WorkflowNodeExecutionMetadataKey.TRIGGER_INFO: {
|
||||
"provider_id": self._node_data.provider_id,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user