Files
ClubPenguinServer/MareSynchronosServer/MareSynchronosShared/Protos/mareservices.proto
rootdarkarchon c98e2b2dd6 Switch Authentication to asynchronous streaming calls (#16)
* add base grpc service and swap auth service to streaming

* remove Authorize from hub itself

* remove unused usings

* heave files server to net 7, add exception handling in grpc auth stream

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2022-10-13 16:55:23 +02:00

112 lines
2.2 KiB
Protocol Buffer

syntax = "proto3";
option csharp_namespace = "MareSynchronosShared.Protos";
package mareservices;
service AuthService {
rpc Authorize (stream AuthRequest) returns (stream AuthReply);
rpc RemoveAuth (UidMessage) 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 AuthRequest {
string ip = 1;
string secretKey = 2;
}
message AuthReply {
bool success = 1;
UidMessage uid = 2;
}