1use crate::convert::FromMap;
4use crate::error::{Error, ProtoError};
5
6use std::collections::BTreeMap;
7
8#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
10#[derive(Clone, Debug, PartialEq)]
11pub struct Playlist {
12 pub name: String,
14 pub last_mod: String,
16}
17
18impl FromMap for Playlist {
19 fn from_map(map: BTreeMap<String, String>) -> Result<Playlist, Error> {
20 Ok(Playlist {
21 name: map.get("playlist").map(|v| v.to_owned()).ok_or(Error::Proto(ProtoError::NoField("playlist")))?,
22 last_mod: map.get("Last-Modified").map(|v| v.to_owned()).ok_or(Error::Proto(ProtoError::NoField("Last-Modified")))?,
23 })
24 }
25}