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)

Files changed (1) hide show
  1. 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.update_by_id(
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)