From 95846299292be9b52d2a128df4d32a03ae2f5ccf Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 19 Jun 2026 15:48:23 -0400 Subject: [PATCH] Got it --- src/caller/message/scheduling.rs | 31 +++++++++++++++++++++++++------ src/repo/message/scheduling.rs | 22 ++++++++++++++++++++++ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/src/caller/message/scheduling.rs b/src/caller/message/scheduling.rs index c0290ce..dc3733c 100644 --- a/src/caller/message/scheduling.rs +++ b/src/caller/message/scheduling.rs @@ -365,9 +365,9 @@ pub mod endpoint { path = crate::caller::endpoints::DELETE_SCHEDULED_MESSAGE_EVENT, params(("id" = uuid::Uuid, Path, description = "Scheduled Message Event Id")), responses( - (status = 200, description = "Song deleted", body = super::response::DeleteScheduledMessageEventResponse), - (status = 404, description = "Song not found", body = super::response::DeleteScheduledMessageEventResponse), - (status = 500, description = "Error deleting song", body = super::response::DeleteScheduledMessageEventResponse) + (status = 200, description = "Deleted", body = super::response::DeleteScheduledMessageEventResponse), + (status = 400, description = "Bad request", body = super::response::DeleteScheduledMessageEventResponse), + (status = 500, description = "Error deleting", body = super::response::DeleteScheduledMessageEventResponse) ) )] pub async fn delete_scheduled_message_event( @@ -377,8 +377,27 @@ pub mod endpoint { axum::http::StatusCode, axum::Json, ) { - let response = super::response::DeleteScheduledMessageEventResponse::default(); - todo!("Has not been implemented"); - (axum::http::StatusCode::NOT_IMPLEMENTED, axum::Json(response)) + let mut response = super::response::DeleteScheduledMessageEventResponse::default(); + match scheduling_repo::sched_msg_event::get(&pool, &id).await { + Ok(scheduled_message_event) => { + match scheduling_repo::sched_msg_event::delete(&pool, &scheduled_message_event).await { + Ok(_) => { + response.message = String::from(super::super::super::response::SUCCESSFUL); + response.data.push(scheduled_message_event); + (axum::http::StatusCode::OK, axum::Json(response)) + } + Err(err) => { + eprintln!("Error: {err:?}"); + response.message = String::from("Error deleting"); + (axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::Json(response)) + } + } + } + Err(err) => { + eprintln!("Error: {err:?}"); + response.message = String::from("Bad request"); + (axum::http::StatusCode::BAD_REQUEST, axum::Json(response)) + } + } } } diff --git a/src/repo/message/scheduling.rs b/src/repo/message/scheduling.rs index 246a9c9..e68c72d 100644 --- a/src/repo/message/scheduling.rs +++ b/src/repo/message/scheduling.rs @@ -189,6 +189,28 @@ pub mod sched_msg_event { } } +pub async fn delete( + pool: &sqlx::PgPool, + scheduled_message_event: &textsender_models::message::scheduling::ScheduledMessageEvent, +) -> Result<(), sqlx::Error> { + match sqlx::query( + r#" + DELETE FROM "scheduled_message_events" + WHERE id = $1 + "#, + ) + .bind(scheduled_message_event.id) + .execute(pool) + .await { + Ok(_) => { + Ok(()) + } + Err(err) => { + Err(err) + } + } +} + async fn parse_row( row: &sqlx::postgres::PgRow, ) -> Result {