"""Favorite response schemas.""" from datetime import datetime from pydantic import BaseModel, Field class FavoriteResponse(BaseModel): """Response schema for a favorite.""" id: int = Field(description="Favorite ID") user_id: int = Field(description="User ID") sound_id: int | None = Field( description="Sound ID if this is a sound favorite", default=None ) playlist_id: int | None = Field( description="Playlist ID if this is a playlist favorite", default=None ) created_at: datetime = Field(description="Creation timestamp") updated_at: datetime = Field(description="Last update timestamp") class Config: """Pydantic config.""" from_attributes = True class FavoritesListResponse(BaseModel): """Response schema for a list of favorites.""" favorites: list[FavoriteResponse] = Field(description="List of favorites") class FavoriteCountsResponse(BaseModel): """Response schema for favorite counts.""" total: int = Field(description="Total number of favorites") sounds: int = Field(description="Number of favorited sounds") playlists: int = Field(description="Number of favorited playlists")