gewe_http/video_account/
search.rs1use 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}