fix: add scope field to knowledge serializers and update related SQL queries
This commit is contained in:
parent
babd6d5bde
commit
e81a7962b8
@ -109,6 +109,7 @@ class KnowledgeSerializer(serializers.Serializer):
|
|||||||
desc = serializers.CharField(required=False, label=_('knowledge description'), allow_null=True,
|
desc = serializers.CharField(required=False, label=_('knowledge description'), allow_null=True,
|
||||||
allow_blank=True, max_length=256, min_length=1)
|
allow_blank=True, max_length=256, min_length=1)
|
||||||
user_id = serializers.UUIDField(required=False, label=_('user id'), allow_null=True)
|
user_id = serializers.UUIDField(required=False, label=_('user id'), allow_null=True)
|
||||||
|
scope = serializers.CharField(required=False, label=_('knowledge scope'), allow_null=True)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def is_x_pack_ee():
|
def is_x_pack_ee():
|
||||||
@ -127,7 +128,8 @@ class KnowledgeSerializer(serializers.Serializer):
|
|||||||
'temp.user_id': models.CharField(),
|
'temp.user_id': models.CharField(),
|
||||||
'temp.workspace_id': models.CharField(),
|
'temp.workspace_id': models.CharField(),
|
||||||
'temp.folder_id': models.CharField(),
|
'temp.folder_id': models.CharField(),
|
||||||
'temp.id': models.CharField()
|
'temp.id': models.CharField(),
|
||||||
|
'temp.scope': models.CharField(),
|
||||||
}))
|
}))
|
||||||
folder_query_set = QuerySet(KnowledgeFolder)
|
folder_query_set = QuerySet(KnowledgeFolder)
|
||||||
|
|
||||||
@ -146,6 +148,8 @@ class KnowledgeSerializer(serializers.Serializer):
|
|||||||
if "folder_id" in self.data and self.data.get('folder_id') is not None:
|
if "folder_id" in self.data and self.data.get('folder_id') is not None:
|
||||||
query_set = query_set.filter(**{'temp.folder_id': self.data.get("folder_id")})
|
query_set = query_set.filter(**{'temp.folder_id': self.data.get("folder_id")})
|
||||||
folder_query_set = folder_query_set.filter(**{'parent_id': self.data.get("folder_id")})
|
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")})
|
||||||
query_set = query_set.order_by("-temp.create_time", "temp.id")
|
query_set = query_set.order_by("-temp.create_time", "temp.id")
|
||||||
query_set_dict['default_sql'] = query_set
|
query_set_dict['default_sql'] = query_set
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@ FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
|
|||||||
"temp_knowledge".update_time,
|
"temp_knowledge".update_time,
|
||||||
"temp_knowledge".file_size_limit,
|
"temp_knowledge".file_size_limit,
|
||||||
"temp_knowledge".file_count_limit,
|
"temp_knowledge".file_count_limit,
|
||||||
|
"temp_knowledge"."scope",
|
||||||
"document_temp"."char_length",
|
"document_temp"."char_length",
|
||||||
CASE
|
CASE
|
||||||
WHEN
|
WHEN
|
||||||
@ -38,6 +39,7 @@ FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
|
|||||||
"update_time",
|
"update_time",
|
||||||
0 as file_size_limit,
|
0 as file_size_limit,
|
||||||
0 as file_count_limit,
|
0 as file_count_limit,
|
||||||
|
'WORKSPACE' as "scope",
|
||||||
0 as char_length,
|
0 as char_length,
|
||||||
0 as application_mapping_count,
|
0 as application_mapping_count,
|
||||||
0 as document_count
|
0 as document_count
|
||||||
|
|||||||
@ -10,6 +10,7 @@ FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
|
|||||||
"temp_knowledge".update_time,
|
"temp_knowledge".update_time,
|
||||||
"temp_knowledge".file_size_limit,
|
"temp_knowledge".file_size_limit,
|
||||||
"temp_knowledge".file_count_limit,
|
"temp_knowledge".file_count_limit,
|
||||||
|
"temp_knowledge"."scope",
|
||||||
"document_temp"."char_length",
|
"document_temp"."char_length",
|
||||||
CASE
|
CASE
|
||||||
WHEN
|
WHEN
|
||||||
@ -42,6 +43,7 @@ FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
|
|||||||
"update_time",
|
"update_time",
|
||||||
0 as file_size_limit,
|
0 as file_size_limit,
|
||||||
0 as file_count_limit,
|
0 as file_count_limit,
|
||||||
|
'WORKSPACE' as "scope",
|
||||||
0 as char_length,
|
0 as char_length,
|
||||||
0 as application_mapping_count,
|
0 as application_mapping_count,
|
||||||
0 as document_count
|
0 as document_count
|
||||||
|
|||||||
@ -10,6 +10,7 @@ FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
|
|||||||
"temp_knowledge".update_time,
|
"temp_knowledge".update_time,
|
||||||
"temp_knowledge".file_size_limit,
|
"temp_knowledge".file_size_limit,
|
||||||
"temp_knowledge".file_count_limit,
|
"temp_knowledge".file_count_limit,
|
||||||
|
"temp_knowledge"."scope",
|
||||||
"document_temp"."char_length",
|
"document_temp"."char_length",
|
||||||
CASE
|
CASE
|
||||||
WHEN
|
WHEN
|
||||||
@ -51,6 +52,7 @@ FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
|
|||||||
"update_time",
|
"update_time",
|
||||||
0 as file_size_limit,
|
0 as file_size_limit,
|
||||||
0 as file_count_limit,
|
0 as file_count_limit,
|
||||||
|
'WORKSPACE' as "scope",
|
||||||
0 as char_length,
|
0 as char_length,
|
||||||
0 as application_mapping_count,
|
0 as application_mapping_count,
|
||||||
0 as document_count
|
0 as document_count
|
||||||
|
|||||||
@ -11,6 +11,7 @@ from common.result import result
|
|||||||
from knowledge.api.knowledge import KnowledgeBaseCreateAPI, KnowledgeWebCreateAPI, KnowledgeTreeReadAPI, \
|
from knowledge.api.knowledge import KnowledgeBaseCreateAPI, KnowledgeWebCreateAPI, KnowledgeTreeReadAPI, \
|
||||||
KnowledgeEditAPI, KnowledgeReadAPI, KnowledgePageAPI, SyncWebAPI, GenerateRelatedAPI, HitTestAPI, EmbeddingAPI, \
|
KnowledgeEditAPI, KnowledgeReadAPI, KnowledgePageAPI, SyncWebAPI, GenerateRelatedAPI, HitTestAPI, EmbeddingAPI, \
|
||||||
GetModelAPI, KnowledgeExportAPI
|
GetModelAPI, KnowledgeExportAPI
|
||||||
|
from knowledge.models import KnowledgeScope
|
||||||
from knowledge.serializers.common import get_knowledge_operation_object
|
from knowledge.serializers.common import get_knowledge_operation_object
|
||||||
from knowledge.serializers.knowledge import KnowledgeSerializer
|
from knowledge.serializers.knowledge import KnowledgeSerializer
|
||||||
from models_provider.serializers.model_serializer import ModelSerializer
|
from models_provider.serializers.model_serializer import ModelSerializer
|
||||||
@ -39,6 +40,7 @@ class KnowledgeView(APIView):
|
|||||||
'folder_id': request.query_params.get('folder_id'),
|
'folder_id': request.query_params.get('folder_id'),
|
||||||
'name': request.query_params.get('name'),
|
'name': request.query_params.get('name'),
|
||||||
'desc': request.query_params.get("desc"),
|
'desc': request.query_params.get("desc"),
|
||||||
|
'scope': KnowledgeScope.WORKSPACE,
|
||||||
'user_id': request.query_params.get('user_id')
|
'user_id': request.query_params.get('user_id')
|
||||||
}
|
}
|
||||||
).list())
|
).list())
|
||||||
@ -135,6 +137,7 @@ class KnowledgeView(APIView):
|
|||||||
'folder_id': request.query_params.get('folder_id'),
|
'folder_id': request.query_params.get('folder_id'),
|
||||||
'name': request.query_params.get('name'),
|
'name': request.query_params.get('name'),
|
||||||
'desc': request.query_params.get("desc"),
|
'desc': request.query_params.get("desc"),
|
||||||
|
'scope': KnowledgeScope.WORKSPACE,
|
||||||
'user_id': request.user.id
|
'user_id': request.user.id
|
||||||
}
|
}
|
||||||
).page(current_page, page_size))
|
).page(current_page, page_size))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user