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