use std::default::Default; use std::io::Read; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize)] pub struct Song { #[serde(alias = "id")] pub id: Option, pub title: Option, pub artist: Option, pub album: Option, pub album_artist: Option, pub genre: Option, pub year: Option, pub duration: Option, pub track: Option, pub disc: Option, pub disc_count: Option, pub track_count: Option, pub audio_type: Option, pub date_created: Option, pub filename: Option, pub user_id: Option, #[serde(skip)] pub data: Option>, #[serde(skip)] pub directory: Option, #[serde(skip)] pub album_id: Option, #[serde(skip)] pub artist_id: Option, #[serde(skip)] pub genre_id: Option, #[serde(skip)] pub coverart_id: Option, } impl Default for Song { fn default() -> Self { Song { id: None, title: None, artist: None, album: None, album_artist: None, genre: None, year: None, duration: None, track: None, disc: None, disc_count: None, track_count: None, audio_type: None, date_created: None, filename: None, user_id: None, data: None, directory: None, album_id: None, artist_id: None, genre_id: None, coverart_id: None, } } } impl Song { // TODO: Implement pub fn to_metadata_json(&self) -> Result { return serde_json::to_string_pretty(&self); } }