Commit 47b299f5 authored by jyong's avatar jyong

add mutil upload batch

parent 0cbb3c15
......@@ -202,10 +202,15 @@ class DatasetDocumentListApi(Resource):
return response
documents_and_batch_fields = {
'documents': fields.List(fields.Nested(document_fields)),
'batch': fields.String
}
@setup_required
@login_required
@account_initialization_required
@marshal_with(document_fields)
@marshal_with(documents_and_batch_fields)
def post(self, dataset_id):
dataset_id = str(dataset_id)
......@@ -239,7 +244,7 @@ class DatasetDocumentListApi(Resource):
DocumentService.document_create_args_validate(args)
try:
documents = DocumentService.save_document_with_dataset_id(dataset, args, current_user)
documents, batch = DocumentService.save_document_with_dataset_id(dataset, args, current_user)
except ProviderTokenNotInitError:
raise ProviderNotInitializeError()
except QuotaExceededError:
......@@ -247,13 +252,17 @@ class DatasetDocumentListApi(Resource):
except ModelCurrentlyNotSupportError:
raise ProviderModelCurrentlyNotSupportError()
return documents
return {
'documents': documents,
'batch': batch
}
class DatasetInitApi(Resource):
dataset_and_document_fields = {
'dataset': fields.Nested(dataset_fields),
'documents': fields.List(fields.Nested(document_fields))
'documents': fields.List(fields.Nested(document_fields)),
'batch': fields.String
}
@setup_required
......@@ -276,7 +285,7 @@ class DatasetInitApi(Resource):
DocumentService.document_create_args_validate(args)
try:
dataset, documents = DocumentService.save_document_without_dataset_id(
dataset, documents, batch = DocumentService.save_document_without_dataset_id(
tenant_id=current_user.current_tenant_id,
document_data=args,
account=current_user
......@@ -290,7 +299,8 @@ class DatasetInitApi(Resource):
response = {
'dataset': dataset,
'documents': documents
'documents': documents,
'batch': batch
}
return response
......
......@@ -78,7 +78,7 @@ class DocumentListApi(DatasetApiResource):
}
try:
documents = DocumentService.save_document_with_dataset_id(
documents, batch = DocumentService.save_document_with_dataset_id(
dataset=dataset,
document_data=document_data,
account=dataset.created_by_account,
......
......@@ -487,7 +487,7 @@ class DocumentService:
# trigger async task
document_indexing_task.delay(dataset.id, document_ids)
return documents
return documents, batch
@staticmethod
def save_document(dataset: Dataset, process_rule_id: str, data_source_type: str, data_source_info: dict,
......@@ -611,7 +611,7 @@ class DocumentService:
db.session.add(dataset)
db.session.flush()
documents = DocumentService.save_document_with_dataset_id(dataset, document_data, account)
documents, batch = DocumentService.save_document_with_dataset_id(dataset, document_data, account)
cut_length = 18
cut_name = documents[0].name[:cut_length]
......@@ -619,7 +619,7 @@ class DocumentService:
dataset.description = 'useful for when you want to answer queries about the ' + documents[0].name
db.session.commit()
return dataset, documents
return dataset, documents, batch
@classmethod
def document_create_args_validate(cls, args: dict):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment