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