qobuz_api_rust/models/
track.rs1use serde::{Deserialize, Serialize};
2
3use crate::models::{Album, Artist, AudioInfo};
4
5#[derive(Serialize, Deserialize, Debug, Clone, Default)]
22pub struct Track {
23 #[serde(rename = "id")]
25 pub id: Option<i32>,
26
27 #[serde(rename = "title")]
29 pub title: Option<String>,
30
31 #[serde(rename = "version")]
33 pub version: Option<String>,
34
35 #[serde(rename = "isrc")]
37 pub isrc: Option<String>,
38
39 #[serde(rename = "track_number")]
41 pub track_number: Option<i32>,
42
43 #[serde(rename = "duration")]
45 pub duration: Option<i64>,
46
47 #[serde(rename = "media_number")]
49 pub media_number: Option<i32>,
50
51 #[serde(rename = "work")]
53 pub work: Option<String>,
54
55 #[serde(rename = "album")]
57 pub album: Option<Box<Album>>,
58
59 #[serde(rename = "performer")]
61 pub performer: Option<Box<Artist>>,
62
63 #[serde(rename = "performers")]
65 pub performers: Option<String>,
66
67 #[serde(rename = "composer")]
69 pub composer: Option<Box<Artist>>,
70
71 #[serde(rename = "audio_info")]
73 pub audio_info: Option<AudioInfo>,
74
75 #[serde(rename = "copyright")]
77 pub copyright: Option<String>,
78
79 #[serde(rename = "displayable")]
81 pub displayable: Option<bool>,
82
83 #[serde(rename = "downloadable")]
85 pub downloadable: Option<bool>,
86
87 #[serde(rename = "purchasable")]
89 pub purchasable: Option<bool>,
90
91 #[serde(rename = "streamable")]
93 pub streamable: Option<bool>,
94
95 #[serde(rename = "previewable")]
97 pub previewable: Option<bool>,
98
99 #[serde(rename = "sampleable")]
101 pub sampleable: Option<bool>,
102
103 #[serde(rename = "hires")]
105 pub hires: Option<bool>,
106
107 #[serde(rename = "hires_streamable")]
109 pub hires_streamable: Option<bool>,
110
111 #[serde(rename = "maximum_bit_depth")]
113 pub maximum_bit_depth: Option<f64>,
114
115 #[serde(rename = "maximum_channel_count")]
117 pub maximum_channel_count: Option<f64>,
118
119 #[serde(rename = "maximum_sampling_rate")]
121 pub maximum_sampling_rate: Option<f64>,
122
123 #[serde(rename = "purchasable_at")]
125 pub purchasable_at: Option<i64>,
126
127 #[serde(rename = "streamable_at")]
129 pub streamable_at: Option<i64>,
130
131 #[serde(rename = "release_date_download")]
133 pub release_date_download: Option<String>,
134
135 #[serde(rename = "release_date_original")]
137 pub release_date_original: Option<String>,
138
139 #[serde(rename = "release_date_stream")]
141 pub release_date_stream: Option<String>,
142
143 #[serde(rename = "parental_warning")]
145 pub parental_warning: Option<bool>,
146}