#[derive(Debug, serde::Deserialize, Clone)] pub struct CloudPlaylists { pub collection: Vec, } #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct CloudPlaylist { pub artwork_url: Option, pub description: String, pub genre: String, pub id: u64, pub permalink_url: String, pub created_at: String, pub title: String, pub track_count: u32, pub tracks: Vec, } #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct CloudTrack { pub artwork_url: Option, pub created_at: Option, pub description: Option, pub duration: Option, pub genre: Option, pub id: u64, pub permalink_url: Option, pub title: Option, pub uri: Option, pub user: Option, pub media: Option, } #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct CloudArtist { pub username: Option, pub permalink: String, } #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct CloudTranscodings { pub transcodings: Vec, } #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct CloudTranscoding { pub duration: u32, pub preset: String, pub quality: String, pub url: String, }