From 621cd37385ff616305d2ab7aa0e5e5d1bfeaa8b9 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Wed, 2 Jul 2025 16:22:51 +0800 Subject: [PATCH] refactor: add create_user field to knowledge query and update filtering logic --- apps/knowledge/serializers/knowledge.py | 3 +++ apps/knowledge/views/knowledge.py | 3 ++- .../views/knowledge/component/KnowledgeListContainer.vue | 7 ++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/knowledge/serializers/knowledge.py b/apps/knowledge/serializers/knowledge.py index 364de5c16..ec5e662a4 100644 --- a/apps/knowledge/serializers/knowledge.py +++ b/apps/knowledge/serializers/knowledge.py @@ -116,6 +116,7 @@ class KnowledgeSerializer(serializers.Serializer): allow_blank=True, max_length=256, min_length=1) user_id = serializers.UUIDField(required=False, label=_('user id'), allow_null=True) scope = serializers.CharField(required=False, label=_('knowledge scope'), allow_null=True) + create_user = serializers.UUIDField(required=False, label=_('create user'), allow_null=True) @staticmethod def is_x_pack_ee(): @@ -153,6 +154,8 @@ class KnowledgeSerializer(serializers.Serializer): folder_query_set = folder_query_set.filter(**{'parent_id': self.data.get("folder_id")}) if "scope" in self.data and self.data.get('scope') is not None: query_set = query_set.filter(**{'temp.scope': self.data.get("scope")}) + if "create_user" in self.data and self.data.get('create_user') is not None: + query_set = query_set.filter(**{'temp.user_id': self.data.get("create_user")}) query_set = query_set.order_by("-temp.create_time", "temp.id") query_set_dict['default_sql'] = query_set diff --git a/apps/knowledge/views/knowledge.py b/apps/knowledge/views/knowledge.py index 57f73c82a..36267b7ac 100644 --- a/apps/knowledge/views/knowledge.py +++ b/apps/knowledge/views/knowledge.py @@ -144,7 +144,8 @@ class KnowledgeView(APIView): 'name': request.query_params.get('name'), 'desc': request.query_params.get("desc"), 'scope': KnowledgeScope.WORKSPACE, - 'user_id': request.user.id + 'user_id': request.user.id, + 'create_user': request.query_params.get('create_user'), } ).page(current_page, page_size)) diff --git a/ui/src/views/knowledge/component/KnowledgeListContainer.vue b/ui/src/views/knowledge/component/KnowledgeListContainer.vue index 8e190f050..475335405 100644 --- a/ui/src/views/knowledge/component/KnowledgeListContainer.vue +++ b/ui/src/views/knowledge/component/KnowledgeListContainer.vue @@ -31,7 +31,7 @@ clearable style="width: 220px" > - + @@ -527,6 +527,11 @@ onMounted(() => { }) getList() } + loadSharedApi({type: 'workspace', isShared: isShared.value, systemType: apiType.value }) + .getAllMemberList(user.getWorkspaceId(), loading) + .then((res: any) => { + user_options.value = res.data + }) })