from pydantic import BaseModel from typing import Optional, List from datetime import datetime from .song import SongResponse class SharePlayRoomResponse(BaseModel): id: str creator_user: str created_at: datetime current_song_id: Optional[str] position_sec: float is_playing: bool shuffle_mode: bool active_connections: int class SharePlayCommand(BaseModel): type: str payload: Optional[dict] = None class SharePlayCueItem(BaseModel): song: SongResponse position: int added_by: str added_at: datetime class SharePlayCueResponse(BaseModel): items: List[SharePlayCueItem] next_song: Optional[SongResponse]