//! All objects related to artist defined by Spotify API use serde::{Deserialize, Serialize}; use crate::{ArtistId, CursorBasedPage, Followers, Image}; /// Simplified Artist Object #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Default)] pub struct SimplifiedArtist { pub href: Option, pub id: Option>, pub name: String, } /// Full Artist Object #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] pub struct FullArtist { pub followers: Followers, pub genres: Vec, pub href: String, pub id: ArtistId<'static>, pub images: Vec, pub name: String, pub popularity: u32, } /// Intermediate full artist object wrapped by `Vec` #[derive(Deserialize)] pub struct FullArtists { pub artists: Vec, } /// Intermediate full Artists vector wrapped by cursor-based-page object #[derive(Deserialize)] pub struct CursorPageFullArtists { pub artists: CursorBasedPage, }