tsk-212: Add support to save file_type from CoverArtQueue
This commit is contained in:
+19
-5
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user