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.auth import TokenAuth, has_permissions
|
||||||
from common.constants.permission_constants import PermissionConstants, CompareConstants, Permission, Group, Operate, \
|
from common.constants.permission_constants import PermissionConstants, CompareConstants, Permission, Group, Operate, \
|
||||||
ViewPermission, RoleConstants
|
ViewPermission, RoleConstants
|
||||||
|
from common.log.log import log
|
||||||
from common.response import result
|
from common.response import result
|
||||||
from common.response.result import get_page_request_params, get_page_api_response, get_api_response
|
from common.response.result import get_page_request_params, get_page_api_response, get_api_response
|
||||||
from common.swagger_api.common_api import CommonApi
|
from common.swagger_api.common_api import CommonApi
|
||||||
@ -42,6 +43,7 @@ class Dataset(APIView):
|
|||||||
dynamic_tag=keywords.get('dataset_id'))],
|
dynamic_tag=keywords.get('dataset_id'))],
|
||||||
compare=CompareConstants.AND), PermissionConstants.DATASET_EDIT,
|
compare=CompareConstants.AND), PermissionConstants.DATASET_EDIT,
|
||||||
compare=CompareConstants.AND)
|
compare=CompareConstants.AND)
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("同步Web站点知识库"))
|
||||||
def put(self, request: Request, dataset_id: str):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(DataSetSerializers.SyncWeb(
|
return result.success(DataSetSerializers.SyncWeb(
|
||||||
data={'sync_type': request.query_params.get('sync_type'), 'id': dataset_id,
|
data={'sync_type': request.query_params.get('sync_type'), 'id': dataset_id,
|
||||||
@ -60,6 +62,7 @@ class Dataset(APIView):
|
|||||||
tags=[_('Knowledge Base')]
|
tags=[_('Knowledge Base')]
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("创建QA知识库"))
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save_qa({
|
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save_qa({
|
||||||
'file_list': request.FILES.getlist('file'),
|
'file_list': request.FILES.getlist('file'),
|
||||||
@ -79,6 +82,7 @@ class Dataset(APIView):
|
|||||||
tags=[_('Knowledge Base')]
|
tags=[_('Knowledge Base')]
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Create a web site knowledge base"))
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save_web(request.data))
|
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(
|
responses=result.get_api_array_response(
|
||||||
DataSetSerializers.Application.get_response_body_api()),
|
DataSetSerializers.Application.get_response_body_api()),
|
||||||
tags=[_('Knowledge Base')])
|
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):
|
def get(self, request: Request, dataset_id: str):
|
||||||
return result.success(DataSetSerializers.Operate(
|
return result.success(DataSetSerializers.Operate(
|
||||||
data={'id': dataset_id, 'user_id': str(request.user.id)}).list_application())
|
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()),
|
responses=result.get_api_array_response(DataSetSerializers.Query.get_response_body_api()),
|
||||||
tags=[_('Knowledge Base')])
|
tags=[_('Knowledge Base')])
|
||||||
@has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND)
|
@has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND)
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Get a list of knowledge bases"))
|
||||||
def get(self, request: Request):
|
def get(self, request: Request):
|
||||||
data = {key: str(value) for key, value in request.query_params.items()}
|
data = {key: str(value) for key, value in request.query_params.items()}
|
||||||
d = DataSetSerializers.Query(data={**data, 'user_id': str(request.user.id)})
|
d = DataSetSerializers.Query(data={**data, 'user_id': str(request.user.id)})
|
||||||
@ -117,6 +123,7 @@ class Dataset(APIView):
|
|||||||
tags=[_('Knowledge Base')]
|
tags=[_('Knowledge Base')]
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
@has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND)
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Create a knowledge base"))
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save(request.data))
|
return result.success(DataSetSerializers.Create(data={'user_id': request.user.id}).save(request.data))
|
||||||
|
|
||||||
@ -130,6 +137,7 @@ class Dataset(APIView):
|
|||||||
tags=[_('Knowledge Base')])
|
tags=[_('Knowledge Base')])
|
||||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE,
|
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=keywords.get('dataset_id')))
|
dynamic_tag=keywords.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Hit test list"))
|
||||||
def get(self, request: Request, dataset_id: str):
|
def get(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DataSetSerializers.HitTest(data={'id': dataset_id, 'user_id': request.user.id,
|
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,
|
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=keywords.get('dataset_id')))
|
dynamic_tag=keywords.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Re-vectorize"))
|
||||||
def put(self, request: Request, dataset_id: str):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).re_embedding())
|
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,
|
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=keywords.get('dataset_id')))
|
dynamic_tag=keywords.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Export knowledge base"))
|
||||||
def get(self, request: Request, dataset_id: str):
|
def get(self, request: Request, dataset_id: str):
|
||||||
return DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).export_excel()
|
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,
|
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=keywords.get('dataset_id')))
|
dynamic_tag=keywords.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Export knowledge base containing images"))
|
||||||
def get(self, request: Request, dataset_id: str):
|
def get(self, request: Request, dataset_id: str):
|
||||||
return DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).export_zip()
|
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')),
|
dynamic_tag=keywords.get('dataset_id')),
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.DELETE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.DELETE,
|
||||||
dynamic_tag=k.get('dataset_id')), compare=CompareConstants.AND)
|
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):
|
def delete(self, request: Request, dataset_id: str):
|
||||||
operate = DataSetSerializers.Operate(data={'id': dataset_id})
|
operate = DataSetSerializers.Operate(data={'id': dataset_id})
|
||||||
return result.success(operate.delete())
|
return result.success(operate.delete())
|
||||||
@ -205,6 +217,7 @@ class Dataset(APIView):
|
|||||||
tags=[_('Knowledge Base')])
|
tags=[_('Knowledge Base')])
|
||||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE,
|
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=keywords.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str):
|
||||||
return result.success(DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).one(
|
return result.success(DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).one(
|
||||||
user_id=request.user.id))
|
user_id=request.user.id))
|
||||||
@ -219,6 +232,7 @@ class Dataset(APIView):
|
|||||||
)
|
)
|
||||||
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
@has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=keywords.get('dataset_id')))
|
dynamic_tag=keywords.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Modify knowledge base information"))
|
||||||
def put(self, request: Request, dataset_id: str):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).edit(request.data,
|
DataSetSerializers.Operate(data={'id': dataset_id, 'user_id': request.user.id}).edit(request.data,
|
||||||
@ -236,6 +250,7 @@ class Dataset(APIView):
|
|||||||
tags=[_('Knowledge Base')]
|
tags=[_('Knowledge Base')]
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND)
|
@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):
|
def get(self, request: Request, current_page, page_size):
|
||||||
d = DataSetSerializers.Query(
|
d = DataSetSerializers.Query(
|
||||||
data={'name': request.query_params.get('name', None), 'desc': request.query_params.get("desc", None),
|
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,
|
[lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=keywords.get('dataset_id'))],
|
dynamic_tag=keywords.get('dataset_id'))],
|
||||||
compare=CompareConstants.AND))
|
compare=CompareConstants.AND))
|
||||||
|
@log(menu=_('Knowledge Base'), operate=_("Get the model list of the knowledge base"))
|
||||||
def get(self, request: Request, dataset_id: str):
|
def get(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Query(
|
ModelSerializer.Query(
|
||||||
|
|||||||
@ -15,6 +15,7 @@ from rest_framework.views import Request
|
|||||||
|
|
||||||
from common.auth import TokenAuth, has_permissions
|
from common.auth import TokenAuth, has_permissions
|
||||||
from common.constants.permission_constants import Permission, Group, Operate, CompareConstants
|
from common.constants.permission_constants import Permission, Group, Operate, CompareConstants
|
||||||
|
from common.log.log import log
|
||||||
from common.response import result
|
from common.response import result
|
||||||
from common.util.common import query_params_to_single_dict
|
from common.util.common import query_params_to_single_dict
|
||||||
from dataset.serializers.common_serializers import BatchSerializer
|
from dataset.serializers.common_serializers import BatchSerializer
|
||||||
@ -31,6 +32,7 @@ class Template(APIView):
|
|||||||
operation_id=_('Get QA template'),
|
operation_id=_('Get QA template'),
|
||||||
manual_parameters=DocumentSerializers.Export.get_request_params_api(),
|
manual_parameters=DocumentSerializers.Export.get_request_params_api(),
|
||||||
tags=[_('Knowledge Base/Documentation')])
|
tags=[_('Knowledge Base/Documentation')])
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get QA template"))
|
||||||
def get(self, request: Request):
|
def get(self, request: Request):
|
||||||
return DocumentSerializers.Export(data={'type': request.query_params.get('type')}).export(with_valid=True)
|
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'),
|
operation_id=_('Get form template'),
|
||||||
manual_parameters=DocumentSerializers.Export.get_request_params_api(),
|
manual_parameters=DocumentSerializers.Export.get_request_params_api(),
|
||||||
tags=[_('Knowledge Base/Documentation')])
|
tags=[_('Knowledge Base/Documentation')])
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get form template"))
|
||||||
def get(self, request: Request):
|
def get(self, request: Request):
|
||||||
return DocumentSerializers.Export(data={'type': request.query_params.get('type')}).table_export(with_valid=True)
|
return DocumentSerializers.Export(data={'type': request.query_params.get('type')}).table_export(with_valid=True)
|
||||||
|
|
||||||
@ -60,6 +63,7 @@ class WebDocument(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Create Web site documents"))
|
||||||
def post(self, request: Request, dataset_id: str):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_web(request.data, with_valid=True))
|
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_web(request.data, with_valid=True))
|
||||||
@ -78,6 +82,7 @@ class QaDocument(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_qa(
|
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_qa(
|
||||||
@ -98,6 +103,7 @@ class TableDocument(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_table(
|
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save_table(
|
||||||
@ -118,6 +124,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Document'), operate=_("Create document"))
|
||||||
def post(self, request: Request, dataset_id: str):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save(request.data, with_valid=True))
|
DocumentSerializers.Create(data={'dataset_id': dataset_id}).save(request.data, with_valid=True))
|
||||||
@ -131,6 +138,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Document list"))
|
||||||
def get(self, request: Request, dataset_id: str):
|
def get(self, request: Request, dataset_id: str):
|
||||||
d = DocumentSerializers.Query(
|
d = DocumentSerializers.Query(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||||
@ -151,6 +159,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_edit_hit_handling(request.data))
|
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_edit_hit_handling(request.data))
|
||||||
@ -170,6 +179,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Create documents in batches"))
|
||||||
def post(self, request: Request, dataset_id: str):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_save(request.data))
|
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_save(request.data))
|
||||||
|
|
||||||
@ -184,6 +194,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Batch sync documents"))
|
||||||
def put(self, request: Request, dataset_id: str):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_sync(request.data))
|
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_sync(request.data))
|
||||||
|
|
||||||
@ -198,6 +209,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Delete documents in batches"))
|
||||||
def delete(self, request: Request, dataset_id: str):
|
def delete(self, request: Request, dataset_id: str):
|
||||||
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_delete(request.data))
|
return result.success(DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_delete(request.data))
|
||||||
|
|
||||||
@ -214,6 +226,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Sync(data={'document_id': document_id, 'dataset_id': dataset_id}).sync(
|
DocumentSerializers.Sync(data={'document_id': document_id, 'dataset_id': dataset_id}).sync(
|
||||||
@ -233,6 +246,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).cancel(
|
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).cancel(
|
||||||
@ -253,6 +267,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Cancel tasks in batches"))
|
||||||
def put(self, request: Request, dataset_id: str):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_cancel(request.data))
|
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_cancel(request.data))
|
||||||
@ -271,6 +286,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).refresh(
|
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).refresh(
|
||||||
@ -291,6 +307,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Batch(data={'dataset_id': dataset_id}).batch_refresh(request.data))
|
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')),
|
dynamic_tag=k.get('target_dataset_id')),
|
||||||
compare=CompareConstants.AND
|
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):
|
def put(self, request: Request, dataset_id: str, target_dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Migrate(
|
DocumentSerializers.Migrate(
|
||||||
@ -332,6 +350,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).export()
|
return DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).export()
|
||||||
|
|
||||||
@ -346,6 +365,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
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()
|
return DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).export_zip()
|
||||||
|
|
||||||
@ -361,6 +381,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||||
operate = DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id})
|
operate = DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id})
|
||||||
operate.is_valid(raise_exception=True)
|
operate.is_valid(raise_exception=True)
|
||||||
@ -377,6 +398,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).edit(
|
DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id}).edit(
|
||||||
@ -392,6 +414,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def delete(self, request: Request, dataset_id: str, document_id: str):
|
||||||
operate = DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id})
|
operate = DocumentSerializers.Operate(data={'document_id': document_id, 'dataset_id': dataset_id})
|
||||||
operate.is_valid(raise_exception=True)
|
operate.is_valid(raise_exception=True)
|
||||||
@ -404,6 +427,7 @@ class Document(APIView):
|
|||||||
@swagger_auto_schema(operation_summary=_('Get a list of segment IDs'),
|
@swagger_auto_schema(operation_summary=_('Get a list of segment IDs'),
|
||||||
operation_id=_('Get a list of segment IDs'),
|
operation_id=_('Get a list of segment IDs'),
|
||||||
tags=[_('Knowledge Base/Documentation')])
|
tags=[_('Knowledge Base/Documentation')])
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Get a list of segment IDs"))
|
||||||
def get(self, request: Request):
|
def get(self, request: Request):
|
||||||
return result.success(DocumentSerializers.SplitPattern.list())
|
return result.success(DocumentSerializers.SplitPattern.list())
|
||||||
|
|
||||||
@ -416,6 +440,7 @@ class Document(APIView):
|
|||||||
operation_id=_('Segmented document'),
|
operation_id=_('Segmented document'),
|
||||||
manual_parameters=DocumentSerializers.Split.get_request_params_api(),
|
manual_parameters=DocumentSerializers.Split.get_request_params_api(),
|
||||||
tags=[_('Knowledge Base/Documentation')])
|
tags=[_('Knowledge Base/Documentation')])
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Segmented document"))
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
split_data = {'file': request.FILES.getlist('file')}
|
split_data = {'file': request.FILES.getlist('file')}
|
||||||
request_data = request.data
|
request_data = request.data
|
||||||
@ -443,6 +468,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, current_page, page_size):
|
||||||
d = DocumentSerializers.Query(
|
d = DocumentSerializers.Query(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||||
@ -456,6 +482,7 @@ class Document(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation'), operate=_("Batch generate related documents"))
|
||||||
def put(self, request: Request, dataset_id: str):
|
def put(self, request: Request, dataset_id: str):
|
||||||
return result.success(DocumentSerializers.BatchGenerateRelated(data={'dataset_id': dataset_id})
|
return result.success(DocumentSerializers.BatchGenerateRelated(data={'dataset_id': dataset_id})
|
||||||
.batch_generate_related(request.data))
|
.batch_generate_related(request.data))
|
||||||
|
|||||||
@ -14,6 +14,7 @@ from rest_framework.views import APIView
|
|||||||
from rest_framework.views import Request
|
from rest_framework.views import Request
|
||||||
|
|
||||||
from common.auth import TokenAuth
|
from common.auth import TokenAuth
|
||||||
|
from common.log.log import log
|
||||||
from common.response import result
|
from common.response import result
|
||||||
from dataset.serializers.file_serializers import FileSerializer
|
from dataset.serializers.file_serializers import FileSerializer
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
@ -32,6 +33,7 @@ class FileView(APIView):
|
|||||||
required=True,
|
required=True,
|
||||||
description=_('Upload file'))],
|
description=_('Upload file'))],
|
||||||
tags=[_('file')])
|
tags=[_('file')])
|
||||||
|
@log(menu=_('file'), operate=_('Upload file'))
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(FileSerializer(data={'file': request.FILES.get('file')}).upload())
|
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'),
|
@swagger_auto_schema(operation_summary=_('Get file'),
|
||||||
operation_id=_('Get file'),
|
operation_id=_('Get file'),
|
||||||
tags=[_('file')])
|
tags=[_('file')])
|
||||||
|
@log(menu=_('file'), operate=_('Get file'))
|
||||||
def get(self, request: Request, file_id: str):
|
def get(self, request: Request, file_id: str):
|
||||||
return FileSerializer.Operate(data={'id': file_id}).get()
|
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 rest_framework.views import Request
|
||||||
|
|
||||||
from common.auth import TokenAuth
|
from common.auth import TokenAuth
|
||||||
|
from common.log.log import log
|
||||||
from common.response import result
|
from common.response import result
|
||||||
from dataset.serializers.image_serializers import ImageSerializer
|
from dataset.serializers.image_serializers import ImageSerializer
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
@ -32,6 +33,7 @@ class Image(APIView):
|
|||||||
required=True,
|
required=True,
|
||||||
description=_('Upload image'))],
|
description=_('Upload image'))],
|
||||||
tags=[_('Image')])
|
tags=[_('Image')])
|
||||||
|
@log(menu=_('Image'), operate=_('Upload image'))
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(ImageSerializer(data={'image': request.FILES.get('file')}).upload())
|
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'),
|
@swagger_auto_schema(operation_summary=_('Get Image'),
|
||||||
operation_id=_('Get Image'),
|
operation_id=_('Get Image'),
|
||||||
tags=[_('Image')])
|
tags=[_('Image')])
|
||||||
|
@log(menu=_('Image'), operate=_('Get Image'))
|
||||||
def get(self, request: Request, image_id: str):
|
def get(self, request: Request, image_id: str):
|
||||||
return ImageSerializer.Operate(data={'id': image_id}).get()
|
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.auth import TokenAuth, has_permissions
|
||||||
from common.constants.permission_constants import Permission, Group, Operate, CompareConstants
|
from common.constants.permission_constants import Permission, Group, Operate, CompareConstants
|
||||||
|
from common.log.log import log
|
||||||
from common.response import result
|
from common.response import result
|
||||||
from common.util.common import query_params_to_single_dict
|
from common.util.common import query_params_to_single_dict
|
||||||
from dataset.serializers.common_serializers import BatchSerializer
|
from dataset.serializers.common_serializers import BatchSerializer
|
||||||
@ -33,6 +34,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, document_id: str):
|
||||||
q = ParagraphSerializers.Query(
|
q = ParagraphSerializers.Query(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||||
@ -50,6 +52,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def post(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ParagraphSerializers.Create(data={'dataset_id': dataset_id, 'document_id': document_id}).save(request.data))
|
ParagraphSerializers.Create(data={'dataset_id': dataset_id, 'document_id': document_id}).save(request.data))
|
||||||
@ -67,6 +70,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def post(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||||
return result.success(ParagraphSerializers.Problem(
|
return result.success(ParagraphSerializers.Problem(
|
||||||
data={"dataset_id": dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id}).save(
|
data={"dataset_id": dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id}).save(
|
||||||
@ -82,6 +86,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||||
return result.success(ParagraphSerializers.Problem(
|
return result.success(ParagraphSerializers.Problem(
|
||||||
data={"dataset_id": dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id}).list(
|
data={"dataset_id": dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id}).list(
|
||||||
@ -99,6 +104,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str, problem_id: str):
|
||||||
return result.success(ParagraphSerializers.Association(
|
return result.success(ParagraphSerializers.Association(
|
||||||
data={'dataset_id': dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id,
|
data={'dataset_id': dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id,
|
||||||
@ -116,6 +122,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str, problem_id: str):
|
||||||
return result.success(ParagraphSerializers.Association(
|
return result.success(ParagraphSerializers.Association(
|
||||||
data={'dataset_id': dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id,
|
data={'dataset_id': dataset_id, 'document_id': document_id, 'paragraph_id': paragraph_id,
|
||||||
@ -134,6 +141,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||||
o = ParagraphSerializers.Operate(
|
o = ParagraphSerializers.Operate(
|
||||||
data={"paragraph_id": paragraph_id, 'dataset_id': dataset_id, 'document_id': document_id})
|
data={"paragraph_id": paragraph_id, 'dataset_id': dataset_id, 'document_id': document_id})
|
||||||
@ -149,6 +157,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||||
o = ParagraphSerializers.Operate(
|
o = ParagraphSerializers.Operate(
|
||||||
data={"dataset_id": dataset_id, 'document_id': document_id, "paragraph_id": paragraph_id})
|
data={"dataset_id": dataset_id, 'document_id': document_id, "paragraph_id": paragraph_id})
|
||||||
@ -164,6 +173,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def delete(self, request: Request, dataset_id: str, document_id: str, paragraph_id: str):
|
||||||
o = ParagraphSerializers.Operate(
|
o = ParagraphSerializers.Operate(
|
||||||
data={"dataset_id": dataset_id, 'document_id': document_id, "paragraph_id": paragraph_id})
|
data={"dataset_id": dataset_id, 'document_id': document_id, "paragraph_id": paragraph_id})
|
||||||
@ -184,6 +194,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def delete(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(ParagraphSerializers.Batch(
|
return result.success(ParagraphSerializers.Batch(
|
||||||
data={"dataset_id": dataset_id, 'document_id': document_id}).batch_delete(request.data))
|
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')),
|
dynamic_tag=k.get('target_dataset_id')),
|
||||||
compare=CompareConstants.AND
|
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):
|
def put(self, request: Request, dataset_id: str, target_dataset_id: str, document_id: str, target_document_id):
|
||||||
return result.success(
|
return result.success(
|
||||||
ParagraphSerializers.Migrate(
|
ParagraphSerializers.Migrate(
|
||||||
@ -227,6 +239,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, document_id: str, current_page, page_size):
|
||||||
d = ParagraphSerializers.Query(
|
d = ParagraphSerializers.Query(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||||
@ -241,6 +254,7 @@ class Paragraph(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, document_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ParagraphSerializers.BatchGenerateRelated(data={'dataset_id': dataset_id, 'document_id': document_id})
|
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.auth import TokenAuth, has_permissions
|
||||||
from common.constants.permission_constants import Permission, Group, Operate
|
from common.constants.permission_constants import Permission, Group, Operate
|
||||||
|
from common.log.log import log
|
||||||
from common.response import result
|
from common.response import result
|
||||||
from common.util.common import query_params_to_single_dict
|
from common.util.common import query_params_to_single_dict
|
||||||
from dataset.serializers.problem_serializers import ProblemSerializers
|
from dataset.serializers.problem_serializers import ProblemSerializers
|
||||||
@ -33,6 +34,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Question list'))
|
||||||
def get(self, request: Request, dataset_id: str):
|
def get(self, request: Request, dataset_id: str):
|
||||||
q = ProblemSerializers.Query(
|
q = ProblemSerializers.Query(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||||
@ -49,6 +51,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
dynamic_tag=k.get('dataset_id')))
|
||||||
|
@log(menu=_('Knowledge Base/Documentation/Paragraph/Question'), operate=_('Create question'))
|
||||||
def post(self, request: Request, dataset_id: str):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ProblemSerializers.Create(
|
ProblemSerializers.Create(
|
||||||
@ -66,6 +69,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, problem_id: str):
|
||||||
return result.success(ProblemSerializers.Operate(
|
return result.success(ProblemSerializers.Operate(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||||
@ -85,6 +89,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def delete(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ProblemSerializers.BatchOperate(data={'dataset_id': dataset_id}).delete(request.data))
|
ProblemSerializers.BatchOperate(data={'dataset_id': dataset_id}).delete(request.data))
|
||||||
@ -99,6 +104,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def post(self, request: Request, dataset_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ProblemSerializers.BatchOperate(data={'dataset_id': dataset_id}).association(request.data))
|
ProblemSerializers.BatchOperate(data={'dataset_id': dataset_id}).association(request.data))
|
||||||
@ -115,6 +121,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def delete(self, request: Request, dataset_id: str, problem_id: str):
|
||||||
return result.success(ProblemSerializers.Operate(
|
return result.success(ProblemSerializers.Operate(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||||
@ -130,6 +137,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def put(self, request: Request, dataset_id: str, problem_id: str):
|
||||||
return result.success(ProblemSerializers.Operate(
|
return result.success(ProblemSerializers.Operate(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id,
|
||||||
@ -148,6 +156,7 @@ class Problem(APIView):
|
|||||||
@has_permissions(
|
@has_permissions(
|
||||||
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE,
|
||||||
dynamic_tag=k.get('dataset_id')))
|
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):
|
def get(self, request: Request, dataset_id: str, current_page, page_size):
|
||||||
d = ProblemSerializers.Query(
|
d = ProblemSerializers.Query(
|
||||||
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
data={**query_params_to_single_dict(request.query_params), 'dataset_id': dataset_id})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user