fix(dataset): dataset tags service_api error "Dataset not found" (#30028)

Co-authored-by: zbs <zbs@cailian.onaliyun.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
This commit is contained in:
zhaobingshuang 2025-12-26 10:55:42 +08:00 committed by GitHub
parent fd64156f9d
commit fa1009b938
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 14 deletions

View File

@ -13,7 +13,6 @@ from controllers.service_api.dataset.error import DatasetInUseError, DatasetName
from controllers.service_api.wraps import ( from controllers.service_api.wraps import (
DatasetApiResource, DatasetApiResource,
cloud_edition_billing_rate_limit_check, cloud_edition_billing_rate_limit_check,
validate_dataset_token,
) )
from core.model_runtime.entities.model_entities import ModelType from core.model_runtime.entities.model_entities import ModelType
from core.provider_manager import ProviderManager from core.provider_manager import ProviderManager
@ -460,9 +459,8 @@ class DatasetTagsApi(DatasetApiResource):
401: "Unauthorized - invalid API token", 401: "Unauthorized - invalid API token",
} }
) )
@validate_dataset_token
@service_api_ns.marshal_with(build_dataset_tag_fields(service_api_ns)) @service_api_ns.marshal_with(build_dataset_tag_fields(service_api_ns))
def get(self, _, dataset_id): def get(self, _):
"""Get all knowledge type tags.""" """Get all knowledge type tags."""
assert isinstance(current_user, Account) assert isinstance(current_user, Account)
cid = current_user.current_tenant_id cid = current_user.current_tenant_id
@ -482,8 +480,7 @@ class DatasetTagsApi(DatasetApiResource):
} }
) )
@service_api_ns.marshal_with(build_dataset_tag_fields(service_api_ns)) @service_api_ns.marshal_with(build_dataset_tag_fields(service_api_ns))
@validate_dataset_token def post(self, _):
def post(self, _, dataset_id):
"""Add a knowledge type tag.""" """Add a knowledge type tag."""
assert isinstance(current_user, Account) assert isinstance(current_user, Account)
if not (current_user.has_edit_permission or current_user.is_dataset_editor): if not (current_user.has_edit_permission or current_user.is_dataset_editor):
@ -506,8 +503,7 @@ class DatasetTagsApi(DatasetApiResource):
} }
) )
@service_api_ns.marshal_with(build_dataset_tag_fields(service_api_ns)) @service_api_ns.marshal_with(build_dataset_tag_fields(service_api_ns))
@validate_dataset_token def patch(self, _):
def patch(self, _, dataset_id):
assert isinstance(current_user, Account) assert isinstance(current_user, Account)
if not (current_user.has_edit_permission or current_user.is_dataset_editor): if not (current_user.has_edit_permission or current_user.is_dataset_editor):
raise Forbidden() raise Forbidden()
@ -533,9 +529,8 @@ class DatasetTagsApi(DatasetApiResource):
403: "Forbidden - insufficient permissions", 403: "Forbidden - insufficient permissions",
} }
) )
@validate_dataset_token
@edit_permission_required @edit_permission_required
def delete(self, _, dataset_id): def delete(self, _):
"""Delete a knowledge type tag.""" """Delete a knowledge type tag."""
payload = TagDeletePayload.model_validate(service_api_ns.payload or {}) payload = TagDeletePayload.model_validate(service_api_ns.payload or {})
TagService.delete_tag(payload.tag_id) TagService.delete_tag(payload.tag_id)
@ -555,8 +550,7 @@ class DatasetTagBindingApi(DatasetApiResource):
403: "Forbidden - insufficient permissions", 403: "Forbidden - insufficient permissions",
} }
) )
@validate_dataset_token def post(self, _):
def post(self, _, dataset_id):
# The role of the current user in the ta table must be admin, owner, editor, or dataset_operator # The role of the current user in the ta table must be admin, owner, editor, or dataset_operator
assert isinstance(current_user, Account) assert isinstance(current_user, Account)
if not (current_user.has_edit_permission or current_user.is_dataset_editor): if not (current_user.has_edit_permission or current_user.is_dataset_editor):
@ -580,8 +574,7 @@ class DatasetTagUnbindingApi(DatasetApiResource):
403: "Forbidden - insufficient permissions", 403: "Forbidden - insufficient permissions",
} }
) )
@validate_dataset_token def post(self, _):
def post(self, _, dataset_id):
# The role of the current user in the ta table must be admin, owner, editor, or dataset_operator # The role of the current user in the ta table must be admin, owner, editor, or dataset_operator
assert isinstance(current_user, Account) assert isinstance(current_user, Account)
if not (current_user.has_edit_permission or current_user.is_dataset_editor): if not (current_user.has_edit_permission or current_user.is_dataset_editor):
@ -604,7 +597,6 @@ class DatasetTagsBindingStatusApi(DatasetApiResource):
401: "Unauthorized - invalid API token", 401: "Unauthorized - invalid API token",
} }
) )
@validate_dataset_token
def get(self, _, *args, **kwargs): def get(self, _, *args, **kwargs):
"""Get all knowledge type tags.""" """Get all knowledge type tags."""
dataset_id = kwargs.get("dataset_id") dataset_id = kwargs.get("dataset_id")