fix: delete get upload file endpoint (#25543)
Co-authored-by: jyong <718720800@qq.com>
This commit is contained in:
parent
de18b14372
commit
84e3571ec3
5 changed files with 0 additions and 220 deletions
|
|
@ -33,7 +33,6 @@ from .dataset import (
|
||||||
hit_testing, # pyright: ignore[reportUnusedImport]
|
hit_testing, # pyright: ignore[reportUnusedImport]
|
||||||
metadata, # pyright: ignore[reportUnusedImport]
|
metadata, # pyright: ignore[reportUnusedImport]
|
||||||
segment, # pyright: ignore[reportUnusedImport]
|
segment, # pyright: ignore[reportUnusedImport]
|
||||||
upload_file, # pyright: ignore[reportUnusedImport]
|
|
||||||
)
|
)
|
||||||
from .workspace import models # pyright: ignore[reportUnusedImport]
|
from .workspace import models # pyright: ignore[reportUnusedImport]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
from controllers.service_api import service_api_ns
|
|
||||||
from controllers.service_api.wraps import (
|
|
||||||
DatasetApiResource,
|
|
||||||
)
|
|
||||||
from core.file import helpers as file_helpers
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from models.dataset import Dataset
|
|
||||||
from models.model import UploadFile
|
|
||||||
from services.dataset_service import DocumentService
|
|
||||||
|
|
||||||
|
|
||||||
@service_api_ns.route("/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/upload-file")
|
|
||||||
class UploadFileApi(DatasetApiResource):
|
|
||||||
@service_api_ns.doc("get_upload_file")
|
|
||||||
@service_api_ns.doc(description="Get upload file information and download URL")
|
|
||||||
@service_api_ns.doc(params={"dataset_id": "Dataset ID", "document_id": "Document ID"})
|
|
||||||
@service_api_ns.doc(
|
|
||||||
responses={
|
|
||||||
200: "Upload file information retrieved successfully",
|
|
||||||
401: "Unauthorized - invalid API token",
|
|
||||||
404: "Dataset, document, or upload file not found",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
def get(self, tenant_id, dataset_id, document_id):
|
|
||||||
"""Get upload file information and download URL.
|
|
||||||
|
|
||||||
Returns information about an uploaded file including its download URL.
|
|
||||||
"""
|
|
||||||
# check dataset
|
|
||||||
dataset_id = str(dataset_id)
|
|
||||||
tenant_id = str(tenant_id)
|
|
||||||
dataset = db.session.query(Dataset).where(Dataset.tenant_id == tenant_id, Dataset.id == dataset_id).first()
|
|
||||||
if not dataset:
|
|
||||||
raise NotFound("Dataset not found.")
|
|
||||||
# check document
|
|
||||||
document_id = str(document_id)
|
|
||||||
document = DocumentService.get_document(dataset.id, document_id)
|
|
||||||
if not document:
|
|
||||||
raise NotFound("Document not found.")
|
|
||||||
# check upload file
|
|
||||||
if document.data_source_type != "upload_file":
|
|
||||||
raise ValueError(f"Document data source type ({document.data_source_type}) is not upload_file.")
|
|
||||||
data_source_info = document.data_source_info_dict
|
|
||||||
if data_source_info and "upload_file_id" in data_source_info:
|
|
||||||
file_id = data_source_info["upload_file_id"]
|
|
||||||
upload_file = db.session.query(UploadFile).where(UploadFile.id == file_id).first()
|
|
||||||
if not upload_file:
|
|
||||||
raise NotFound("UploadFile not found.")
|
|
||||||
else:
|
|
||||||
raise ValueError("Upload file id not found in document data source info.")
|
|
||||||
|
|
||||||
url = file_helpers.get_signed_file_url(upload_file_id=upload_file.id)
|
|
||||||
return {
|
|
||||||
"id": upload_file.id,
|
|
||||||
"name": upload_file.name,
|
|
||||||
"size": upload_file.size,
|
|
||||||
"extension": upload_file.extension,
|
|
||||||
"url": url,
|
|
||||||
"download_url": f"{url}&as_attachment=true",
|
|
||||||
"mime_type": upload_file.mime_type,
|
|
||||||
"created_by": upload_file.created_by,
|
|
||||||
"created_at": upload_file.created_at.timestamp(),
|
|
||||||
}, 200
|
|
||||||
|
|
@ -1949,57 +1949,6 @@ ___
|
||||||
|
|
||||||
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
||||||
|
|
||||||
<Heading
|
|
||||||
url='/datasets/{dataset_id}/documents/{document_id}/upload-file'
|
|
||||||
method='GET'
|
|
||||||
title='Get Upload File'
|
|
||||||
name='#get_upload_file'
|
|
||||||
/>
|
|
||||||
<Row>
|
|
||||||
<Col>
|
|
||||||
### Path
|
|
||||||
<Properties>
|
|
||||||
<Property name='dataset_id' type='string' key='dataset_id'>
|
|
||||||
Knowledge ID
|
|
||||||
</Property>
|
|
||||||
<Property name='document_id' type='string' key='document_id'>
|
|
||||||
Document ID
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Col>
|
|
||||||
<Col sticky>
|
|
||||||
<CodeGroup
|
|
||||||
title="Request"
|
|
||||||
tag="GET"
|
|
||||||
label="/datasets/{dataset_id}/documents/{document_id}/upload-file"
|
|
||||||
targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
|
|
||||||
>
|
|
||||||
```bash {{ title: 'cURL' }}
|
|
||||||
curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \
|
|
||||||
--header 'Authorization: Bearer {api_key}' \
|
|
||||||
--header 'Content-Type: application/json'
|
|
||||||
```
|
|
||||||
</CodeGroup>
|
|
||||||
<CodeGroup title="Response">
|
|
||||||
```json {{ title: 'Response' }}
|
|
||||||
{
|
|
||||||
"id": "file_id",
|
|
||||||
"name": "file_name",
|
|
||||||
"size": 1024,
|
|
||||||
"extension": "txt",
|
|
||||||
"url": "preview_url",
|
|
||||||
"download_url": "download_url",
|
|
||||||
"mime_type": "text/plain",
|
|
||||||
"created_by": "user_id",
|
|
||||||
"created_at": 1728734540,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
</CodeGroup>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
|
||||||
|
|
||||||
<Heading
|
<Heading
|
||||||
url='/datasets/{dataset_id}/retrieve'
|
url='/datasets/{dataset_id}/retrieve'
|
||||||
method='POST'
|
method='POST'
|
||||||
|
|
|
||||||
|
|
@ -1705,57 +1705,6 @@ ___
|
||||||
|
|
||||||
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
||||||
|
|
||||||
<Heading
|
|
||||||
url='/datasets/{dataset_id}/documents/{document_id}/upload-file'
|
|
||||||
method='GET'
|
|
||||||
title='アップロードファイルを取得'
|
|
||||||
name='#get_upload_file'
|
|
||||||
/>
|
|
||||||
<Row>
|
|
||||||
<Col>
|
|
||||||
### パス
|
|
||||||
<Properties>
|
|
||||||
<Property name='dataset_id' type='string' key='dataset_id'>
|
|
||||||
ナレッジ ID
|
|
||||||
</Property>
|
|
||||||
<Property name='document_id' type='string' key='document_id'>
|
|
||||||
ドキュメント ID
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Col>
|
|
||||||
<Col sticky>
|
|
||||||
<CodeGroup
|
|
||||||
title="リクエスト"
|
|
||||||
tag="GET"
|
|
||||||
label="/datasets/{dataset_id}/documents/{document_id}/upload-file"
|
|
||||||
targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
|
|
||||||
>
|
|
||||||
```bash {{ title: 'cURL' }}
|
|
||||||
curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \
|
|
||||||
--header 'Authorization: Bearer {api_key}' \
|
|
||||||
--header 'Content-Type: application/json'
|
|
||||||
```
|
|
||||||
</CodeGroup>
|
|
||||||
<CodeGroup title="レスポンス">
|
|
||||||
```json {{ title: 'Response' }}
|
|
||||||
{
|
|
||||||
"id": "file_id",
|
|
||||||
"name": "file_name",
|
|
||||||
"size": 1024,
|
|
||||||
"extension": "txt",
|
|
||||||
"url": "preview_url",
|
|
||||||
"download_url": "download_url",
|
|
||||||
"mime_type": "text/plain",
|
|
||||||
"created_by": "user_id",
|
|
||||||
"created_at": 1728734540,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
</CodeGroup>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
|
||||||
|
|
||||||
<Heading
|
<Heading
|
||||||
url='/datasets/{dataset_id}/retrieve'
|
url='/datasets/{dataset_id}/retrieve'
|
||||||
method='POST'
|
method='POST'
|
||||||
|
|
@ -2594,4 +2543,3 @@ ___
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div className="pb-4" />
|
<div className="pb-4" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1991,57 +1991,6 @@ ___
|
||||||
|
|
||||||
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
||||||
|
|
||||||
<Heading
|
|
||||||
url='/datasets/{dataset_id}/documents/{document_id}/upload-file'
|
|
||||||
method='GET'
|
|
||||||
title='获取上传文件'
|
|
||||||
name='#get_upload_file'
|
|
||||||
/>
|
|
||||||
<Row>
|
|
||||||
<Col>
|
|
||||||
### Path
|
|
||||||
<Properties>
|
|
||||||
<Property name='dataset_id' type='string' key='dataset_id'>
|
|
||||||
知识库 ID
|
|
||||||
</Property>
|
|
||||||
<Property name='document_id' type='string' key='document_id'>
|
|
||||||
文档 ID
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Col>
|
|
||||||
<Col sticky>
|
|
||||||
<CodeGroup
|
|
||||||
title="Request"
|
|
||||||
tag="GET"
|
|
||||||
label="/datasets/{dataset_id}/documents/{document_id}/upload-file"
|
|
||||||
targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
|
|
||||||
>
|
|
||||||
```bash {{ title: 'cURL' }}
|
|
||||||
curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \
|
|
||||||
--header 'Authorization: Bearer {api_key}' \
|
|
||||||
--header 'Content-Type: application/json'
|
|
||||||
```
|
|
||||||
</CodeGroup>
|
|
||||||
<CodeGroup title="Response">
|
|
||||||
```json {{ title: 'Response' }}
|
|
||||||
{
|
|
||||||
"id": "file_id",
|
|
||||||
"name": "file_name",
|
|
||||||
"size": 1024,
|
|
||||||
"extension": "txt",
|
|
||||||
"url": "preview_url",
|
|
||||||
"download_url": "download_url",
|
|
||||||
"mime_type": "text/plain",
|
|
||||||
"created_by": "user_id",
|
|
||||||
"created_at": 1728734540,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
</CodeGroup>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<hr style={{ marginLeft: 0, marginRight: 0, width: '100%', maxWidth: '100%' }} />
|
|
||||||
|
|
||||||
<Heading
|
<Heading
|
||||||
url='/datasets/{dataset_id}/retrieve'
|
url='/datasets/{dataset_id}/retrieve'
|
||||||
method='POST'
|
method='POST'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue