feat: update get_query_set method to accept workspace_manage and is_x_pack_ee parameters

This commit is contained in:
CaptainB 2025-06-26 19:43:45 +08:00
parent 75df321783
commit 0c2a17ed56

View File

@ -571,7 +571,7 @@ class ToolTreeSerializer(serializers.Serializer):
) )
return page_search(current_page, page_size, tools, lambda record: ToolModelSerializer(record).data) return page_search(current_page, page_size, tools, lambda record: ToolModelSerializer(record).data)
def get_query_set(self): def get_query_set(self, workspace_manage, is_x_pack_ee):
tool_query_set = QuerySet(Tool).filter(workspace_id=self.data.get('workspace_id')) tool_query_set = QuerySet(Tool).filter(workspace_id=self.data.get('workspace_id'))
folder_query_set = QuerySet(ToolFolder) folder_query_set = QuerySet(ToolFolder)
default_query_set = QuerySet(Tool) default_query_set = QuerySet(Tool)
@ -601,16 +601,19 @@ class ToolTreeSerializer(serializers.Serializer):
if scope is not None: if scope is not None:
tool_query_set = tool_query_set.filter(scope=scope) tool_query_set = tool_query_set.filter(scope=scope)
return { query_set_dict = {
'folder_query_set': folder_query_set, 'folder_query_set': folder_query_set,
'tool_query_set': tool_query_set, 'tool_query_set': tool_query_set,
'default_query_set': default_query_set, 'default_query_set': default_query_set,
'workspace_user_resource_permission_query_set': QuerySet(WorkspaceUserResourcePermission).filter( }
if not workspace_manage and is_x_pack_ee:
query_set_dict['workspace_user_resource_permission_query_set'] = QuerySet(
WorkspaceUserResourcePermission).filter(
auth_target_type="TOOL", auth_target_type="TOOL",
workspace_id=workspace_id, workspace_id=workspace_id,
user_id=user_id user_id=user_id
) )
} return query_set_dict
@staticmethod @staticmethod
def is_x_pack_ee(): def is_x_pack_ee():
@ -625,7 +628,7 @@ class ToolTreeSerializer(serializers.Serializer):
is_x_pack_ee = self.is_x_pack_ee() is_x_pack_ee = self.is_x_pack_ee()
return native_page_search( return native_page_search(
current_page, page_size, self.get_query_set(), current_page, page_size, self.get_query_set(workspace_manage, is_x_pack_ee),
get_file_content( get_file_content(
os.path.join( os.path.join(
PROJECT_DIR, PROJECT_DIR,