mastodon_api\methods/
search.rs

1use crate::MastodonClient;
2use crate::error::Result;
3use crate::methods::builders::SearchBuilder;
4use crate::models::Search;
5
6/// Handler for global search API endpoints.
7pub struct SearchHandler<'a> {
8    client: &'a MastodonClient,
9}
10
11impl<'a> SearchHandler<'a> {
12    /// Creates a new `SearchHandler` for the given client.
13    pub fn new(client: &'a MastodonClient) -> Self {
14        Self { client }
15    }
16
17    /// Returns a builder for creating a search request.
18    pub fn builder(&self, query: &str) -> SearchBuilder<'a> {
19        SearchBuilder::new(self.client, query)
20    }
21
22    /// Searches for accounts, statuses, and hashtags matching the given query (v2).
23    pub async fn v2(&self, query: &str) -> Result<Search> {
24        self.builder(query).send().await
25    }
26}