mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: Support dataset log recorder
This commit is contained in:
parent
03a705fc93
commit
9620817a8f
|
|
@ -16,6 +16,7 @@ from rest_framework.views import Request
|
|||
from common.auth import TokenAuth, has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, CompareConstants, Permission, Group, Operate, \
|
||||
ViewPermission, RoleConstants
|
||||
from common.log.log import log
|
||||
from common.response import result
|
||||
from common.response.result import get_page_request_params, get_page_api_response, get_api_response
|
||||
from common.swagger_api.common_api import CommonApi
|
||||
|
|
@ -42,6 +43,7 @@ class Dataset(APIView):
|
|||
dynamic_tag=keywords.get('dataset_id'))],
|
||||
compare=CompareConstants.AND), PermissionConstants.DATASET_EDIT,
|
||||
compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("同步Web站点知识库"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(DataSetSerializers.SyncWeb(
|
||||
data={'sync_type': request.query_params.get('sync_type'), 'id': dataset_id,
|
||||
|
|
@ -60,6 +62,7 @@ class Dataset(APIView):
|
|||
tags=[_('Knowledge Base')]
|
||||
)
|
||||
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("创建QA知识库"))
|
||||
def post(self, request: Request):
|
||||
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save_qa({
|
||||
'file_list': request.FILES.getlist('file'),
|
||||
|
|
@ -79,6 +82,7 @@ class Dataset(APIView):
|
|||
tags=[_('Knowledge Base')]
|
||||
)
|
||||
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("Create a web site knowledge base"))
|
||||
def post(self, request: Request):
|
||||
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save_web(request.data))
|
||||
|
||||
|
|
@ -92,6 +96,7 @@ class Dataset(APIView):
|
|||
responses=result.get_api_array_response(
|
||||
DataSetSerializers.Application.get_response_body_api()),
|
||||
tags=[_('Knowledge Base')])
|
||||
@log(menu=_('Knowledge Base'), operate=_("Get a list of applications available in the knowledge base"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
return result.success(DataSetSerializers.Operate(
|
||||
data={'id': dataset_id, 'user_id': str(request.user.id)}).list_application())
|
||||
|
|
@ -103,6 +108,7 @@ class Dataset(APIView):
|
|||
responses=result.get_api_array_response(DataSetSerializers.Query.get_response_body_api()),
|
||||
tags=[_('Knowledge Base')])
|
||||
@has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("Get a list of knowledge bases"))
|
||||
def get(self, request: Request):
|
||||
data = {key: str(value) for key, value in request.query_params.items()}
|
||||
d = DataSetSerializers.Query(data={**data, 'user_id': str(request.user.id)})
|
||||
|
|
@ -117,6 +123,7 @@ class Dataset(APIView):
|
|||
tags=[_('Knowledge Base')]
|
||||
)
|
||||
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("Create a knowledge base"))
|
||||
def post(self, request: Request):
|
||||
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save(request.data))
|
||||
|
||||
|
|
@ -130,6 +137,7 @@ class Dataset(APIView):
|
|||
tags=[_('Knowledge Base')])
|
||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=keywords.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Hit test list"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DataSetSerializers.HitTest(data={'id': dataset_id, 'user_id': request.user.id,
|
||||
|
|
@ -150,6 +158,7 @@ class Dataset(APIView):
|
|||
)
|
||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=keywords.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Re-vectorize"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).re_embedding())
|
||||
|
|
@ -164,6 +173,7 @@ class Dataset(APIView):
|
|||
)
|
||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=keywords.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Export knowledge base"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
return DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).export_excel()
|
||||
|
||||
|
|
@ -178,6 +188,7 @@ class Dataset(APIView):
|
|||
)
|
||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=keywords.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Export knowledge base containing images"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
return DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).export_zip()
|
||||
|
||||
|
|
@ -193,6 +204,7 @@ class Dataset(APIView):
|
|||
dynamic_tag=keywords.get('dataset_id')),
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.DELETE,
|
||||
dynamic_tag=k.get('dataset_id')), compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("Delete knowledge base"))
|
||||
def delete(self, request: Request, dataset_id: str):
|
||||
operate = DataSetSerializers.Operate(data={'id': dataset_id})
|
||||
return result.success(operate.delete())
|
||||
|
|
@ -205,6 +217,7 @@ class Dataset(APIView):
|
|||
tags=[_('Knowledge Base')])
|
||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=keywords.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Query knowledge base details based on knowledge base id"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
return result.success(DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).one(
|
||||
user_id=request.user.id))
|
||||
|
|
@ -219,6 +232,7 @@ class Dataset(APIView):
|
|||
)
|
||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=keywords.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Modify knowledge base information"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).edit(request.data,
|
||||
|
|
@ -236,6 +250,7 @@ class Dataset(APIView):
|
|||
tags=[_('Knowledge Base')]
|
||||
)
|
||||
@has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND)
|
||||
@log(menu=_('Knowledge Base'), operate=_("Get the knowledge base paginated list"))
|
||||
def get(self, request: Request, current_page, page_size):
|
||||
d = DataSetSerializers.Query(
|
||||
data={'name': request.query_params.get('name', None), 'desc': request.query_params.get("desc", None),
|
||||
|
|
@ -253,6 +268,7 @@ class Dataset(APIView):
|
|||
[lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=keywords.get('dataset_id'))],
|
||||
compare=CompareConstants.AND))
|
||||
@log(menu=_('Knowledge Base'), operate=_("Get the model list of the knowledge base"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
ModelSerializer.Query(
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ from rest_framework.views import Request
|
|||
|
||||
from common.auth import TokenAuth, has_permissions
|
||||
from common.constants.permission_constants import Permission, Group, Operate, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.response import result
|
||||
from common.util.common import query_params_to_single_dict
|
||||
from dataset.serializers.common_serializers import BatchSerializer
|
||||
|
|
@ -31,6 +32,7 @@ class Template(APIView):
|
|||
operation_id=_('Get QA template'),
|
||||
manual_parameters=DocumentSerializers.Export.get_request_params_api(),
|
||||
tags=[_('Knowledge Base/Documentation')])
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get QA template"))
|
||||
def get(self, request: Request):
|
||||
return DocumentSerializers.Export(data={'type': request.query_params.get('type')}).export(with_valid=True)
|
||||
|
||||
|
|
@ -43,6 +45,7 @@ class TableTemplate(APIView):
|
|||
operation_id=_('Get form template'),
|
||||
manual_parameters=DocumentSerializers.Export.get_request_params_api(),
|
||||
tags=[_('Knowledge Base/Documentation')])
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get form template"))
|
||||
def get(self, request: Request):
|
||||
return DocumentSerializers.Export(data={'type': request.query_params.get('type')}).table_export(with_valid=True)
|
||||
|
||||
|
|
@ -60,6 +63,7 @@ class WebDocument(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Create Web site documents"))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_web(request.data, with_valid=True))
|
||||
|
|
@ -78,6 +82,7 @@ class QaDocument(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Import QA and create documentation"))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_qa(
|
||||
|
|
@ -98,6 +103,7 @@ class TableDocument(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Import tables and create documents"))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_table(
|
||||
|
|
@ -118,6 +124,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Document'), operate=_("Create document"))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save(request.data, with_valid=True))
|
||||
|
|
@ -131,6 +138,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Document list"))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
d = DocumentSerializers.Query(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||
|
|
@ -151,6 +159,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Modify document hit processing methods in batches"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_edit_hit_handling(request.data))
|
||||
|
|
@ -170,6 +179,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Create documents in batches"))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_save(request.data))
|
||||
|
||||
|
|
@ -184,6 +194,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Batch sync documents"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_sync(request.data))
|
||||
|
||||
|
|
@ -198,6 +209,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Delete documents in batches"))
|
||||
def delete(self, request: Request, dataset_id: str):
|
||||
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_delete(request.data))
|
||||
|
||||
|
|
@ -214,6 +226,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Synchronize web site types"))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Sync(data={'document_id': document_id, 'dataset_id': dataset_id}).sync(
|
||||
|
|
@ -233,6 +246,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Cancel task"))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).cancel(
|
||||
|
|
@ -253,6 +267,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Cancel tasks in batches"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_cancel(request.data))
|
||||
|
|
@ -271,6 +286,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Refresh document vector library"))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).refresh(
|
||||
|
|
@ -291,6 +307,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Batch refresh document vector library"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_refresh(request.data))
|
||||
|
|
@ -313,6 +330,7 @@ class Document(APIView):
|
|||
dynamic_tag=k.get('target_dataset_id')),
|
||||
compare=CompareConstants.AND
|
||||
)
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Migrate documents in batches"))
|
||||
def put(self, request: Request, dataset_id: str, target_dataset_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Migrate(
|
||||
|
|
@ -332,6 +350,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Export document"))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||
return DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).export()
|
||||
|
||||
|
|
@ -346,6 +365,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Export Zip document"))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||
return DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).export_zip()
|
||||
|
||||
|
|
@ -361,6 +381,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get document details"))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||
operate = DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id})
|
||||
operate.is_valid(raise_exception=True)
|
||||
|
|
@ -377,6 +398,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Modify document"))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(
|
||||
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).edit(
|
||||
|
|
@ -392,6 +414,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Delete document"))
|
||||
def delete(self, request: Request, dataset_id: str, document_id: str):
|
||||
operate = DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id})
|
||||
operate.is_valid(raise_exception=True)
|
||||
|
|
@ -404,6 +427,7 @@ class Document(APIView):
|
|||
@swagger_auto_schema(operation_summary=_('Get a list of segment IDs'),
|
||||
operation_id=_('Get a list of segment IDs'),
|
||||
tags=[_('Knowledge Base/Documentation')])
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get a list of segment IDs"))
|
||||
def get(self, request: Request):
|
||||
return result.success(DocumentSerializers.SplitPattern.list())
|
||||
|
||||
|
|
@ -416,6 +440,7 @@ class Document(APIView):
|
|||
operation_id=_('Segmented document'),
|
||||
manual_parameters=DocumentSerializers.Split.get_request_params_api(),
|
||||
tags=[_('Knowledge Base/Documentation')])
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Segmented document"))
|
||||
def post(self, request: Request):
|
||||
split_data = {'file': request.FILES.getlist('file')}
|
||||
request_data = request.data
|
||||
|
|
@ -443,6 +468,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get the knowledge base paginated list"))
|
||||
def get(self, request: Request, dataset_id: str, current_page, page_size):
|
||||
d = DocumentSerializers.Query(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||
|
|
@ -456,6 +482,7 @@ class Document(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation'), operate=_("Batch generate related documents"))
|
||||
def put(self, request: Request, dataset_id: str):
|
||||
return result.success(DocumentSerializers.BatchGenerateRelated(data={'dataset_id': dataset_id})
|
||||
.batch_generate_related(request.data))
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ from rest_framework.views import APIView
|
|||
from rest_framework.views import Request
|
||||
|
||||
from common.auth import TokenAuth
|
||||
from common.log.log import log
|
||||
from common.response import result
|
||||
from dataset.serializers.file_serializers import FileSerializer
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
|
@ -32,6 +33,7 @@ class FileView(APIView):
|
|||
required=True,
|
||||
description=_('Upload file'))],
|
||||
tags=[_('file')])
|
||||
@log(menu=_('file'), operate=_('Upload file'))
|
||||
def post(self, request: Request):
|
||||
return result.success(FileSerializer(data={'file': request.FILES.get('file')}).upload())
|
||||
|
||||
|
|
@ -40,5 +42,6 @@ class FileView(APIView):
|
|||
@swagger_auto_schema(operation_summary=_('Get file'),
|
||||
operation_id=_('Get file'),
|
||||
tags=[_('file')])
|
||||
@log(menu=_('file'), operate=_('Get file'))
|
||||
def get(self, request: Request, file_id: str):
|
||||
return FileSerializer.Operate(data={'id': file_id}).get()
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ from rest_framework.views import APIView
|
|||
from rest_framework.views import Request
|
||||
|
||||
from common.auth import TokenAuth
|
||||
from common.log.log import log
|
||||
from common.response import result
|
||||
from dataset.serializers.image_serializers import ImageSerializer
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
|
@ -32,6 +33,7 @@ class Image(APIView):
|
|||
required=True,
|
||||
description=_('Upload image'))],
|
||||
tags=[_('Image')])
|
||||
@log(menu=_('Image'), operate=_('Upload image'))
|
||||
def post(self, request: Request):
|
||||
return result.success(ImageSerializer(data={'image': request.FILES.get('file')}).upload())
|
||||
|
||||
|
|
@ -40,5 +42,6 @@ class Image(APIView):
|
|||
@swagger_auto_schema(operation_summary=_('Get Image'),
|
||||
operation_id=_('Get Image'),
|
||||
tags=[_('Image')])
|
||||
@log(menu=_('Image'), operate=_('Get Image'))
|
||||
def get(self, request: Request, image_id: str):
|
||||
return ImageSerializer.Operate(data={'id': image_id}).get()
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ from rest_framework.views import Request
|
|||
|
||||
from common.auth import TokenAuth, has_permissions
|
||||
from common.constants.permission_constants import Permission, Group, Operate, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.response import result
|
||||
from common.util.common import query_params_to_single_dict
|
||||
from dataset.serializers.common_serializers import BatchSerializer
|
||||
|
|
@ -33,6 +34,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Paragraph list'))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||
q = ParagraphSerializers.Query(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||
|
|
@ -50,6 +52,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Create Paragraph'))
|
||||
def post(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(
|
||||
ParagraphSerializers.Create(data={'dataset_id': dataset_id, 'document_id': document_id}).save(request.data))
|
||||
|
|
@ -67,6 +70,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Add associated questions'))
|
||||
def post(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||
return result.success(ParagraphSerializers.Problem(
|
||||
data={"dataset_id": dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id}).save(
|
||||
|
|
@ -82,6 +86,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Get a list of paragraph questions'))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||
return result.success(ParagraphSerializers.Problem(
|
||||
data={"dataset_id": dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id}).list(
|
||||
|
|
@ -99,6 +104,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Disassociation issue'))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str, problem_id: str):
|
||||
return result.success(ParagraphSerializers.Association(
|
||||
data={'dataset_id': dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id,
|
||||
|
|
@ -116,6 +122,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Related questions'))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str, problem_id: str):
|
||||
return result.success(ParagraphSerializers.Association(
|
||||
data={'dataset_id': dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id,
|
||||
|
|
@ -134,6 +141,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Modify paragraph data'))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||
o = ParagraphSerializers.Operate(
|
||||
data={"paragraph_id": paragraph_id, 'dataset_id': dataset_id, 'document_id': document_id})
|
||||
|
|
@ -149,6 +157,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Get paragraph details'))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||
o = ParagraphSerializers.Operate(
|
||||
data={"dataset_id": dataset_id, 'document_id': document_id, "paragraph_id": paragraph_id})
|
||||
|
|
@ -164,6 +173,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Delete paragraph'))
|
||||
def delete(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||
o = ParagraphSerializers.Operate(
|
||||
data={"dataset_id": dataset_id, 'document_id': document_id, "paragraph_id": paragraph_id})
|
||||
|
|
@ -184,6 +194,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Delete paragraphs in batches'))
|
||||
def delete(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(ParagraphSerializers.Batch(
|
||||
data={"dataset_id": dataset_id, 'document_id': document_id}).batch_delete(request.data))
|
||||
|
|
@ -206,6 +217,7 @@ class Paragraph(APIView):
|
|||
dynamic_tag=k.get('target_dataset_id')),
|
||||
compare=CompareConstants.AND
|
||||
)
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Migrate paragraphs in batches'))
|
||||
def put(self, request: Request, dataset_id: str, target_dataset_id: str, document_id: str, target_document_id):
|
||||
return result.success(
|
||||
ParagraphSerializers.Migrate(
|
||||
|
|
@ -227,6 +239,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Get paragraph list by pagination'))
|
||||
def get(self, request: Request, dataset_id: str, document_id: str, current_page, page_size):
|
||||
d = ParagraphSerializers.Query(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||
|
|
@ -241,6 +254,7 @@ class Paragraph(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph'), operate=_('Batch generate related'))
|
||||
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||
return result.success(
|
||||
ParagraphSerializers.BatchGenerateRelated(data={'dataset_id': dataset_id, 'document_id': document_id})
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ from rest_framework.views import Request
|
|||
|
||||
from common.auth import TokenAuth, has_permissions
|
||||
from common.constants.permission_constants import Permission, Group, Operate
|
||||
from common.log.log import log
|
||||
from common.response import result
|
||||
from common.util.common import query_params_to_single_dict
|
||||
from dataset.serializers.problem_serializers import ProblemSerializers
|
||||
|
|
@ -33,6 +34,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Question list'))
|
||||
def get(self, request: Request, dataset_id: str):
|
||||
q = ProblemSerializers.Query(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||
|
|
@ -49,6 +51,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Create question'))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
ProblemSerializers.Create(
|
||||
|
|
@ -66,6 +69,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Get a list of associated paragraphs'))
|
||||
def get(self, request: Request, dataset_id: str, problem_id: str):
|
||||
return result.success(ProblemSerializers.Operate(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||
|
|
@ -85,6 +89,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Batch deletion issues'))
|
||||
def delete(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
ProblemSerializers.BatchOperate(data={'dataset_id': dataset_id}).delete(request.data))
|
||||
|
|
@ -99,6 +104,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Batch associated paragraphs'))
|
||||
def post(self, request: Request, dataset_id: str):
|
||||
return result.success(
|
||||
ProblemSerializers.BatchOperate(data={'dataset_id': dataset_id}).association(request.data))
|
||||
|
|
@ -115,6 +121,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Delete question'))
|
||||
def delete(self, request: Request, dataset_id: str, problem_id: str):
|
||||
return result.success(ProblemSerializers.Operate(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||
|
|
@ -130,6 +137,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Modify question'))
|
||||
def put(self, request: Request, dataset_id: str, problem_id: str):
|
||||
return result.success(ProblemSerializers.Operate(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||
|
|
@ -148,6 +156,7 @@ class Problem(APIView):
|
|||
@has_permissions(
|
||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||
dynamic_tag=k.get('dataset_id')))
|
||||
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Get the list of questions by page'))
|
||||
def get(self, request: Request, dataset_id: str, current_page, page_size):
|
||||
d = ProblemSerializers.Query(
|
||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||
|
|
|
|||
Loading…
Reference in New Issue