From 8d09b403e0a789c3fe13260b6e0e482b8f451b0a Mon Sep 17 00:00:00 2001 From: Billy Bao Date: Mon, 17 Nov 2025 11:38:59 +0800 Subject: [PATCH] Refactor payload to ensure validated parser_config usage Updated payload construction to always use validated parser_config. --- api/db/services/knowledgebase_service.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/api/db/services/knowledgebase_service.py b/api/db/services/knowledgebase_service.py index a53044011..28936576d 100644 --- a/api/db/services/knowledgebase_service.py +++ b/api/db/services/knowledgebase_service.py @@ -412,7 +412,6 @@ class KnowledgebaseService(CommonService): return {"code": RetCode.DATA_ERROR, "message": "Tenant does not exist."} # Build payload - parser_config = get_parser_config(parser_id, kwargs.get("parser_config")) kb_id = get_uuid() payload = { "id": kb_id, @@ -420,11 +419,10 @@ class KnowledgebaseService(CommonService): "tenant_id": tenant_id, "created_by": tenant_id, "parser_id": (parser_id or "naive"), - "parser_config": parser_config, - **kwargs + **kwargs # Includes optional fields such as description, language, permission, avatar, parser_config, etc. } - # Default parser_config (align with kb_app.create) — do not accept external overrides + # Update parser_config (always override with validated default/merged config) payload["parser_config"] = get_parser_config(parser_id, kwargs.get("parser_config")) return payload