diff --git a/src/repo/scheduling.rs b/src/repo/scheduling.rs index 066f4eb..b61a5df 100644 --- a/src/repo/scheduling.rs +++ b/src/repo/scheduling.rs @@ -42,18 +42,18 @@ pub async fn get( .await { Ok(row) => { + /* let id: uuid::Uuid = row.try_get("id")?; let scheduled: time::OffsetDateTime = row.try_get("scheduled")?; let status: String = row.try_get("status")?; let created: time::OffsetDateTime = row.try_get("created")?; let user_id: uuid::Uuid = row.try_get("user_id")?; - Ok(textsender_models::message::scheduling::ScheduledMessage { - id, - scheduled: Some(scheduled), - created: Some(created), - status, - user_id, - }) + */ + + match parse_row(&row).await { + Ok(scheduled_message) => Ok(scheduled_message), + Err(err) => Err(err), + } } Err(_) => Err(sqlx::Error::RowNotFound), } @@ -78,6 +78,7 @@ pub async fn get_with_user_id( let mut messages: Vec = Vec::new(); for row in rows { + /* let id: uuid::Uuid = row.try_get("id")?; let scheduled: time::OffsetDateTime = row.try_get("scheduled")?; let status: String = row.try_get("status")?; @@ -91,7 +92,15 @@ pub async fn get_with_user_id( status, user_id, }; - messages.push(message); + */ + match parse_row(&row).await { + Ok(scheduled_message) => { + messages.push(scheduled_message); + } + Err(err) => { + return Err(err); + } + } } Ok(messages) @@ -99,3 +108,21 @@ pub async fn get_with_user_id( Err(_) => Err(sqlx::Error::RowNotFound), } } + +async fn parse_row( + row: &sqlx::postgres::PgRow, +) -> Result { + let id: uuid::Uuid = row.try_get("id")?; + let scheduled: time::OffsetDateTime = row.try_get("scheduled")?; + let status: String = row.try_get("status")?; + let created: time::OffsetDateTime = row.try_get("created")?; + let user_id: uuid::Uuid = row.try_get("user_id")?; + + Ok(textsender_models::message::scheduling::ScheduledMessage { + id, + scheduled: Some(scheduled), + created: Some(created), + status, + user_id, + }) +}