93 lines
1.8 KiB
Protocol Buffer
93 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package items;
|
|
|
|
message Person {
|
|
string name = 1;
|
|
repeated Opinion opinion = 2;
|
|
}
|
|
|
|
message Opinion {
|
|
string title = 1;
|
|
bool would_play = 2;
|
|
}
|
|
|
|
message Game {
|
|
reserved 3;
|
|
string title = 1;
|
|
Source source = 2;
|
|
uint32 min_players = 4;
|
|
uint32 max_players = 5;
|
|
uint32 price = 6;
|
|
uint64 remote_id = 7;
|
|
}
|
|
|
|
enum Source {
|
|
STEAM = 0;
|
|
ROBLOX = 1;
|
|
}
|
|
|
|
message PersonList { repeated Person person = 1; }
|
|
|
|
message GameList { repeated Game games = 1; }
|
|
|
|
// Authentication messages
|
|
message LoginRequest {
|
|
string username = 1;
|
|
string password = 2;
|
|
}
|
|
|
|
message LoginResponse {
|
|
string token = 1;
|
|
bool success = 2;
|
|
string message = 3;
|
|
}
|
|
|
|
message LogoutRequest { string token = 1; }
|
|
|
|
message LogoutResponse {
|
|
bool success = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message AuthStatusRequest { string token = 1; }
|
|
|
|
message AuthStatusResponse {
|
|
bool authenticated = 1;
|
|
string username = 2;
|
|
string message = 3;
|
|
}
|
|
|
|
// Authentication service
|
|
service AuthService {
|
|
rpc Login(LoginRequest) returns (LoginResponse);
|
|
rpc Logout(LogoutRequest) returns (LogoutResponse);
|
|
rpc GetAuthStatus(AuthStatusRequest) returns (AuthStatusResponse);
|
|
}
|
|
|
|
message GameRequest { string title = 1; }
|
|
|
|
message GetGamesRequest {}
|
|
|
|
message AddOpinionRequest {
|
|
string game_title = 1;
|
|
bool would_play = 2;
|
|
}
|
|
|
|
message RemoveOpinionRequest { string game_title = 1; }
|
|
|
|
message GetGameInfoRequest {
|
|
repeated string games = 1;
|
|
}
|
|
|
|
message GameInfoResponse {
|
|
repeated Game games = 1;
|
|
}
|
|
|
|
service MainService {
|
|
rpc GetGame(GameRequest) returns (Game);
|
|
rpc GetGames(GetGamesRequest) returns (GameList);
|
|
rpc AddGame(Game) returns (Game);
|
|
rpc AddOpinion(AddOpinionRequest) returns (Person);
|
|
rpc GetGameInfo(GetGameInfoRequest) returns (GameInfoResponse);
|
|
} |