From a53b4fb2ff835077012fdc436bf900ef5d64f737 Mon Sep 17 00:00:00 2001 From: jyong <718720800@qq.com> Date: Tue, 24 Sep 2024 22:28:23 +0800 Subject: [PATCH] remove description --- api/controllers/console/datasets/external.py | 4 ++-- api/models/dataset.py | 14 ++++++++++++++ api/services/external_knowledge_service.py | 6 +++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/api/controllers/console/datasets/external.py b/api/controllers/console/datasets/external.py index a5983c812a..4eb43af332 100644 --- a/api/controllers/console/datasets/external.py +++ b/api/controllers/console/datasets/external.py @@ -152,8 +152,8 @@ class ExternalApiUseCheckApi(Resource): def get(self, external_knowledge_api_id): external_knowledge_api_id = str(external_knowledge_api_id) - external_api_template_is_using = ExternalDatasetService.external_api_template_use_check(external_knowledge_api_id) - return {"is_using": external_api_template_is_using}, 200 + external_api_template_is_using, count = ExternalDatasetService.external_api_template_use_check(external_knowledge_api_id) + return {"is_using": external_api_template_is_using, "count": count}, 200 class ExternalDatasetInitApi(Resource): diff --git a/api/models/dataset.py b/api/models/dataset.py index ecf2c244e6..f5e8be970c 100644 --- a/api/models/dataset.py +++ b/api/models/dataset.py @@ -723,6 +723,7 @@ class ExternalApiTemplates(db.Model): "name": self.name, "description": self.description, "settings": self.settings_dict, + "dataset_bindings": self.dataset_bindings, "created_by": self.created_by, "created_at": self.created_at.isoformat(), } @@ -733,7 +734,20 @@ class ExternalApiTemplates(db.Model): return json.loads(self.settings) if self.settings else None except JSONDecodeError: return None + + @property + def dataset_bindings(self): + external_knowledge_bindings = db.session.query(ExternalKnowledgeBindings).filter(ExternalKnowledgeBindings.external_api_template_id == self.id).all() + dataset_ids = [binding.dataset_id for binding in external_knowledge_bindings] + datasets = db.session.query(Dataset).filter(Dataset.id.in_(dataset_ids)).all() + dataset_bindings = [] + for dataset in datasets: + dataset_bindings.append({ + "id": dataset.id, + "name": dataset.name + }) + return dataset_bindings class ExternalKnowledgeBindings(db.Model): __tablename__ = "external_knowledge_bindings" diff --git a/api/services/external_knowledge_service.py b/api/services/external_knowledge_service.py index 8d03493a14..58006ea088 100644 --- a/api/services/external_knowledge_service.py +++ b/api/services/external_knowledge_service.py @@ -89,11 +89,11 @@ class ExternalDatasetService: db.session.commit() @staticmethod - def external_api_template_use_check(external_knowledge_api_id: str) -> bool: + def external_api_template_use_check(external_knowledge_api_id: str) -> tuple[bool, int]: count = ExternalKnowledgeBindings.query.filter_by(external_api_template_id=external_knowledge_api_id).count() if count > 0: - return True - return False + return True, count + return False, 0 @staticmethod def get_external_knowledge_binding_with_dataset_id(tenant_id: str, dataset_id: str) -> ExternalKnowledgeBindings: