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/sdkws/sdkws.proto

559 lines
12 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Copyright © 2023 OpenIM. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package OpenIMServer.sdkws;
import "wrapperspb/wrapperspb.proto";
option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws";
////////////////////////////////base///////////////////////////////
message GroupInfo{
string groupID = 1;
string groupName = 2;
string notification = 3;
string introduction = 4;
string faceURL = 5;
string ownerUserID = 6;
int64 createTime = 7;
uint32 memberCount = 8;
string ex = 9;
int32 status = 10;
string creatorUserID = 11;
int32 groupType = 12;
int32 needVerification = 13;
int32 lookMemberInfo = 14;
int32 applyMemberFriend = 15;
int64 notificationUpdateTime = 16;
string notificationUserID = 17;
}
message GroupInfoForSet{
string groupID = 1;
string groupName = 2;
string notification = 3;
string introduction = 4;
string faceURL = 5;
string ex = 6;
OpenIMServer.protobuf.Int32Value needVerification = 7;
OpenIMServer.protobuf.Int32Value lookMemberInfo = 8;
OpenIMServer.protobuf.Int32Value applyMemberFriend = 9;
}
message GroupMemberFullInfo {
string groupID = 1 ;
string userID = 2 ;
int32 roleLevel = 3;
int64 joinTime = 4;
string nickname = 5;
string faceURL = 6;
int32 appMangerLevel = 7; //if >0
int32 joinSource = 8;
string operatorUserID = 9;
string ex = 10;
int64 muteEndTime = 11;
string inviterUserID = 12;
}
message PublicUserInfo{
string userID = 1;
string nickname = 2;
string faceURL = 3;
string ex = 4;
}
message UserInfo{
string userID = 1;
string nickname = 2;
string faceURL = 3;
string ex = 4;
int64 createTime = 5;
int32 appMangerLevel = 6;
int32 globalRecvMsgOpt = 7;
}
message FriendInfo{
string ownerUserID = 1;
string remark = 2;
int64 createTime = 3;
UserInfo friendUser = 4;
int32 addSource = 5;
string operatorUserID = 6;
string ex = 7;
}
message BlackInfo{
string ownerUserID = 1;
int64 createTime = 2;
PublicUserInfo blackUserInfo = 3;
int32 addSource = 4;
string operatorUserID = 5;
string ex = 6;
}
message GroupRequest{
PublicUserInfo userInfo = 1;
GroupInfo groupInfo = 2;
int32 handleResult = 3;
string reqMsg = 4;
string handleMsg = 5;
int64 reqTime = 6;
string handleUserID = 7;
int64 handleTime = 8;
string ex = 9;
int32 joinSource = 10;
string inviterUserID = 11;
}
message FriendRequest{
string fromUserID = 1;
string fromNickname = 2;
string fromFaceURL = 3;
string toUserID = 4;
string toNickname = 5;
string toFaceURL = 6;
int32 handleResult = 7;
string reqMsg = 8;
int64 createTime = 9;
string handlerUserID = 10;
string handleMsg = 11;
int64 handleTime = 12;
string ex = 13;
}
///////////////////////////////////base end/////////////////////////////////////
enum PullOrder{
PullOrderAsc = 0;
PullOrderDesc = 1;
}
message PullMessageBySeqsReq{
string userID = 1;
repeated SeqRange seqRanges = 2;
PullOrder order = 3;
}
message SeqRange {
string conversationID = 1;
int64 begin = 2;
int64 end = 3;
int64 num = 4;
}
message PullMsgs {
repeated MsgData Msgs = 1;
bool isEnd = 2;
}
message PullMessageBySeqsResp {
map<string, PullMsgs> msgs = 1;
map<string, PullMsgs> notificationMsgs = 2;
}
message GetMaxSeqReq {
string userID = 1;
}
message GetMaxSeqResp {
map<string, int64> maxSeqs = 1;
map<string, int64> minSeqs = 2;
}
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;
int64 seq = 14;
int64 sendTime = 15;
int64 createTime = 16;
int32 status = 17;
bool isRead = 18;
map<string, bool> options = 19;
OfflinePushInfo offlinePushInfo = 20;
repeated string atUserIDList = 21;
string attachedInfo = 22;
string ex = 23;
}
message PushMessages{
map<string, PullMsgs> msgs = 1;
map<string, PullMsgs> notificationMsgs = 2;
}
message OfflinePushInfo{
string title = 1;
string desc = 2;
string ex = 3;
string iOSPushSound = 4;
bool iOSBadgeCount = 5;
string signalInfo = 6;
}
message TipsComm{
bytes detail = 1;
string defaultTips = 2;
string jsonDetail = 3;
}
//////////////////////group/////////////////////
// OnGroupCreated()
message GroupCreatedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
repeated GroupMemberFullInfo memberList = 3;
int64 operationTime = 4;
GroupMemberFullInfo groupOwnerUser = 5;
}
// OnGroupInfoSet()
message GroupInfoSetTips{
GroupMemberFullInfo opUser = 1; //who do this
int64 muteTime = 2;
GroupInfo group = 3;
}
message GroupInfoSetNameTips{
GroupMemberFullInfo opUser = 1; //who do this
GroupInfo group = 2;
}
message GroupInfoSetAnnouncementTips{
GroupMemberFullInfo opUser = 1; //who do this
GroupInfo group = 2;
}
// OnJoinGroupApplication()
message JoinGroupApplicationTips{
GroupInfo group = 1;
PublicUserInfo applicant = 2;
string reqMsg = 3;
}
// OnQuitGroup()
//Actively leave the group
message MemberQuitTips{
GroupInfo group = 1;
GroupMemberFullInfo quitUser = 2;
int64 operationTime = 3;
}
// OnApplicationGroupAccepted()
message GroupApplicationAcceptedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
string handleMsg = 4;
int32 receiverAs = 5; // admin(==1) or applicant(==0)
}
// OnApplicationGroupRejected()
message GroupApplicationRejectedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
string handleMsg = 4;
int32 receiverAs = 5; // admin(==1) or applicant(==0)
}
// OnTransferGroupOwner()
message GroupOwnerTransferredTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
GroupMemberFullInfo newGroupOwner = 3;
int64 operationTime = 4;
}
// OnMemberKicked()
message MemberKickedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
repeated GroupMemberFullInfo kickedUserList = 3;
int64 operationTime = 4;
}
// OnMemberInvited()
message MemberInvitedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
repeated GroupMemberFullInfo invitedUserList = 3;
int64 operationTime = 4;
}
//Actively join the group
message MemberEnterTips{
GroupInfo group = 1;
GroupMemberFullInfo entrantUser = 2;
int64 operationTime = 3;
}
message GroupDismissedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
}
message GroupMemberMutedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
GroupMemberFullInfo mutedUser = 4;
uint32 mutedSeconds = 5;
}
message GroupMemberCancelMutedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
GroupMemberFullInfo mutedUser = 4;
}
message GroupMutedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
}
message GroupCancelMutedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
}
message GroupMemberInfoSetTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
GroupMemberFullInfo changedUser = 4;
}
//////////////////////friend/////////////////////
message FriendApplication{
int64 addTime = 1;
string addSource = 2;
string addWording = 3;
}
message FromToUserID{
string fromUserID = 1;
string toUserID = 2;
}
//FromUserID apply to add ToUserID
message FriendApplicationTips{
FromToUserID fromToUserID = 1; //from发起者 to接收者
}
//FromUserID accept or reject ToUserID
message FriendApplicationApprovedTips{
FromToUserID fromToUserID = 1; //from同意者to请求发起者
string handleMsg = 2;
}
//FromUserID accept or reject ToUserID
message FriendApplicationRejectedTips{
FromToUserID fromToUserID = 1; //from拒绝者to请求发起者
string handleMsg = 2;
}
// FromUserID Added a friend ToUserID
message FriendAddedTips{
FriendInfo friend = 1;
int64 operationTime = 2;
PublicUserInfo opUser = 3; //who do this
}
// FromUserID deleted a friend ToUserID
message FriendDeletedTips{
FromToUserID fromToUserID = 1; //fromowner tofriend
}
message BlackAddedTips{
FromToUserID fromToUserID = 1; //fromowner toblack
}
message BlackDeletedTips{
FromToUserID fromToUserID = 1; //fromowner toblack
}
message FriendInfoChangedTips{
FromToUserID fromToUserID = 1; //fromchanged tofriend
}
//////////////////////user/////////////////////
message UserInfoUpdatedTips{
string userID = 1;
}
//////////////////////conversation/////////////////////
message ConversationUpdateTips{
string userID = 1;
repeated string conversationIDList = 2;
}
message ConversationSetPrivateTips{
string recvID = 1;
string sendID = 2;
bool isPrivate = 3;
}
message ConversationHasReadTips {
string userID = 1;
string conversationID = 2;
int64 hasReadSeq = 3;
int64 unreadCountTime = 4;
}
message NotificationElem {
string detail = 1;
}
////////////////////message///////////////////////
message seqs {
repeated int64 seqs = 1;
}
message DeleteMessageTips{
string opUserID = 1;
string userID = 2;
repeated int64 seqs = 3;
}
message RevokeMsgTips{
string revokerUserID = 1;
string clientMsgID = 2;
int64 revokeTime = 3;
int32 sesstionType = 5;
int64 seq = 6;
string conversationID = 7;
}
message MessageRevokedContent {
string revokerID = 1;
int32 revokerRole = 2;
string clientMsgID = 3;
string revokerNickname = 4;
int64 revokeTime = 5;
int64 sourceMessageSendTime = 6;
string sourceMessageSendID = 7;
string sourceMessageSenderNickname = 8;
int32 sessionType = 10;
int64 seq = 11;
string ex = 12;
}
message ClearConversationTips {
string userID = 1;
repeated string conversationIDs = 2;
}
message DeleteMsgsTips {
string userID = 1;
string conversationID = 2;
repeated int64 seqs = 3;
}
message MarkAsReadTips {
string markAsReadUserID = 1;
string conversationID = 2;
repeated int64 seqs = 3;
int64 hasReadSeq = 4;
}
message SetAppBackgroundStatusReq {
string userID = 1;
bool isBackground = 2;
}
message SetAppBackgroundStatusResp {
}
message ExtendMsgSet {
string conversationID = 1;
int32 sessionType = 2;
map <string, ExtendMsg>extendMsgs = 3;
int64 MaxMsgUpdateTime = 4;
int32 extendMsgNum = 5;
int64 createTime = 6;
}
message ExtendMsg {
map <string, KeyValue>reactionExtensionList = 1;
string clientMsgID = 2;
int64 msgFirstModifyTime = 3;
string attachedInfo = 4;
string ex = 5;
}
message KeyValue {
string typeKey = 1;
string value = 2;
int64 latestUpdateTime = 3;
}
message ReactionMessageModifierNotification {
string conversationID = 1;
string opUserID = 2;
int32 sessionType = 3;
map <string, KeyValue>successReactionExtensions = 4;
string clientMsgID = 5;
bool isReact = 6;
bool isExternalExtensions = 7;
int64 msgFirstModifyTime = 8;
}
message ReactionMessageDeleteNotification {
string conversationID = 1;
string opUserID = 2;
int32 sessionType = 3;
map <string, KeyValue>successReactionExtensions = 4;
string clientMsgID = 5;
int64 msgFirstModifyTime = 6;
}
message RequestPagination {
int32 pageNumber = 1;
int32 showNumber = 2;
}