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

228 lines
5.2 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.

syntax = "proto3";
package OpenIMServer.msg;
import "sdkws/sdkws.proto";
import "wrapperspb/wrapperspb.proto";
option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg";
message MsgDataToMQ{
string token = 1;
sdkws.MsgData msgData = 2;
}
message MsgDataToDB {
sdkws.MsgData msgData = 1;
}
message PushMsgDataToMQ{
sdkws.MsgData msgData = 1;
string sourceID = 2;
}
message MsgDataToMongoByMQ{
int64 lastSeq = 1;
string aggregationID = 2;
repeated MsgDataToMQ messages = 3;
string triggerID = 4;
}
message GetMaxAndMinSeqReq {
string UserID = 1;
}
message GetMaxAndMinSeqResp {
int64 MaxSeq = 1;
int64 MinSeq = 2;
}
message SendMsgReq {
sdkws.MsgData msgData = 3;
}
message SendMsgResp {
string serverMsgID = 1;
string clientMsgID = 2;
int64 sendTime = 3;
}
message ClearMsgReq{
string userID = 1;
}
message ClearMsgResp{
}
message SetMsgMinSeqReq{
string userID = 1;
string groupID = 2;
uint32 minSeq = 3;
}
message SetMsgMinSeqResp{
}
message SetSendMsgStatusReq{
int32 status = 1;
}
message SetSendMsgStatusResp{
}
message GetSendMsgStatusReq{
}
message GetSendMsgStatusResp{
int32 status = 1;
}
message DelSuperGroupMsgReq{
string userID = 1;
string groupID = 2;
}
message DelSuperGroupMsgResp{
}
message GetSuperGroupMsgReq{
int64 Seq = 1;
string groupID = 2;
}
message GetSuperGroupMsgResp{
sdkws.MsgData msgData = 1;
}
message GetWriteDiffMsgReq{
int64 Seq = 1;
}
message GetWriteDiffMsgResp{
sdkws.MsgData msgData = 2;
}
message ModifyMessageReactionExtensionsReq {
string sourceID = 1;
int32 sessionType = 2;
map <string, sdkws.KeyValue>reactionExtensions = 3;
string clientMsgID = 4;
OpenIMServer.protobuf.StringValue ex = 5;
OpenIMServer.protobuf.StringValue attachedInfo = 6;
bool isReact = 7;
bool isExternalExtensions = 8;
int64 msgFirstModifyTime = 9;
}
message SetMessageReactionExtensionsReq {
string sourceID = 1;
int32 sessionType = 2;
map <string, sdkws.KeyValue>reactionExtensions = 3;
string clientMsgID = 4;
OpenIMServer.protobuf.StringValue ex = 5;
OpenIMServer.protobuf.StringValue attachedInfo = 6;
bool isReact = 7;
bool isExternalExtensions = 8;
int64 msgFirstModifyTime = 9;
}
message SetMessageReactionExtensionsResp {
string clientMsgID = 1;
int64 msgFirstModifyTime = 2;
bool isReact = 3;
repeated KeyValueResp result = 4;
}
message GetMessagesReactionExtensionsReq {
string sourceID = 1;
int32 sessionType = 2;
message MessageReactionKey {
string clientMsgID = 1;
int64 msgFirstModifyTime = 2;
}
repeated MessageReactionKey messageReactionKeys = 3;
repeated string TypeKeys = 4;
}
message GetMessagesReactionExtensionsResp{
repeated SingleMessageExtensionResult singleMessageResult = 1;
}
message SingleMessageExtensionResult {
map <string, sdkws.KeyValue>reactionExtensions = 1;
string clientMsgID = 2;
}
message ModifyMessageReactionExtensionsResp {
repeated ExtendMsgResp successList = 1;
repeated ExtendMsgResp failedList = 2;
}
message DeleteMessagesReactionExtensionsReq {
string operationID = 1;
string opUserID = 2;
string sourceID = 3;
int32 sessionType = 4;
string clientMsgID = 5;
bool isExternalExtensions = 6;
int64 msgFirstModifyTime = 7;
repeated sdkws.KeyValue reactionExtensions = 8;
}
message DeleteMessagesReactionExtensionsResp {
repeated KeyValueResp result = 1;
}
message ExtendMsgResp {
ExtendMsg extendMsg = 1;
}
message ExtendMsg {
map <string, KeyValueResp>reactionExtensions = 1;
string clientMsgID = 2;
int64 msgFirstModifyTime = 3;
string attachedInfo = 4;
string ex = 5;
}
message KeyValueResp {
sdkws.KeyValue keyValue = 1;
int32 errCode = 2;
string errMsg = 3;
}
message MsgDataToModifyByMQ{
repeated MsgDataToMQ messages = 1;
string triggerID = 2;
string aggregationID = 3;
}
message DelMsgsReq{
string userID = 2;
repeated int64 seqs = 3;
}
message DelMsgsResp{
}
service msg {
//获取最小最大seq包括用户的以及指定群组的
rpc GetMaxAndMinSeq(sdkws.GetMaxAndMinSeqReq) returns(sdkws.GetMaxAndMinSeqResp);
//拉取历史消息(包括用户的,以及指定群组的)
rpc PullMessageBySeqs(sdkws.PullMessageBySeqsReq) returns(sdkws.PullMessageBySeqsResp);
//发送消息
rpc SendMsg(SendMsgReq) returns(SendMsgResp);
//删除某人消息
rpc DelMsgs(DelMsgsReq) returns(DelMsgsResp);
//删除某个用户某个大群消息
rpc DelSuperGroupMsg(DelSuperGroupMsgReq) returns(DelSuperGroupMsgResp);
//清空某人所有消息
rpc ClearMsg(ClearMsgReq) returns(ClearMsgResp);
//设置消息是否发送成功-针对api发送的消息
rpc SetSendMsgStatus(SetSendMsgStatusReq) returns(SetSendMsgStatusResp);
//获取消息发送状态
rpc GetSendMsgStatus(GetSendMsgStatusReq) returns(GetSendMsgStatusResp);
// 修改消息
rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp);
rpc GetMessagesReactionExtensions(GetMessagesReactionExtensionsReq) returns(GetMessagesReactionExtensionsResp);
rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp);
rpc DeleteMessageReactionExtensions(DeleteMessagesReactionExtensionsReq) returns(DeleteMessagesReactionExtensionsResp);
}