Open-IM-Server/pkg/proto/sdk_ws/ws.proto

285 lines
6.2 KiB

syntax = "proto3";
package open_im_sdk;//The package name to which the proto file belongs
//option go_package = "./sdk_ws;open_im_sdk";//The generated go pb file is in the current directory, and the package name is open_im_sdk
message PullMessageBySeqListResp {
int32 errCode = 1;
string errMsg = 2;
int64 maxSeq = 3;
int64 minSeq = 4;
repeated GatherFormat singleUserMsg = 5;
repeated GatherFormat groupUserMsg = 6;
}
message PullMessageBySeqListReq{
string userID = 1;
string operationID = 2;
repeated int64 seqList =3;
}
message PullMessageReq {
string userID = 1;
int64 seqBegin = 2;
int64 seqEnd = 3;
string operationID = 4;
}
message PullMessageResp {
int32 errCode = 1;
string errMsg = 2;
int64 maxSeq = 3;
int64 minSeq = 4;
repeated GatherFormat singleUserMsg = 5;
repeated GatherFormat groupUserMsg = 6;
}
message GetMaxAndMinSeqReq {
}
message GetMaxAndMinSeqResp {
int64 maxSeq = 1;
int64 minSeq = 2;
}
message GatherFormat{
// @inject_tag: json:"id"
string id = 1;
// @inject_tag: json:"list"
repeated MsgData list = 2;//detail msg
}
//message MsgFormat{
// // @inject_tag: json:"sendID"
// string SendID = 1;
// // @inject_tag: json:"recvID"
// string RecvID = 2;
// // @inject_tag: json:"msgFrom"
// int32 MsgFrom = 3;
// // @inject_tag: json:"contentType"
// int32 ContentType = 4;
// // @inject_tag: json:"serverMsgID"
// string ServerMsgID = 5;
// // @inject_tag: json:"content"
// string Content = 6;
// // @inject_tag: json:"seq"
// int64 Seq = 7;
// // @inject_tag: json:"sendTime"
// int64 SendTime = 8;
// // @inject_tag: json:"senderPlatformID"
// int32 SenderPlatformID = 9;
// // @inject_tag: json:"senderNickName"
// string SenderNickName = 10;
// // @inject_tag: json:"senderFaceUrl"
// string SenderFaceURL = 11;
// // @inject_tag: json:"clientMsgID"
// string ClientMsgID = 12;
//}
message UserSendMsgResp {
string ServerMsgID = 1;
string ClientMsgID = 2;
int64 sendTime = 3;
}
message MsgData {
string sendID = 1;
string recvID = 2;
string groupID = 3;
string clientMsgID =4;
string serverMsgID =5;
int32 senderPlatformID =6;
string senderNickName =7;
string senderFaceURL =8;
int32 sessionType = 9;
int32 msgFrom = 10;
int32 contentType = 11;
bytes content =12;
repeated string forceList = 13;
int64 seq =14;
int64 sendTime = 15;
int64 createTime = 16;
map<string,bool> Options= 17;
OfflinePushInfo offlinePushInfo =18;
}
message OfflinePushInfo{
string Title = 1;
string Desc = 2;
string Ext = 3;
string iOSPushSound = 4;
bool iOSBadgeCount = 5;
}
//public
message GroupInfo{
string GroupID = 1;
string GroupName = 2;
string Notification = 3;
string Introduction = 4;
string FaceUrl = 5;
PublicUserInfo Owner = 6;
uint64 CreateTime = 7;
uint32 MemberCount = 8;
string Ext = 9;
}
//private, Group members have permission to view
message GroupMemberFullInfo {
string GroupID = 1 ;
string UserID = 2 ;
int32 AdministratorLevel = 3;
uint64 JoinTime = 4;
string NickName = 5;
string FaceUrl = 6;
string FriendRemark = 7;
int32 AppMangerLevel = 8; // >0
}
//private, Friends have permission to view
message UserInfo{
string UserID = 1;
string Nickname = 2;
string FaceUrl = 3;
int32 Gender = 4;
string Mobile = 5;
string Birth = 6;
string Email = 7;
string Ext = 8;
}
//No permissions required
message PublicUserInfo{
string UserID = 1;
string Nickname = 2;
string FaceUrl = 3;
int32 Gender = 4;
}
message TipsComm{
bytes Detail = 1;
string DefaultTips = 2;
}
//////////////////////group/////////////////////
//Actively join the group
message MemberEnterTips{
GroupInfo Group = 1;
GroupMemberFullInfo EntrantUser = 2;
uint64 OperationTime = 3;
}
//Actively leave the group
message MemberLeaveTips{
GroupInfo Group = 1;
GroupMemberFullInfo LeaverUser = 2;
uint64 OperationTime = 3;
}
message MemberInvitedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
repeated GroupMemberFullInfo InvitedUserList = 3;
uint64 OperationTime = 4;
}
message MemberKickedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
repeated GroupMemberFullInfo KickedUserList = 3;
uint64 OperationTime = 4;
}
message MemberInfoChangedTips{
int32 ChangeType = 1; ///bitwise operators 0001:member info changed; 0010:mute ;
GroupMemberFullInfo OpUser = 2; //who do this
GroupMemberFullInfo FinalInfo = 3; //
uint64 MuteTime = 4;
GroupInfo Group = 5;
}
message GroupCreatedTips{
GroupInfo Group = 1;
GroupMemberFullInfo Creator = 2;
repeated GroupMemberFullInfo MemberList = 3;
uint64 OperationTime = 4;
}
message GroupInfoChangedTips{
int32 ChangedType = 1; //bitwise operators: 0001:groupName; 0010:Notification 0100:Introduction; 1000:FaceUrl
GroupInfo Group = 2;
GroupMemberFullInfo OpUser = 3;
}
message JoinGroupApplicationTips{
GroupInfo Group = 1;
PublicUserInfo Applicant = 2;
string Reason = 3;
}
message ApplicationProcessedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
int32 Result = 3;
string Reason = 4;
}
//////////////////////friend/////////////////////
message FriendInfo{
UserInfo OwnerUser = 1;
string Remark = 2;
uint64 CreateTime = 3;
UserInfo FriendUser = 4;
}
message FriendApplication{
uint64 AddTime = 1;
string AddSource = 2;
string AddWording = 3;
}
message FromToUserID{
string FromUserID = 1;
string ToUserID = 2;
}
//FromUserID apply to add ToUserID
message FriendApplicationAddedTips{
FromToUserID FromToUserID = 1;
}
//FromUserID accept or reject ToUserID
message FriendApplicationProcessedTips{
FromToUserID FromToUserID = 1;
}
// FromUserID Added a friend ToUserID
message FriendAddedTips{
FriendInfo Friend = 1;
uint64 OperationTime = 2;
PublicUserInfo OpUser = 3; //who do this
}
// FromUserID deleted a friend ToUserID
message FriendDeletedTips{
FromToUserID FromToUserID = 1;
}
//message BlackInfo{
// PublicUserInfo OwnerUser = 1;
// uint64 CreateTime = 3;
// PublicUserInfo BlackUser = 4;
//}
message BlackAddedTips{
FromToUserID FromToUserID = 1;
}
message BlackDeletedTips{
FromToUserID FromToUserID = 1;
}
message FriendInfoChangedTips{
FromToUserID FromToUserID = 1;
}
//////////////////////user/////////////////////
message SelfInfoUpdatedTips{
string UserID = 1;
}