syntax = "proto3"; option csharp_namespace = "MareSynchronosShared.Protos"; package mareservices; service FileService { rpc UploadFile (stream UploadFileRequest) returns (Empty); rpc DeleteFiles (DeleteFilesRequest) returns (Empty); } 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; }