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}