feat: add optional user_id parameter to tool queries and serializers
This commit is contained in:
parent
74fac81c7b
commit
e24f211674
@ -15,8 +15,6 @@ class KnowledgeFolderTreeSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class KnowledgeFolderFlatSerializer(serializers.ModelSerializer):
|
class KnowledgeFolderFlatSerializer(serializers.ModelSerializer):
|
||||||
children = serializers.SerializerMethodField()
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = KnowledgeFolder
|
model = KnowledgeFolder
|
||||||
fields = ['id', 'name', 'desc', 'user_id', 'workspace_id', 'parent_id']
|
fields = ['id', 'name', 'desc', 'user_id', 'workspace_id', 'parent_id']
|
||||||
|
|||||||
@ -194,6 +194,13 @@ class ToolPageAPI(ToolReadAPI):
|
|||||||
location='query',
|
location='query',
|
||||||
required=True,
|
required=True,
|
||||||
),
|
),
|
||||||
|
OpenApiParameter(
|
||||||
|
name="user_id",
|
||||||
|
description="创建者id",
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
location='query',
|
||||||
|
required=False,
|
||||||
|
),
|
||||||
OpenApiParameter(
|
OpenApiParameter(
|
||||||
name="tool_type",
|
name="tool_type",
|
||||||
description="工具类型",
|
description="工具类型",
|
||||||
|
|||||||
@ -392,6 +392,7 @@ class ToolTreeSerializer(serializers.Serializer):
|
|||||||
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
|
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
|
||||||
folder_id = serializers.CharField(required=True, label=_('folder id'))
|
folder_id = serializers.CharField(required=True, label=_('folder id'))
|
||||||
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('tool name'))
|
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('tool name'))
|
||||||
|
user_id = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('user id'))
|
||||||
tool_type = serializers.CharField(required=True, label=_('tool type'))
|
tool_type = serializers.CharField(required=True, label=_('tool type'))
|
||||||
|
|
||||||
def page_tool(self, current_page: int, page_size: int):
|
def page_tool(self, current_page: int, page_size: int):
|
||||||
@ -408,10 +409,12 @@ class ToolTreeSerializer(serializers.Serializer):
|
|||||||
tools = QuerySet(Tool).filter(Q(workspace_id=self.data.get('workspace_id')) &
|
tools = QuerySet(Tool).filter(Q(workspace_id=self.data.get('workspace_id')) &
|
||||||
Q(folder_id__in=all_folders) &
|
Q(folder_id__in=all_folders) &
|
||||||
Q(tool_type=self.data.get('tool_type')) &
|
Q(tool_type=self.data.get('tool_type')) &
|
||||||
|
Q(user_id=self.data.get('user_id')) &
|
||||||
Q(name__contains=self.data.get('name')))
|
Q(name__contains=self.data.get('name')))
|
||||||
else:
|
else:
|
||||||
tools = QuerySet(Tool).filter(Q(workspace_id=self.data.get('workspace_id')) &
|
tools = QuerySet(Tool).filter(Q(workspace_id=self.data.get('workspace_id')) &
|
||||||
Q(folder_id__in=all_folders) &
|
Q(folder_id__in=all_folders) &
|
||||||
|
Q(user_id=self.data.get('user_id')) &
|
||||||
Q(tool_type=self.data.get('tool_type')))
|
Q(tool_type=self.data.get('tool_type')))
|
||||||
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)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user