Create metadata #133

Merged
kdeng00 merged 28 commits from create_metadata into v0.2 2025-05-23 20:12:15 -04:00
2 changed files with 5 additions and 25 deletions
Showing only changes of commit 56e3b09dda - Show all commits
+5 -17
View File
@@ -136,9 +136,6 @@ mod song_db {
// TODO: Change first parameter of return value from string to a time type
pub async fn insert(pool: &sqlx::PgPool, song: &icarus_models::song::Song) -> Result<(String, uuid::Uuid), sqlx::Error> {
// $11, $12, $13, $14, $15) RETURNING date_created, id;
let result = sqlx::query(
r#"
INSERT INTO "song" (title, artist, album_artist, album, genre, year, track, disc, track_count, disc_count, duration, audio_type, filename, directory, user_id)
@@ -163,9 +160,7 @@ mod song_db {
.fetch_one(pool)
.await
.map_err(|e| {
eprintln!("Error inserting query: {:?} year {:?} song {:?}", e, song.year, song);
// eprintln!("Year: {:?}", song.year);
// eprintln!("Song: {:?}", song);
eprintln!("Error inserting query: {:?}", e);
});
match result {
@@ -174,9 +169,8 @@ mod song_db {
.try_get("id")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap();
let date_created_ty: time::OffsetDateTime = row.try_get("date_created").map_err(|_e| sqlx::Error::RowNotFound).unwrap();
let mut date_created = String::from("2025-01-01");
date_created = date_created_ty.to_string();
let date_created_time: time::OffsetDateTime = row.try_get("date_created").map_err(|_e| sqlx::Error::RowNotFound).unwrap();
let date_created = date_created_time.to_string();
Ok((date_created, id))
}
@@ -578,7 +572,6 @@ pub mod endpoint {
}
}
// TODO: Implement
pub async fn create_metadata(
axum::Extension(pool): axum::Extension<sqlx::PgPool>,
axum::Json(payload): axum::Json<super::request::create_metadata::Request>,
@@ -588,17 +581,14 @@ pub mod endpoint {
if payload.is_valid() {
let mut song = payload.to_song();
song.filename = song.generate_filename(icarus_models::types::MusicTypes::FlacExtension, true);
eprintln!("File: {:?}", song.filename);
song.directory = crate::environment::get_root_directory().await.unwrap();
eprintln!("Song queue_id: {:?}", payload.song_queue_id);
match song_queue::get_data(&pool, &payload.song_queue_id).await {
Ok(data) => {
eprintln!("Year: {:?}", song.year);
song.data = data;
eprintln!("Song fetched: {:?}", song);
let dir = std::path::Path::new(&song.directory);
let save_path = dir.join(&song.filename);
let mut file = std::fs::File::create(&save_path).unwrap();
file.write_all(&song.data).unwrap();
@@ -608,12 +598,11 @@ pub mod endpoint {
Ok((date_created, id)) => {
song.id = id;
song.date_created = date_created;
// response.data.push(returned_song);
response.data.push(song);
(axum::http::StatusCode::OK, axum::Json(response))
}
Err(err) => {
println!("Song: {:?}", song);
response.message = format!("{:?} song {:?}", err.to_string(), song);
(axum::http::StatusCode::BAD_REQUEST, axum::Json(response))
}
@@ -626,7 +615,6 @@ pub mod endpoint {
}
}
Err(err) => {
eprintln!("Big whoopsie {:?}", song);
response.message = err.to_string();
(axum::http::StatusCode::BAD_REQUEST, axum::Json(response))
}
-8
View File
@@ -20,13 +20,6 @@ pub mod db {
.await
}
/*
async fn get_db_url() -> String {
dotenvy::dotenv().ok();
env::var(keys::DBURL).expect(keys::error::ERROR)
}
*/
pub async fn migrations(pool: &sqlx::PgPool) {
// Run migrations using the sqlx::migrate! macro
// Assumes your migrations are in a ./migrations folder relative to Cargo.toml
@@ -162,7 +155,6 @@ mod tests {
pub async fn get_pool() -> Result<sqlx::PgPool, sqlx::Error> {
dotenvy::dotenv().ok();
// let tm_db_url = std::env::var(keys::DBURL).expect("DATABASE_URL must be present");
let tm_db_url = crate::environment::get_db_url().await;
let tm_options = sqlx::postgres::PgConnectOptions::from_str(&tm_db_url).unwrap();
sqlx::PgPool::connect_with(tm_options).await