gewe_http/video_account/
search.rs

1use crate::client::GeweHttpClient;
2use gewe_core::{GeweError, SearchFinderRequest, SearchFinderResponse};
3use tracing::instrument;
4
5impl GeweHttpClient {
6    #[instrument(skip(self))]
7    pub async fn search_finder(
8        &self,
9        req: SearchFinderRequest<'_>,
10    ) -> Result<SearchFinderResponse, GeweError> {
11        let env = self
12            .post_api::<_, SearchFinderResponse>("gewe/v2/api/finder/search", &req)
13            .await?;
14        env.data.ok_or(GeweError::MissingData)
15    }
16}
17
18#[cfg(test)]
19mod tests {
20    use super::*;
21
22    #[test]
23    fn test_search_finder_request() {
24        let req = SearchFinderRequest {
25            app_id: "test_app",
26            content: "search keyword",
27            category: None,
28            filter: None,
29            page: None,
30            cookie: None,
31            search_id: None,
32            offset: None,
33        };
34        let json = serde_json::to_string(&req).expect("Failed to serialize");
35        assert!(json.contains("appId"));
36        assert!(json.contains("content"));
37    }
38}