Added song.rs file
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
pub mod access_level;
|
pub mod access_level;
|
||||||
pub mod login_result;
|
pub mod login_result;
|
||||||
|
pub mod song;
|
||||||
pub mod token;
|
pub mod token;
|
||||||
pub mod user;
|
pub mod user;
|
||||||
|
|
||||||
|
73
src/song.rs
Normal file
73
src/song.rs
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
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<i32>,
|
||||||
|
pub title: Option<String>,
|
||||||
|
pub artist: Option<String>,
|
||||||
|
pub album: Option<String>,
|
||||||
|
pub album_artist: Option<String>,
|
||||||
|
pub genre: Option<String>,
|
||||||
|
pub year: Option<i32>,
|
||||||
|
pub duration: Option<i32>,
|
||||||
|
pub track: Option<i32>,
|
||||||
|
pub disc: Option<i32>,
|
||||||
|
pub disc_count: Option<i32>,
|
||||||
|
pub track_count: Option<i32>,
|
||||||
|
pub audio_type: Option<String>,
|
||||||
|
pub date_created: Option<String>,
|
||||||
|
pub filename: Option<String>,
|
||||||
|
pub user_id: Option<i32>,
|
||||||
|
#[serde(skip)]
|
||||||
|
pub data: Option<Vec<u8>>,
|
||||||
|
#[serde(skip)]
|
||||||
|
pub directory: Option<String>,
|
||||||
|
#[serde(skip)]
|
||||||
|
pub album_id: Option<i32>,
|
||||||
|
#[serde(skip)]
|
||||||
|
pub artist_id: Option<i32>,
|
||||||
|
#[serde(skip)]
|
||||||
|
pub genre_id: Option<i32>,
|
||||||
|
#[serde(skip)]
|
||||||
|
pub coverart_id: Option<i32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
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<String, serde_json::Error> {
|
||||||
|
return serde_json::to_string_pretty(&self);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user