From b01432501cdab62f706f1ab4cecb3f0cc5d19c48006f1a36183c0a7bc1913b50 Mon Sep 17 00:00:00 2001 From: raven <7156279+RavenX8@users.noreply.github.com> Date: Sun, 5 Jan 2025 17:16:02 -0500 Subject: [PATCH] - update: character service grpc protocol additions for create, delete and get character with stubs --- character-service/build.rs | 2 +- character-service/src/character_service.rs | 14 +++++++++++++- proto/character.proto | 20 +++++++++++++++++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/character-service/build.rs b/character-service/build.rs index 36bf665..951a6e0 100644 --- a/character-service/build.rs +++ b/character-service/build.rs @@ -11,6 +11,6 @@ fn main() { tonic_build::configure() .build_server(false) // Generate gRPC client code .compile_well_known_types(true) - .compile_protos(&["../proto/user_db_api.proto", "../proto/auth.proto"], &["../proto"]) + .compile_protos(&["../proto/user_db_api.proto", "../proto/character_db_api.proto", "../proto/auth.proto"], &["../proto"]) .unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e)); } diff --git a/character-service/src/character_service.rs b/character-service/src/character_service.rs index 2eae83b..d9f49cf 100644 --- a/character-service/src/character_service.rs +++ b/character-service/src/character_service.rs @@ -2,7 +2,7 @@ use tracing::debug; use tonic::{Request, Response, Status}; use tracing::field::debug; use crate::character_service::character::character_service_server::CharacterService; -use crate::character_service::character::{Character, GetCharacterListRequest, GetCharacterListResponse}; +use crate::character_service::character::{Character, CreateCharacterRequest, DeleteCharacterRequest, Empty, GetCharacterListRequest, GetCharacterListResponse, GetCharacterRequest}; pub mod character { tonic::include_proto!("character"); @@ -50,4 +50,16 @@ impl CharacterService for MyCharacterService { let response = GetCharacterListResponse { characters }; Ok(Response::new(response)) } + + async fn create_character(&self, request: Request) -> Result, Status> { + todo!() + } + + async fn delete_character(&self, request: Request) -> Result, Status> { + todo!() + } + + async fn get_character(&self, request: Request) -> Result, Status> { + todo!() + } } \ No newline at end of file diff --git a/proto/character.proto b/proto/character.proto index ae98906..219049a 100644 --- a/proto/character.proto +++ b/proto/character.proto @@ -4,6 +4,9 @@ package character; service CharacterService { rpc GetCharacterList(GetCharacterListRequest) returns (GetCharacterListResponse); + rpc CreateCharacter(CreateCharacterRequest) returns (Empty); + rpc DeleteCharacter(DeleteCharacterRequest) returns (Empty); + rpc GetCharacter(GetCharacterRequest) returns (Empty); } message GetCharacterListRequest { @@ -14,6 +17,19 @@ message GetCharacterListResponse { repeated Character characters = 1; } +message CreateCharacterRequest { + string user_id = 1; +} + +message DeleteCharacterRequest { + string user_id = 1; + string char_id = 2; +} + +message GetCharacterRequest { + string user_id = 1; +} + message Character { string character_id = 1; // Unique ID for the character string name = 2; // Name of the character @@ -32,4 +48,6 @@ message EquippedItem { int32 gem_option = 2; int32 socket = 3; int32 grade = 4; -} \ No newline at end of file +} + +message Empty {}