57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
|
|
|
|
class FileUploadResponse(BaseModel):
|
|
"""文件上传响应模型"""
|
|
success: bool
|
|
message: str
|
|
object_key: Optional[str] = None
|
|
file_url: Optional[str] = None
|
|
etag: Optional[str] = None
|
|
request_id: Optional[str] = None
|
|
error_code: Optional[str] = None
|
|
|
|
|
|
class FileInfo(BaseModel):
|
|
"""文件信息模型"""
|
|
success: bool
|
|
object_key: Optional[str] = None
|
|
size: Optional[int] = None
|
|
last_modified: Optional[datetime] = None
|
|
content_type: Optional[str] = None
|
|
etag: Optional[str] = None
|
|
message: Optional[str] = None
|
|
|
|
|
|
class FileListItem(BaseModel):
|
|
"""文件列表项模型"""
|
|
key: str
|
|
size: int
|
|
last_modified: Optional[str] = None
|
|
etag: str
|
|
|
|
|
|
class FileListResponse(BaseModel):
|
|
"""文件列表响应模型"""
|
|
success: bool
|
|
files: Optional[List[FileListItem]] = None
|
|
count: Optional[int] = None
|
|
message: Optional[str] = None
|
|
|
|
|
|
class DeleteFileResponse(BaseModel):
|
|
"""删除文件响应模型"""
|
|
success: bool
|
|
message: str
|
|
object_key: Optional[str] = None
|
|
request_id: Optional[str] = None
|
|
error_code: Optional[str] = None
|
|
|
|
|
|
class HealthCheck(BaseModel):
|
|
"""健康检查响应模型"""
|
|
status: str
|
|
message: str
|
|
timestamp: datetime |