diff --git a/character-service/build.rs b/character-service/build.rs new file mode 100644 index 0000000..99ef439 --- /dev/null +++ b/character-service/build.rs @@ -0,0 +1,16 @@ +fn main() { + // gRPC Server code + tonic_build::configure() + .build_server(true) // Generate gRPC server code + .compile_well_known_types(true) + .type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]") + .compile_protos(&["../proto/character.proto"], &["../proto"]) + .unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e)); + + // gRPC Client code + tonic_build::configure() + .build_server(false) // Generate gRPC client code + .compile_well_known_types(true) + .compile_protos(&["../proto/database.proto", "../proto/auth.proto"], &["../proto"]) + .unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e)); +} diff --git a/proto/character.proto b/proto/character.proto new file mode 100644 index 0000000..772a51c --- /dev/null +++ b/proto/character.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package character; + +service CharacterService { + rpc GetCharacterList(CharacterListRequest) returns (CharacterListResponse); +} + +message CharacterListRequest { + string token = 1; + string user_id = 2; +} + +message CharacterListResponse { + int32 count = 1; +} diff --git a/proto/world.proto b/proto/world.proto new file mode 100644 index 0000000..6bb5a8c --- /dev/null +++ b/proto/world.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package character; + +service CharacterService { + rpc GetCharacter(CharacterRequest) returns (CharacterResponse); +} + +message CharacterRequest { + string token = 1; + string user_id = 2; + string char_id = 3; +} + +message CharacterResponse { + int32 count = 1; +} diff --git a/world-service/build.rs b/world-service/build.rs new file mode 100644 index 0000000..899f569 --- /dev/null +++ b/world-service/build.rs @@ -0,0 +1,16 @@ +fn main() { + // gRPC Server code + tonic_build::configure() + .build_server(true) // Generate gRPC server code + .compile_well_known_types(true) + .type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]") + .compile_protos(&["../proto/world.proto"], &["../proto"]) + .unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e)); + + // gRPC Client code + tonic_build::configure() + .build_server(false) // Generate gRPC client code + .compile_well_known_types(true) + .compile_protos(&["../proto/database.proto", "../proto/auth.proto"], &["../proto"]) + .unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e)); +}