Files
open-im-server/pkg/apistruct/manage.go
T

58 lines
2.3 KiB
Go
Raw Normal View History

2023-07-04 11:15:20 +08:00
// 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.
2023-06-30 09:45:02 +08:00
package apistruct
import (
sdkws "github.com/OpenIMSDK/protocol/sdkws"
2023-06-30 09:45:02 +08:00
)
2023-07-14 14:49:28 +08:00
type SendMsg struct {
2023-07-03 16:29:22 +08:00
SendID string `json:"sendID" binding:"required"`
GroupID string `json:"groupID" binding:"required_if=SessionType 2|required_if=SessionType 3"`
SenderNickname string `json:"senderNickname"`
SenderFaceURL string `json:"senderFaceURL"`
2023-06-30 09:45:02 +08:00
SenderPlatformID int32 `json:"senderPlatformID"`
2023-07-03 16:29:22 +08:00
Content map[string]interface{} `json:"content" binding:"required" swaggerignore:"true"`
ContentType int32 `json:"contentType" binding:"required"`
SessionType int32 `json:"sessionType" binding:"required"`
2023-06-30 09:45:02 +08:00
IsOnlineOnly bool `json:"isOnlineOnly"`
NotOfflinePush bool `json:"notOfflinePush"`
SendTime int64 `json:"sendTime"`
2023-06-30 09:45:02 +08:00
OfflinePushInfo *sdkws.OfflinePushInfo `json:"offlinePushInfo"`
}
2023-07-14 14:49:28 +08:00
type SendMsgReq struct {
2023-07-27 12:32:08 +08:00
RecvID string `json:"recvID" binding:"required_if" message:"recvID is required if sessionType is SingleChatType or NotificationChatType"`
2023-07-14 14:49:28 +08:00
SendMsg
2023-06-30 09:45:02 +08:00
}
2023-07-14 14:49:28 +08:00
type BatchSendMsgReq struct {
SendMsg
IsSendAll bool `json:"isSendAll"`
2023-11-02 12:27:59 +08:00
RecvIDs []string `json:"recvIDs" binding:"required"`
2023-06-30 09:45:02 +08:00
}
2023-07-14 14:49:28 +08:00
type BatchSendMsgResp struct {
Results []*SingleReturnResult `json:"results"`
FailedIDs []string `json:"failedUserIDs"`
2023-06-30 09:45:02 +08:00
}
type SingleReturnResult struct {
ServerMsgID string `json:"serverMsgID"`
ClientMsgID string `json:"clientMsgID"`
SendTime int64 `json:"sendTime"`
2023-07-03 16:29:22 +08:00
RecvID string `json:"recvID"`
2023-06-30 09:45:02 +08:00
}