tsk-212: Add support to save file_type from CoverArtQueue

This commit is contained in:
kdeng00
2025-10-21 12:58:03 -04:00
parent 5244c4e8e5
commit 18b64022cf
+19 -5
View File
@@ -2,6 +2,7 @@
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] #[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
pub struct CoverArtQueue { pub struct CoverArtQueue {
pub id: uuid::Uuid, pub id: uuid::Uuid,
pub file_type: String,
pub song_queue_id: uuid::Uuid, pub song_queue_id: uuid::Uuid,
} }
@@ -131,13 +132,18 @@ pub mod response {
pub mod db { pub mod db {
use sqlx::Row; use sqlx::Row;
pub async fn insert(pool: &sqlx::PgPool, data: &Vec<u8>) -> Result<uuid::Uuid, sqlx::Error> { pub async fn insert(
pool: &sqlx::PgPool,
data: &Vec<u8>,
file_type: &str,
) -> Result<uuid::Uuid, sqlx::Error> {
let result = sqlx::query( let result = sqlx::query(
r#" r#"
INSERT INTO "coverartQueue" (data) VALUES($1) RETURNING id; INSERT INTO "coverartQueue" (data, file_type) VALUES($1, $2) RETURNING id;
"#, "#,
) )
.bind(data) .bind(data)
.bind(file_type)
.fetch_one(pool) .fetch_one(pool)
.await .await
.map_err(|e| { .map_err(|e| {
@@ -183,7 +189,7 @@ pub mod db {
) -> Result<super::CoverArtQueue, sqlx::Error> { ) -> Result<super::CoverArtQueue, sqlx::Error> {
let result = sqlx::query( let result = sqlx::query(
r#" r#"
SELECT id, song_queue_id FROM "coverartQueue" WHERE id = $1; SELECT id, file_type, song_queue_id FROM "coverartQueue" WHERE id = $1;
"#, "#,
) )
.bind(id) .bind(id)
@@ -199,6 +205,10 @@ pub mod db {
.try_get("id") .try_get("id")
.map_err(|_e| sqlx::Error::RowNotFound) .map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(), .unwrap(),
file_type: row
.try_get("file_type")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(),
song_queue_id: row song_queue_id: row
.try_get("song_queue_id") .try_get("song_queue_id")
.map_err(|_e| sqlx::Error::RowNotFound) .map_err(|_e| sqlx::Error::RowNotFound)
@@ -214,7 +224,7 @@ pub mod db {
) -> Result<super::CoverArtQueue, sqlx::Error> { ) -> Result<super::CoverArtQueue, sqlx::Error> {
let result = sqlx::query( let result = sqlx::query(
r#" r#"
SELECT id, song_queue_id FROM "coverartQueue" WHERE song_queue_id = $1; SELECT id, file_type, song_queue_id FROM "coverartQueue" WHERE song_queue_id = $1;
"#, "#,
) )
.bind(song_queue_id) .bind(song_queue_id)
@@ -230,6 +240,10 @@ pub mod db {
.try_get("id") .try_get("id")
.map_err(|_e| sqlx::Error::RowNotFound) .map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(), .unwrap(),
file_type: row
.try_get("file_type")
.map_err(|_e| sqlx::Error::RowNotFound)
.unwrap(),
song_queue_id: row song_queue_id: row
.try_get("song_queue_id") .try_get("song_queue_id")
.map_err(|_e| sqlx::Error::RowNotFound) .map_err(|_e| sqlx::Error::RowNotFound)
@@ -563,7 +577,7 @@ pub mod endpoint {
file_type file_type
); );
match super::db::insert(&pool, &raw_data).await { match super::db::insert(&pool, &raw_data, &file_type).await {
Ok(id) => { Ok(id) => {
response.message = String::from("Successful"); response.message = String::from("Successful");
response.data.push(id); response.data.push(id);