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)
|