""" 파일 관련 Pydantic 모델 """ from typing import Optional from pydantic import BaseModel, Field from datetime import datetime class FileUpload(BaseModel): """파일 업로드 요청 모델""" filename: str = Field(..., description="파일명") file_size: int = Field(..., ge=0, description="파일 크기") model_name: Optional[str] = Field(None, description="연결된 모델 이름") parent_file_id: Optional[int] = Field(None, description="부모 파일 ID") class FileResponse(BaseModel): """파일 응답 모델""" id: int filename: str original_filename: str file_size: int model_name: Optional[str] = None uploaded_at: datetime uploaded_by: Optional[int] = None parent_file_id: Optional[int] = None chunk_count: int = 0 child_count: int = 0 class Config: """Pydantic 설정""" from_attributes = True json_encoders = { datetime: lambda v: v.isoformat() }