// 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 import ( sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws" ) type KickGroupMemberReq struct { GroupID string `json:"groupID" binding:"required"` KickedUserIDList []string `json:"kickedUserIDList" binding:"required"` Reason string `json:"reason"` OperationID string `json:"operationID" binding:"required"` } type KickGroupMemberResp struct { // UserIDResultList []*UserIDResult `json:"data"` } type GetGroupMembersInfoReq struct { GroupID string `json:"groupID" binding:"required"` MemberList []string `json:"memberList" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type GetGroupMembersInfoResp struct { MemberList []*sdkws.GroupMemberFullInfo `json:"-"` Data []map[string]interface{} `json:"data" swaggerignore:"true"` } type InviteUserToGroupReq struct { GroupID string `json:"groupID" binding:"required"` InvitedUserIDList []string `json:"invitedUserIDList" binding:"required"` Reason string `json:"reason"` OperationID string `json:"operationID" binding:"required"` } type InviteUserToGroupResp struct { // UserIDResultList []*UserIDResult `json:"data"` } type GetJoinedGroupListReq struct { OperationID string `json:"operationID" binding:"required"` FromUserID string `json:"fromUserID" binding:"required"` } type GetJoinedGroupListResp struct { GroupInfoList []*sdkws.GroupInfo `json:"-"` Data []map[string]interface{} `json:"data" swaggerignore:"true"` } type GetGroupMemberListReq struct { GroupID string `json:"groupID"` Filter int32 `json:"filter"` NextSeq int32 `json:"nextSeq"` OperationID string `json:"operationID"` } type GetGroupMemberListResp struct { NextSeq int32 `json:"nextSeq"` MemberList []*sdkws.GroupMemberFullInfo `json:"-"` Data []map[string]interface{} `json:"data" swaggerignore:"true"` } type GetGroupAllMemberReq struct { GroupID string `json:"groupID" binding:"required"` OperationID string `json:"operationID" binding:"required"` Offset int32 `json:"offset"` Count int32 `json:"count"` } type GetGroupAllMemberResp struct { MemberList []*sdkws.GroupMemberFullInfo `json:"-"` Data []map[string]interface{} `json:"data" swaggerignore:"true"` } // //type GetGroupAllMemberListBySplitReq struct { // GroupID string `json:"groupID" binding:"required"` // OperationID string `json:"operationID" binding:"required"` // Offset int32 `json:"offset" binding:"required"` // Count int32 `json:"count" binding:"required"` //} //type GetGroupAllMemberListBySplitResp struct { // // MemberList []*sdkws.GroupMemberFullInfo `json:"-"` // Map []map[string]interface{} `json:"data" swaggerignore:"true"` //} type CreateGroupReq struct { MemberList []*GroupAddMemberInfo `json:"memberList"` OwnerUserID string `json:"ownerUserID"` GroupType int32 `json:"groupType"` GroupName string `json:"groupName"` Notification string `json:"notification"` Introduction string `json:"introduction"` FaceURL string `json:"faceURL"` Ex string `json:"ex"` OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID"` } type CreateGroupResp struct { GroupInfo sdkws.GroupInfo `json:"-"` Data map[string]interface{} `json:"data" swaggerignore:"true"` } type GetGroupApplicationListReq struct { OperationID string `json:"operationID" binding:"required"` FromUserID string `json:"fromUserID" binding:"required"` // 作为管理员或群主收到的 进群申请 } type GetGroupApplicationListResp struct { GroupRequestList []*sdkws.GroupRequest `json:"-"` Data []map[string]interface{} `json:"data" swaggerignore:"true"` } type GetUserReqGroupApplicationListReq struct { OperationID string `json:"operationID" binding:"required"` UserID string `json:"userID" binding:"required"` } type GetUserRespGroupApplicationResp struct { GroupRequestList []*sdkws.GroupRequest `json:"data"` } type GetGroupInfoReq struct { GroupIDList []string `json:"groupIDList" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type GetGroupInfoResp struct { GroupInfoList []*sdkws.GroupInfo `json:"-"` Data []map[string]interface{} `json:"data" swaggerignore:"true"` } //type GroupInfoAlias struct { // sdkws.GroupInfo // NeedVerification int32 `protobuf:"bytes,13,opt,name=needVerification" json:"needVerification,omitempty"` //} //type GroupInfoAlias struct { // GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` // GroupName string `protobuf:"bytes,2,opt,name=groupName" json:"groupName,omitempty"` // Notification string `protobuf:"bytes,3,opt,name=notification" json:"notification,omitempty"` // Introduction string `protobuf:"bytes,4,opt,name=introduction" json:"introduction,omitempty"` // FaceURL string `protobuf:"bytes,5,opt,name=faceURL" json:"faceURL,omitempty"` // OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID" json:"ownerUserID,omitempty"` // CreateTime uint32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` // MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount" json:"memberCount,omitempty"` // Ex string `protobuf:"bytes,9,opt,name=ex" json:"ex,omitempty"` // Status int32 `protobuf:"varint,10,opt,name=status" json:"status,omitempty"` // CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID" json:"creatorUserID,omitempty"` // GroupType int32 `protobuf:"varint,12,opt,name=groupType" json:"groupType,omitempty"` // NeedVerification int32 `protobuf:"bytes,13,opt,name=needVerification" json:"needVerification,omitempty"` //} type ApplicationGroupResponseReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` FromUserID string `json:"fromUserID" binding:"required"` // application from FromUserID HandledMsg string `json:"handledMsg"` HandleResult int32 `json:"handleResult" binding:"required,oneof=-1 1"` } type ApplicationGroupResponseResp struct{} type JoinGroupReq struct { GroupID string `json:"groupID" binding:"required"` ReqMessage string `json:"reqMessage"` OperationID string `json:"operationID" binding:"required"` JoinSource int32 `json:"joinSource"` InviterUserID string `json:"inviterUserID"` } type JoinGroupResp struct{} type QuitGroupReq struct { GroupID string `json:"groupID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type QuitGroupResp struct{} type SetGroupInfoReq struct { GroupID string `json:"groupID" binding:"required"` GroupName string `json:"groupName"` Notification string `json:"notification"` Introduction string `json:"introduction"` FaceURL string `json:"faceURL"` Ex string `json:"ex"` OperationID string `json:"operationID" binding:"required"` NeedVerification *int32 `json:"needVerification"` LookMemberInfo *int32 `json:"lookMemberInfo"` ApplyMemberFriend *int32 `json:"applyMemberFriend"` } type SetGroupInfoResp struct{} type TransferGroupOwnerReq struct { GroupID string `json:"groupID" binding:"required"` OldOwnerUserID string `json:"oldOwnerUserID" binding:"required"` NewOwnerUserID string `json:"newOwnerUserID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type TransferGroupOwnerResp struct{} type DismissGroupReq struct { GroupID string `json:"groupID" binding:"required"` OperationID string `json:"operationID" binding:"required"` } type DismissGroupResp struct{} type MuteGroupMemberReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` UserID string `json:"userID" binding:"required"` MutedSeconds uint32 `json:"mutedSeconds" binding:"required"` } type MuteGroupMemberResp struct{} type CancelMuteGroupMemberReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` UserID string `json:"userID" binding:"required"` } type CancelMuteGroupMemberResp struct{} type MuteGroupReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` } type MuteGroupResp struct{} type CancelMuteGroupReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` } type CancelMuteGroupResp struct{} type SetGroupMemberNicknameReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` UserID string `json:"userID" binding:"required"` Nickname string `json:"nickname"` } type SetGroupMemberNicknameResp struct{} type SetGroupMemberInfoReq struct { OperationID string `json:"operationID" binding:"required"` GroupID string `json:"groupID" binding:"required"` UserID string `json:"userID" binding:"required"` Nickname *string `json:"nickname"` FaceURL *string `json:"userGroupFaceUrl"` RoleLevel *int32 `json:"roleLevel" validate:"gte=1,lte=3"` Ex *string `json:"ex"` } type SetGroupMemberInfoResp struct{} type GetGroupAbstractInfoReq struct { OperationID string `json:"operationID"` GroupID string `json:"groupID"` } type GetGroupAbstractInfoResp struct { GroupMemberNumber int32 `json:"groupMemberNumber"` GroupMemberListHash uint64 `json:"groupMemberListHash"` }