use anyhow::Result; use common::proto::komp_ac::search::{ SearchCountResponse, SearchRequest, SearchResponse, searcher_client::SearcherClient, }; use tonic::transport::Channel; use tonic::Request; #[derive(Clone)] pub struct SearchGrpc { client: SearcherClient, } impl SearchGrpc { pub fn new(channel: Channel) -> Self { Self { client: SearcherClient::new(channel), } } pub async fn search(&mut self, request: Request) -> Result { Ok(self.client.search(request).await?.into_inner()) } pub async fn count(&mut self, request: Request) -> Result { Ok(self.client.count(request).await?.into_inner()) } }