This commit is contained in:
Greg Shuflin 2025-02-01 04:26:32 -08:00
parent 745c7f0a63
commit 0245379b90

View File

@ -94,11 +94,10 @@ async fn create_user(
#[get("/users")] #[get("/users")]
async fn get_users(mut db: Connection<Db>) -> Result<Json<Vec<User>>, Status> { async fn get_users(mut db: Connection<Db>) -> Result<Json<Vec<User>>, Status> {
let query = sqlx::query_as!( let query = sqlx::query!(
User,
r#" r#"
SELECT SELECT
id as "id: Uuid", id as "id: String",
username, username,
email, email,
display_name, display_name,
@ -107,15 +106,25 @@ async fn get_users(mut db: Connection<Db>) -> Result<Json<Vec<User>>, Status> {
"# "#
) )
.fetch_all(&mut **db) .fetch_all(&mut **db)
.await; .await
.map_err(|e| {
eprintln!("Database error: {}", e);
Status::InternalServerError
})?;
match query { // Convert the strings to UUIDs
Ok(users) => Ok(Json(users)), let users = query
Err(e) => { .into_iter()
eprintln!("Database error: {}", e); .map(|row| User {
Err(Status::InternalServerError) id: Uuid::parse_str(&row.id).unwrap(),
} username: row.username,
} email: row.email,
display_name: row.display_name,
created_at: row.created_at,
})
.collect::<Vec<_>>();
Ok(Json(users))
} }
#[delete("/users/<user_id>")] #[delete("/users/<user_id>")]