ソースを参照

Feat/add delete knowledge confirm (#5810)

tags/0.6.13
Jyong 1年前
コミット
71bcf75d9a
コミッターのメールアドレスに関連付けられたアカウントが存在しません
2個のファイルの変更18行の追加4行の削除
  1. 10
    0
      api/controllers/console/datasets/datasets.py
  2. 8
    4
      api/services/dataset_service.py

+ 10
- 0
api/controllers/console/datasets/datasets.py ファイルの表示

@@ -226,6 +226,15 @@ class DatasetApi(Resource):
except services.errors.dataset.DatasetInUseError:
raise DatasetInUseError()

class DatasetUseCheckApi(Resource):
@setup_required
@login_required
@account_initialization_required
def get(self, dataset_id):
dataset_id_str = str(dataset_id)

dataset_is_using = DatasetService.dataset_use_check(dataset_id_str)
return {'is_using': dataset_is_using}, 200

class DatasetQueryApi(Resource):

@@ -562,6 +571,7 @@ class DatasetErrorDocs(Resource):

api.add_resource(DatasetListApi, '/datasets')
api.add_resource(DatasetApi, '/datasets/<uuid:dataset_id>')
api.add_resource(DatasetUseCheckApi, '/datasets/<uuid:dataset_id>/use-check')
api.add_resource(DatasetQueryApi, '/datasets/<uuid:dataset_id>/queries')
api.add_resource(DatasetErrorDocs, '/datasets/<uuid:dataset_id>/error-docs')
api.add_resource(DatasetIndexingEstimateApi, '/datasets/indexing-estimate')

+ 8
- 4
api/services/dataset_service.py ファイルの表示

@@ -34,7 +34,7 @@ from models.dataset import (
from models.model import UploadFile
from models.source import DataSourceOauthBinding
from services.errors.account import NoPermissionError
from services.errors.dataset import DatasetInUseError, DatasetNameDuplicateError
from services.errors.dataset import DatasetNameDuplicateError
from services.errors.document import DocumentIndexingError
from services.errors.file import FileNotExistsError
from services.feature_service import FeatureModel, FeatureService
@@ -234,9 +234,6 @@ class DatasetService:

@staticmethod
def delete_dataset(dataset_id, user):
count = AppDatasetJoin.query.filter_by(dataset_id=dataset_id).count()
if count > 0:
raise DatasetInUseError()

dataset = DatasetService.get_dataset(dataset_id)

@@ -251,6 +248,13 @@ class DatasetService:
db.session.commit()
return True

@staticmethod
def dataset_use_check(dataset_id) -> bool:
count = AppDatasetJoin.query.filter_by(dataset_id=dataset_id).count()
if count > 0:
return True
return False

@staticmethod
def check_dataset_permission(dataset, user):
if dataset.tenant_id != user.current_tenant_id:

読み込み中…
キャンセル
保存