tsk-73: Change data type of song from string to date (#77)
All checks were successful
Release Tagging / release (push) Successful in 42s
Release Tagging / release (pull_request) Successful in 1m4s
Rust Build / Check (pull_request) Successful in 34s
Rust Build / Clippy (pull_request) Successful in 31s
Rust Build / Test Suite (pull_request) Successful in 58s
Rust Build / Rustfmt (pull_request) Successful in 1m2s
Rust Build / build (pull_request) Successful in 35s

Closes #73

Reviewed-on: #77
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
2025-10-19 01:45:35 +00:00
committed by phoenix
parent 8041dc6ff5
commit 51c8b5c7b3
4 changed files with 22 additions and 16 deletions

View File

@@ -39,8 +39,8 @@ pub struct Song {
pub track_count: i32,
#[serde(skip_serializing_if = "String::is_empty")]
pub audio_type: String,
#[serde(skip_serializing_if = "String::is_empty")]
pub date_created: String,
#[serde(with = "time::serde::rfc3339::option")]
pub date_created: Option<time::OffsetDateTime>,
#[serde(skip_serializing_if = "String::is_empty")]
pub filename: String,
#[serde(skip_serializing_if = "init::is_uuid_nil")]
@@ -71,21 +71,22 @@ impl Song {
pub fn song_path(&self) -> Result<String, std::io::Error> {
if self.directory.is_empty() {
return Err(std::io::Error::other("Directory does not exist"));
return Err(std::io::Error::other("Directory has not been initialized"));
} else if self.filename.is_empty() {
return Err(std::io::Error::other("Filename has not bee initialized"));
}
let directory = &self.directory;
let mut buffer: String = directory.clone();
let last_index = directory.len() - 1;
if let Some(character) = directory.chars().nth(last_index) {
if character != '/' {
buffer += "/";
}
let buffer: String = if character != '/' {
directory.clone() + "/"
} else {
directory.clone()
};
buffer += &self.filename.clone();
Ok(buffer)
Ok(buffer + &self.filename.clone())
} else {
Err(std::io::Error::other(
"Could not access last character of directory",