Merge branch 'album_model' into 'dev'

Added Album collection

See merge request kdeng00/icarus-models!38
This commit is contained in:
KD
2025-03-19 00:56:18 +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 access_level;
pub mod album;
pub mod constants; pub mod constants;
pub mod login_result; pub mod login_result;
pub mod song; pub mod song;