| from flask import request | from flask import request | ||||
| from flask_login import current_user | from flask_login import current_user | ||||
| from flask_restful import Resource, fields, marshal, marshal_with, reqparse | |||||
| from flask_restful import Resource, marshal, marshal_with, reqparse | |||||
| from sqlalchemy import asc, desc, select | from sqlalchemy import asc, desc, select | ||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| return response | return response | ||||
| documents_and_batch_fields = {"documents": fields.List(fields.Nested(document_fields)), "batch": fields.String} | |||||
| @setup_required | @setup_required | ||||
| @login_required | @login_required | ||||
| @account_initialization_required | @account_initialization_required | ||||
| @marshal_with(documents_and_batch_fields) | |||||
| @marshal_with(dataset_and_document_fields) | |||||
| @cloud_edition_billing_resource_check("vector_space") | @cloud_edition_billing_resource_check("vector_space") | ||||
| @cloud_edition_billing_rate_limit_check("knowledge") | @cloud_edition_billing_rate_limit_check("knowledge") | ||||
| def post(self, dataset_id): | def post(self, dataset_id): | ||||
| try: | try: | ||||
| documents, batch = DocumentService.save_document_with_dataset_id(dataset, knowledge_config, current_user) | documents, batch = DocumentService.save_document_with_dataset_id(dataset, knowledge_config, current_user) | ||||
| dataset = DatasetService.get_dataset(dataset_id) | |||||
| except ProviderTokenNotInitError as ex: | except ProviderTokenNotInitError as ex: | ||||
| raise ProviderNotInitializeError(ex.description) | raise ProviderNotInitializeError(ex.description) | ||||
| except QuotaExceededError: | except QuotaExceededError: |