KevinHuSh
commited on
Commit
·
c054af2
1
Parent(s):
56f682d
fix bug about removing KB. (#839)
Browse files### What problem does this PR solve?
#838
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- api/apps/kb_app.py +8 -4
api/apps/kb_app.py
CHANGED
|
@@ -19,12 +19,14 @@ from flask_login import login_required, current_user
|
|
| 19 |
|
| 20 |
from api.db.services import duplicate_name
|
| 21 |
from api.db.services.document_service import DocumentService
|
|
|
|
|
|
|
| 22 |
from api.db.services.user_service import TenantService, UserTenantService
|
| 23 |
from api.utils.api_utils import server_error_response, get_data_error_result, validate_request
|
| 24 |
from api.utils import get_uuid, get_format_time
|
| 25 |
-
from api.db import StatusEnum, UserTenantRole
|
| 26 |
from api.db.services.knowledgebase_service import KnowledgebaseService
|
| 27 |
-
from api.db.db_models import Knowledgebase
|
| 28 |
from api.settings import stat_logger, RetCode
|
| 29 |
from api.utils.api_utils import get_json_result
|
| 30 |
from rag.nlp import search
|
|
@@ -139,9 +141,11 @@ def rm():
|
|
| 139 |
if not DocumentService.remove_document(doc, kbs[0].tenant_id):
|
| 140 |
return get_data_error_result(
|
| 141 |
retmsg="Database error (Document removal)!")
|
|
|
|
|
|
|
|
|
|
| 142 |
|
| 143 |
-
if not KnowledgebaseService.
|
| 144 |
-
req["kb_id"], {"status": StatusEnum.INVALID.value}):
|
| 145 |
return get_data_error_result(
|
| 146 |
retmsg="Database error (Knowledgebase removal)!")
|
| 147 |
return get_json_result(data=True)
|
|
|
|
| 19 |
|
| 20 |
from api.db.services import duplicate_name
|
| 21 |
from api.db.services.document_service import DocumentService
|
| 22 |
+
from api.db.services.file2document_service import File2DocumentService
|
| 23 |
+
from api.db.services.file_service import FileService
|
| 24 |
from api.db.services.user_service import TenantService, UserTenantService
|
| 25 |
from api.utils.api_utils import server_error_response, get_data_error_result, validate_request
|
| 26 |
from api.utils import get_uuid, get_format_time
|
| 27 |
+
from api.db import StatusEnum, UserTenantRole, FileSource
|
| 28 |
from api.db.services.knowledgebase_service import KnowledgebaseService
|
| 29 |
+
from api.db.db_models import Knowledgebase, File
|
| 30 |
from api.settings import stat_logger, RetCode
|
| 31 |
from api.utils.api_utils import get_json_result
|
| 32 |
from rag.nlp import search
|
|
|
|
| 141 |
if not DocumentService.remove_document(doc, kbs[0].tenant_id):
|
| 142 |
return get_data_error_result(
|
| 143 |
retmsg="Database error (Document removal)!")
|
| 144 |
+
f2d = File2DocumentService.get_by_document_id(doc.id)
|
| 145 |
+
FileService.filter_delete([File.source_type == FileSource.KNOWLEDGEBASE, File.id == f2d[0].file_id])
|
| 146 |
+
File2DocumentService.delete_by_document_id(doc.id)
|
| 147 |
|
| 148 |
+
if not KnowledgebaseService.delete_by_id(req["kb_id"]):
|
|
|
|
| 149 |
return get_data_error_result(
|
| 150 |
retmsg="Database error (Knowledgebase removal)!")
|
| 151 |
return get_json_result(data=True)
|