use tonic::{Request, Response, Status}; use crate::protocol::game_service_server::GameService; use crate::protocol::{LoginRequest, LoginResponse, RequestResult, SignupRequest, SignupResponse}; pub(crate) struct GameServiceImpl; #[tonic::async_trait] impl GameService for GameServiceImpl { async fn login( &self, request: Request, ) -> Result, Status> { log::info!("User {} logged in!", request.get_ref().username); Ok(Response::new(LoginResponse { result: RequestResult::Success.into(), message: "".into(), })) } async fn signup( &self, request: Request, ) -> Result, Status> { log::info!("User {} signed up!", request.get_ref().username); Ok(Response::new(SignupResponse { result: RequestResult::Success.into(), message: "".into(), })) } }