Added Album collection

This commit is contained in:
KD
2025-03-19 00:56:17 +00:00
parent 9d3098de6b
commit 98c518e149
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;