|
@@ -930,6 +930,28 @@ class DocumentRetryApi(DocumentResource):
|
|
|
return {'result': 'success'}, 204
|
|
|
|
|
|
|
|
|
+class DocumentRenameApi(DocumentResource):
|
|
|
+ @setup_required
|
|
|
+ @login_required
|
|
|
+ @account_initialization_required
|
|
|
+ @marshal_with(document_fields)
|
|
|
+ def post(self, dataset_id, document_id):
|
|
|
+ # The role of the current user in the ta table must be admin or owner
|
|
|
+ if not current_user.is_admin_or_owner:
|
|
|
+ raise Forbidden()
|
|
|
+
|
|
|
+ parser = reqparse.RequestParser()
|
|
|
+ parser.add_argument('name', type=str, required=True, nullable=False, location='json')
|
|
|
+ args = parser.parse_args()
|
|
|
+
|
|
|
+ try:
|
|
|
+ document = DocumentService.rename_document(dataset_id, document_id, args['name'])
|
|
|
+ except services.errors.document.DocumentIndexingError:
|
|
|
+ raise DocumentIndexingError('Cannot delete document during indexing.')
|
|
|
+
|
|
|
+ return document
|
|
|
+
|
|
|
+
|
|
|
api.add_resource(GetProcessRuleApi, '/datasets/process-rule')
|
|
|
api.add_resource(DatasetDocumentListApi,
|
|
|
'/datasets/<uuid:dataset_id>/documents')
|
|
@@ -956,3 +978,5 @@ api.add_resource(DocumentStatusApi,
|
|
|
api.add_resource(DocumentPauseApi, '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/processing/pause')
|
|
|
api.add_resource(DocumentRecoverApi, '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/processing/resume')
|
|
|
api.add_resource(DocumentRetryApi, '/datasets/<uuid:dataset_id>/retry')
|
|
|
+api.add_resource(DocumentRenameApi,
|
|
|
+ '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/rename')
|