485 lines
11 KiB
Protocol Buffer
485 lines
11 KiB
Protocol Buffer
syntax = "proto2";
|
|
|
|
package push_server.messages2;
|
|
option csharp_namespace = "LeanCloud.Realtime.Protocol";
|
|
|
|
// note that this line will be removed by out build script until we
|
|
// finally upgraded to protobuffer 3
|
|
option objc_class_prefix = "AVIM";
|
|
|
|
enum CommandType {
|
|
session = 0;
|
|
conv = 1;
|
|
direct = 2;
|
|
ack = 3;
|
|
rcp = 4;
|
|
unread = 5;
|
|
logs = 6;
|
|
error = 7;
|
|
login = 8;
|
|
data = 9;
|
|
room = 10;
|
|
read = 11;
|
|
presence = 12;
|
|
report = 13;
|
|
echo = 14;
|
|
loggedin = 15;
|
|
logout = 16;
|
|
loggedout = 17;
|
|
patch = 18;
|
|
pubsub = 19;
|
|
blacklist = 20;
|
|
goaway = 21;
|
|
}
|
|
|
|
enum OpType {
|
|
// session
|
|
open = 1;
|
|
add = 2;
|
|
remove = 3;
|
|
close = 4;
|
|
opened = 5;
|
|
closed = 6;
|
|
query = 7;
|
|
query_result = 8;
|
|
conflict = 9;
|
|
added = 10;
|
|
removed = 11;
|
|
refresh = 12;
|
|
refreshed = 13;
|
|
|
|
// conv
|
|
start = 30;
|
|
started = 31;
|
|
joined = 32;
|
|
members_joined = 33;
|
|
// add = 34; reuse session.add
|
|
// added = 35; reuse session.added
|
|
// remove = 37; reuse session.remove
|
|
// removed = 38; reuse session.removed
|
|
left = 39;
|
|
members_left = 40;
|
|
// query = 41; reuse session.query
|
|
results = 42;
|
|
count = 43;
|
|
result = 44;
|
|
update = 45;
|
|
updated = 46;
|
|
mute = 47;
|
|
unmute = 48;
|
|
status = 49;
|
|
members = 50;
|
|
max_read = 51;
|
|
is_member = 52;
|
|
member_info_update = 53;
|
|
member_info_updated = 54;
|
|
member_info_changed = 55;
|
|
|
|
// room
|
|
join = 80;
|
|
invite = 81;
|
|
leave = 82;
|
|
kick = 83;
|
|
reject = 84;
|
|
invited = 85;
|
|
// joined = 32; reuse the value in conv section
|
|
// left = 39; reuse the value in conv section
|
|
kicked = 86;
|
|
// members-joined = 33; reuse the value in conv section
|
|
// members-left = 40; reuse the value in conv section
|
|
|
|
// report
|
|
upload = 100;
|
|
uploaded = 101;
|
|
|
|
// pubsub
|
|
subscribe = 120;
|
|
subscribed = 121;
|
|
unsubscribe = 122;
|
|
unsubscribed = 123;
|
|
is_subscribed = 124;
|
|
|
|
// patch
|
|
modify = 150;
|
|
modified = 151;
|
|
|
|
// blacklist, query, query_result defined with 7, 8
|
|
block = 170;
|
|
unblock = 171;
|
|
blocked = 172;
|
|
unblocked = 173;
|
|
members_blocked = 174;
|
|
members_unblocked = 175;
|
|
check_block = 176;
|
|
check_result = 177;
|
|
|
|
add_shutup = 180;
|
|
remove_shutup = 181;
|
|
query_shutup = 182;
|
|
shutup_added = 183;
|
|
shutup_removed = 184;
|
|
shutup_result = 185;
|
|
shutuped = 186;
|
|
unshutuped = 187;
|
|
members_shutuped = 188;
|
|
members_unshutuped = 189;
|
|
check_shutup = 190; // check_result define in 177
|
|
}
|
|
|
|
enum StatusType {
|
|
on = 1;
|
|
off = 2;
|
|
}
|
|
|
|
enum DeviceType {
|
|
unknown = 0;
|
|
android = 1;
|
|
ios = 2;
|
|
}
|
|
|
|
message SemanticVersion {
|
|
optional int32 major = 1;
|
|
optional int32 minor = 2;
|
|
optional int32 patch = 3;
|
|
optional string preRelease = 4;
|
|
optional string build = 5;
|
|
}
|
|
|
|
message AndroidVersion {
|
|
optional string codename = 1;
|
|
optional string apiLevel = 2;
|
|
}
|
|
|
|
message SystemInfo {
|
|
optional DeviceType deviceType = 1;
|
|
optional SemanticVersion osVersion = 2;
|
|
optional AndroidVersion androidVersion = 3;
|
|
optional bool isEmulator = 4;
|
|
}
|
|
|
|
message JsonObjectMessage {
|
|
required string data = 1;
|
|
}
|
|
|
|
message UnreadTuple {
|
|
required string cid = 1;
|
|
required int32 unread = 2;
|
|
optional string mid = 3;
|
|
optional int64 timestamp = 4;
|
|
optional string from = 5;
|
|
optional string data = 6;
|
|
optional int64 patchTimestamp = 7;
|
|
optional bool mentioned = 8;
|
|
optional bytes binaryMsg = 9;
|
|
optional int32 convType = 10;
|
|
}
|
|
|
|
message LogItem {
|
|
optional string from = 1;
|
|
optional string data = 2;
|
|
optional int64 timestamp = 3;
|
|
optional string msgId = 4;
|
|
optional int64 ackAt = 5;
|
|
optional int64 readAt = 6;
|
|
optional int64 patchTimestamp = 7;
|
|
optional bool mentionAll = 8;
|
|
repeated string mentionPids = 9;
|
|
optional bool bin = 10;
|
|
optional int32 convType = 11;
|
|
}
|
|
|
|
message ConvMemberInfo {
|
|
optional string pid = 1;
|
|
optional string role = 2;
|
|
optional string infoId = 3;
|
|
}
|
|
|
|
message LoginCommand {
|
|
optional SystemInfo systemInfo = 1;
|
|
}
|
|
|
|
message LoggedinCommand {
|
|
optional bool pushDisabled = 1;
|
|
}
|
|
|
|
message DataCommand {
|
|
repeated string ids = 1;
|
|
repeated JsonObjectMessage msg = 2;
|
|
optional bool offline = 3;
|
|
}
|
|
|
|
message SessionCommand {
|
|
optional int64 t = 1;
|
|
optional string n = 2;
|
|
optional string s = 3;
|
|
optional string ua = 4;
|
|
optional bool r = 5;
|
|
optional string tag = 6;
|
|
optional string deviceId = 7;
|
|
repeated string sessionPeerIds = 8;
|
|
repeated string onlineSessionPeerIds = 9;
|
|
optional string st = 10;
|
|
optional int32 stTtl = 11;
|
|
optional int32 code = 12;
|
|
optional string reason = 13;
|
|
optional string deviceToken = 14;
|
|
optional bool sp = 15;
|
|
optional string detail = 16;
|
|
optional int64 lastUnreadNotifTime = 17;
|
|
optional int64 lastPatchTime = 18;
|
|
optional int64 configBitmap = 19;
|
|
optional SystemInfo systemInfo = 20;
|
|
}
|
|
|
|
message ErrorCommand {
|
|
required int32 code = 1;
|
|
required string reason = 2;
|
|
optional int32 appCode = 3;
|
|
optional string detail = 4;
|
|
repeated string pids = 5;
|
|
optional string appMsg = 6;
|
|
}
|
|
|
|
message DirectCommand {
|
|
optional string msg = 1;
|
|
optional string uid = 2;
|
|
optional string fromPeerId = 3;
|
|
optional int64 timestamp = 4;
|
|
optional bool offline = 5;
|
|
optional bool hasMore = 6;
|
|
repeated string toPeerIds = 7;
|
|
optional bool r = 10;
|
|
optional string cid = 11;
|
|
optional string id = 12;
|
|
optional bool transient = 13;
|
|
optional string dt = 14;
|
|
optional string roomId = 15;
|
|
optional string pushData = 16;
|
|
optional bool will = 17;
|
|
optional int64 patchTimestamp = 18;
|
|
optional bytes binaryMsg = 19;
|
|
repeated string mentionPids = 20;
|
|
optional bool mentionAll = 21;
|
|
optional int32 convType = 22;
|
|
}
|
|
|
|
message AckCommand {
|
|
optional int32 code = 1;
|
|
optional string reason = 2;
|
|
optional string mid = 3;
|
|
optional string cid = 4;
|
|
optional int64 t = 5;
|
|
optional string uid = 6;
|
|
optional int64 fromts = 7;
|
|
optional int64 tots = 8;
|
|
optional string type = 9;
|
|
repeated string ids = 10;
|
|
optional int32 appCode = 11;
|
|
optional string appMsg = 12;
|
|
}
|
|
|
|
message UnreadCommand {
|
|
repeated UnreadTuple convs = 1;
|
|
optional int64 notifTime = 2;
|
|
}
|
|
|
|
message ConvCommand {
|
|
repeated string m = 1;
|
|
optional bool transient = 2;
|
|
optional bool unique = 3;
|
|
optional string cid = 4;
|
|
optional string cdate = 5;
|
|
optional string initBy = 6;
|
|
optional string sort = 7;
|
|
optional int32 limit = 8;
|
|
optional int32 skip = 9;
|
|
optional int32 flag = 10;
|
|
optional int32 count = 11;
|
|
optional string udate = 12;
|
|
optional int64 t = 13;
|
|
optional string n = 14;
|
|
optional string s = 15;
|
|
|
|
optional bool statusSub = 16;
|
|
optional bool statusPub = 17;
|
|
optional int32 statusTTL = 18;
|
|
optional string uniqueId = 19;
|
|
|
|
optional string targetClientId = 20;
|
|
optional int64 maxReadTimestamp = 21;
|
|
optional int64 maxAckTimestamp = 22;
|
|
optional bool queryAllMembers = 23;
|
|
repeated MaxReadTuple maxReadTuples = 24;
|
|
repeated string cids = 25;
|
|
|
|
optional ConvMemberInfo info = 26;
|
|
|
|
optional bool tempConv = 27;
|
|
optional int32 tempConvTTL = 28;
|
|
repeated string tempConvIds = 29;
|
|
|
|
repeated string allowedPids = 30;
|
|
repeated ErrorCommand failedPids = 31;
|
|
|
|
// used in shutup query
|
|
optional string next = 40;
|
|
|
|
optional JsonObjectMessage results = 100;
|
|
optional JsonObjectMessage where = 101;
|
|
optional JsonObjectMessage attr = 103;
|
|
optional JsonObjectMessage attrModified = 104;
|
|
}
|
|
|
|
message RoomCommand {
|
|
optional string roomId = 1;
|
|
optional string s = 2;
|
|
optional int64 t = 3;
|
|
optional string n = 4;
|
|
optional bool transient = 5;
|
|
repeated string roomPeerIds = 6;
|
|
optional string byPeerId = 7;
|
|
}
|
|
|
|
message LogsCommand {
|
|
optional string cid = 1;
|
|
optional int32 l = 2;
|
|
optional int32 limit = 3;
|
|
optional int64 t = 4;
|
|
optional int64 tt = 5;
|
|
optional string tmid = 6;
|
|
optional string mid = 7;
|
|
optional string checksum = 8;
|
|
optional bool stored = 9;
|
|
enum QueryDirection {
|
|
OLD = 1;
|
|
NEW = 2;
|
|
}
|
|
optional QueryDirection direction = 10 [default = OLD];
|
|
optional bool tIncluded = 11;
|
|
optional bool ttIncluded = 12;
|
|
optional int32 lctype = 13;
|
|
|
|
repeated LogItem logs = 105;
|
|
}
|
|
|
|
message RcpCommand {
|
|
optional string id = 1;
|
|
optional string cid = 2;
|
|
optional int64 t = 3;
|
|
optional bool read = 4;
|
|
optional string from = 5;
|
|
}
|
|
|
|
message ReadTuple {
|
|
required string cid = 1;
|
|
optional int64 timestamp = 2;
|
|
optional string mid = 3;
|
|
}
|
|
|
|
message MaxReadTuple {
|
|
optional string pid = 1;
|
|
optional int64 maxAckTimestamp = 2;
|
|
optional int64 maxReadTimestamp = 3;
|
|
}
|
|
|
|
message ReadCommand {
|
|
optional string cid = 1;
|
|
repeated string cids = 2;
|
|
repeated ReadTuple convs = 3;
|
|
}
|
|
|
|
message PresenceCommand {
|
|
optional StatusType status = 1;
|
|
repeated string sessionPeerIds = 2;
|
|
optional string cid = 3;
|
|
}
|
|
|
|
message ReportCommand {
|
|
optional bool initiative = 1;
|
|
optional string type = 2;
|
|
optional string data = 3;
|
|
}
|
|
|
|
message PatchItem {
|
|
optional string cid = 1;
|
|
optional string mid = 2;
|
|
optional int64 timestamp = 3;
|
|
optional bool recall = 4;
|
|
optional string data = 5;
|
|
optional int64 patchTimestamp = 6;
|
|
optional string from = 7;
|
|
optional bytes binaryMsg = 8;
|
|
optional bool mentionAll = 9;
|
|
repeated string mentionPids = 10;
|
|
optional int64 patchCode = 11;
|
|
optional string patchReason = 12;
|
|
}
|
|
|
|
message PatchCommand {
|
|
repeated PatchItem patches = 1;
|
|
optional int64 lastPatchTime = 2;
|
|
}
|
|
|
|
message PubsubCommand {
|
|
optional string cid = 1;
|
|
repeated string cids = 2;
|
|
optional string topic = 3;
|
|
optional string subtopic = 4;
|
|
repeated string topics = 5;
|
|
repeated string subtopics = 6;
|
|
optional JsonObjectMessage results = 7;
|
|
}
|
|
|
|
message BlacklistCommand {
|
|
optional string srcCid = 1;
|
|
repeated string toPids = 2;
|
|
optional string srcPid = 3;
|
|
repeated string toCids = 4;
|
|
optional int32 limit = 5;
|
|
optional string next = 6;
|
|
|
|
repeated string blockedPids = 8;
|
|
repeated string blockedCids = 9;
|
|
|
|
repeated string allowedPids = 10;
|
|
repeated ErrorCommand failedPids = 11;
|
|
|
|
optional int64 t = 12;
|
|
optional string n = 13;
|
|
optional string s = 14;
|
|
}
|
|
|
|
message GenericCommand {
|
|
optional CommandType cmd = 1;
|
|
optional OpType op = 2;
|
|
|
|
optional string appId = 3;
|
|
optional string peerId = 4;
|
|
optional int32 i = 5;
|
|
optional string installationId = 6;
|
|
optional int32 priority = 7;
|
|
optional int32 service = 8;
|
|
optional int64 serverTs = 9;
|
|
optional int64 clientTs = 10;
|
|
optional int32 notificationType = 11;
|
|
|
|
optional LoginCommand loginMessage = 100;
|
|
optional DataCommand dataMessage = 101;
|
|
optional SessionCommand sessionMessage = 102;
|
|
optional ErrorCommand errorMessage = 103;
|
|
optional DirectCommand directMessage = 104;
|
|
optional AckCommand ackMessage = 105;
|
|
optional UnreadCommand unreadMessage = 106;
|
|
optional ReadCommand readMessage = 107;
|
|
optional RcpCommand rcpMessage = 108;
|
|
optional LogsCommand logsMessage = 109;
|
|
optional ConvCommand convMessage = 110;
|
|
optional RoomCommand roomMessage = 111;
|
|
optional PresenceCommand presenceMessage = 112;
|
|
optional ReportCommand reportMessage = 113;
|
|
optional PatchCommand patchMessage = 114;
|
|
optional PubsubCommand pubsubMessage = 115;
|
|
optional BlacklistCommand blacklistMessage = 116;
|
|
optional LoggedinCommand loggedinMessage = 117;
|
|
}
|