syntax = "proto3"; option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/conversation"; package OpenIMServer.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; } message ModifyConversationFieldReq{ Conversation conversation = 1; int32 fieldType = 2; repeated string userIDList = 3; } message ModifyConversationFieldResp{ } message SetConversationReq{ Conversation Conversation = 1; int32 notificationType = 2; } message SetConversationResp{ } message SetRecvMsgOptReq { string OwnerUserID = 1; string ConversationID = 2; int32 RecvMsgOpt = 3; int32 notificationType = 4; } 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; int32 notificationType = 3; } message BatchSetConversationsResp{ repeated string Success = 1; repeated string Failed = 2; } message GetRecvMsgNotNotifyUserIDsReq { string groupID = 1; } message GetRecvMsgNotNotifyUserIDsResp { repeated string userIDs = 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); }