use serde::{Deserialize, Serialize}; use crate::{ commands::{ Command, CommandResponse, RequestParserError, ResponseParserError, single_optional_item_command_request, }, response_tokenizer::ResponseAttributes, types::{DbSongInfo, OneOrRange, Priority, SongId, SongPosition}, }; pub struct PlaylistInfo; single_optional_item_command_request!(PlaylistInfo, "playlistinfo", OneOrRange); #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct PlaylistInfoResponse(Vec); #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct PlaylistInfoResponseEntry { pub position: SongPosition, pub id: SongId, pub priority: Option, pub song_info: DbSongInfo, } impl CommandResponse<'_> for PlaylistInfoResponse { fn into_response_enum(self) -> crate::Response { todo!() } fn from_response_enum(response: crate::Response) -> Option { todo!() } fn parse(_parts: ResponseAttributes<'_>) -> Result> { unimplemented!() } } impl Command<'_, '_> for PlaylistInfo { type Request = PlaylistInfoRequest; type Response = PlaylistInfoResponse; }