There it goes

This commit is contained in:
2026-06-19 17:06:30 -04:00
parent 5721990f5f
commit 700bc61d92
2 changed files with 42 additions and 28 deletions
+32 -26
View File
@@ -51,12 +51,13 @@ pub mod request {
impl UpdateScheduledMessageStatusRequest { impl UpdateScheduledMessageStatusRequest {
pub fn is_valid(&self) -> bool { pub fn is_valid(&self) -> bool {
if !self.status.is_empty() || !self.scheduled_message_id.is_nil() { if !self.status.is_empty() || !self.scheduled_message_id.is_nil() {
if self.status == textsender_models::message::scheduling::PENDING || if self.status == textsender_models::message::scheduling::PENDING
self.status == textsender_models::message::scheduling::READY || || self.status == textsender_models::message::scheduling::READY
self.status == textsender_models::message::scheduling::PROCESSING || || self.status == textsender_models::message::scheduling::PROCESSING
self.status == textsender_models::message::scheduling::DONE { || self.status == textsender_models::message::scheduling::DONE
true {
true
} else { } else {
false false
} }
@@ -270,26 +271,31 @@ pub mod endpoint {
match scheduling_repo::get(&pool, &payload.scheduled_message_id).await { match scheduling_repo::get(&pool, &payload.scheduled_message_id).await {
Ok(scheduled_message) => { Ok(scheduled_message) => {
let old_status = scheduled_message.status; let old_status = scheduled_message.status;
match scheduling_repo::update_status( if old_status == payload.status {
&pool, response.message = String::from("No change");
&scheduled_message.id, (axum::http::StatusCode::NOT_MODIFIED, axum::Json(response))
&payload.status, } else {
) match scheduling_repo::update_status(
.await &pool,
{ &scheduled_message.id,
Ok(_) => { &payload.status,
response.message = )
String::from(super::super::super::response::SUCCESSFUL); .await
response.data = vec![super::response::ChangedStatus { old_status }]; {
(axum::http::StatusCode::OK, axum::Json(response)) Ok(_) => {
} response.message =
Err(err) => { String::from(super::super::super::response::SUCCESSFUL);
eprintln!("Error: {err:?}"); response.data = vec![super::response::ChangedStatus { old_status }];
response.message = String::from("Invalid"); (axum::http::StatusCode::OK, axum::Json(response))
( }
axum::http::StatusCode::INTERNAL_SERVER_ERROR, Err(err) => {
axum::Json(response), eprintln!("Error: {err:?}");
) response.message = String::from("Invalid");
(
axum::http::StatusCode::INTERNAL_SERVER_ERROR,
axum::Json(response),
)
}
} }
} }
} }
+10 -2
View File
@@ -388,7 +388,9 @@ mod request {
"status": updated_status "status": updated_status
}); });
match super::super::run_post(Some(&payload), &uri, axum::http::Method::PATCH, true).await { match super::super::run_post(Some(&payload), &uri, axum::http::Method::PATCH, true)
.await
{
Ok(req) => match app.clone().oneshot(req).await { Ok(req) => match app.clone().oneshot(req).await {
Ok(response) => Ok(response), Ok(response) => Ok(response),
Err(err) => Err(axum::http::Error::from(err)), Err(err) => Err(axum::http::Error::from(err)),
@@ -1120,7 +1122,13 @@ async fn test_update_scheduled_message_status() {
} }
} }
match request::message::scheduling::update_scheduled_message_status(&app, &scheduled_message_id, textsender_models::message::scheduling::READY).await { match request::message::scheduling::update_scheduled_message_status(
&app,
&scheduled_message_id,
textsender_models::message::scheduling::READY,
)
.await
{
Ok(response) => { Ok(response) => {
let resp = util::get_resp_data::< let resp = util::get_resp_data::<
textsender_api::caller::message::scheduling::response::UpdateScheduledMessageStatusResponse, textsender_api::caller::message::scheduling::response::UpdateScheduledMessageStatusResponse,