context69_sdk/client/
user_directory.rs1use context69_contracts::UserDirectoryEntryResponse;
2use reqwest::Method;
3
4use super::Context69Client;
5use crate::Error;
6
7pub struct UserDirectoryApi<'a> {
8 client: &'a Context69Client,
9}
10
11impl<'a> UserDirectoryApi<'a> {
12 pub(crate) fn new(client: &'a Context69Client) -> Self {
13 Self { client }
14 }
15
16 pub async fn search(
17 &self,
18 query: &str,
19 limit: usize,
20 ) -> Result<Vec<UserDirectoryEntryResponse>, Error> {
21 let mut url = self.client.url("/v1/user-directory")?;
22 {
23 let mut pairs = url.query_pairs_mut();
24 pairs.append_pair("query", query);
25 pairs.append_pair("limit", &limit.to_string());
26 }
27 self.client
28 .execute_json(self.client.authorized_url_request(Method::GET, url).await?)
29 .await
30 }
31}