mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
This commit is contained in:
parent
982604d39a
commit
e6e3acdfea
|
|
@ -48,7 +48,8 @@ class Application(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_permission())
|
||||
@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):
|
||||
return result.success(
|
||||
ApplicationSerializer(data={'workspace_id': workspace_id, 'user_id': request.user.id}).insert(request.data))
|
||||
|
|
@ -99,7 +100,7 @@ class Application(APIView):
|
|||
tags=[_('Application')] # type: ignore
|
||||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_READ)
|
||||
@log(menu='Application', operate="Import Application")
|
||||
@log(menu='Application', operate="Import Application", workspace_id=lambda r, k: k.get('workspace_id'))
|
||||
def post(self, request: Request, workspace_id: str):
|
||||
return result.success(ApplicationSerializer(
|
||||
data={'user_id': request.user.id, 'workspace_id': workspace_id,
|
||||
|
|
@ -120,7 +121,8 @@ class Application(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EXPORT.get_workspace_application_permission())
|
||||
@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):
|
||||
return ApplicationOperateSerializer(
|
||||
data={'application_id': application_id,
|
||||
|
|
@ -140,7 +142,8 @@ class Application(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_DELETE.get_workspace_application_permission())
|
||||
@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):
|
||||
return result.success(ApplicationOperateSerializer(
|
||||
|
|
@ -159,7 +162,8 @@ class Application(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission())
|
||||
@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):
|
||||
return result.success(
|
||||
ApplicationOperateSerializer(
|
||||
|
|
@ -195,7 +199,8 @@ class Application(APIView):
|
|||
tags=[_('Application')] # type: ignore
|
||||
)
|
||||
@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, application_id: str):
|
||||
return result.success(
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from rest_framework.request import Request
|
|||
from rest_framework.views import APIView
|
||||
|
||||
from application.api.application_api_key import ApplicationKeyAPI
|
||||
from application.models import ApplicationApiKey
|
||||
from application.models import ApplicationApiKey, Application
|
||||
from application.serializers.application_api_key import ApplicationKeySerializer
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
|
|
@ -14,11 +14,11 @@ from common.log.log import log
|
|||
from common.result import result, success, DefaultResultSerializer
|
||||
|
||||
|
||||
def get_application_operation_object(application_api_key_id):
|
||||
application_api_key_model = QuerySet(model=ApplicationApiKey).filter(id=application_api_key_id).first()
|
||||
if application_api_key_model is not None:
|
||||
def get_application_operation_object(application_id):
|
||||
application_model = QuerySet(model=Application).filter(id=application_id).first()
|
||||
if application_model is not None:
|
||||
return {
|
||||
"name": application_api_key_model.name
|
||||
"name": application_model.name
|
||||
}
|
||||
return {}
|
||||
|
||||
|
|
@ -37,7 +37,8 @@ class ApplicationKey(APIView):
|
|||
tags=[_('Application Api Key')] # type: ignore
|
||||
)
|
||||
@log(menu='Application', operate="Add ApiKey",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_api_key_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())
|
||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(ApplicationKeySerializer(
|
||||
|
|
@ -73,6 +74,9 @@ class ApplicationKey(APIView):
|
|||
tags=[_('Application Api Key')] # type: ignore
|
||||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
|
||||
@log(menu='Application', operate="Modify application API_KEY",
|
||||
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):
|
||||
return result.success(
|
||||
ApplicationKeySerializer.Operate(
|
||||
|
|
@ -91,6 +95,9 @@ class ApplicationKey(APIView):
|
|||
tags=[_('Application Api Key')] # type: ignore
|
||||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
|
||||
@log(menu='Application', operate="Delete application API_KEY",
|
||||
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):
|
||||
return result.success(
|
||||
ApplicationKeySerializer.Operate(
|
||||
|
|
|
|||
|
|
@ -92,7 +92,8 @@ class ApplicationVersionView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission())
|
||||
@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):
|
||||
return result.success(
|
||||
ApplicationVersionSerializer.Operate(
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ def _get_details(request):
|
|||
|
||||
|
||||
def log(menu: str, operate, get_user=_get_user, get_ip_address=_get_ip_address, get_details=_get_details,
|
||||
get_operation_object=None):
|
||||
get_operation_object=None, workspace_id="None"):
|
||||
"""
|
||||
记录审计日志
|
||||
@param menu: 操作菜单 str
|
||||
|
|
@ -92,7 +92,7 @@ def log(menu: str, operate, get_user=_get_user, get_ip_address=_get_ip_address,
|
|||
_operate = operate(request)
|
||||
# 插入审计日志
|
||||
Log(menu=menu, operate=_operate, user=user, status=status, ip_address=ip, details=details,
|
||||
operation_object=operation_object).save()
|
||||
operation_object=operation_object, workspace_id=workspace_id).save()
|
||||
|
||||
return run
|
||||
|
||||
|
|
|
|||
|
|
@ -10,25 +10,18 @@ from common.constants.permission_constants import Permission, Group, Operate
|
|||
from common.log.log import log
|
||||
from common.result import result
|
||||
from folders.api.folder import FolderCreateAPI, FolderEditAPI, FolderReadAPI, FolderTreeReadAPI, FolderDeleteAPI
|
||||
from folders.models.folder import FolderCreateRequest, FolderEditRequest
|
||||
from folders.serializers.folder import FolderSerializer, FolderTreeSerializer
|
||||
from folders.serializers.folder import FolderSerializer, FolderTreeSerializer, get_folder_type
|
||||
|
||||
|
||||
def get_folder_create_operation_object(folder_name):
|
||||
folder_model = QuerySet(model=FolderCreateRequest).filter(name=folder_name).first()
|
||||
def get_folder_operation_object(folder_id, source):
|
||||
Folder = get_folder_type(source)
|
||||
folder_model = QuerySet(model=Folder).filter(id=folder_id).first()
|
||||
if folder_model is not None:
|
||||
return {
|
||||
'name': folder_model.name
|
||||
}
|
||||
return {}
|
||||
|
||||
def get_folder_edit_operation_object(folder_name):
|
||||
folder_model = QuerySet(model=FolderEditRequest).filter(name=folder_name).first()
|
||||
if folder_model is not None:
|
||||
return {
|
||||
'name': folder_model.name
|
||||
}
|
||||
return {}
|
||||
|
||||
class FolderView(APIView):
|
||||
authentication_classes = [TokenAuth]
|
||||
|
|
@ -46,7 +39,8 @@ class FolderView(APIView):
|
|||
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.CREATE,
|
||||
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))
|
||||
@log(menu='folder', operate='Create folder',
|
||||
get_operation_object=lambda r,k: get_folder_create_operation_object(k.get('folder_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):
|
||||
return result.success(FolderSerializer.Create(
|
||||
|
|
@ -87,7 +81,8 @@ class FolderView(APIView):
|
|||
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT,
|
||||
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))
|
||||
@log(menu='folder', operate='Edit folder',
|
||||
get_operation_object=lambda r, k: get_folder_edit_operation_object(k.get('folder_name'))
|
||||
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):
|
||||
return result.success(FolderSerializer.Operate(
|
||||
|
|
@ -121,7 +116,10 @@ class FolderView(APIView):
|
|||
)
|
||||
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.DELETE,
|
||||
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))
|
||||
@log(menu='folder', operate='Delete folder')
|
||||
@log(menu='folder', operate='Delete folder',
|
||||
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):
|
||||
return result.success(FolderSerializer.Operate(
|
||||
data={'id': folder_id, 'workspace_id': workspace_id, 'source': source}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ from django.db.models import QuerySet
|
|||
from knowledge.models import Document
|
||||
|
||||
|
||||
|
||||
def get_document_operation_object(document_id: str):
|
||||
document_model = QuerySet(model=Document).filter(id=document_id).first()
|
||||
if document_model is not None:
|
||||
|
|
@ -13,6 +12,7 @@ def get_document_operation_object(document_id: str):
|
|||
}
|
||||
return {}
|
||||
|
||||
|
||||
def get_document_operation_object_batch(document_id_list: str):
|
||||
document_model_list = QuerySet(model=Document).filter(id__in=document_id_list)
|
||||
if document_model_list is not None:
|
||||
|
|
@ -32,4 +32,4 @@ def get_knowledge_document_operation_object(knowledge_dict: dict, document_dict:
|
|||
'dataset_type': knowledge_dict.get("type", ""),
|
||||
'document_name': document_dict.get("name", ""),
|
||||
'document_type': document_dict.get("type", ""),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class DocumentView(APIView):
|
|||
@log(menu='document', operate="Create document",
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
{'name': r.data.get('name')}))
|
||||
{'name': r.data.get('name')}), workspace_id=lambda r, keywords: keywords.get('workspace_id'))
|
||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Create(
|
||||
|
|
@ -99,7 +99,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(DocumentSerializers.Operate(data={
|
||||
|
|
@ -119,7 +119,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
operate = DocumentSerializers.Operate(data={
|
||||
|
|
@ -194,7 +194,8 @@ class DocumentView(APIView):
|
|||
@log(menu='document', operate="Modify document hit processing methods in batches",
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
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):
|
||||
return result.success(DocumentSerializers.Batch(
|
||||
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -218,7 +219,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(DocumentSerializers.Sync(
|
||||
data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -242,7 +243,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(DocumentSerializers.Operate(
|
||||
|
|
@ -266,7 +267,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(DocumentSerializers.Operate(
|
||||
data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -289,7 +290,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
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):
|
||||
return result.success(DocumentSerializers.Batch(data={
|
||||
|
|
@ -317,7 +318,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
{'name': f'[{",".join([document.get("name") for document in r.data])}]',
|
||||
'document_list': r.data})
|
||||
'document_list': r.data}), workspace_id=lambda r, keywords: keywords.get('workspace_id')
|
||||
)
|
||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
return result.success(DocumentSerializers.Batch(
|
||||
|
|
@ -344,7 +345,8 @@ class DocumentView(APIView):
|
|||
@log(menu='document', operate="Batch sync documents",
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
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):
|
||||
return result.success(DocumentSerializers.Batch(
|
||||
|
|
@ -371,7 +373,8 @@ class DocumentView(APIView):
|
|||
@log(menu='document', operate="Delete documents in batches",
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
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):
|
||||
return result.success(DocumentSerializers.Batch(
|
||||
data={'workspace_id': workspace_id, 'knowledge_id': knowledge_id}
|
||||
|
|
@ -397,7 +400,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
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):
|
||||
return result.success(
|
||||
|
|
@ -426,7 +429,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
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):
|
||||
return result.success(DocumentSerializers.BatchGenerateRelated(
|
||||
|
|
@ -473,7 +476,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return DocumentSerializers.Operate(data={
|
||||
|
|
@ -495,7 +498,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return DocumentSerializers.Operate(data={
|
||||
|
|
@ -512,7 +515,8 @@ class DocumentView(APIView):
|
|||
responses=DocumentDownloadSourceAPI.get_response(),
|
||||
tags=[_('Knowledge Base/Documentation')] # type: ignore
|
||||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.get_workspace_knowledge_permission())
|
||||
@has_permissions(
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.get_workspace_knowledge_permission())
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||
return DocumentSerializers.Operate(data={
|
||||
'workspace_id': workspace_id, 'document_id': document_id, 'knowledge_id': knowledge_id
|
||||
|
|
@ -534,7 +538,7 @@ class DocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
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):
|
||||
return result.success(DocumentSerializers.Migrate(
|
||||
|
|
@ -564,7 +568,8 @@ class WebDocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
{'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):
|
||||
return result.success(DocumentSerializers.Create(data={
|
||||
'knowledge_id': knowledge_id, 'workspace_id': workspace_id
|
||||
|
|
@ -589,7 +594,8 @@ class QaDocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
{'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):
|
||||
return result.success(DocumentSerializers.Create(data={
|
||||
'knowledge_id': knowledge_id, 'workspace_id': workspace_id
|
||||
|
|
@ -614,7 +620,8 @@ class TableDocumentView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
{'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):
|
||||
return result.success(DocumentSerializers.Create(
|
||||
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_EDIT.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(KnowledgeSerializer.Operate(
|
||||
data={'user_id': request.user.id, 'workspace_id': workspace_id, 'knowledge_id': knowledge_id}
|
||||
|
|
@ -73,7 +74,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_DELETE.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(KnowledgeSerializer.Operate(
|
||||
data={'user_id': request.user.id, 'workspace_id': workspace_id, 'knowledge_id': knowledge_id}
|
||||
|
|
@ -133,7 +135,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_SYNC.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(KnowledgeSerializer.SyncWeb(
|
||||
data={
|
||||
|
|
@ -186,7 +189,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_VECTOR.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(KnowledgeSerializer.Operate(
|
||||
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id, 'user_id': request.user.id}
|
||||
|
|
@ -204,7 +208,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return KnowledgeSerializer.Operate(data={
|
||||
'workspace_id': workspace_id, 'knowledge_id': knowledge_id, 'user_id': request.user.id
|
||||
|
|
@ -222,7 +227,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return KnowledgeSerializer.Operate(data={
|
||||
'workspace_id': workspace_id, 'knowledge_id': knowledge_id, 'user_id': request.user.id
|
||||
|
|
@ -243,7 +249,8 @@ class KnowledgeView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_GENERATE.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(KnowledgeSerializer.Operate(
|
||||
|
|
@ -308,7 +315,8 @@ class KnowledgeBaseView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_CREATE.get_workspace_permission())
|
||||
@log(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):
|
||||
return result.success(KnowledgeSerializer.Create(
|
||||
data={'user_id': request.user.id, 'workspace_id': workspace_id}
|
||||
|
|
@ -330,11 +338,12 @@ class KnowledgeWebView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_CREATE.get_workspace_permission())
|
||||
@log(menu='Knowledge Base', operate="Create a web site knowledge base",
|
||||
get_operation_object=lambda r,k: {'name': r.data.get('name'),'desc': r.data.get('desc'),
|
||||
'first_list': r.FILES.getlist('file'),
|
||||
'meta': {'source_url': r.data.get('source_url'),
|
||||
'selector': r.data.get('selector'),
|
||||
'embedding_model_id': r.data.get('embedding_model_id')}}
|
||||
get_operation_object=lambda r, k: {'name': r.data.get('name'), 'desc': r.data.get('desc'),
|
||||
'first_list': r.FILES.getlist('file'),
|
||||
'meta': {'source_url': r.data.get('source_url'),
|
||||
'selector': r.data.get('selector'),
|
||||
'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):
|
||||
return result.success(KnowledgeSerializer.Create(
|
||||
|
|
|
|||
|
|
@ -51,11 +51,11 @@ class ParagraphView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission())
|
||||
@log(menu='Paragraph', operate='Create Paragraph',
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_id')),
|
||||
get_document_operation_object(keywords.get('document_id'))
|
||||
)
|
||||
)
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(ParagraphSerializers.Create(
|
||||
data={'workspace_id': workspace_id, 'knowledge_id': knowledge_id, 'document_id': document_id}
|
||||
|
|
@ -96,7 +96,7 @@ class ParagraphView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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,
|
||||
target_knowledge_id: str, target_document_id):
|
||||
|
|
@ -128,7 +128,7 @@ class ParagraphView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(ParagraphSerializers.Batch(
|
||||
|
|
@ -153,7 +153,7 @@ class ParagraphView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
o = ParagraphSerializers.Operate(
|
||||
|
|
@ -202,7 +202,7 @@ class ParagraphView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
o = ParagraphSerializers.Operate(
|
||||
|
|
@ -234,7 +234,7 @@ class ParagraphView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(ParagraphSerializers.Problem(
|
||||
|
|
@ -315,7 +315,7 @@ class ParagraphView(APIView):
|
|||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
get_knowledge_operation_object(keywords.get('knowledge_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):
|
||||
return result.success(ParagraphSerializers.Association(
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ class ProblemView(APIView):
|
|||
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
|
||||
@log(menu='problem', operate='Create question',
|
||||
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):
|
||||
return result.success(ProblemSerializers.Create(
|
||||
|
|
@ -94,7 +95,8 @@ class ProblemView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(ProblemSerializers.BatchOperate(
|
||||
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -115,7 +117,8 @@ class ProblemView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(ProblemSerializers.BatchOperate(
|
||||
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -135,7 +138,8 @@ class ProblemView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(ProblemSerializers.Operate(
|
||||
data={
|
||||
|
|
@ -158,7 +162,8 @@ class ProblemView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
|
||||
@log(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):
|
||||
return result.success(ProblemSerializers.Operate(
|
||||
data={
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class ModelSetting(APIView):
|
|||
@has_permissions(PermissionConstants.MODEL_CREATE.get_workspace_permission())
|
||||
@log(menu='model', operate='Create model',
|
||||
get_operation_object=lambda r, k: {'name': r.date.get('name')},
|
||||
get_details=get_edit_model_details
|
||||
get_details=get_edit_model_details, workspace_id=lambda r, k: k.get('workspace_id')
|
||||
)
|
||||
def post(self, request: Request, workspace_id: str):
|
||||
return result.success(
|
||||
|
|
@ -114,7 +114,7 @@ class ModelSetting(APIView):
|
|||
@has_permissions(PermissionConstants.MODEL_EDIT.get_workspace_permission())
|
||||
@log(menu='model', operate='Update model',
|
||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||
get_details=get_edit_model_details
|
||||
get_details=get_edit_model_details, workspace_id=lambda r, k: k.get('workspace_id')
|
||||
)
|
||||
def put(self, request: Request, workspace_id, model_id: str):
|
||||
return result.success(
|
||||
|
|
@ -130,7 +130,8 @@ class ModelSetting(APIView):
|
|||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_DELETE.get_workspace_permission())
|
||||
@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):
|
||||
return result.success(
|
||||
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).delete())
|
||||
|
|
@ -172,7 +173,8 @@ class ModelSetting(APIView):
|
|||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission())
|
||||
@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):
|
||||
return result.success(
|
||||
ModelSerializer.ModelParams(data={'id': model_id}).save_model_params_form(request.data))
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ from common import result
|
|||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants
|
||||
from common.log.log import log
|
||||
from models_provider.api.provide import ProvideApi
|
||||
from models_provider.constants.model_provider_constants import ModelProvideConstants
|
||||
from models_provider.serializers.model_serializer import get_default_model_params_setting
|
||||
|
|
@ -25,7 +24,6 @@ class Provide(APIView):
|
|||
responses=ProvideApi.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_READ)
|
||||
@log(menu='model',operate='Get a list of model suppliers')
|
||||
def get(self, request: Request):
|
||||
model_type = request.query_params.get('model_type')
|
||||
if model_type:
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ class Log(AppModelMixin):
|
|||
ip_address = models.CharField(max_length=128, verbose_name="ip地址")
|
||||
|
||||
details = models.JSONField(verbose_name="详情", default=dict, encoder=SystemEncoder)
|
||||
workspace_id = models.CharField(max_length=64, verbose_name="工作空间id", default="default", db_index=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "log"
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ from models_provider.api.model import DefaultModelResponse
|
|||
from system_manage.api.email_setting import EmailSettingAPI
|
||||
from system_manage.serializers.email_setting import EmailSettingSerializer
|
||||
|
||||
|
||||
def encryption_str(_value):
|
||||
if isinstance(_value, str):
|
||||
return encryption(_value)
|
||||
return _value
|
||||
|
||||
|
||||
|
||||
def get_email_details(request):
|
||||
path = request.path
|
||||
body = request.data
|
||||
|
|
@ -55,7 +55,7 @@ class SystemSetting(APIView):
|
|||
responses=EmailSettingAPI.get_response(),
|
||||
tags=[_('Email Settings')]) # type: ignore
|
||||
@log(menu='Email settings', operate='Create or update email settings',
|
||||
get_details=get_email_details)
|
||||
get_details=get_email_details, workspace_id='None')
|
||||
@has_permissions(PermissionConstants.EMAIL_SETTING_EDIT)
|
||||
def put(self, request: Request):
|
||||
return result.success(
|
||||
|
|
@ -71,8 +71,8 @@ class SystemSetting(APIView):
|
|||
tags=[_('Email Settings')] # type: ignore
|
||||
)
|
||||
@has_permissions(PermissionConstants.EMAIL_SETTING_EDIT)
|
||||
@log(menu='Email settings',operate='Test email settings',
|
||||
get_details=get_email_details
|
||||
@log(menu='Email settings', operate='Test email settings',
|
||||
get_details=get_email_details, workspace_id='None'
|
||||
)
|
||||
def post(self, request: Request):
|
||||
return result.success(
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ def get_tool_operation_object(tool_id):
|
|||
}
|
||||
return {}
|
||||
|
||||
|
||||
class ToolView(APIView):
|
||||
authentication_classes = [TokenAuth]
|
||||
|
||||
|
|
@ -39,7 +40,7 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.TOOL_CREATE.get_workspace_permission())
|
||||
@log(menu="Tool", operate="Create tool",
|
||||
get_operation_object=lambda r,k: r.data.get('name'))
|
||||
get_operation_object=lambda r, k: r.data.get('name'), workspace_id=lambda r, k: k.get('workspace_id'))
|
||||
def post(self, request: Request, workspace_id: str):
|
||||
return result.success(ToolSerializer.Create(
|
||||
data={'user_id': request.user.id, 'workspace_id': workspace_id}
|
||||
|
|
@ -93,7 +94,8 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.TOOL_EDIT.get_workspace_permission())
|
||||
@log(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):
|
||||
return result.success(ToolSerializer.Operate(
|
||||
data={'id': tool_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -126,7 +128,8 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.TOOL_DELETE.get_workspace_permission())
|
||||
@log(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):
|
||||
return result.success(ToolSerializer.Operate(
|
||||
data={'id': tool_id, 'workspace_id': workspace_id}
|
||||
|
|
@ -171,7 +174,7 @@ class ToolView(APIView):
|
|||
tags=[_("Tool")] # type: ignore
|
||||
)
|
||||
@has_permissions(PermissionConstants.TOOL_IMPORT.get_workspace_permission())
|
||||
@log(menu='Tool', operate='Import tool')
|
||||
@log(menu='Tool', operate='Import tool', workspace_id=lambda r, k: k.get('workspace_id'))
|
||||
def post(self, request: Request, workspace_id: str):
|
||||
return result.success(ToolSerializer.Import(
|
||||
data={'workspace_id': workspace_id, 'file': request.FILES.get('file'), 'user_id': request.user.id}
|
||||
|
|
@ -191,7 +194,8 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.TOOL_EXPORT.get_workspace_permission())
|
||||
@log(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):
|
||||
return ToolSerializer.Operate(
|
||||
data={'id': tool_id, 'workspace_id': workspace_id}
|
||||
|
|
|
|||
Loading…
Reference in New Issue