from datetime import datetime from pydantic import BaseModel class TrackResponse(BaseModel): id: int title: str artist: str album: str | None = None spotify_id: str | None = None preview_url: str | None = None image_url: str | None = None tempo: float | None = None energy: float | None = None danceability: float | None = None valence: float | None = None genres: list | None = None model_config = {"from_attributes": True} class PlaylistResponse(BaseModel): id: int name: str platform_source: str track_count: int taste_profile: dict | None = None imported_at: datetime model_config = {"from_attributes": True} class PlaylistDetailResponse(PlaylistResponse): tracks: list[TrackResponse] = [] class SpotifyPlaylistItem(BaseModel): id: str name: str track_count: int image_url: str | None = None class ImportSpotifyRequest(BaseModel): playlist_id: str