- update: proto files and code referencing them to make it more clear what service they are
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
use tonic::transport::Channel;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use crate::database::character_service_client::CharacterServiceClient;
|
||||
use crate::database::character_db_service_client::CharacterDbServiceClient;
|
||||
use crate::database::{CharacterRequest, Character, CharacterListRequest, CharacterListResponse, CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct CharacterDbClient {
|
||||
client: CharacterServiceClient<Channel>,
|
||||
client: CharacterDbServiceClient<Channel>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
@@ -67,7 +67,7 @@ struct Stats {
|
||||
|
||||
impl CharacterDbClient {
|
||||
pub async fn connect(endpoint: &str) -> Result<Self, Box<dyn std::error::Error>> {
|
||||
let client = CharacterServiceClient::connect(endpoint.to_string()).await?;
|
||||
let client = CharacterDbServiceClient::connect(endpoint.to_string()).await?;
|
||||
Ok(Self { client })
|
||||
}
|
||||
|
||||
|
||||
@@ -4,14 +4,13 @@ use tonic::{Request, Response, Status};
|
||||
use utils::null_string::NullTerminatedString;
|
||||
use crate::character_db_client::CharacterDbClient;
|
||||
use crate::character_service::character::character_service_server::CharacterService;
|
||||
use crate::character_service::character::{CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse, Empty, GetCharacterListRequest, GetCharacterListResponse, GetCharacterRequest, GetCharacterResponse};
|
||||
use crate::character_service::character::{CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse, GetCharacterListRequest, GetCharacterListResponse, GetCharacterRequest, GetCharacterResponse};
|
||||
use crate::character_service::character_common::{Character, CharacterFull, Looks, Stats};
|
||||
|
||||
pub mod character_common {
|
||||
tonic::include_proto!("character_common");
|
||||
}
|
||||
pub mod character {
|
||||
|
||||
tonic::include_proto!("character");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use serde_json::Value::Null;
|
||||
use crate::grpc::{Character, CharacterRequest, CharacterListRequest, CharacterListResponse, CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse};
|
||||
use crate::grpc::character_service_server::CharacterService;
|
||||
use crate::grpc::character_db_service_server::CharacterDbService;
|
||||
use crate::grpc::database_service::MyDatabaseService;
|
||||
use tonic::{Request, Response, Status};
|
||||
|
||||
#[tonic::async_trait]
|
||||
impl CharacterService for MyDatabaseService {
|
||||
impl CharacterDbService for MyDatabaseService {
|
||||
async fn get_character(
|
||||
&self,
|
||||
request: Request<CharacterRequest>,
|
||||
|
||||
@@ -2,7 +2,7 @@ use std::collections::HashMap;
|
||||
use database_service::db::Database;
|
||||
use database_service::grpc::database_service::MyDatabaseService;
|
||||
use database_service::grpc::user_service_server::UserServiceServer;
|
||||
use database_service::grpc::character_service_server::CharacterServiceServer;
|
||||
use database_service::grpc::character_db_service_server::CharacterDbServiceServer;
|
||||
use utils::redis_cache::RedisCache;
|
||||
use dotenv::dotenv;
|
||||
use sqlx::postgres::PgPoolOptions;
|
||||
@@ -71,7 +71,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
info!("Database Service running on {}", address);
|
||||
tokio::spawn(Server::builder()
|
||||
.add_service(UserServiceServer::new(my_service.clone()))
|
||||
.add_service(CharacterServiceServer::new(my_service))
|
||||
.add_service(CharacterDbServiceServer::new(my_service))
|
||||
.serve(address));
|
||||
|
||||
utils::signal_handler::wait_for_signal().await;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::character::character_service_client::CharacterServiceClient;
|
||||
use crate::character::{CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse, Empty, GetCharacterListRequest, GetCharacterListResponse, GetCharacterRequest, GetCharacterResponse};
|
||||
use crate::character::{CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse, GetCharacterListRequest, GetCharacterListResponse, GetCharacterRequest, GetCharacterResponse};
|
||||
use tonic::transport::Channel;
|
||||
use utils::null_string::NullTerminatedString;
|
||||
|
||||
|
||||
@@ -51,5 +51,3 @@ message GetCharacterRequest {
|
||||
message GetCharacterResponse {
|
||||
character_common.CharacterFull character = 1;
|
||||
}
|
||||
|
||||
message Empty {}
|
||||
|
||||
@@ -2,7 +2,7 @@ syntax = "proto3";
|
||||
|
||||
package character_db_api;
|
||||
|
||||
service CharacterService {
|
||||
service CharacterDbService {
|
||||
rpc GetCharacter (CharacterRequest) returns (Character);
|
||||
rpc GetCharacterList (CharacterListRequest) returns (CharacterListResponse);
|
||||
rpc CreateCharacter (CreateCharacterRequest) returns (CreateCharacterResponse);
|
||||
|
||||
Reference in New Issue
Block a user