game_list/protobuf/items.proto
2025-12-02 14:24:31 +01:00

70 lines
1.3 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 {
string title = 1;
Source source = 2;
bool multiplayer = 3;
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; }
// 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; }
service MainService {
rpc GetGame(GameRequest) returns (Game);
rpc AddOpinion(GameRequest) returns (Person);
}