use sqlx::Row; pub async fn insert( pool: &sqlx::PgPool, message: &textsender_models::message::Message, user_id: &uuid::Uuid, ) -> Result { match sqlx::query( r#" INSERT INTO "messages" (content, user_id) VALUES($1, $2) RETURNING id; "#, ) .bind(&message.content) .bind(user_id) .fetch_one(pool) .await { Ok(row) => { let id: uuid::Uuid = row.try_get("id")?; Ok(id) } Err(_) => Err(sqlx::Error::RowNotFound), } }