From 49c7501cc884f3cda61d4d3e82cb24a916a8686d Mon Sep 17 00:00:00 2001 From: -LAN- Date: Tue, 6 Jan 2026 19:53:58 +0800 Subject: [PATCH] refactor(api): add UserFrom creator role conversion and reuse in knowledge retrieval Tests not run (not requested). --- .../nodes/knowledge_retrieval/knowledge_retrieval_node.py | 4 ++-- api/models/enums.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py index dbd340374f..4a55d38a20 100644 --- a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py +++ b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py @@ -55,7 +55,7 @@ from extensions.ext_database import db from extensions.ext_redis import redis_client from libs.json_in_md_parser import parse_and_check_json_markdown from models.dataset import Dataset, DatasetMetadata, Document, RateLimitLog -from models.enums import CreatorUserRole, UserFrom +from models.enums import UserFrom from services.feature_service import FeatureService from .entities import KnowledgeRetrievalNodeData @@ -269,7 +269,7 @@ class KnowledgeRetrievalNode(LLMUsageTrackingMixin, Node[KnowledgeRetrievalNodeD usage = self._merge_usage(usage, metadata_usage) all_documents = [] dataset_retrieval = DatasetRetrieval() - creator_user_role = CreatorUserRole.ACCOUNT if self.user_from == UserFrom.ACCOUNT else CreatorUserRole.END_USER + creator_user_role = self.user_from.to_creator_user_role() if str(node_data.retrieval_mode) == DatasetRetrieveConfigEntity.RetrieveStrategy.SINGLE and query: # fetch model config if node_data.single_retrieval_config is None: diff --git a/api/models/enums.py b/api/models/enums.py index 8cd3d4cf2a..1d6231ce14 100644 --- a/api/models/enums.py +++ b/api/models/enums.py @@ -12,6 +12,11 @@ class UserFrom(StrEnum): ACCOUNT = "account" END_USER = "end-user" + def to_creator_user_role(self) -> "CreatorUserRole": + if self == UserFrom.ACCOUNT: + return CreatorUserRole.ACCOUNT + return CreatorUserRole.END_USER + class WorkflowRunTriggeredFrom(StrEnum): DEBUGGING = "debugging"