gitea_sdk/api/search/
users.rsuse build_it::Builder;
use serde::{Deserialize, Serialize};
use crate::error::Result;
use crate::model::user::User;
#[derive(Default, Debug, Clone, Serialize, Builder)]
#[build_it(into)]
pub struct SearchUsersBuilder {
#[serde(rename = "q")]
query: Option<String>,
uid: Option<i64>,
page: Option<i32>,
limit: Option<i32>,
}
impl SearchUsersBuilder {
pub fn new() -> Self {
Self::default()
}
pub async fn send(&self, client: &crate::Client) -> Result<Vec<User>> {
let req = client.get("users/search".to_string()).query(self).build()?;
#[derive(Deserialize)]
struct Response {
#[allow(dead_code)]
ok: bool,
data: Vec<User>,
}
let res = client.make_request(req).await?;
Ok(client.parse_response::<Response>(res).await?.data)
}
}