Files
komp_ac/komp-app/src/search.rs
2026-09-05 09:03:54 +02:00

35 lines
1005 B
Rust

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<Channel>,
}
impl SearchGrpc {
pub fn new(channel: Channel) -> Self {
Self {
client: SearcherClient::new(channel),
}
}
pub async fn search(&mut self, request: Request<SearchRequest>) -> Result<SearchResponse> {
Ok(self.client.search(request).await?.into_inner())
}
pub async fn get_filtered_row(
&mut self,
request: Request<SearchRequest>,
) -> Result<common::proto::komp_ac::tables_data::GetTableDataResponse> {
Ok(self.client.get_filtered_row(request).await?.into_inner())
}
pub async fn count(&mut self, request: Request<SearchRequest>) -> Result<SearchCountResponse> {
Ok(self.client.count(request).await?.into_inner())
}
}