Files
ClubPenguinServer/MareSynchronosServer/MareSynchronosShared/Protos/mareservices.proto
2022-10-09 14:32:44 +02:00

116 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
option csharp_namespace = "MareSynchronosShared.Protos";
package mareservices;
service AuthService {
rpc Authorize (AuthRequest) returns (AuthReply);
rpc RemoveAuth (RemoveAuthRequest) returns (Empty);
rpc ClearUnauthorized (Empty) returns (Empty);
}
service FileService {
rpc UploadFile (stream UploadFileRequest) returns (Empty);
rpc GetFileSizes (FileSizeRequest) returns (FileSizeResponse);
rpc DeleteFiles (DeleteFilesRequest) returns (Empty);
}
service IdentificationService {
rpc GetOnlineUserCount (ServerMessage) returns (OnlineUserCountResponse);
rpc GetIdentForUid (UidMessage) returns (CharacterIdentMessage);
rpc ClearIdentsForServer (ServerMessage) returns (Empty);
rpc RecreateServerIdents (ServerIdentMessage) returns (Empty);
rpc GetAllIdents (ServerMessage) returns (UidWithIdentMessage);
rpc SendStreamIdentStatusChange (stream IdentChangeMessage) returns (Empty);
rpc ReceiveStreamIdentStatusChange (ServerMessage) returns (stream IdentChange);
}
message Empty { }
message MultiUidMessage {
repeated UidMessage uids = 1;
}
message ServerIdentMessage {
repeated SetIdentMessage idents = 1;
}
message IdentChangeMessage {
oneof payload {
ServerMessage server = 1;
IdentChange identChange = 2;
}
}
message IdentChange {
UidWithIdent uidWithIdent = 1;
bool isOnline = 2;
}
message UidWithIdentMessage {
repeated UidWithIdent uidWithIdent = 1;
}
message UidWithIdent {
UidMessage uid = 1;
CharacterIdentMessage ident = 2;
}
message UidMessage {
string uid = 1;
}
message ServerMessage {
string server_id = 1;
}
message OnlineUserCountResponse {
int64 count = 1;
}
message RemoveIdentMessage {
string uid = 1;
string server_id = 2;
}
message SetIdentMessage {
UidWithIdent uidWithIdent = 1;
}
message CharacterIdentMessage {
string server_id = 1;
string ident = 2;
}
message UploadFileRequest {
string hash = 1;
string uploader = 2;
bytes fileData = 3;
}
message DeleteFilesRequest {
repeated string hash = 1;
}
message FileSizeRequest {
repeated string hash = 1;
}
message FileSizeResponse {
map<string, int64> hashToFileSize = 1;
}
message RemoveAuthRequest {
string uid = 1;
}
message AuthRequest {
string ip = 1;
string secretKey = 2;
}
message AuthReply {
bool success = 1;
string uid = 2;
}