syntax = "proto3"; package OpenIMServer.conversation; option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/conversation"; message Conversation{ string ownerUserID = 1; string conversationID = 2; int32 recvMsgOpt = 3; int32 conversationType = 4; string userID = 5; string groupID = 6; int32 unreadCount = 7; int64 draftTextTime = 8; bool isPinned = 9; string attachedInfo = 10; bool isPrivateChat = 11; int32 groupAtType = 12; bool isNotInGroup = 13; string ex = 14; int64 updateUnreadCountTime = 15; int32 burnDuration = 16; int64 minSeq = 17; int64 maxSeq = 18; int64 isReadSeq = 19; } message ModifyConversationFieldReq{ Conversation conversation = 1; int32 fieldType = 2; repeated string userIDList = 3; } message ModifyConversationFieldResp{ } message SetConversationReq{ Conversation conversation = 1; } message SetConversationResp{ } message SetRecvMsgOptReq { string ownerUserID = 1; string conversationID = 2; int32 recvMsgOpt = 3; } message SetRecvMsgOptResp { } message GetConversationReq{ string conversationID = 1; string ownerUserID = 2; } message GetConversationResp{ Conversation conversation = 2; } message GetConversationsReq{ string ownerUserID = 1; repeated string conversationIDs = 2; } message GetConversationsResp{ repeated Conversation conversations = 2; } message GetAllConversationsReq{ string ownerUserID = 1; } message GetAllConversationsResp{ repeated Conversation conversations = 2; } message BatchSetConversationsReq{ repeated Conversation Conversations = 1; string ownerUserID = 2; } message BatchSetConversationsResp{ repeated string success = 1; repeated string failed = 2; } message GetRecvMsgNotNotifyUserIDsReq { string groupID = 1; } message GetRecvMsgNotNotifyUserIDsResp { repeated string userIDs = 1; } message CreateSingleChatConversationsReq { string recvID = 1; string sendID = 2; } message CreateSingleChatConversationsResp { } message CreateGroupChatConversationsReq { repeated string userIDs = 1; string groupID = 2; } message CreateGroupChatConversationsResp { } message DelGroupChatConversationsReq { string groupID = 1; repeated string ownerUserID = 2; int64 maxSeq = 3; } message DelGroupChatConversationsResp { } message GetConversationIDsReq { string userID = 1; } message GetConversationIDsResp { repeated string conversationIDs = 1; } service conversation { rpc ModifyConversationField(ModifyConversationFieldReq)returns(ModifyConversationFieldResp); rpc GetConversation(GetConversationReq)returns(GetConversationResp); rpc GetAllConversations(GetAllConversationsReq)returns(GetAllConversationsResp); rpc GetConversations(GetConversationsReq)returns(GetConversationsResp); rpc BatchSetConversations(BatchSetConversationsReq)returns(BatchSetConversationsResp); rpc SetConversation(SetConversationReq)returns(SetConversationResp); rpc SetRecvMsgOpt(SetRecvMsgOptReq)returns(SetRecvMsgOptResp); rpc GetRecvMsgNotNotifyUserIDs(GetRecvMsgNotNotifyUserIDsReq) returns (GetRecvMsgNotNotifyUserIDsResp); rpc CreateSingleChatConversations(CreateSingleChatConversationsReq) returns (CreateSingleChatConversationsResp); rpc CreateGroupChatConversations(CreateGroupChatConversationsReq) returns (CreateGroupChatConversationsResp); rpc DelGroupChatConversations(DelGroupChatConversationsReq) returns(DelGroupChatConversationsResp); rpc GetConversationIDs(GetConversationIDsReq) returns(GetConversationIDsResp); }