lib/
task_service.rs

1use tonic::Request;
2use tonic::Response;
3use tonic::Status;
4
5mod proto {
6  pub mod service {
7    tonic::include_proto!("grpc.phab.service");
8  }
9
10  pub mod task {
11    tonic::include_proto!("grpc.phab.task");
12  }
13}
14
15use proto::service::task_service_server::TaskService;
16use proto::service::task_service_server::TaskServiceServer;
17use proto::service::FetchWatchlistInput;
18use proto::service::FetchWatchlistOutput;
19use proto::task::Task;
20
21#[derive(Default)]
22pub struct ImplTaskService {}
23
24#[tonic::async_trait]
25impl TaskService for ImplTaskService {
26  async fn fetch_watchlist(
27    &self,
28    _: Request<FetchWatchlistInput>,
29  ) -> Result<Response<FetchWatchlistOutput>, Status> {
30    return Ok(Response::new(FetchWatchlistOutput {
31      tasks: Some(Task {
32        id: "wat".to_owned(),
33      }),
34    }));
35  }
36}
37
38pub fn new() -> TaskServiceServer<ImplTaskService> {
39  return TaskServiceServer::new(ImplTaskService::default());
40}