52 lines
1.4 KiB
Rust
52 lines
1.4 KiB
Rust
#[derive(Debug, serde::Deserialize, Clone)]
|
|
pub struct CloudPlaylists {
|
|
pub collection: Vec<CloudPlaylist>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
|
|
pub struct CloudPlaylist {
|
|
pub artwork_url: Option<String>,
|
|
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<CloudTrack>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
|
|
pub struct CloudTrack {
|
|
pub artwork_url: Option<String>,
|
|
pub created_at: Option<String>,
|
|
pub description: Option<String>,
|
|
pub duration: Option<u32>,
|
|
pub genre: Option<String>,
|
|
pub id: u64,
|
|
pub permalink_url: Option<String>,
|
|
pub title: Option<String>,
|
|
pub uri: Option<String>,
|
|
pub user: Option<CloudArtist>,
|
|
pub media: Option<CloudTranscodings>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
|
|
pub struct CloudArtist {
|
|
pub username: Option<String>,
|
|
pub permalink: String,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
|
|
pub struct CloudTranscodings {
|
|
pub transcodings: Vec<CloudTranscoding>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
|
|
pub struct CloudTranscoding {
|
|
pub duration: u32,
|
|
pub preset: String,
|
|
pub quality: String,
|
|
pub url: String,
|
|
}
|