You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/pkg/proto/sdk_ws/ws.proto

283 lines
6.1 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 {
int64 MaxSeq = 1;
int64 MinSeq = 2;
repeated GatherFormat SingleUserMsg = 3;
repeated GatherFormat GroupUserMsg = 4;
}
message PullMessageBySeqListReq{
repeated int64 seqList =1;
}
message GetMaxAndMinSeqReq {
}
message GetMaxAndMinSeqResp {
int64 maxSeq = 1;
int64 minSeq = 2;
}
message GatherFormat{
// @inject_tag: json:"id"
string ID = 1;
// @inject_tag: json:"list"
repeated MsgFormat 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 UserSendMsgReq {
map<string,int32> Options= 1;
string SenderNickName = 2;
string SenderFaceURL = 3;
int32 PlatformID = 4;
int32 SessionType = 5;
int32 MsgFrom = 6;
int32 ContentType = 7;
string RecvID = 8;
repeated string ForceList = 9;
string Content = 10;
string ClientMsgID = 11;
}
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;
}
//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;
}
//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;
}
//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;
GroupMemberFullInfo InvitedUser = 3;
uint64 OperationTime = 4;
}
message MemberKickedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
GroupMemberFullInfo KickedUser = 3;
uint64 OperationTime = 4;
}
message MemberInfoChangedTips{
int32 ChangeType = 1; //1:info changed; 2: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: 1:groupName; 10:Notification 100:Introduction; 1000:FaceUrl
GroupInfo Group = 2;
GroupMemberFullInfo OpUser = 3;
}
message ReceiveJoinApplicationTips{
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;
}
//user1 add user2
message FriendApplicationAddedTips{
PublicUserInfo OpUser = 1; //user1
FriendApplication Application = 2;
PublicUserInfo OpedUser = 3; //user2
uint64 OperationTime = 4;
}
// user2 accept or reject
message FriendApplicationProcessedTips{
PublicUserInfo OpUser = 1; //user2
PublicUserInfo OpedUser = 2; //user1
int32 result = 3; //1: accept; -1: reject
uint64 OperationTime = 4;
}
message FriendAddedTips{
FriendInfo Friend = 1;
uint64 OperationTime = 2;
}
message FriendDeletedTips{
FriendInfo Friend = 1;
uint64 OperationTime = 2;
}
message BlackInfo{
PublicUserInfo OwnerUser = 1;
uint64 CreateTime = 3;
PublicUserInfo BlackUser = 4;
}
message BlackAddedTips{
BlackInfo Black = 1;
uint64 OperationTime = 2;
}
message BlackDeletedTips{
BlackInfo Black = 1;
uint64 OperationTime = 2;
}
message FriendInfoChangedTips{
FriendInfo Friend = 1;
PublicUserInfo OpUser = 2;
uint64 OperationTime = 3;
}
//////////////////////user/////////////////////
message SelfInfoUpdatedTips{
UserInfo SelfUserInfo = 1;
PublicUserInfo OpUser = 2;
uint64 OperationTime = 3;
}