use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MusicSearchParam {
#[serde(rename = "q")]
Q,
#[serde(rename = "album")]
Album,
#[serde(rename = "artist")]
Artist,
#[serde(rename = "label")]
Label,
#[serde(rename = "year")]
Year,
#[serde(rename = "genre")]
Genre,
#[serde(rename = "track")]
Track,
}
impl std::fmt::Display for MusicSearchParam {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Q => write!(f, "q"),
Self::Album => write!(f, "album"),
Self::Artist => write!(f, "artist"),
Self::Label => write!(f, "label"),
Self::Year => write!(f, "year"),
Self::Genre => write!(f, "genre"),
Self::Track => write!(f, "track"),
}
}
}
impl Default for MusicSearchParam {
fn default() -> MusicSearchParam {
Self::Q
}
}