feat: make folder_id optional in KnowledgeSerializer query
--bug=1057489 --user=刘瑞斌 【知识库】-文档迁移功能报错,无法选择文件夹和目标知识库 https://www.tapd.cn/62980211/s/1719276
This commit is contained in:
parent
20010ee227
commit
c2c1d4eeb9
@ -109,7 +109,7 @@ class HitTestSerializer(serializers.Serializer):
|
|||||||
class KnowledgeSerializer(serializers.Serializer):
|
class KnowledgeSerializer(serializers.Serializer):
|
||||||
class Query(serializers.Serializer):
|
class Query(serializers.Serializer):
|
||||||
workspace_id = serializers.CharField(required=True)
|
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,
|
name = serializers.CharField(required=False, label=_('knowledge name'), allow_null=True, allow_blank=True,
|
||||||
max_length=64, min_length=1)
|
max_length=64, min_length=1)
|
||||||
desc = serializers.CharField(required=False, label=_('knowledge description'), allow_null=True,
|
desc = serializers.CharField(required=False, label=_('knowledge description'), allow_null=True,
|
||||||
@ -196,7 +196,9 @@ class KnowledgeSerializer(serializers.Serializer):
|
|||||||
|
|
||||||
def list(self):
|
def list(self):
|
||||||
self.is_valid(raise_exception=True)
|
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()
|
root = KnowledgeFolder.objects.filter(id=folder_id).first()
|
||||||
if not root:
|
if not root:
|
||||||
raise serializers.ValidationError(_('Folder not found'))
|
raise serializers.ValidationError(_('Folder not found'))
|
||||||
|
|||||||
@ -59,11 +59,14 @@
|
|||||||
import { ref, watch, computed } from 'vue'
|
import { ref, watch, computed } from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
||||||
|
import useStore from "@/stores";
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const {
|
const {
|
||||||
params: { id }, // id为knowledgeID
|
params: { id }, // id为knowledgeID
|
||||||
} = route as any
|
} = route as any
|
||||||
|
|
||||||
|
const { user } = useStore()
|
||||||
|
|
||||||
const apiType = computed(() => {
|
const apiType = computed(() => {
|
||||||
if (route.path.includes('shared')) {
|
if (route.path.includes('shared')) {
|
||||||
return 'systemShare'
|
return 'systemShare'
|
||||||
@ -96,9 +99,9 @@ const defaultProps = {
|
|||||||
const loadTree = (node: any, resolve: any) => {
|
const loadTree = (node: any, resolve: any) => {
|
||||||
console.log(node)
|
console.log(node)
|
||||||
if (node.isLeaf) return resolve([])
|
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 })
|
loadSharedApi({ type: 'knowledge', systemType: apiType.value })
|
||||||
.getKnowledgeList(folder_id, loading)
|
.getKnowledgeList({folder_id: folder_id}, loading)
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
resolve(res.data)
|
resolve(res.data)
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user