// Copyright © 2023 OpenIM. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package apistruct type OptResult struct { ConversationID string `json:"conversationID"` Result *int32 `json:"result"` } type GetAllConversationMessageOptReq struct { OperationID string `json:"operationID" binding:"required"` FromUserID string `json:"fromUserID" binding:"required"` } type GetAllConversationMessageOptResp struct { ConversationOptResultList []*OptResult `json:"data"` } type GetReceiveMessageOptReq struct { ConversationIDList []string `json:"conversationIDList" binding:"required"` OperationID string `json:"operationID" binding:"required"` FromUserID string `json:"fromUserID" binding:"required"` } type GetReceiveMessageOptResp struct { ConversationOptResultList []*OptResult `json:"data"` } type SetReceiveMessageOptReq struct { FromUserID string `json:"fromUserID" binding:"required"` OperationID string `json:"operationID" binding:"required"` Opt *int32 `json:"opt" binding:"required"` ConversationIDList []string `json:"conversationIDList" binding:"required"` } type SetReceiveMessageOptResp struct { ConversationOptResultList []*OptResult `json:"data"` } type Conversation struct { OwnerUserID string `json:"ownerUserID" binding:"required"` ConversationID string `json:"conversationID" binding:"required"` ConversationType int32 `json:"conversationType" binding:"required"` UserID string `json:"userID"` GroupID string `json:"groupID"` RecvMsgOpt int32 `json:"recvMsgOpt" binding:"omitempty,oneof=0 1 2"` UnreadCount int32 `json:"unreadCount" binding:"omitempty"` DraftTextTime int64 `json:"draftTextTime"` IsPinned bool `json:"isPinned" binding:"omitempty"` IsPrivateChat bool `json:"isPrivateChat"` BurnDuration int32 `json:"burnDuration"` GroupAtType int32 `json:"groupAtType"` IsNotInGroup bool `json:"isNotInGroup"` UpdateUnreadCountTime int64 `json:"updateUnreadCountTime"` AttachedInfo string `json:"attachedInfo"` Ex string `json:"ex"` } type SetConversationReq struct { Conversation NotificationType int32 `json:"notificationType"` OperationID string `json:"operationID" binding:"required"` } type SetConversationResp struct { } type ModifyConversationFieldReq struct { Conversation FieldType int32 `json:"fieldType" binding:"required"` UserIDList []string `json:"userIDList" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type ModifyConversationFieldResp struct { } type BatchSetConversationsReq struct { Conversations []Conversation `json:"conversations" binding:"required"` NotificationType int32 `json:"notificationType"` OwnerUserID string `json:"ownerUserID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type BatchSetConversationsResp struct { Data struct { Success []string `json:"success"` Failed []string `json:"failed"` } `json:"data"` } type GetConversationReq struct { ConversationID string `json:"conversationID" binding:"required"` OwnerUserID string `json:"ownerUserID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type GetConversationResp struct { Conversation Conversation `json:"data"` } type GetAllConversationsReq struct { OwnerUserID string `json:"ownerUserID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type GetAllConversationsResp struct { Conversations []Conversation `json:"data"` } type GetConversationsReq struct { ConversationIDs []string `json:"conversationIDs" binding:"required"` OwnerUserID string `json:"ownerUserID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type GetConversationsResp struct { Conversations []Conversation `json:"data"` } type SetRecvMsgOptReq struct { OwnerUserID string `json:"ownerUserID" binding:"required"` ConversationID string `json:"conversationID"` RecvMsgOpt int32 `json:"recvMsgOpt" binding:"omitempty,oneof=0 1 2"` OperationID string `json:"operationID" binding:"required"` NotificationType int32 `json:"notificationType"` } type SetRecvMsgOptResp struct { }