- add: character db client to allow the character service to talk to the database service - update: character.proto to make character data shared
64 lines
1.4 KiB
Protocol Buffer
64 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package character_db_api;
|
|
|
|
service CharacterService {
|
|
rpc GetCharacter (CharacterRequest) returns (Character);
|
|
rpc GetCharacterList (CharacterListRequest) returns (CharacterListResponse);
|
|
rpc CreateCharacter (CreateCharacterRequest) returns (CreateCharacterResponse);
|
|
rpc DeleteCharacter (DeleteCharacterRequest) returns (DeleteCharacterResponse);
|
|
}
|
|
|
|
message CharacterRequest {
|
|
int32 character_id = 1;
|
|
}
|
|
|
|
message CharacterListRequest {
|
|
int32 user_id = 1;
|
|
}
|
|
|
|
message CharacterListResponse {
|
|
repeated Character characters = 1;
|
|
}
|
|
|
|
message CreateCharacterRequest {
|
|
int32 user_id = 1;
|
|
string name = 2;
|
|
string inventory = 3; // JSON serialized
|
|
string stats = 4; // JSON serialized
|
|
string looks = 5; // JSON serialized
|
|
string position = 6; // JSON serialized
|
|
}
|
|
|
|
message CreateCharacterResponse {
|
|
int32 result = 1;
|
|
int32 character_id = 2;
|
|
}
|
|
|
|
message DeleteCharacterRequest {
|
|
int32 user_id = 1;
|
|
int32 character_id = 2;
|
|
}
|
|
|
|
message DeleteCharacterResponse {
|
|
int64 remaining_time = 1;
|
|
string name = 2;
|
|
}
|
|
|
|
message Character {
|
|
int32 id = 1;
|
|
int32 user_id = 2;
|
|
string name = 3;
|
|
int32 level = 4;
|
|
int64 experience = 5;
|
|
string inventory = 6;
|
|
string stats = 7;
|
|
string looks = 8;
|
|
string position = 9;
|
|
string created_at = 10;
|
|
string updated_at = 11;
|
|
bool is_active = 12;
|
|
}
|
|
|
|
message Empty {}
|