- update: proto files and code referencing them to make it more clear what service they are

This commit is contained in:
2025-02-27 22:42:54 -05:00
parent a9a6c52b00
commit 4f28e92685
7 changed files with 10 additions and 13 deletions

View File

@@ -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 })
}

View File

@@ -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");
}

View File

@@ -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>,

View File

@@ -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;

View File

@@ -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;

View File

@@ -51,5 +51,3 @@ message GetCharacterRequest {
message GetCharacterResponse {
character_common.CharacterFull character = 1;
}
message Empty {}

View File

@@ -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);