28 lines
671 B
Python
28 lines
671 B
Python
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] |