Fix get datasets owner retrieve the whole dataset (#17370)

This commit is contained in:
Wang Qi
2026-07-27 10:24:13 +08:00
committed by GitHub
parent f53518c110
commit 53afc32349
12 changed files with 137 additions and 4 deletions

View File

@@ -363,6 +363,20 @@ def list_datasets(tenant_id):
items:
type: object
"""
if request.args.get("type") == "filter":
try:
success, result = dataset_api_service.list_dataset_filters(tenant_id)
if success:
return get_result(data=result)
else:
return get_error_data_result(message=result)
except OperationalError as e:
logging.exception(e)
return get_error_data_result(message="Database operation failed")
except Exception as e:
logging.exception(e)
return get_error_data_result(message="Internal server error")
args, err = validate_and_parse_request_args(request, ListDatasetReq)
if err is not None:
return get_error_argument_result(err)

View File

@@ -458,6 +458,13 @@ def list_datasets(tenant_id: str, args: dict):
return True, {"data": response_data_list, "total": total}
def list_dataset_filters(tenant_id: str):
tenants = TenantService.get_joined_tenants_by_user_id(tenant_id)
tenant_ids = [m["tenant_id"] for m in tenants]
owners = KnowledgebaseService.get_owner_filter(tenant_ids, tenant_id)
return True, {"filter": {"owner": owners}, "total": sum(owner["count"] for owner in owners)}
async def get_knowledge_graph(dataset_id: str, tenant_id: str):
"""
Get knowledge graph for a dataset.