diff options
Diffstat (limited to 'src/channel/routes.rs')
| -rw-r--r-- | src/channel/routes.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/channel/routes.rs b/src/channel/routes.rs index 5d67af8..e97c447 100644 --- a/src/channel/routes.rs +++ b/src/channel/routes.rs @@ -7,7 +7,13 @@ use axum::{ }; use super::{app, Channel, Id}; -use crate::{app::App, clock::RequestedAt, error::Internal, login::Login, message::app::SendError}; +use crate::{ + app::App, + clock::RequestedAt, + error::{Internal, NotFound}, + login::Login, + message::app::SendError, +}; #[cfg(test)] mod test; @@ -56,7 +62,7 @@ impl IntoResponse for CreateError { #[derive(Clone, serde::Deserialize)] struct SendRequest { - message: String, + body: String, } async fn on_send( @@ -67,7 +73,7 @@ async fn on_send( Json(request): Json<SendRequest>, ) -> Result<StatusCode, SendErrorResponse> { app.messages() - .send(&channel, &login, &sent_at, &request.message) + .send(&channel, &login, &sent_at, &request.body) .await?; Ok(StatusCode::ACCEPTED) @@ -81,9 +87,7 @@ impl IntoResponse for SendErrorResponse { fn into_response(self) -> Response { let Self(error) = self; match error { - not_found @ SendError::ChannelNotFound(_) => { - (StatusCode::NOT_FOUND, not_found.to_string()).into_response() - } + not_found @ SendError::ChannelNotFound(_) => NotFound(not_found).into_response(), other => Internal::from(other).into_response(), } } |
