From b9fd0cfcc5ff14fb2d784861501d58a8388f6388 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Mon, 3 Nov 2025 13:49:13 -0500 Subject: [PATCH] tsk-196: Moving SongQueue struct --- src/callers/queue/song.rs | 2 +- src/repo/queue/song.rs | 24 +++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/callers/queue/song.rs b/src/callers/queue/song.rs index bb280f9..c0ba2d4 100644 --- a/src/callers/queue/song.rs +++ b/src/callers/queue/song.rs @@ -53,7 +53,7 @@ pub mod response { #[derive(Default, Deserialize, Serialize, utoipa::ToSchema)] pub struct Response { pub message: String, - pub data: Vec, + pub data: Vec, } } diff --git a/src/repo/queue/song.rs b/src/repo/queue/song.rs index 6505238..74d8ed6 100644 --- a/src/repo/queue/song.rs +++ b/src/repo/queue/song.rs @@ -11,13 +11,15 @@ pub mod status { } } -// TODO: Move this somewhere else at some point -#[derive(Debug, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema)] -pub struct SongQueue { - pub id: uuid::Uuid, - pub filename: String, - pub status: String, - pub user_id: uuid::Uuid, +pub mod dbtype { + /// Maps to the songQueue table. Does not contain the data field + #[derive(Debug, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema)] + pub struct SongQueue { + pub id: uuid::Uuid, + pub filename: String, + pub status: String, + pub user_id: uuid::Uuid, + } } pub async fn insert( @@ -79,7 +81,7 @@ pub async fn update( } } -pub async fn get_most_recent_and_update(pool: &sqlx::PgPool) -> Result { +pub async fn get_most_recent_and_update(pool: &sqlx::PgPool) -> Result { let result = sqlx::query( r#" UPDATE "songQueue" @@ -102,7 +104,7 @@ pub async fn get_most_recent_and_update(pool: &sqlx::PgPool) -> Result { let user_id_result = row.try_get("user_id"); - let song_queue = SongQueue { + let song_queue = dbtype::SongQueue { id: row .try_get("id") .map_err(|_e| sqlx::Error::RowNotFound) @@ -209,7 +211,7 @@ pub async fn link_user_id( pub async fn get_song_queue( pool: &sqlx::PgPool, id: &uuid::Uuid, -) -> Result { +) -> Result { let result = sqlx::query( r#" SELECT id, filename, status, user_id FROM "songQueue" WHERE id = $1 @@ -225,7 +227,7 @@ pub async fn get_song_queue( match result { Ok(row) => { let user_id_result = row.try_get("user_id"); - let song_queue = SongQueue { + let song_queue = dbtype::SongQueue { id: row .try_get("id") .map_err(|_e| sqlx::Error::RowNotFound)