"""文件接口 DTO。""" from __future__ import annotations from datetime import datetime from pydantic import BaseModel, Field class UploadedFileOut(BaseModel): id: int storage_path: str original_filename: str content_type: str size_bytes: int sha256: str source: str uploaded_by: str uploaded_at: datetime model_config = {"from_attributes": True} class FileUploadResponse(BaseModel): id: int = Field(..., description="新写入的数据库行 ID") filename: str = Field(..., description="客户端原始文件名") size_bytes: int sha256: str storage_path: str uploaded_at: datetime class FileListResponse(BaseModel): total: int items: list[UploadedFileOut]