2026-05-30 07:23:33 +08:00
|
|
|
|
"""
|
|
|
|
|
|
文件上传模块请求模型
|
|
|
|
|
|
|
|
|
|
|
|
定义文件上传相关的请求体数据模型,供 files 路由使用。
|
|
|
|
|
|
包含获取上传凭证和保存附件元信息两个操作。
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CreateUploadTokenRequest(BaseModel):
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""获取文件上传凭证请求体。被 POST /api/files/upload-token 路由使用。"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
biz_type: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""业务类型(如 order / logistics / customer 等,用于文件归档分类)"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
biz_id: int = Field(gt=0)
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""业务关联 ID(如订单 ID、客户 ID 等)"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_name: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""原始文件名称"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_type: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""文件 MIME 类型(如 image/png)"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_size: int = Field(gt=0)
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""文件大小(字节)"""
|
2026-05-14 16:12:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SaveAttachmentRequest(BaseModel):
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""保存附件元信息请求体。被 POST /api/files/attachments 路由使用。"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
biz_type: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""业务类型"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
biz_id: int = Field(gt=0)
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""业务关联 ID"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_name: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""文件名称"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_url: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""文件 URL(上传后的访问地址)"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_type: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""文件 MIME 类型"""
|
|
|
|
|
|
|
2026-05-14 16:12:25 +08:00
|
|
|
|
file_size: int = Field(gt=0)
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""文件大小(字节)"""
|
2026-05-14 16:12:25 +08:00
|
|
|
|
|