use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "UPPERCASE")]
pub enum LikeStatus {
Like,
Dislike,
Indifferent,
}
impl LikeStatus {
pub(crate) fn endpoint(self) -> &'static str {
match self {
LikeStatus::Like => "like/like",
LikeStatus::Dislike => "like/dislike",
LikeStatus::Indifferent => "like/removelike",
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Thumbnail {
pub url: String,
pub width: Option<u32>,
pub height: Option<u32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Artist {
pub name: String,
pub id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Album {
pub name: String,
pub id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Author {
pub name: String,
pub id: Option<String>,
}