2021-05-26 19:19:41 +08:00
|
|
|
syntax = "proto3";
|
2023-03-17 17:26:58 +08:00
|
|
|
package OpenIMServer.msg;
|
2023-03-16 10:46:06 +08:00
|
|
|
import "sdkws/sdkws.proto";
|
|
|
|
|
import "wrapperspb/wrapperspb.proto";
|
|
|
|
|
option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg";
|
2022-03-16 10:44:58 +08:00
|
|
|
|
2021-12-22 10:47:07 +08:00
|
|
|
message MsgDataToMQ{
|
2023-03-02 12:00:31 +08:00
|
|
|
string token = 1;
|
|
|
|
|
sdkws.MsgData msgData = 2;
|
2021-05-26 19:19:41 +08:00
|
|
|
}
|
2021-06-28 15:33:26 +08:00
|
|
|
|
|
|
|
|
|
2021-12-22 10:47:07 +08:00
|
|
|
message MsgDataToDB {
|
2023-02-09 20:36:34 +08:00
|
|
|
sdkws.MsgData msgData = 1;
|
2021-05-26 19:19:41 +08:00
|
|
|
}
|
2023-03-02 12:00:31 +08:00
|
|
|
|
2021-12-22 10:47:07 +08:00
|
|
|
message PushMsgDataToMQ{
|
2023-03-02 12:00:31 +08:00
|
|
|
sdkws.MsgData msgData = 1;
|
2023-05-04 15:06:23 +08:00
|
|
|
string conversationID = 2;
|
2021-12-22 10:47:07 +08:00
|
|
|
}
|
2023-03-02 12:00:31 +08:00
|
|
|
|
2022-06-16 12:04:57 +08:00
|
|
|
message MsgDataToMongoByMQ{
|
2023-04-28 18:39:21 +08:00
|
|
|
int64 lastSeq = 1;
|
2023-05-04 16:00:06 +08:00
|
|
|
string conversationID = 2;
|
2023-04-28 18:39:21 +08:00
|
|
|
repeated sdkws.MsgData msgData = 3;
|
2022-06-16 12:04:57 +08:00
|
|
|
}
|
2021-05-26 19:19:41 +08:00
|
|
|
|
2021-11-10 15:24:59 +08:00
|
|
|
message GetMaxAndMinSeqReq {
|
|
|
|
|
string UserID = 1;
|
|
|
|
|
}
|
|
|
|
|
message GetMaxAndMinSeqResp {
|
2023-03-02 12:00:31 +08:00
|
|
|
int64 MaxSeq = 1;
|
|
|
|
|
int64 MinSeq = 2;
|
2021-05-26 19:19:41 +08:00
|
|
|
}
|
|
|
|
|
|
2021-12-21 21:40:50 +08:00
|
|
|
message SendMsgReq {
|
2023-02-10 21:04:22 +08:00
|
|
|
sdkws.MsgData msgData = 3;
|
2021-05-26 19:19:41 +08:00
|
|
|
}
|
|
|
|
|
|
2021-12-21 21:40:50 +08:00
|
|
|
message SendMsgResp {
|
2023-03-02 12:00:31 +08:00
|
|
|
string serverMsgID = 1;
|
|
|
|
|
string clientMsgID = 2;
|
|
|
|
|
int64 sendTime = 3;
|
2022-05-31 19:16:29 +08:00
|
|
|
}
|
|
|
|
|
|
2021-05-26 19:19:41 +08:00
|
|
|
|
2022-07-20 20:59:52 +08:00
|
|
|
|
2022-09-06 15:51:18 +08:00
|
|
|
message SetSendMsgStatusReq{
|
2023-03-02 12:00:31 +08:00
|
|
|
int32 status = 1;
|
2022-07-26 15:16:46 +08:00
|
|
|
}
|
|
|
|
|
|
2022-09-06 15:51:18 +08:00
|
|
|
message SetSendMsgStatusResp{
|
2022-07-26 15:16:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message GetSendMsgStatusReq{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message GetSendMsgStatusResp{
|
2023-03-02 12:00:31 +08:00
|
|
|
int32 status = 1;
|
2022-07-26 15:16:46 +08:00
|
|
|
}
|
2023-03-02 12:00:31 +08:00
|
|
|
|
2022-09-21 18:44:21 +08:00
|
|
|
|
2022-12-08 19:50:28 +08:00
|
|
|
message ModifyMessageReactionExtensionsReq {
|
2023-05-04 15:06:23 +08:00
|
|
|
string conversationID = 1;
|
2023-03-02 12:00:31 +08:00
|
|
|
int32 sessionType = 2;
|
|
|
|
|
map <string, sdkws.KeyValue>reactionExtensions = 3;
|
|
|
|
|
string clientMsgID = 4;
|
2023-03-09 14:41:57 +08:00
|
|
|
OpenIMServer.protobuf.StringValue ex = 5;
|
|
|
|
|
OpenIMServer.protobuf.StringValue attachedInfo = 6;
|
2023-03-02 12:00:31 +08:00
|
|
|
bool isReact = 7;
|
|
|
|
|
bool isExternalExtensions = 8;
|
|
|
|
|
int64 msgFirstModifyTime = 9;
|
2022-12-08 19:50:28 +08:00
|
|
|
}
|
2022-12-12 15:34:49 +08:00
|
|
|
message SetMessageReactionExtensionsReq {
|
2023-05-04 15:06:23 +08:00
|
|
|
string conversationID = 1;
|
2023-03-02 12:00:31 +08:00
|
|
|
int32 sessionType = 2;
|
|
|
|
|
map <string, sdkws.KeyValue>reactionExtensions = 3;
|
|
|
|
|
string clientMsgID = 4;
|
2023-03-09 14:41:57 +08:00
|
|
|
OpenIMServer.protobuf.StringValue ex = 5;
|
|
|
|
|
OpenIMServer.protobuf.StringValue attachedInfo = 6;
|
2023-03-02 12:00:31 +08:00
|
|
|
bool isReact = 7;
|
|
|
|
|
bool isExternalExtensions = 8;
|
|
|
|
|
int64 msgFirstModifyTime = 9;
|
2022-12-12 15:34:49 +08:00
|
|
|
}
|
|
|
|
|
message SetMessageReactionExtensionsResp {
|
2023-03-02 12:00:31 +08:00
|
|
|
string clientMsgID = 1;
|
|
|
|
|
int64 msgFirstModifyTime = 2;
|
|
|
|
|
bool isReact = 3;
|
|
|
|
|
repeated KeyValueResp result = 4;
|
2022-12-12 15:34:49 +08:00
|
|
|
}
|
2022-12-08 19:50:28 +08:00
|
|
|
|
2023-03-02 12:00:31 +08:00
|
|
|
message GetMessagesReactionExtensionsReq {
|
2023-05-04 15:06:23 +08:00
|
|
|
string conversationID = 1;
|
2023-03-02 12:00:31 +08:00
|
|
|
int32 sessionType = 2;
|
2022-12-12 19:15:31 +08:00
|
|
|
message MessageReactionKey {
|
|
|
|
|
string clientMsgID = 1;
|
|
|
|
|
int64 msgFirstModifyTime = 2;
|
|
|
|
|
}
|
2023-03-02 12:00:31 +08:00
|
|
|
repeated MessageReactionKey messageReactionKeys = 3;
|
|
|
|
|
repeated string TypeKeys = 4;
|
2022-12-12 19:15:31 +08:00
|
|
|
}
|
2023-03-02 12:00:31 +08:00
|
|
|
message GetMessagesReactionExtensionsResp{
|
|
|
|
|
repeated SingleMessageExtensionResult singleMessageResult = 1;
|
2022-12-12 19:15:31 +08:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
message SingleMessageExtensionResult {
|
2023-04-28 18:39:21 +08:00
|
|
|
map <string, sdkws.KeyValue>reactionExtensions = 1;
|
2023-03-02 12:00:31 +08:00
|
|
|
string clientMsgID = 2;
|
2022-12-12 19:15:31 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2022-12-08 19:50:28 +08:00
|
|
|
message ModifyMessageReactionExtensionsResp {
|
2023-03-02 12:00:31 +08:00
|
|
|
repeated ExtendMsgResp successList = 1;
|
|
|
|
|
repeated ExtendMsgResp failedList = 2;
|
2022-12-08 19:50:28 +08:00
|
|
|
}
|
|
|
|
|
|
2023-03-02 12:00:31 +08:00
|
|
|
message DeleteMessagesReactionExtensionsReq {
|
2022-12-08 19:50:28 +08:00
|
|
|
string operationID = 1;
|
|
|
|
|
string opUserID = 2;
|
2023-05-04 15:06:23 +08:00
|
|
|
string conversationID = 3;
|
2022-12-09 16:42:43 +08:00
|
|
|
int32 sessionType = 4;
|
2022-12-12 19:53:04 +08:00
|
|
|
string clientMsgID = 5;
|
2022-12-23 16:05:51 +08:00
|
|
|
bool isExternalExtensions = 6;
|
|
|
|
|
int64 msgFirstModifyTime = 7;
|
2023-03-02 12:00:31 +08:00
|
|
|
repeated sdkws.KeyValue reactionExtensions = 8;
|
2022-12-07 21:12:48 +08:00
|
|
|
}
|
|
|
|
|
|
2023-03-02 12:00:31 +08:00
|
|
|
message DeleteMessagesReactionExtensionsResp {
|
|
|
|
|
repeated KeyValueResp result = 1;
|
2022-12-09 16:42:43 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message ExtendMsgResp {
|
2022-12-09 17:29:18 +08:00
|
|
|
ExtendMsg extendMsg = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message ExtendMsg {
|
2023-03-02 12:00:31 +08:00
|
|
|
map <string, KeyValueResp>reactionExtensions = 1;
|
2022-12-09 17:29:18 +08:00
|
|
|
string clientMsgID = 2;
|
|
|
|
|
int64 msgFirstModifyTime = 3;
|
|
|
|
|
string attachedInfo = 4;
|
|
|
|
|
string ex = 5;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message KeyValueResp {
|
2023-02-09 20:36:34 +08:00
|
|
|
sdkws.KeyValue keyValue = 1;
|
2023-03-03 17:42:26 +08:00
|
|
|
int32 errCode = 2;
|
|
|
|
|
string errMsg = 3;
|
2022-12-07 21:12:48 +08:00
|
|
|
}
|
2022-09-21 18:44:21 +08:00
|
|
|
|
2022-12-12 19:22:50 +08:00
|
|
|
message MsgDataToModifyByMQ{
|
2023-04-28 18:39:21 +08:00
|
|
|
repeated sdkws.MsgData messages = 1;
|
2023-05-19 19:43:43 +08:00
|
|
|
string conversationID = 2;
|
2022-12-12 19:22:50 +08:00
|
|
|
}
|
|
|
|
|
|
2023-03-02 12:00:31 +08:00
|
|
|
message DelMsgsReq{
|
2023-02-16 15:20:59 +08:00
|
|
|
}
|
|
|
|
|
|
2023-03-02 12:00:31 +08:00
|
|
|
message DelMsgsResp{
|
2023-02-16 15:20:59 +08:00
|
|
|
}
|
2022-12-12 19:22:50 +08:00
|
|
|
|
2023-05-22 15:15:01 +08:00
|
|
|
message RevokeMsgReq {
|
2023-05-26 18:33:32 +08:00
|
|
|
string conversationID = 1;
|
|
|
|
|
int64 seq = 2;
|
|
|
|
|
string userID = 3;
|
2023-05-22 15:15:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message RevokeMsgResp {
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-02 16:38:15 +08:00
|
|
|
message MarkMsgsAsReadReq {
|
|
|
|
|
string conversationID = 1;
|
|
|
|
|
repeated int64 seqs = 2;
|
|
|
|
|
string userID = 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message MarkMsgsAsReadResp {
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-29 16:26:24 +08:00
|
|
|
message DeleteSyncOpt {
|
|
|
|
|
bool IsSyncSelf = 3;
|
|
|
|
|
bool IsSyncOther = 4;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-25 10:57:46 +08:00
|
|
|
message ClearConversationsMsgReq {
|
|
|
|
|
repeated string conversationIDs = 1;
|
|
|
|
|
string userID = 2;
|
2023-05-29 19:11:32 +08:00
|
|
|
DeleteSyncOpt deleteSyncOpt = 3;
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message ClearConversationsMsgResp {
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-25 11:09:10 +08:00
|
|
|
message UserClearAllMsgReq {
|
2023-05-25 10:57:46 +08:00
|
|
|
string userID = 1;
|
2023-05-29 19:11:32 +08:00
|
|
|
DeleteSyncOpt deleteSyncOpt = 3;
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
2023-05-25 11:09:10 +08:00
|
|
|
message UserClearAllMsgResp {
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
2023-05-25 11:04:41 +08:00
|
|
|
message DeleteMsgsReq {
|
2023-05-25 10:57:46 +08:00
|
|
|
string conversationID = 1;
|
|
|
|
|
repeated int64 seqs = 2;
|
|
|
|
|
string userID = 3;
|
2023-05-29 19:11:32 +08:00
|
|
|
DeleteSyncOpt deleteSyncOpt = 4;
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
2023-05-25 11:04:41 +08:00
|
|
|
message DeleteMsgsResp {
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message DeleteMsgPhysicalReq {
|
|
|
|
|
repeated string conversationIDs = 1;
|
2023-06-07 16:52:25 +08:00
|
|
|
int64 timestamp = 2;
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message DeleteMsgPhysicalResp {
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-25 11:04:41 +08:00
|
|
|
message DeleteMsgPhysicalBySeqReq {
|
2023-05-25 10:57:46 +08:00
|
|
|
string conversationID = 1;
|
|
|
|
|
repeated int64 seqs = 2;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-25 11:04:41 +08:00
|
|
|
message DeleteMsgPhysicalBySeqResp {
|
2023-05-31 11:48:33 +08:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message GetConversationMaxSeqReq {
|
|
|
|
|
string conversationID = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message GetConversationMaxSeqResp {
|
|
|
|
|
int64 maxSeq = 1;
|
2023-05-25 10:57:46 +08:00
|
|
|
}
|
|
|
|
|
|
2023-06-06 18:46:06 +08:00
|
|
|
|
|
|
|
|
message GetConversationsHasReadAndMaxSeqReq {
|
|
|
|
|
string userID = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Seqs {
|
|
|
|
|
int64 maxSeq = 1;
|
|
|
|
|
int64 hasReadSeq = 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message GetConversationsHasReadAndMaxSeqResp {
|
|
|
|
|
map<string, Seqs> seqs = 1;
|
|
|
|
|
}
|
|
|
|
|
|
2022-07-20 20:59:52 +08:00
|
|
|
service msg {
|
2023-02-10 21:04:22 +08:00
|
|
|
//获取最小最大seq(包括用户的,以及指定群组的)
|
2023-05-05 12:19:04 +08:00
|
|
|
rpc GetMaxSeq(sdkws.GetMaxSeqReq) returns(sdkws.GetMaxSeqResp);
|
2023-05-31 11:48:33 +08:00
|
|
|
rpc GetConversationMaxSeq(GetConversationMaxSeqReq) returns(GetConversationMaxSeqResp);
|
2023-02-10 21:04:22 +08:00
|
|
|
//拉取历史消息(包括用户的,以及指定群组的)
|
2023-03-02 12:00:31 +08:00
|
|
|
rpc PullMessageBySeqs(sdkws.PullMessageBySeqsReq) returns(sdkws.PullMessageBySeqsResp);
|
2023-02-10 21:04:22 +08:00
|
|
|
//发送消息
|
2021-12-21 21:40:50 +08:00
|
|
|
rpc SendMsg(SendMsgReq) returns(SendMsgResp);
|
2023-05-25 10:57:46 +08:00
|
|
|
|
|
|
|
|
// 全量清空指定会话消息 重置min seq 比最大seq大1
|
|
|
|
|
rpc ClearConversationsMsg(ClearConversationsMsgReq) returns(ClearConversationsMsgResp);
|
|
|
|
|
// 删除用户全部消息 重置min seq 比最大seq大1
|
2023-05-25 11:09:10 +08:00
|
|
|
rpc UserClearAllMsg(UserClearAllMsgReq) returns(UserClearAllMsgResp);
|
2023-05-25 10:57:46 +08:00
|
|
|
// 用户标记删除部分消息by Seq
|
2023-05-25 11:04:41 +08:00
|
|
|
rpc DeleteMsgs(DeleteMsgsReq) returns(DeleteMsgsResp);
|
2023-05-25 10:57:46 +08:00
|
|
|
// seq物理删除消息
|
2023-05-25 11:04:41 +08:00
|
|
|
rpc DeleteMsgPhysicalBySeq(DeleteMsgPhysicalBySeqReq) returns(DeleteMsgPhysicalBySeqResp);
|
2023-05-25 12:18:02 +08:00
|
|
|
// 物理删除消息by 时间
|
|
|
|
|
rpc DeleteMsgPhysical(DeleteMsgPhysicalReq) returns(DeleteMsgPhysicalResp);
|
2023-05-25 10:57:46 +08:00
|
|
|
|
2023-02-10 21:04:22 +08:00
|
|
|
//设置消息是否发送成功-针对api发送的消息
|
2022-09-06 15:51:18 +08:00
|
|
|
rpc SetSendMsgStatus(SetSendMsgStatusReq) returns(SetSendMsgStatusResp);
|
2023-02-10 21:04:22 +08:00
|
|
|
//获取消息发送状态
|
2022-07-26 15:16:46 +08:00
|
|
|
rpc GetSendMsgStatus(GetSendMsgStatusReq) returns(GetSendMsgStatusResp);
|
2023-05-22 15:15:01 +08:00
|
|
|
rpc RevokeMsg(RevokeMsgReq) returns(RevokeMsgResp);
|
2023-06-02 16:38:15 +08:00
|
|
|
rpc MarkMsgsAsRead(MarkMsgsAsReadReq) returns(MarkMsgsAsReadResp);
|
2023-02-10 21:04:22 +08:00
|
|
|
// 修改消息
|
2022-12-12 15:34:49 +08:00
|
|
|
rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp);
|
2023-03-02 12:00:31 +08:00
|
|
|
rpc GetMessagesReactionExtensions(GetMessagesReactionExtensionsReq) returns(GetMessagesReactionExtensionsResp);
|
2022-12-08 19:50:28 +08:00
|
|
|
rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp);
|
2023-03-02 12:00:31 +08:00
|
|
|
rpc DeleteMessageReactionExtensions(DeleteMessagesReactionExtensionsReq) returns(DeleteMessagesReactionExtensionsResp);
|
2023-06-06 18:46:06 +08:00
|
|
|
|
|
|
|
|
rpc GetConversationsHasReadAndMaxSeq(GetConversationsHasReadAndMaxSeqReq) returns(GetConversationsHasReadAndMaxSeqResp);
|
2021-05-26 19:19:41 +08:00
|
|
|
}
|