MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / page_tool

Method page_tool

apps/tools/serializers/tool.py:1694–1717  ·  view source on GitHub ↗
(self, current_page: int, page_size: int)

Source from the content-addressed store, hash-verified

1692 create_user = serializers.UUIDField(required=False, label=_("create user"), allow_null=True)
1693
1694 def page_tool(self, current_page: int, page_size: int):
1695 self.is_valid(raise_exception=True)
1696
1697 folder_id = self.data.get("folder_id", self.data.get("workspace_id"))
1698 root = ToolFolder.objects.filter(id=folder_id).first()
1699 if not root:
1700 raise serializers.ValidationError(_("Folder not found"))
1701 # 使用MPTT的get_descendants()方法获取所有相关节点
1702 all_folders = root.get_descendants(include_self=True)
1703
1704 if self.data.get("name"):
1705 tools = QuerySet(Tool).filter(
1706 Q(workspace_id=self.data.get("workspace_id"))
1707 & Q(folder_id__in=all_folders)
1708 & Q(user_id=self.data.get("user_id"))
1709 & Q(name__contains=self.data.get("name"))
1710 )
1711 else:
1712 tools = QuerySet(Tool).filter(
1713 Q(workspace_id=self.data.get("workspace_id"))
1714 & Q(folder_id__in=all_folders)
1715 & Q(user_id=self.data.get("user_id"))
1716 )
1717 return page_search(current_page, page_size, tools, lambda record: ToolModelSerializer(record).data)
1718
1719 def get_query_set(self, workspace_manage, is_x_pack_ee):
1720 tool_query_set = QuerySet(Tool).filter(workspace_id=self.data.get("workspace_id"))

Callers

nothing calls this directly

Calls 4

is_validMethod · 0.95
page_searchFunction · 0.90
ToolModelSerializerClass · 0.85
getMethod · 0.45

Tested by

no test coverage detected