UNPKG

@openim/protocol

Version:

OpenIM protocol

475 lines (474 loc) 13.5 kB
import { type Conversation } from "../conversation/conversation"; import { type GetMaxSeqReq, type GetMaxSeqResp, type GroupInfo, type MsgData, type PullMessageBySeqsReq, type PullMessageBySeqsResp, type PullMsgs, type RequestPagination, type UserInfo } from "../sdkws/sdkws"; export declare const protobufPackage = "openim.msg"; export interface MsgDataToMQ { token: string; msgData: MsgData | undefined; } export interface MsgDataToDB { msgData: MsgData | undefined; } export interface PushMsgDataToMQ { msgData: MsgData | undefined; conversationID: string; } export interface MsgDataToMongoByMQ { lastSeq: number; conversationID: string; msgData: MsgData[]; } export interface GetMaxAndMinSeqReq { UserID: string; } export interface GetMaxAndMinSeqResp { MaxSeq: number; MinSeq: number; } export interface SendMsgReq { msgData: MsgData | undefined; } export interface SendMsgResp { serverMsgID: string; clientMsgID: string; sendTime: number; } export interface SetSendMsgStatusReq { status: number; } export interface SetSendMsgStatusResp { } export interface GetSendMsgStatusReq { } export interface GetSendMsgStatusResp { status: number; } export interface MsgDataToModifyByMQ { messages: MsgData[]; conversationID: string; } export interface DelMsgsReq { } export interface DelMsgsResp { } export interface RevokeMsgReq { conversationID: string; seq: number; userID: string; } export interface RevokeMsgResp { } export interface MarkMsgsAsReadReq { conversationID: string; seqs: number[]; userID: string; } export interface MarkMsgsAsReadResp { } export interface MarkConversationAsReadReq { conversationID: string; userID: string; hasReadSeq: number; seqs: number[]; } export interface MarkConversationAsReadResp { } export interface SetConversationHasReadSeqReq { conversationID: string; userID: string; hasReadSeq: number; noNotification: boolean; } export interface SetConversationHasReadSeqResp { } export interface DeleteSyncOpt { IsSyncSelf: boolean; IsSyncOther: boolean; } export interface ClearConversationsMsgReq { conversationIDs: string[]; userID: string; deleteSyncOpt: DeleteSyncOpt | undefined; } export interface ClearConversationsMsgResp { } export interface UserClearAllMsgReq { userID: string; deleteSyncOpt: DeleteSyncOpt | undefined; } export interface UserClearAllMsgResp { } export interface DeleteMsgsReq { conversationID: string; seqs: number[]; userID: string; deleteSyncOpt: DeleteSyncOpt | undefined; } export interface DeleteMsgsResp { } export interface DeleteMsgPhysicalReq { conversationIDs: string[]; timestamp: number; } export interface DeleteMsgPhysicalResp { } export interface DeleteMsgPhysicalBySeqReq { conversationID: string; seqs: number[]; } export interface DeleteMsgPhysicalBySeqResp { } export interface GetMaxSeqsReq { conversationIDs: string[]; } export interface GetHasReadSeqsReq { userID: string; conversationIDs: string[]; } export interface SeqsInfoResp { maxSeqs: { [key: string]: number; }; } export interface SeqsInfoResp_MaxSeqsEntry { key: string; value: number; } export interface GetMsgByConversationIDsReq { conversationIDs: string[]; maxSeqs: { [key: string]: number; }; } export interface GetMsgByConversationIDsReq_MaxSeqsEntry { key: string; value: number; } export interface GetMsgByConversationIDsResp { msgDatas: { [key: string]: MsgData; }; } export interface GetMsgByConversationIDsResp_MsgDatasEntry { key: string; value: MsgData | undefined; } export interface GetConversationMaxSeqReq { conversationID: string; } export interface GetConversationMaxSeqResp { maxSeq: number; } export interface GetConversationsHasReadAndMaxSeqReq { userID: string; conversationIDs: string[]; } export interface Seqs { maxSeq: number; hasReadSeq: number; maxSeqTime: number; } export interface GetConversationsHasReadAndMaxSeqResp { seqs: { [key: string]: Seqs; }; } export interface GetConversationsHasReadAndMaxSeqResp_SeqsEntry { key: string; value: Seqs | undefined; } export interface GetActiveUserReq { start: number; end: number; ase: boolean; group: boolean; pagination: RequestPagination | undefined; } export interface ActiveUser { user: UserInfo | undefined; count: number; } export interface GetActiveUserResp { msgCount: number; userCount: number; dateCount: { [key: string]: number; }; users: ActiveUser[]; } export interface GetActiveUserResp_DateCountEntry { key: string; value: number; } export interface GetActiveGroupReq { start: number; end: number; ase: boolean; pagination: RequestPagination | undefined; } export interface ActiveGroup { group: GroupInfo | undefined; count: number; } export interface GetActiveGroupResp { msgCount: number; groupCount: number; dateCount: { [key: string]: number; }; groups: ActiveGroup[]; } export interface GetActiveGroupResp_DateCountEntry { key: string; value: number; } export interface SearchMessageReq { /** 发送者ID */ sendID: string; /** 接收者ID */ recvID: string; contentType: number; sendTime: string; sessionType: number; pagination: RequestPagination | undefined; } export interface SearchChatLog { chatLog: ChatLog | undefined; isRevoked: boolean; } export interface SearchedMsgData { msgData: MsgData | undefined; isRevoked: boolean; } export interface SearchMessageResp { chatLogs: SearchChatLog[]; chatLogsNum: number; } export interface ChatLog { serverMsgID: string; clientMsgID: string; sendID: string; recvID: string; groupID: string; recvNickname: string; senderPlatformID: number; senderNickname: string; senderFaceURL: string; groupName: string; sessionType: number; msgFrom: number; contentType: number; content: string; status: number; sendTime: number; createTime: number; ex: string; groupFaceURL: string; groupMemberCount: number; seq: number; groupOwner: string; groupType: number; } export interface batchSendMessageReq { recvIDList: string[]; msgData: MsgData | undefined; } export interface batchSendMessageResp { } export interface GetServerTimeReq { } export interface GetServerTimeResp { serverTime: number; } export interface ClearMsgReq { timestamp: number; } export interface ClearMsgResp { } export interface MarkGroupMessageReadReq { userID: string; conversationID: string; /** msgID:sendUserID */ clientMsgs: { [key: string]: string; }; } export interface MarkGroupMessageReadReq_ClientMsgsEntry { key: string; value: string; } export interface MarkGroupMessageReadResp { /** 0:已经标记过了 1:新标记 */ mark: { [key: string]: number; }; } export interface MarkGroupMessageReadResp_MarkEntry { key: string; value: number; } export interface GetGroupMessageReadNumReq { userID: string; conversationID: string; clientMsgIDs: string[]; } export interface MessageReadInfo { readNum: number; unreadNum: number; } export interface GetGroupMessageReadNumResp { num: { [key: string]: MessageReadInfo; }; } export interface GetGroupMessageReadNumResp_NumEntry { key: string; value: MessageReadInfo | undefined; } export interface GetGroupMessageHasReadReq { conversationID: string; clientMsgID: string; /** 0: 未读 1: 已读 */ type: number; pagination: RequestPagination | undefined; } export interface GroupMessageUserReadTime { userID: string; readTime: number; } export interface GetGroupMessageHasReadResp { count: number; reads: GroupMessageUserReadTime[]; } export interface DestructMsgsReq { conversations: Conversation[]; } export interface DestructMsgsResp { } export interface SetUserConversationsMinSeqReq { userIDs: string[]; conversationID: string; seq: number; } export interface SetUserConversationsMinSeqResp { } export interface ConversationSeqs { conversationID: string; seqs: number[]; } export interface GetSeqMessageReq { userID: string; conversations: ConversationSeqs[]; } export interface GetSeqMessageResp { msgs: { [key: string]: PullMsgs; }; notificationMsgs: { [key: string]: PullMsgs; }; } export interface GetSeqMessageResp_MsgsEntry { key: string; value: PullMsgs | undefined; } export interface GetSeqMessageResp_NotificationMsgsEntry { key: string; value: PullMsgs | undefined; } export interface GetActiveConversationReq { conversationIDs: string[]; limit: number; } export interface ActiveConversation { conversationID: string; lastTime: number; maxSeq: number; } export interface GetActiveConversationResp { conversations: ActiveConversation[]; } export interface MarkUserMessageReadReq { conversationID: string; userID: string; seqs: number[]; } export interface MarkUserMessageReadResp { } export interface MarkConversationReadReq { conversationID: string; userID: string; seq: number; } export interface MarkConversationReadResp { } export interface AppendStreamMsgReq { clientMsgID: string; startIndex: number; packets: string[]; end: boolean; } export interface AppendStreamMsgResp { } export interface GetStreamMsgReq { clientMsgID: string; } export interface GetStreamMsgResp { clientMsgID: string; conversationID: string; userID: string; packets: string[]; end: boolean; createTime: number; deadlineTime: number; } export interface msg { /** 获取最小最大seq(包括用户的,以及指定群组的) */ GetMaxSeq(request: GetMaxSeqReq): Promise<GetMaxSeqResp>; /** 获取会话列表的最大seq */ GetMaxSeqs(request: GetMaxSeqsReq): Promise<SeqsInfoResp>; /** 获取会话列表已读的最大seq */ GetHasReadSeqs(request: GetHasReadSeqsReq): Promise<SeqsInfoResp>; /** 获取最新消息 */ GetMsgByConversationIDs(request: GetMsgByConversationIDsReq): Promise<GetMsgByConversationIDsResp>; GetConversationMaxSeq(request: GetConversationMaxSeqReq): Promise<GetConversationMaxSeqResp>; /** 拉取历史消息(包括用户的,以及指定群组的) */ PullMessageBySeqs(request: PullMessageBySeqsReq): Promise<PullMessageBySeqsResp>; GetSeqMessage(request: GetSeqMessageReq): Promise<GetSeqMessageResp>; SearchMessage(request: SearchMessageReq): Promise<SearchMessageResp>; /** 发送消息 */ SendMsg(request: SendMsgReq): Promise<SendMsgResp>; SetUserConversationsMinSeq(request: SetUserConversationsMinSeqReq): Promise<SetUserConversationsMinSeqResp>; /** 全量清空指定会话消息 重置min seq 比最大seq大1 */ ClearConversationsMsg(request: ClearConversationsMsgReq): Promise<ClearConversationsMsgResp>; /** 删除用户全部消息 重置min seq 比最大seq大1 */ UserClearAllMsg(request: UserClearAllMsgReq): Promise<UserClearAllMsgResp>; /** 用户标记删除部分消息by Seq */ DeleteMsgs(request: DeleteMsgsReq): Promise<DeleteMsgsResp>; /** seq物理删除消息 */ DeleteMsgPhysicalBySeq(request: DeleteMsgPhysicalBySeqReq): Promise<DeleteMsgPhysicalBySeqResp>; /** 物理删除消息by 时间 */ DeleteMsgPhysical(request: DeleteMsgPhysicalReq): Promise<DeleteMsgPhysicalResp>; /** 设置消息是否发送成功-针对api发送的消息 */ SetSendMsgStatus(request: SetSendMsgStatusReq): Promise<SetSendMsgStatusResp>; /** 获取消息发送状态 */ GetSendMsgStatus(request: GetSendMsgStatusReq): Promise<GetSendMsgStatusResp>; RevokeMsg(request: RevokeMsgReq): Promise<RevokeMsgResp>; /** mark as read */ MarkMsgsAsRead(request: MarkMsgsAsReadReq): Promise<MarkMsgsAsReadResp>; MarkConversationAsRead(request: MarkConversationAsReadReq): Promise<MarkConversationAsReadResp>; SetConversationHasReadSeq(request: SetConversationHasReadSeqReq): Promise<SetConversationHasReadSeqResp>; GetConversationsHasReadAndMaxSeq(request: GetConversationsHasReadAndMaxSeqReq): Promise<GetConversationsHasReadAndMaxSeqResp>; GetActiveUser(request: GetActiveUserReq): Promise<GetActiveUserResp>; GetActiveGroup(request: GetActiveGroupReq): Promise<GetActiveGroupResp>; GetServerTime(request: GetServerTimeReq): Promise<GetServerTimeResp>; ClearMsg(request: ClearMsgReq): Promise<ClearMsgResp>; MarkGroupMessageRead(request: MarkGroupMessageReadReq): Promise<MarkGroupMessageReadResp>; GetGroupMessageReadNum(request: GetGroupMessageReadNumReq): Promise<GetGroupMessageReadNumResp>; GetGroupMessageHasRead(request: GetGroupMessageHasReadReq): Promise<GetGroupMessageHasReadResp>; DestructMsgs(request: DestructMsgsReq): Promise<DestructMsgsResp>; GetActiveConversation(request: GetActiveConversationReq): Promise<GetActiveConversationResp>; MarkUserMessageRead(request: MarkUserMessageReadReq): Promise<MarkUserMessageReadResp>; MarkConversationRead(request: MarkConversationReadReq): Promise<MarkConversationReadResp>; AppendStreamMsg(request: AppendStreamMsgReq): Promise<AppendStreamMsgResp>; GetStreamMsg(request: GetStreamMsgReq): Promise<GetStreamMsgResp>; }