feat: make folder_id optional in KnowledgeSerializer query
Some checks are pending
sync2gitee / repo-sync (push) Waiting to run

--bug=1057489 --user=刘瑞斌 【知识库】-文档迁移功能报错,无法选择文件夹和目标知识库 https://www.tapd.cn/62980211/s/1719276
This commit is contained in:
CaptainB 2025-06-26 20:03:02 +08:00
parent 20010ee227
commit c2c1d4eeb9
2 changed files with 9 additions and 4 deletions

View File

@ -109,7 +109,7 @@ class HitTestSerializer(serializers.Serializer):
class KnowledgeSerializer(serializers.Serializer):
class Query(serializers.Serializer):
workspace_id = serializers.CharField(required=True)
folder_id = serializers.CharField(required=True)
folder_id = serializers.CharField(required=False, label=_('folder id'), allow_null=True)
name = serializers.CharField(required=False, label=_('knowledge name'), allow_null=True, allow_blank=True,
max_length=64, min_length=1)
desc = serializers.CharField(required=False, label=_('knowledge description'), allow_null=True,
@ -196,7 +196,9 @@ class KnowledgeSerializer(serializers.Serializer):
def list(self):
self.is_valid(raise_exception=True)
folder_id = self.data.get('folder_id', self.data.get("workspace_id"))
folder_id = self.data.get('folder_id')
if not folder_id:
folder_id = self.data.get('workspace_id')
root = KnowledgeFolder.objects.filter(id=folder_id).first()
if not root:
raise serializers.ValidationError(_('Folder not found'))

View File

@ -59,11 +59,14 @@
import { ref, watch, computed } from 'vue'
import { useRoute } from 'vue-router'
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
import useStore from "@/stores";
const route = useRoute()
const {
params: { id }, // idknowledgeID
} = route as any
const { user } = useStore()
const apiType = computed(() => {
if (route.path.includes('shared')) {
return 'systemShare'
@ -96,9 +99,9 @@ const defaultProps = {
const loadTree = (node: any, resolve: any) => {
console.log(node)
if (node.isLeaf) return resolve([])
const folder_id = node.level === 0 ? '' : node.data.id
const folder_id = node.level === 0 ? user.getWorkspaceId() : node.data.id
loadSharedApi({ type: 'knowledge', systemType: apiType.value })
.getKnowledgeList(folder_id, loading)
.getKnowledgeList({folder_id: folder_id}, loading)
.then((res: any) => {
resolve(res.data)
})