Compare commits

...

2 Commits

Author SHA1 Message Date
KD
ab3e519f53 Merge branch 'album_model' into 'dev'
Added Album collection

See merge request kdeng00/icarus-models!38
2025-03-19 00:56:18 +00:00
KD
98c518e149 Added Album collection 2025-03-19 00:56:17 +00:00
2 changed files with 32 additions and 0 deletions

31
src/album.rs Normal file
View File

@@ -0,0 +1,31 @@
pub mod collection {
use serde::{Deserialize, Serialize};
fn is_set(num: &i32) -> bool {
*num >= 0
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Album {
#[serde(skip_serializing_if = "String::is_empty")]
#[serde(alias = "album")]
pub title: String,
pub genre: String,
pub year: i32,
pub track_count: i32,
#[serde(skip_serializing_if = "is_set")]
pub disc_count: i32,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub tracks: Vec<Track>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Track {
pub title: String,
pub artist: String,
pub disc: i32,
pub track: i32,
// In seconds
pub duration: f64,
}
}

View File

@@ -1,4 +1,5 @@
pub mod access_level;
pub mod album;
pub mod constants;
pub mod login_result;
pub mod song;