From 3118cff274a3a65c5d873d7317fce8e658603904 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Mon, 21 Jul 2025 19:44:48 -0400 Subject: [PATCH] Fixing possible nil user_id field in SongQueue when calling a function --- src/callers/song.rs | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/callers/song.rs b/src/callers/song.rs index a9cce1c..e58c486 100644 --- a/src/callers/song.rs +++ b/src/callers/song.rs @@ -422,24 +422,33 @@ mod song_queue { }); match result { - Ok(row) => Ok(SongQueue { - id: row - .try_get("id") - .map_err(|_e| sqlx::Error::RowNotFound) - .unwrap(), - filename: row - .try_get("filename") - .map_err(|_e| sqlx::Error::RowNotFound) - .unwrap(), - status: row - .try_get("status") - .map_err(|_e| sqlx::Error::RowNotFound) - .unwrap(), - user_id: row - .try_get("user_id") - .map_err(|_e| sqlx::Error::RowNotFound) - .unwrap(), - }), + Ok(row) => { + let user_id_result = row.try_get("user_id"); + let song_queue = SongQueue { + id: row + .try_get("id") + .map_err(|_e| sqlx::Error::RowNotFound) + .unwrap(), + filename: row + .try_get("filename") + .map_err(|_e| sqlx::Error::RowNotFound) + .unwrap(), + status: row + .try_get("status") + .map_err(|_e| sqlx::Error::RowNotFound) + .unwrap(), + user_id: match user_id_result { + Ok(id) => { + id + } + Err(_) => { + uuid::Uuid::nil() + } + } + }; + + Ok(song_queue) + } Err(_err) => Err(sqlx::Error::RowNotFound), } }