Saving changes

This commit is contained in:
kdeng00
2025-07-29 16:00:48 -04:00
parent 4d30f027af
commit 89fcb5f4f6
2 changed files with 98 additions and 14 deletions
+71
View File
@@ -376,6 +376,77 @@ pub mod cov_db {
Err(_) => Err(sqlx::Error::RowNotFound),
}
}
pub async fn get_coverart_with_song_id(
pool: &sqlx::PgPool,
song_id: &uuid::Uuid,
) -> Result<icarus_models::coverart::CoverArt, sqlx::Error> {
let result = sqlx::query(
r#"
SELECT id, title, path, song_id FROM "coverart" WHERE song_id = $1;
"#,
)
.bind(song_id)
.fetch_one(pool)
.await
.map_err(|e| {
eprintln!("Error querying data: {e:?}");
});
match result {
Ok(row) => Ok(icarus_models::coverart::CoverArt {
id: row
.try_get("id")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(),
title: row
.try_get("title")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(),
path: row
.try_get("path")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(),
data: Vec::new(),
song_id: row
.try_get("song_id")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(),
}),
Err(_) => Err(sqlx::Error::RowNotFound),
}
}
pub async fn delete_coverart(pool: &sqlx::PgPool, id: &uuid::Uuid) -> Result<icarus_models::coverart::CoverArt, sqlx::Error> {
let result = sqlx::query(
r#"
DELETE FROM "coverrt"
WHERE id = $1
RETURNING id, title, path, song_id
"#
)
.bind(id)
.fetch_one(pool)
.await
.map_err(|e| {
eprintln!("Error deleting data: {e:?}");
});
match result {
Ok(row) => {
Ok(icarus_models::coverart::CoverArt {
id: row.try_get("id").map_err(|_e| sqlx::Error::RowNotFound).unwrap(),
title: row.try_get("id").map_err(|_e| sqlx::Error::RowNotFound).unwrap(),
path: row.try_get("id").map_err(|_e| sqlx::Error::RowNotFound).unwrap(),
song_id: row.try_get("id").map_err(|_e| sqlx::Error::RowNotFound).unwrap(),
data: Vec::new(),
})
}
Err(_err) => {
Err(sqlx::Error::RowNotFound)
}
}
}
}
pub mod endpoint {