|
|
|
|
|
|
|
|
chunk_method: |
|
|
chunk_method: |
|
|
type: string |
|
|
type: string |
|
|
description: Chunking method. |
|
|
description: Chunking method. |
|
|
|
|
|
enabled: |
|
|
|
|
|
type: boolean |
|
|
|
|
|
description: Document status. |
|
|
responses: |
|
|
responses: |
|
|
200: |
|
|
200: |
|
|
description: Document updated successfully. |
|
|
description: Document updated successfully. |
|
|
|
|
|
|
|
|
req = request.json |
|
|
req = request.json |
|
|
if not KnowledgebaseService.query(id=dataset_id, tenant_id=tenant_id): |
|
|
if not KnowledgebaseService.query(id=dataset_id, tenant_id=tenant_id): |
|
|
return get_error_data_result(message="You don't own the dataset.") |
|
|
return get_error_data_result(message="You don't own the dataset.") |
|
|
|
|
|
e, kb = KnowledgebaseService.get_by_id(dataset_id) |
|
|
|
|
|
if not e: |
|
|
|
|
|
return get_error_data_result( |
|
|
|
|
|
message="Can't find this knowledgebase!") |
|
|
doc = DocumentService.query(kb_id=dataset_id, id=document_id) |
|
|
doc = DocumentService.query(kb_id=dataset_id, id=document_id) |
|
|
if not doc: |
|
|
if not doc: |
|
|
return get_error_data_result(message="The dataset doesn't own the document.") |
|
|
return get_error_data_result(message="The dataset doesn't own the document.") |
|
|
|
|
|
|
|
|
return get_error_data_result(message="Document not found!") |
|
|
return get_error_data_result(message="Document not found!") |
|
|
settings.docStoreConn.delete({"doc_id": doc.id}, search.index_name(tenant_id), dataset_id) |
|
|
settings.docStoreConn.delete({"doc_id": doc.id}, search.index_name(tenant_id), dataset_id) |
|
|
|
|
|
|
|
|
|
|
|
if "enabled" in req: |
|
|
|
|
|
status = int(req["enabled"]) |
|
|
|
|
|
if doc.status != req["enabled"]: |
|
|
|
|
|
try: |
|
|
|
|
|
if not DocumentService.update_by_id( |
|
|
|
|
|
doc.id, {"status": str(status)}): |
|
|
|
|
|
return get_error_data_result( |
|
|
|
|
|
message="Database error (Document update)!") |
|
|
|
|
|
|
|
|
|
|
|
settings.docStoreConn.update({"doc_id": doc.id}, {"available_int": status}, |
|
|
|
|
|
search.index_name(kb.tenant_id), doc.kb_id) |
|
|
|
|
|
return get_result(data=True) |
|
|
|
|
|
except Exception as e: |
|
|
|
|
|
return server_error_response(e) |
|
|
|
|
|
|
|
|
return get_result() |
|
|
return get_result() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@manager.route("/datasets/<dataset_id>/documents/<document_id>", methods=["GET"]) # noqa: F821 |
|
|
@manager.route("/datasets/<dataset_id>/documents/<document_id>", methods=["GET"]) # noqa: F821 |
|
|
@token_required |
|
|
@token_required |
|
|
def download(tenant_id, dataset_id, document_id): |
|
|
def download(tenant_id, dataset_id, document_id): |