Got it working

This commit is contained in:
2026-06-17 14:23:38 -04:00
parent ec0a310d76
commit e54a53a496
3 changed files with 16 additions and 18 deletions
+9 -10
View File
@@ -5,7 +5,7 @@ pub mod request {
#[derive(Debug, Deserialize, Serialize, ToSchema)] #[derive(Debug, Deserialize, Serialize, ToSchema)]
pub struct AddMessageRequest { pub struct AddMessageRequest {
pub content: String, pub content: String,
pub user_id: uuid::Uuid pub user_id: uuid::Uuid,
} }
impl AddMessageRequest { impl AddMessageRequest {
@@ -22,7 +22,7 @@ pub mod response {
#[derive(Debug, Default, Deserialize, Serialize, ToSchema)] #[derive(Debug, Default, Deserialize, Serialize, ToSchema)]
pub struct AddMessageResponse { pub struct AddMessageResponse {
pub message: String, pub message: String,
pub data: Vec<textsender_models::message::Message> pub data: Vec<textsender_models::message::Message>,
} }
} }
@@ -59,8 +59,7 @@ pub mod endpoint {
user_id: Some(payload.user_id), user_id: Some(payload.user_id),
..Default::default() ..Default::default()
}; };
match message_repo::insert(&pool, &msg, &payload.user_id) .await match message_repo::insert(&pool, &msg, &payload.user_id).await {
{
Ok(message_id) => { Ok(message_id) => {
msg.id = Some(message_id); msg.id = Some(message_id);
response.data.push(msg); response.data.push(msg);
@@ -68,13 +67,13 @@ pub mod endpoint {
(axum::http::StatusCode::CREATED, axum::Json(response)) (axum::http::StatusCode::CREATED, axum::Json(response))
} }
Err(err) => { Err(err) => {
eprintln!("Error: {err:?}"); eprintln!("Error: {err:?}");
response.message = String::from("Contact not created"); response.message = String::from("Contact not created");
( (
axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::http::StatusCode::INTERNAL_SERVER_ERROR,
axum::Json(response), axum::Json(response),
) )
} }
} }
} else { } else {
+6 -6
View File
@@ -17,8 +17,8 @@ pub mod init {
use crate::caller::contact as contact_caller; use crate::caller::contact as contact_caller;
use crate::caller::message as message_caller; use crate::caller::message as message_caller;
use contact_caller::endpoint as contact_endpoints; use contact_caller::endpoint as contact_endpoints;
use message_caller::endpoint as message_endpoints;
use contact_caller::response as contact_responses; use contact_caller::response as contact_responses;
use message_caller::endpoint as message_endpoints;
use message_caller::response as message_responses; use message_caller::response as message_responses;
mod cors { mod cors {
@@ -76,9 +76,9 @@ pub mod init {
#[derive(utoipa::OpenApi)] #[derive(utoipa::OpenApi)]
#[openapi( #[openapi(
paths(contact_endpoints::create_contact, paths(contact_endpoints::create_contact,
message_endpoints::create_message), message_endpoints::create_message),
components(schemas(contact_responses::AddContactResponse)), components(schemas(contact_responses::AddContactResponse, message_responses::AddMessageResponse)),
tags( tags(
(name = "textsender API", description = "Web API to manage texting") (name = "textsender API", description = "Web API to manage texting")
) )
@@ -107,9 +107,9 @@ pub mod init {
) )
.route( .route(
crate::caller::endpoints::ADD_MESSAGE, crate::caller::endpoints::ADD_MESSAGE,
patch(message_endpoints::create_message).route_layer( post(message_endpoints::create_message).route_layer(axum::middleware::from_fn(
axum::middleware::from_fn(crate::auth::auth::<axum::body::Body>), crate::auth::auth::<axum::body::Body>,
), )),
) )
.layer(cors::configure_cors().await) .layer(cors::configure_cors().await)
} }
+1 -2
View File
@@ -7,7 +7,7 @@ pub async fn insert(
) -> Result<uuid::Uuid, sqlx::Error> { ) -> Result<uuid::Uuid, sqlx::Error> {
match sqlx::query( match sqlx::query(
r#" r#"
INSERT INTO "contacts" (content, user_id) INSERT INTO "messages" (content, user_id)
VALUES($1, $2) RETURNING id; VALUES($1, $2) RETURNING id;
"#, "#,
) )
@@ -23,4 +23,3 @@ pub async fn insert(
Err(_) => Err(sqlx::Error::RowNotFound), Err(_) => Err(sqlx::Error::RowNotFound),
} }
} }