diff --git a/api/apps/document_app.py b/api/apps/document_app.py index d7aa5d829..7f01f37a8 100644 --- a/api/apps/document_app.py +++ b/api/apps/document_app.py @@ -166,6 +166,17 @@ def create(): if DocumentService.query(name=req["name"], kb_id=kb_id): return get_data_error_result(message="Duplicated document name in the same knowledgebase.") + kb_root_folder = FileService.get_kb_folder(kb.tenant_id) + if not kb_root_folder: + return get_data_error_result(message="Cannot find the root folder.") + kb_folder = FileService.new_a_file_from_kb( + kb.tenant_id, + kb.name, + kb_root_folder["id"], + ) + if not kb_folder: + return get_data_error_result(message="Cannot find the kb folder for this file.") + doc = DocumentService.insert( { "id": get_uuid(), @@ -180,6 +191,9 @@ def create(): "size": 0, } ) + + FileService.add_file_from_kb(doc.to_dict(), kb_folder["id"], kb.tenant_id) + return get_json_result(data=doc.to_json()) except Exception as e: return server_error_response(e)