from pydantic import BaseModel from typing import Optional from datetime import datetime class SongBase(BaseModel): title: str artist: str album: Optional[str] = None genre: Optional[str] = None class SongCreate(SongBase): pass class SongResponse(SongBase): id: str duration_sec: float = 0 file_path: str transcoded_path: Optional[str] = None album_art_path: Optional[str] = None added_at: datetime file_format: Optional[str] = None file_size_bytes: int = 0 class Config: from_attributes = True class ScanResult(BaseModel): scanned: int added: int skipped: int errors: list[str]