refactor: log add workspace_id
parent
60b3bcdd64
commit
f773792424
|
|
@ -50,7 +50,7 @@ class ApplicationAPI(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate='Create an application',
|
@log(menu='Application', operate='Create an application',
|
||||||
get_operation_object=lambda r, k: {'name': r.data.get('name')},
|
get_operation_object=lambda r, k: {'name': r.data.get('name')},
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ApplicationSerializer(data={'workspace_id': workspace_id, 'user_id': request.user.id}).insert(request.data))
|
ApplicationSerializer(data={'workspace_id': workspace_id, 'user_id': request.user.id}).insert(request.data))
|
||||||
|
|
@ -103,7 +103,7 @@ class ApplicationAPI(APIView):
|
||||||
tags=[_('Application')] # type: ignore
|
tags=[_('Application')] # type: ignore
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.APPLICATION_READ, RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
@has_permissions(PermissionConstants.APPLICATION_READ, RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate="Import Application", workspace_id=lambda r, k: k.get('workspace_id'))
|
@log(menu='Application', operate="Import Application", )
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(ApplicationSerializer(
|
return result.success(ApplicationSerializer(
|
||||||
data={'user_id': request.user.id, 'workspace_id': workspace_id,
|
data={'user_id': request.user.id, 'workspace_id': workspace_id,
|
||||||
|
|
@ -126,7 +126,7 @@ class ApplicationAPI(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate="Export Application",
|
@log(menu='Application', operate="Export Application",
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||||
return ApplicationOperateSerializer(
|
return ApplicationOperateSerializer(
|
||||||
data={'application_id': application_id,
|
data={'application_id': application_id,
|
||||||
|
|
@ -148,7 +148,7 @@ class ApplicationAPI(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate='Deleting application',
|
@log(menu='Application', operate='Deleting application',
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, application_id: str):
|
def delete(self, request: Request, workspace_id: str, application_id: str):
|
||||||
return result.success(ApplicationOperateSerializer(
|
return result.success(ApplicationOperateSerializer(
|
||||||
|
|
@ -169,7 +169,7 @@ class ApplicationAPI(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate="Modify the application",
|
@log(menu='Application', operate="Modify the application",
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def put(self, request: Request, workspace_id: str, application_id: str):
|
def put(self, request: Request, workspace_id: str, application_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ApplicationOperateSerializer(
|
ApplicationOperateSerializer(
|
||||||
|
|
@ -207,7 +207,7 @@ class ApplicationAPI(APIView):
|
||||||
)
|
)
|
||||||
@log(menu='Application', operate='Publishing an application',
|
@log(menu='Application', operate='Publishing an application',
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, application_id: str):
|
def put(self, request: Request, workspace_id: str, application_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ class ApplicationKey(APIView):
|
||||||
)
|
)
|
||||||
@log(menu='Application', operate="Add ApiKey",
|
@log(menu='Application', operate="Add ApiKey",
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission(),
|
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission(),
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
|
||||||
)
|
)
|
||||||
|
|
@ -80,7 +80,7 @@ class ApplicationKey(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate="Modify application API_KEY",
|
@log(menu='Application', operate="Modify application API_KEY",
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def put(self, request: Request, workspace_id: str, application_id: str, api_key_id: str):
|
def put(self, request: Request, workspace_id: str, application_id: str, api_key_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ApplicationKeySerializer.Operate(
|
ApplicationKeySerializer.Operate(
|
||||||
|
|
@ -102,7 +102,7 @@ class ApplicationKey(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate="Delete application API_KEY",
|
@log(menu='Application', operate="Delete application API_KEY",
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, application_id: str, api_key_id: str):
|
def delete(self, request: Request, workspace_id: str, application_id: str, api_key_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ApplicationKeySerializer.Operate(
|
ApplicationKeySerializer.Operate(
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ class ApplicationVersionView(APIView):
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
@log(menu='Application', operate="Modify application version information",
|
@log(menu='Application', operate="Modify application version information",
|
||||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def put(self, request: Request, workspace_id: str, application_id: str, work_flow_version_id: str):
|
def put(self, request: Request, workspace_id: str, application_id: str, work_flow_version_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ApplicationVersionSerializer.Operate(
|
ApplicationVersionSerializer.Operate(
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
# coding=utf-8
|
||||||
|
"""
|
||||||
|
@project: maxkb
|
||||||
|
@Author:虎
|
||||||
|
@file: __init__.py
|
||||||
|
@date:2024/3/14 11:54
|
||||||
|
@desc:
|
||||||
|
"""
|
||||||
|
#from .client_access_num_job import *
|
||||||
|
from .clean_chat_job import *
|
||||||
|
from .clean_debug_file_job import *
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
#client_access_num_job.run()
|
||||||
|
clean_chat_job.run()
|
||||||
|
clean_debug_file_job.run()
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
# coding=utf-8
|
||||||
|
|
||||||
|
import logging
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
from django.db import transaction
|
||||||
|
from django.utils import timezone
|
||||||
|
from apscheduler.schedulers.background import BackgroundScheduler
|
||||||
|
from django_apscheduler.jobstores import DjangoJobStore
|
||||||
|
from application.models import Application, Chat, ChatRecord
|
||||||
|
from django.db.models import Q, Max
|
||||||
|
from common.lock.impl.file_lock import FileLock
|
||||||
|
|
||||||
|
from knowledge.models import File
|
||||||
|
|
||||||
|
scheduler = BackgroundScheduler()
|
||||||
|
scheduler.add_jobstore(DjangoJobStore(), "default")
|
||||||
|
lock = FileLock()
|
||||||
|
|
||||||
|
|
||||||
|
def clean_chat_log_job():
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
logging.getLogger("max_kb").info(_('start clean chat log'))
|
||||||
|
now = timezone.now()
|
||||||
|
|
||||||
|
applications = Application.objects.all().values('id', 'clean_time')
|
||||||
|
cutoff_dates = {
|
||||||
|
app['id']: now - datetime.timedelta(days=app['clean_time'] or 180)
|
||||||
|
for app in applications
|
||||||
|
}
|
||||||
|
|
||||||
|
query_conditions = Q()
|
||||||
|
for app_id, cutoff_date in cutoff_dates.items():
|
||||||
|
query_conditions |= Q(chat__application_id=app_id, create_time__lt=cutoff_date)
|
||||||
|
batch_size = 500
|
||||||
|
while True:
|
||||||
|
with transaction.atomic():
|
||||||
|
chat_records = ChatRecord.objects.filter(query_conditions).select_related('chat').only('id', 'chat_id',
|
||||||
|
'create_time')[
|
||||||
|
:batch_size]
|
||||||
|
if not chat_records:
|
||||||
|
break
|
||||||
|
chat_record_ids = [record.id for record in chat_records]
|
||||||
|
chat_ids = {record.chat_id for record in chat_records}
|
||||||
|
|
||||||
|
# 计算每个 chat_id 的最大 create_time
|
||||||
|
max_create_times = ChatRecord.objects.filter(id__in=chat_record_ids).values('chat_id').annotate(
|
||||||
|
max_create_time=Max('create_time'))
|
||||||
|
|
||||||
|
# 收集需要删除的文件
|
||||||
|
files_to_delete = []
|
||||||
|
for record in chat_records:
|
||||||
|
max_create_time = next(
|
||||||
|
(item['max_create_time'] for item in max_create_times if item['chat_id'] == record.chat_id), None)
|
||||||
|
if max_create_time:
|
||||||
|
files_to_delete.extend(
|
||||||
|
File.objects.filter(meta__chat_id=str(record.chat_id), create_time__lt=max_create_time)
|
||||||
|
)
|
||||||
|
# 删除 ChatRecord
|
||||||
|
deleted_count = ChatRecord.objects.filter(id__in=chat_record_ids).delete()[0]
|
||||||
|
|
||||||
|
# 删除没有关联 ChatRecord 的 Chat
|
||||||
|
Chat.objects.filter(chatrecord__isnull=True, id__in=chat_ids).delete()
|
||||||
|
File.objects.filter(loid__in=[file.loid for file in files_to_delete]).delete()
|
||||||
|
|
||||||
|
if deleted_count < batch_size:
|
||||||
|
break
|
||||||
|
|
||||||
|
logging.getLogger("max_kb").info(_('end clean chat log'))
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
if lock.try_lock('clean_chat_log_job', 30 * 30):
|
||||||
|
try:
|
||||||
|
scheduler.start()
|
||||||
|
existing_job = scheduler.get_job(job_id='clean_chat_log')
|
||||||
|
if existing_job is not None:
|
||||||
|
existing_job.remove()
|
||||||
|
scheduler.add_job(clean_chat_log_job, 'cron', hour='0', minute='5', id='clean_chat_log')
|
||||||
|
finally:
|
||||||
|
lock.un_lock('clean_chat_log_job')
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# coding=utf-8
|
||||||
|
|
||||||
|
import logging
|
||||||
|
from datetime import timedelta
|
||||||
|
|
||||||
|
from apscheduler.schedulers.background import BackgroundScheduler
|
||||||
|
from django.db.models import Q
|
||||||
|
from django.utils import timezone
|
||||||
|
from django_apscheduler.jobstores import DjangoJobStore
|
||||||
|
|
||||||
|
from common.lock.impl.file_lock import FileLock
|
||||||
|
from knowledge.models import File
|
||||||
|
|
||||||
|
scheduler = BackgroundScheduler()
|
||||||
|
scheduler.add_jobstore(DjangoJobStore(), "default")
|
||||||
|
lock = FileLock()
|
||||||
|
|
||||||
|
|
||||||
|
def clean_debug_file():
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
logging.getLogger("max_kb").info(_('start clean debug file'))
|
||||||
|
two_hours_ago = timezone.now() - timedelta(hours=2)
|
||||||
|
# 删除对应的文件
|
||||||
|
File.objects.filter(Q(create_time__lt=two_hours_ago) & Q(meta__debug=True)).delete()
|
||||||
|
logging.getLogger("max_kb").info(_('end clean debug file'))
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
if lock.try_lock('clean_debug_file', 30 * 30):
|
||||||
|
try:
|
||||||
|
scheduler.start()
|
||||||
|
clean_debug_file_job = scheduler.get_job(job_id='clean_debug_file')
|
||||||
|
if clean_debug_file_job is not None:
|
||||||
|
clean_debug_file_job.remove()
|
||||||
|
scheduler.add_job(clean_debug_file, 'cron', hour='2', minute='0', second='0', id='clean_debug_file')
|
||||||
|
finally:
|
||||||
|
lock.un_lock('clean_debug_file')
|
||||||
|
|
@ -57,7 +57,7 @@ def _get_details(request):
|
||||||
|
|
||||||
|
|
||||||
def _get_workspace_id(request, kwargs):
|
def _get_workspace_id(request, kwargs):
|
||||||
return kwargs.get('workspace_id', None)
|
return kwargs.get('workspace_id', 'None')
|
||||||
|
|
||||||
|
|
||||||
def log(menu: str, operate, get_user=_get_user, get_ip_address=_get_ip_address, get_details=_get_details,
|
def log(menu: str, operate, get_user=_get_user, get_ip_address=_get_ip_address, get_details=_get_details,
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ class FolderView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='folder', operate='Create folder',
|
menu='folder', operate='Create folder',
|
||||||
get_operation_object=lambda r, k: {'name': r.data.get('name')},
|
get_operation_object=lambda r, k: {'name': r.data.get('name')},
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, source: str):
|
def post(self, request: Request, workspace_id: str, source: str):
|
||||||
return result.success(FolderSerializer.Create(
|
return result.success(FolderSerializer.Create(
|
||||||
|
|
@ -93,7 +93,7 @@ class FolderView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='folder', operate='Edit folder',
|
menu='folder', operate='Edit folder',
|
||||||
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
|
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, source: str, folder_id: str):
|
def put(self, request: Request, workspace_id: str, source: str, folder_id: str):
|
||||||
return result.success(FolderSerializer.Operate(
|
return result.success(FolderSerializer.Operate(
|
||||||
|
|
@ -136,7 +136,7 @@ class FolderView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='folder', operate='Delete folder',
|
menu='folder', operate='Delete folder',
|
||||||
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
|
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, source: str, folder_id: str):
|
def delete(self, request: Request, workspace_id: str, source: str, folder_id: str):
|
||||||
return result.success(FolderSerializer.Operate(
|
return result.success(FolderSerializer.Operate(
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ class DocumentView(APIView):
|
||||||
@log(menu='document', operate="Create document",
|
@log(menu='document', operate="Create document",
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
{'name': r.data.get('name')}), workspace_id=lambda r, keywords: keywords.get('workspace_id'))
|
{'name': r.data.get('name')}), )
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Create(
|
DocumentSerializers.Create(
|
||||||
|
|
@ -112,7 +112,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(DocumentSerializers.Operate(data={
|
return result.success(DocumentSerializers.Operate(data={
|
||||||
|
|
@ -136,7 +136,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
operate = DocumentSerializers.Operate(data={
|
operate = DocumentSerializers.Operate(data={
|
||||||
|
|
@ -217,7 +217,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data.get('id_list'))),
|
get_document_operation_object_batch(r.data.get('id_list'))),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(
|
return result.success(DocumentSerializers.Batch(
|
||||||
|
|
@ -246,7 +246,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(DocumentSerializers.Sync(
|
return result.success(DocumentSerializers.Sync(
|
||||||
|
|
@ -275,7 +275,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(DocumentSerializers.Operate(
|
return result.success(DocumentSerializers.Operate(
|
||||||
|
|
@ -303,7 +303,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(DocumentSerializers.Operate(
|
return result.success(DocumentSerializers.Operate(
|
||||||
|
|
@ -331,7 +331,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data.get('id_list'))
|
get_document_operation_object_batch(r.data.get('id_list'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(data={
|
return result.success(DocumentSerializers.Batch(data={
|
||||||
|
|
@ -361,7 +361,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
{'name': f'[{",".join([document.get("name") for document in r.data])}]',
|
{'name': f'[{",".join([document.get("name") for document in r.data])}]',
|
||||||
'document_list': r.data}), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
'document_list': r.data}),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(
|
return result.success(DocumentSerializers.Batch(
|
||||||
|
|
@ -391,7 +391,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data.get('id_list'))),
|
get_document_operation_object_batch(r.data.get('id_list'))),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(
|
return result.success(DocumentSerializers.Batch(
|
||||||
|
|
@ -421,7 +421,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data.get('id_list'))),
|
get_document_operation_object_batch(r.data.get('id_list'))),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(
|
return result.success(DocumentSerializers.Batch(
|
||||||
|
|
@ -450,7 +450,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data.get('id_list'))
|
get_document_operation_object_batch(r.data.get('id_list'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
|
|
@ -481,7 +481,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data.get('document_id_list'))
|
get_document_operation_object_batch(r.data.get('document_id_list'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.BatchGenerateRelated(
|
return result.success(DocumentSerializers.BatchGenerateRelated(
|
||||||
|
|
@ -535,7 +535,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return DocumentSerializers.Operate(data={
|
return DocumentSerializers.Operate(data={
|
||||||
|
|
@ -561,7 +561,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return DocumentSerializers.Operate(data={
|
return DocumentSerializers.Operate(data={
|
||||||
|
|
@ -607,7 +607,7 @@ class DocumentView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object_batch(r.data)
|
get_document_operation_object_batch(r.data)
|
||||||
), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id, knowledge_id: str, target_knowledge_id: str):
|
def put(self, request: Request, workspace_id, knowledge_id: str, target_knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Migrate(
|
return result.success(DocumentSerializers.Migrate(
|
||||||
|
|
@ -642,7 +642,7 @@ class WebDocumentView(APIView):
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
{'name': f'[{",".join([url for url in r.data.get("source_url_list", [])])}]',
|
{'name': f'[{",".join([url for url in r.data.get("source_url_list", [])])}]',
|
||||||
'document_list': [{'name': url} for url in r.data.get("source_url_list", [])]}),
|
'document_list': [{'name': url} for url in r.data.get("source_url_list", [])]}),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Create(data={
|
return result.success(DocumentSerializers.Create(data={
|
||||||
|
|
@ -673,7 +673,7 @@ class QaDocumentView(APIView):
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
{'name': f'[{",".join([file.name for file in r.FILES.getlist("file")])}]',
|
{'name': f'[{",".join([file.name for file in r.FILES.getlist("file")])}]',
|
||||||
'document_list': [{'name': file.name} for file in r.FILES.getlist("file")]}),
|
'document_list': [{'name': file.name} for file in r.FILES.getlist("file")]}),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Create(data={
|
return result.success(DocumentSerializers.Create(data={
|
||||||
|
|
@ -704,7 +704,7 @@ class TableDocumentView(APIView):
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
{'name': f'[{",".join([file.name for file in r.FILES.getlist("file")])}]',
|
{'name': f'[{",".join([file.name for file in r.FILES.getlist("file")])}]',
|
||||||
'document_list': [{'name': file.name} for file in r.FILES.getlist("file")]}),
|
'document_list': [{'name': file.name} for file in r.FILES.getlist("file")]}),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(DocumentSerializers.Create(
|
return result.success(DocumentSerializers.Create(
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Knowledge Base', operate="Modify knowledge base information",
|
menu='Knowledge Base', operate="Modify knowledge base information",
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(KnowledgeSerializer.Operate(
|
return result.success(KnowledgeSerializer.Operate(
|
||||||
|
|
@ -89,7 +89,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Knowledge Base', operate="Delete knowledge base",
|
menu='Knowledge Base', operate="Delete knowledge base",
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, knowledge_id: str):
|
def delete(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(KnowledgeSerializer.Operate(
|
return result.success(KnowledgeSerializer.Operate(
|
||||||
|
|
@ -162,7 +162,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Knowledge Base', operate="Synchronize the knowledge base of the website",
|
menu='Knowledge Base', operate="Synchronize the knowledge base of the website",
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(KnowledgeSerializer.SyncWeb(
|
return result.success(KnowledgeSerializer.SyncWeb(
|
||||||
|
|
@ -224,7 +224,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Knowledge Base', operate='Re-vectorize',
|
menu='Knowledge Base', operate='Re-vectorize',
|
||||||
get_operation_object=lambda r, k: get_knowledge_operation_object(k.get('knowledge_id')),
|
get_operation_object=lambda r, k: get_knowledge_operation_object(k.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(KnowledgeSerializer.Operate(
|
return result.success(KnowledgeSerializer.Operate(
|
||||||
|
|
@ -248,7 +248,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Knowledge Base', operate="Export knowledge base",
|
menu='Knowledge Base', operate="Export knowledge base",
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return KnowledgeSerializer.Operate(data={
|
return KnowledgeSerializer.Operate(data={
|
||||||
|
|
@ -272,7 +272,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Knowledge Base', operate="Export knowledge base containing images",
|
menu='Knowledge Base', operate="Export knowledge base containing images",
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return KnowledgeSerializer.Operate(data={
|
return KnowledgeSerializer.Operate(data={
|
||||||
|
|
@ -299,7 +299,7 @@ class KnowledgeView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='document', operate='Generate related documents',
|
menu='document', operate='Generate related documents',
|
||||||
get_operation_object=lambda r, k: get_knowledge_operation_object(k.get('knowledge_id')),
|
get_operation_object=lambda r, k: get_knowledge_operation_object(k.get('knowledge_id')),
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(KnowledgeSerializer.Operate(
|
return result.success(KnowledgeSerializer.Operate(
|
||||||
|
|
@ -375,7 +375,7 @@ class KnowledgeBaseView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='knowledge Base', operate='Create base knowledge',
|
menu='knowledge Base', operate='Create base knowledge',
|
||||||
get_operation_object=lambda r, k: {'name': r.data.get('name'), 'desc': r.data.get('desc')},
|
get_operation_object=lambda r, k: {'name': r.data.get('name'), 'desc': r.data.get('desc')},
|
||||||
workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(KnowledgeSerializer.Create(
|
return result.success(KnowledgeSerializer.Create(
|
||||||
|
|
@ -407,7 +407,7 @@ class KnowledgeWebView(APIView):
|
||||||
'meta': {'source_url': r.data.get('source_url'),
|
'meta': {'source_url': r.data.get('source_url'),
|
||||||
'selector': r.data.get('selector'),
|
'selector': r.data.get('selector'),
|
||||||
'embedding_model_id': r.data.get('embedding_model_id')}}
|
'embedding_model_id': r.data.get('embedding_model_id')}}
|
||||||
, workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
,
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(KnowledgeSerializer.Create(
|
return result.success(KnowledgeSerializer.Create(
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(ParagraphSerializers.Create(
|
return result.success(ParagraphSerializers.Create(
|
||||||
|
|
@ -110,7 +110,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str,
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str,
|
||||||
target_knowledge_id: str, target_document_id):
|
target_knowledge_id: str, target_document_id):
|
||||||
|
|
@ -146,7 +146,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(ParagraphSerializers.Batch(
|
return result.success(ParagraphSerializers.Batch(
|
||||||
|
|
@ -175,7 +175,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
||||||
o = ParagraphSerializers.Operate(
|
o = ParagraphSerializers.Operate(
|
||||||
|
|
@ -231,7 +231,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
||||||
o = ParagraphSerializers.Operate(
|
o = ParagraphSerializers.Operate(
|
||||||
|
|
@ -267,7 +267,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
||||||
return result.success(ParagraphSerializers.Problem(
|
return result.success(ParagraphSerializers.Problem(
|
||||||
|
|
@ -359,7 +359,7 @@ class ParagraphView(APIView):
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
get_document_operation_object(keywords.get('document_id'))
|
get_document_operation_object(keywords.get('document_id'))
|
||||||
), workspace_id=lambda r, k: k.get('workspace_id')
|
),
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||||
return result.success(ParagraphSerializers.Association(
|
return result.success(ParagraphSerializers.Association(
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class ProblemView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='problem', operate='Create question',
|
menu='problem', operate='Create question',
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id'))
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id'))
|
||||||
, workspace_id=lambda r, k: k.get('workspace_id')
|
,
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(ProblemSerializers.Create(
|
return result.success(ProblemSerializers.Create(
|
||||||
|
|
@ -110,7 +110,7 @@ class ProblemView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='problem', operate='Batch associated paragraphs',
|
menu='problem', operate='Batch associated paragraphs',
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(ProblemSerializers.BatchOperate(
|
return result.success(ProblemSerializers.BatchOperate(
|
||||||
|
|
@ -137,7 +137,7 @@ class ProblemView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='problem', operate='Batch deletion issues',
|
menu='problem', operate='Batch deletion issues',
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||||
return result.success(ProblemSerializers.BatchOperate(
|
return result.success(ProblemSerializers.BatchOperate(
|
||||||
|
|
@ -163,7 +163,7 @@ class ProblemView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='problem', operate='Delete question',
|
menu='problem', operate='Delete question',
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
|
def delete(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
|
||||||
return result.success(ProblemSerializers.Operate(
|
return result.success(ProblemSerializers.Operate(
|
||||||
|
|
@ -192,7 +192,7 @@ class ProblemView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='problem', operate='Modify question',
|
menu='problem', operate='Modify question',
|
||||||
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
|
def put(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
|
||||||
return result.success(ProblemSerializers.Operate(
|
return result.success(ProblemSerializers.Operate(
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ class ModelSetting(APIView):
|
||||||
@has_permissions(PermissionConstants.MODEL_CREATE.get_workspace_permission())
|
@has_permissions(PermissionConstants.MODEL_CREATE.get_workspace_permission())
|
||||||
@log(menu='model', operate='Create model',
|
@log(menu='model', operate='Create model',
|
||||||
get_operation_object=lambda r, k: {'name': r.date.get('name')},
|
get_operation_object=lambda r, k: {'name': r.date.get('name')},
|
||||||
get_details=get_edit_model_details, workspace_id=lambda r, k: k.get('workspace_id')
|
get_details=get_edit_model_details,
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
|
|
@ -114,7 +114,7 @@ class ModelSetting(APIView):
|
||||||
@has_permissions(PermissionConstants.MODEL_EDIT.get_workspace_permission())
|
@has_permissions(PermissionConstants.MODEL_EDIT.get_workspace_permission())
|
||||||
@log(menu='model', operate='Update model',
|
@log(menu='model', operate='Update model',
|
||||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||||
get_details=get_edit_model_details, workspace_id=lambda r, k: k.get('workspace_id')
|
get_details=get_edit_model_details,
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id, model_id: str):
|
def put(self, request: Request, workspace_id, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
|
|
@ -131,7 +131,7 @@ class ModelSetting(APIView):
|
||||||
@has_permissions(PermissionConstants.MODEL_DELETE.get_workspace_permission())
|
@has_permissions(PermissionConstants.MODEL_DELETE.get_workspace_permission())
|
||||||
@log(menu='model', operate='Delete model',
|
@log(menu='model', operate='Delete model',
|
||||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, model_id: str):
|
def delete(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).delete())
|
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).delete())
|
||||||
|
|
@ -174,7 +174,7 @@ class ModelSetting(APIView):
|
||||||
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission())
|
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission())
|
||||||
@log(menu='model', operate='Save model parameter form',
|
@log(menu='model', operate='Save model parameter form',
|
||||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id'))
|
)
|
||||||
def put(self, request: Request, workspace_id: str, model_id: str):
|
def put(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.ModelParams(data={'id': model_id}).save_model_params_form(request.data))
|
ModelSerializer.ModelParams(data={'id': model_id}).save_model_params_form(request.data))
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ class SystemSetting(APIView):
|
||||||
responses=EmailSettingAPI.get_response(),
|
responses=EmailSettingAPI.get_response(),
|
||||||
tags=[_('Email Settings')]) # type: ignore
|
tags=[_('Email Settings')]) # type: ignore
|
||||||
@log(menu='Email settings', operate='Create or update email settings',
|
@log(menu='Email settings', operate='Create or update email settings',
|
||||||
get_details=get_email_details, workspace_id='None')
|
get_details=get_email_details)
|
||||||
@has_permissions(PermissionConstants.EMAIL_SETTING_EDIT)
|
@has_permissions(PermissionConstants.EMAIL_SETTING_EDIT)
|
||||||
def put(self, request: Request):
|
def put(self, request: Request):
|
||||||
return result.success(
|
return result.success(
|
||||||
|
|
@ -72,7 +72,7 @@ class SystemSetting(APIView):
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.EMAIL_SETTING_EDIT)
|
@has_permissions(PermissionConstants.EMAIL_SETTING_EDIT)
|
||||||
@log(menu='Email settings', operate='Test email settings',
|
@log(menu='Email settings', operate='Test email settings',
|
||||||
get_details=get_email_details, workspace_id='None'
|
get_details=get_email_details
|
||||||
)
|
)
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(
|
return result.success(
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ class ToolView(APIView):
|
||||||
)
|
)
|
||||||
@log(
|
@log(
|
||||||
menu="Tool", operate="Create tool",
|
menu="Tool", operate="Create tool",
|
||||||
get_operation_object=lambda r, k: r.data.get('name'), workspace_id=lambda r, k: k.get('workspace_id')
|
get_operation_object=lambda r, k: r.data.get('name'),
|
||||||
)
|
)
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(ToolSerializer.Create(
|
return result.success(ToolSerializer.Create(
|
||||||
|
|
@ -110,7 +110,7 @@ class ToolView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Tool', operate='Update tool',
|
menu='Tool', operate='Update tool',
|
||||||
get_operation_object=lambda r, k: get_tool_operation_object(k.get('tool_id')),
|
get_operation_object=lambda r, k: get_tool_operation_object(k.get('tool_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id: str, tool_id: str):
|
def put(self, request: Request, workspace_id: str, tool_id: str):
|
||||||
return result.success(ToolSerializer.Operate(
|
return result.success(ToolSerializer.Operate(
|
||||||
|
|
@ -152,7 +152,7 @@ class ToolView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Tool', operate="Delete tool",
|
menu='Tool', operate="Delete tool",
|
||||||
get_operation_object=lambda r, k: get_tool_operation_object(k.get('tool_id')),
|
get_operation_object=lambda r, k: get_tool_operation_object(k.get('tool_id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, tool_id: str):
|
def delete(self, request: Request, workspace_id: str, tool_id: str):
|
||||||
return result.success(ToolSerializer.Operate(
|
return result.success(ToolSerializer.Operate(
|
||||||
|
|
@ -204,7 +204,7 @@ class ToolView(APIView):
|
||||||
PermissionConstants.TOOL_IMPORT.get_workspace_permission(),
|
PermissionConstants.TOOL_IMPORT.get_workspace_permission(),
|
||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
|
||||||
)
|
)
|
||||||
@log(menu='Tool', operate='Import tool', workspace_id=lambda r, k: k.get('workspace_id'))
|
@log(menu='Tool', operate='Import tool', )
|
||||||
def post(self, request: Request, workspace_id: str):
|
def post(self, request: Request, workspace_id: str):
|
||||||
return result.success(ToolSerializer.Import(
|
return result.success(ToolSerializer.Import(
|
||||||
data={'workspace_id': workspace_id, 'file': request.FILES.get('file'), 'user_id': request.user.id}
|
data={'workspace_id': workspace_id, 'file': request.FILES.get('file'), 'user_id': request.user.id}
|
||||||
|
|
@ -229,7 +229,7 @@ class ToolView(APIView):
|
||||||
@log(
|
@log(
|
||||||
menu='Tool', operate="Export function",
|
menu='Tool', operate="Export function",
|
||||||
get_operation_object=lambda r, k: get_tool_operation_object(k.get('id')),
|
get_operation_object=lambda r, k: get_tool_operation_object(k.get('id')),
|
||||||
workspace_id=lambda r, k: k.get('workspace_id')
|
|
||||||
)
|
)
|
||||||
def get(self, request: Request, tool_id: str, workspace_id: str):
|
def get(self, request: Request, tool_id: str, workspace_id: str):
|
||||||
return ToolSerializer.Operate(
|
return ToolSerializer.Operate(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue