Files
ClubPenguinServer/MareSynchronosServer/MareSynchronosShared/Protos/mareservices.proto
rootdarkarchon 74b7fcdf89 Refactoring using Claims more, add Server Side Messaging (#20)
* add some refactoring based on claims, handle chara ident inside claim, fix discord userid in log

* improve authentication responses, add server side messaging

* update server to mainline api

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-01-04 15:49:18 +01:00

126 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
option csharp_namespace = "MareSynchronosShared.Protos";
package mareservices;
service FileService {
rpc UploadFile (stream UploadFileRequest) returns (Empty);
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);
}
service ConfigurationService {
rpc GetConfigurationEntry (KeyMessage) returns (ValueMessage);
}
service ClientMessageService {
rpc SendClientMessage (ClientMessage) returns (Empty);
}
message ClientMessage {
MessageType type = 1;
string message = 2;
string uid = 3;
}
enum MessageType {
INFO = 0;
WARNING = 1;
ERROR = 2;
}
message KeyMessage {
string key = 1;
string default = 2;
}
message ValueMessage {
string value = 1;
}
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 AuthRequest {
string ip = 1;
string secretKey = 2;
}
message AuthReply {
bool success = 1;
UidMessage uid = 2;
}