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