diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 8e5279fb67..a88a048ecb 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -5,6 +5,7 @@ on: branches: - "main" - "deploy/dev" + - "fix/dataset-admin" release: types: [published] diff --git a/api/controllers/console/datasets/datasets_document.py b/api/controllers/console/datasets/datasets_document.py index c95214e9fb..d43c9b1f41 100644 --- a/api/controllers/console/datasets/datasets_document.py +++ b/api/controllers/console/datasets/datasets_document.py @@ -310,7 +310,7 @@ class DatasetInitApi(Resource): @cloud_edition_billing_resource_check("vector_space") def post(self): # The role of the current user in the ta table must be admin, owner, or editor - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() parser = reqparse.RequestParser() @@ -684,7 +684,7 @@ class DocumentProcessingApi(DocumentResource): document = self.get_document(dataset_id, document_id) # The role of the current user in the ta table must be admin, owner, or editor - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() if action == "pause": @@ -748,7 +748,7 @@ class DocumentMetadataApi(DocumentResource): doc_metadata = req_data.get("doc_metadata") # The role of the current user in the ta table must be admin, owner, or editor - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() if doc_type is None or doc_metadata is None: diff --git a/api/controllers/console/datasets/datasets_segments.py b/api/controllers/console/datasets/datasets_segments.py index d2c94045ad..5191101bf7 100644 --- a/api/controllers/console/datasets/datasets_segments.py +++ b/api/controllers/console/datasets/datasets_segments.py @@ -122,7 +122,7 @@ class DatasetDocumentSegmentListApi(Resource): segment_ids = request.args.getlist("segment_id") # The role of the current user in the ta table must be admin or owner - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: DatasetService.check_dataset_permission(dataset, current_user) @@ -149,7 +149,7 @@ class DatasetDocumentSegmentApi(Resource): # check user's model setting DatasetService.check_dataset_model_setting(dataset) # The role of the current user in the ta table must be admin, owner, or editor - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: @@ -202,7 +202,7 @@ class DatasetDocumentSegmentAddApi(Resource): document = DocumentService.get_document(dataset_id, document_id) if not document: raise NotFound("Document not found.") - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() # check embedding model setting if dataset.indexing_technique == "high_quality": @@ -277,7 +277,7 @@ class DatasetDocumentSegmentUpdateApi(Resource): if not segment: raise NotFound("Segment not found.") # The role of the current user in the ta table must be admin, owner, or editor - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: DatasetService.check_dataset_permission(dataset, current_user) @@ -320,7 +320,7 @@ class DatasetDocumentSegmentUpdateApi(Resource): if not segment: raise NotFound("Segment not found.") # The role of the current user in the ta table must be admin or owner - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: DatasetService.check_dataset_permission(dataset, current_user) @@ -420,7 +420,7 @@ class ChildChunkAddApi(Resource): ).first() if not segment: raise NotFound("Segment not found.") - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() # check embedding model setting if dataset.indexing_technique == "high_quality": @@ -520,7 +520,7 @@ class ChildChunkAddApi(Resource): if not segment: raise NotFound("Segment not found.") # The role of the current user in the ta table must be admin, owner, or editor - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: DatasetService.check_dataset_permission(dataset, current_user) @@ -570,7 +570,7 @@ class ChildChunkUpdateApi(Resource): if not child_chunk: raise NotFound("Child chunk not found.") # The role of the current user in the ta table must be admin or owner - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: DatasetService.check_dataset_permission(dataset, current_user) @@ -614,7 +614,7 @@ class ChildChunkUpdateApi(Resource): if not child_chunk: raise NotFound("Child chunk not found.") # The role of the current user in the ta table must be admin or owner - if not current_user.is_editor: + if not current_user.is_dataset_editor: raise Forbidden() try: DatasetService.check_dataset_permission(dataset, current_user) diff --git a/api/core/workflow/nodes/code/code_node.py b/api/core/workflow/nodes/code/code_node.py index 2f82bf8c38..f52835e835 100644 --- a/api/core/workflow/nodes/code/code_node.py +++ b/api/core/workflow/nodes/code/code_node.py @@ -195,7 +195,7 @@ class CodeNode(BaseNode[CodeNodeData]): if output_config.type == "object": # check if output is object if not isinstance(result.get(output_name), dict): - if isinstance(result.get(output_name), type(None)): + if result.get(output_name) is None: transformed_result[output_name] = None else: raise OutputValidationError( @@ -223,7 +223,7 @@ class CodeNode(BaseNode[CodeNodeData]): elif output_config.type == "array[number]": # check if array of number available if not isinstance(result[output_name], list): - if isinstance(result[output_name], type(None)): + if result[output_name] is None: transformed_result[output_name] = None else: raise OutputValidationError( @@ -244,7 +244,7 @@ class CodeNode(BaseNode[CodeNodeData]): elif output_config.type == "array[string]": # check if array of string available if not isinstance(result[output_name], list): - if isinstance(result[output_name], type(None)): + if result[output_name] is None: transformed_result[output_name] = None else: raise OutputValidationError( @@ -265,7 +265,7 @@ class CodeNode(BaseNode[CodeNodeData]): elif output_config.type == "array[object]": # check if array of object available if not isinstance(result[output_name], list): - if isinstance(result[output_name], type(None)): + if result[output_name] is None: transformed_result[output_name] = None else: raise OutputValidationError(