21 lines
461 B
Rust
21 lines
461 B
Rust
use futures::TryStreamExt;
|
|
|
|
use crate::prelude::*;
|
|
|
|
#[derive(Deserialize, Debug)]
|
|
pub struct Params {
|
|
search_string: String,
|
|
}
|
|
|
|
pub async fn search(
|
|
State(pool): State<Pool>,
|
|
Query(params): Query<Params>,
|
|
) -> sqlx::Result<Json<Vec<db::users::UserInfo>>, StatusCode> {
|
|
let users = db::users::search_for_user(¶ms.search_string, &pool)
|
|
.take(20)
|
|
.try_collect()
|
|
.await
|
|
.handle_internal()?;
|
|
Ok(Json(users))
|
|
}
|