remove description

This commit is contained in:
jyong 2024-09-24 22:28:23 +08:00
parent 680c1bd41d
commit a53b4fb2ff
3 changed files with 19 additions and 5 deletions

View File

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

View File

@ -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"

View File

@ -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: