mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
cms
This commit is contained in:
parent
69008e08be
commit
a48b2e9edb
@ -51,6 +51,7 @@ func main() {
|
||||
address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort)
|
||||
fmt.Println("start demo api server address: ", address)
|
||||
go register.OnboardingProcessRoutine()
|
||||
go register.ImportFriendRoutine()
|
||||
err := r.Run(address)
|
||||
if err != nil {
|
||||
log.Error("", "run failed ", *ginPort, err.Error())
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
"Open_IM/pkg/common/log"
|
||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||
pbAdmin "Open_IM/pkg/proto/admin_cms"
|
||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"github.com/minio/minio-go/v7"
|
||||
@ -87,3 +88,94 @@ func AdminLogin(c *gin.Context) {
|
||||
resp.Token = respPb.Token
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
}
|
||||
|
||||
func AddUserRegisterAddFriendIDList(c *gin.Context) {
|
||||
var (
|
||||
req apiStruct.AddUserRegisterAddFriendIDListRequest
|
||||
resp apiStruct.AddUserRegisterAddFriendIDListResponse
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewInfo("0", utils.GetSelfFuncName(), err.Error())
|
||||
openIMHttp.RespHttp200(c, constant.ErrArgs, nil)
|
||||
return
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, req.OperationID)
|
||||
if etcdConn == nil {
|
||||
errMsg := req.OperationID + "getcdv3.GetConn == nil"
|
||||
log.NewError(req.OperationID, errMsg)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
|
||||
return
|
||||
}
|
||||
client := pbAdmin.NewAdminCMSClient(etcdConn)
|
||||
_, err := client.AddUserRegisterAddFriendIDList(context.Background(), &pbAdmin.AddUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList})
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error())
|
||||
openIMHttp.RespHttp200(c, err, nil)
|
||||
return
|
||||
}
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
}
|
||||
|
||||
func ReduceUserRegisterAddFriendIDList(c *gin.Context) {
|
||||
var (
|
||||
req apiStruct.ReduceUserRegisterAddFriendIDListRequest
|
||||
resp apiStruct.ReduceUserRegisterAddFriendIDListResponse
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewInfo("0", utils.GetSelfFuncName(), err.Error())
|
||||
openIMHttp.RespHttp200(c, constant.ErrArgs, nil)
|
||||
return
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, req.OperationID)
|
||||
if etcdConn == nil {
|
||||
errMsg := req.OperationID + "getcdv3.GetConn == nil"
|
||||
log.NewError(req.OperationID, errMsg)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
|
||||
return
|
||||
}
|
||||
client := pbAdmin.NewAdminCMSClient(etcdConn)
|
||||
_, err := client.ReduceUserRegisterAddFriendIDList(context.Background(), &pbAdmin.ReduceUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList, Operation: req.Operation})
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error())
|
||||
openIMHttp.RespHttp200(c, err, nil)
|
||||
return
|
||||
}
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
}
|
||||
|
||||
func GetUserRegisterAddFriendIDList(c *gin.Context) {
|
||||
var (
|
||||
req apiStruct.GetUserRegisterAddFriendIDListRequest
|
||||
resp apiStruct.GetUserRegisterAddFriendIDListResponse
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewInfo("0", utils.GetSelfFuncName(), err.Error())
|
||||
openIMHttp.RespHttp200(c, constant.ErrArgs, nil)
|
||||
return
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, req.OperationID)
|
||||
if etcdConn == nil {
|
||||
errMsg := req.OperationID + "getcdv3.GetConn == nil"
|
||||
log.NewError(req.OperationID, errMsg)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
|
||||
return
|
||||
}
|
||||
client := pbAdmin.NewAdminCMSClient(etcdConn)
|
||||
respPb, err := client.GetUserRegisterAddFriendIDList(context.Background(), &pbAdmin.GetUserRegisterAddFriendIDListReq{OperationID: req.OperationID, Pagination: &pbCommon.RequestPagination{
|
||||
PageNumber: int32(req.PageNumber),
|
||||
ShowNumber: int32(req.ShowNumber),
|
||||
}})
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error())
|
||||
openIMHttp.RespHttp200(c, err, nil)
|
||||
return
|
||||
}
|
||||
resp.Users = respPb.UserInfoList
|
||||
resp.ShowNumber = int(respPb.Pagination.ShowNumber)
|
||||
resp.CurrentPage = int(respPb.Pagination.CurrentPage)
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp)
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
}
|
||||
|
@ -20,6 +20,10 @@ func NewGinRouter() *gin.Engine {
|
||||
adminRouterGroup := router.Group("/admin")
|
||||
{
|
||||
adminRouterGroup.POST("/login", admin.AdminLogin)
|
||||
adminRouterGroup.Use(middleware.JWTAuth())
|
||||
adminRouterGroup.POST("/add_user_register_add_friend_ID", admin.AddUserRegisterAddFriendIDList)
|
||||
adminRouterGroup.POST("/reduce_user_register_reduce_friend_ID", admin.ReduceUserRegisterAddFriendIDList)
|
||||
adminRouterGroup.POST("/get_user_register_reduce_friend_ID_list", admin.GetUserRegisterAddFriendIDList)
|
||||
}
|
||||
r2 := router.Group("")
|
||||
r2.Use(middleware.JWTAuth())
|
||||
@ -73,12 +77,6 @@ func NewGinRouter() *gin.Engine {
|
||||
userRouterGroup.POST("/delete_user", user.DeleteUser)
|
||||
userRouterGroup.GET("/get_users_by_name", user.GetUsersByName)
|
||||
}
|
||||
friendRouterGroup := r2.Group("/friend")
|
||||
{
|
||||
friendRouterGroup.POST("/get_friends_by_id")
|
||||
friendRouterGroup.POST("/set_friend")
|
||||
friendRouterGroup.POST("/remove_friend")
|
||||
}
|
||||
messageCMSRouterGroup := r2.Group("/message")
|
||||
{
|
||||
messageCMSRouterGroup.GET("/get_chat_logs", messageCMS.GetChatLogs)
|
||||
|
@ -15,7 +15,7 @@ import (
|
||||
const cronTaskOperationID = "cronTaskOperationID-"
|
||||
|
||||
func StartCronTask() {
|
||||
log.NewPrivateLog("cron.log")
|
||||
log.NewPrivateLog("cron")
|
||||
log.NewInfo(utils.OperationIDGenerator(), "start cron task")
|
||||
c := cron.New()
|
||||
fmt.Println("config", config.Config.Mongo.ChatRecordsClearTime)
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"Open_IM/pkg/common/log"
|
||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||
groupRpc "Open_IM/pkg/proto/group"
|
||||
|
||||
organizationRpc "Open_IM/pkg/proto/organization"
|
||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
||||
"Open_IM/pkg/utils"
|
||||
|
50
internal/demo/register/register_import_friend.go
Normal file
50
internal/demo/register/register_import_friend.go
Normal file
@ -0,0 +1,50 @@
|
||||
package register
|
||||
|
||||
import (
|
||||
"Open_IM/pkg/common/config"
|
||||
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||
"Open_IM/pkg/common/log"
|
||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||
pbFriend "Open_IM/pkg/proto/friend"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var ChImportFriend chan *pbFriend.ImportFriendReq
|
||||
|
||||
func init() {
|
||||
ChImportFriend = make(chan *pbFriend.ImportFriendReq, 1000)
|
||||
}
|
||||
|
||||
func ImportFriendRoutine() {
|
||||
for {
|
||||
req := <-ChImportFriend
|
||||
go func() {
|
||||
friendUserIDList, err := imdb.GetRegisterAddFriendList(0, 0)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), req, err.Error())
|
||||
return
|
||||
}
|
||||
if len(friendUserIDList) == 0 {
|
||||
return
|
||||
}
|
||||
req.FriendUserIDList = friendUserIDList
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName, req.OperationID)
|
||||
if etcdConn == nil {
|
||||
errMsg := req.OperationID + "getcdv3.GetConn == nil"
|
||||
log.NewError(req.OperationID, errMsg)
|
||||
return
|
||||
}
|
||||
client := pbFriend.NewFriendClient(etcdConn)
|
||||
rpcResp, err := client.ImportFriend(context.Background(), req)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, "ImportFriend failed ", err.Error(), req.String())
|
||||
return
|
||||
}
|
||||
if rpcResp.CommonResp.ErrCode != 0 {
|
||||
log.NewError(req.OperationID, "ImportFriend failed ", rpcResp)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
@ -8,6 +8,7 @@ import (
|
||||
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||
http2 "Open_IM/pkg/common/http"
|
||||
"Open_IM/pkg/common/log"
|
||||
pbFriend "Open_IM/pkg/proto/friend"
|
||||
"Open_IM/pkg/utils"
|
||||
"encoding/json"
|
||||
"math/big"
|
||||
@ -132,6 +133,17 @@ func SetPassword(c *gin.Context) {
|
||||
log.NewWarn(params.OperationID, utils.GetSelfFuncName(), "to ch timeOut")
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
case ChImportFriend <- &pbFriend.ImportFriendReq{
|
||||
OperationID: params.OperationID,
|
||||
FromUserID: userID,
|
||||
OpUserID: userID,
|
||||
}:
|
||||
case <-time.After(time.Second * 2):
|
||||
log.NewWarn(params.OperationID, utils.GetSelfFuncName(), "to ChImportFriend timeOut")
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMRegisterResp.UserToken})
|
||||
return
|
||||
}
|
||||
|
@ -3,11 +3,13 @@ package admin_cms
|
||||
import (
|
||||
"Open_IM/pkg/common/config"
|
||||
"Open_IM/pkg/common/constant"
|
||||
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||
openIMHttp "Open_IM/pkg/common/http"
|
||||
"Open_IM/pkg/common/log"
|
||||
"Open_IM/pkg/common/token_verify"
|
||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||
pbAdminCMS "Open_IM/pkg/proto/admin_cms"
|
||||
server_api_params "Open_IM/pkg/proto/sdk_ws"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"net"
|
||||
@ -100,3 +102,50 @@ func (s *adminCMSServer) AdminLogin(_ context.Context, req *pbAdminCMS.AdminLogi
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.AddUserRegisterAddFriendIDListReq) (*pbAdminCMS.AddUserRegisterAddFriendIDListResp, error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{}
|
||||
if err := imdb.AddUserRegisterAddFriendIDList(req.UserIDList...); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList)
|
||||
return resp, openIMHttp.WrapError(constant.ErrDB)
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.ReduceUserRegisterAddFriendIDListReq) (*pbAdminCMS.ReduceUserRegisterAddFriendIDListResp, error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp := &pbAdminCMS.ReduceUserRegisterAddFriendIDListResp{}
|
||||
if req.Operation == 0 {
|
||||
if err := imdb.ReduceUserRegisterAddFriendIDList(req.UserIDList...); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList)
|
||||
return resp, openIMHttp.WrapError(constant.ErrDB)
|
||||
}
|
||||
} else {
|
||||
if err := imdb.DeleteAllRegisterAddFriendIDList(); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList)
|
||||
return resp, openIMHttp.WrapError(constant.ErrDB)
|
||||
}
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.GetUserRegisterAddFriendIDListReq) (*pbAdminCMS.GetUserRegisterAddFriendIDListResp, error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp := &pbAdminCMS.GetUserRegisterAddFriendIDListResp{UserInfoList: []*server_api_params.UserInfo{}}
|
||||
userIDList, err := imdb.GetRegisterAddFriendList(req.Pagination.ShowNumber, req.Pagination.ShowNumber)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
|
||||
return resp, openIMHttp.WrapError(constant.ErrDB)
|
||||
}
|
||||
userList, err := imdb.GetUsersByUserIDList(userIDList)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userIDList)
|
||||
return resp, openIMHttp.WrapError(constant.ErrDB)
|
||||
}
|
||||
utils.CopyStructFields(&resp.UserInfoList, userList)
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
@ -623,7 +623,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
|
||||
continue
|
||||
}
|
||||
|
||||
err = imdb.RemoveGroupMember(req.GroupID, v)
|
||||
err = imdb.DeleteGroupMemberByGroupIDAndUserID(req.GroupID, v)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, "RemoveGroupMember failed ", err.Error(), req.GroupID, v)
|
||||
resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: -1})
|
||||
@ -1344,7 +1344,7 @@ func (s *groupServer) GetGroupByID(_ context.Context, req *pbGroup.GetGroupByIDR
|
||||
return resp, http.WrapError(constant.ErrDB)
|
||||
}
|
||||
utils.CopyStructFields(resp.CMSGroup.GroupInfo, group)
|
||||
groupMember, err := imdb.GetGroupMaster(group.GroupID)
|
||||
groupMember, err := imdb.GetGroupOwnerInfoByGroupID(group.GroupID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster", err.Error())
|
||||
return resp, http.WrapError(constant.ErrDB)
|
||||
@ -1388,11 +1388,12 @@ func (s *groupServer) GetGroup(_ context.Context, req *pbGroup.GetGroupReq) (*pb
|
||||
for _, v := range groups {
|
||||
group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}}
|
||||
utils.CopyStructFields(group.GroupInfo, v)
|
||||
groupMember, err := imdb.GetGroupMaster(v.GroupID)
|
||||
groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster error", err.Error())
|
||||
continue
|
||||
}
|
||||
|
||||
group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix())
|
||||
group.GroupOwnerUserID = groupMember.UserID
|
||||
group.GroupOwnerUserName = groupMember.Nickname
|
||||
@ -1419,17 +1420,11 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*
|
||||
for _, v := range groups {
|
||||
group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}}
|
||||
utils.CopyStructFields(group.GroupInfo, v)
|
||||
groupMember, err := imdb.GetGroupMaster(v.GroupID)
|
||||
groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error(), v)
|
||||
continue
|
||||
}
|
||||
//groupCountNum, err := imdb.GetGroupsCountNum(v)
|
||||
//if err != nil {
|
||||
// log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum failed", err.Error(), v)
|
||||
// continue
|
||||
//}
|
||||
//group.GroupInfo.MemberCount = uint32(groupCountNum)
|
||||
group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix())
|
||||
group.GroupOwnerUserID = groupMember.UserID
|
||||
group.GroupOwnerUserName = groupMember.Nickname
|
||||
@ -1442,7 +1437,7 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*
|
||||
func (s *groupServer) OperateUserRole(_ context.Context, req *pbGroup.OperateUserRoleReq) (*pbGroup.OperateUserRoleResp, error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String())
|
||||
resp := &pbGroup.OperateUserRoleResp{}
|
||||
oldOwnerUserID, err := imdb.GetGroupMaster(req.GroupID)
|
||||
oldOwnerUserID, err := imdb.GetGroupOwnerInfoByGroupID(req.GroupID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error())
|
||||
return resp, http.WrapError(constant.ErrDB)
|
||||
@ -1504,7 +1499,7 @@ func (s *groupServer) RemoveGroupMembersCMS(_ context.Context, req *pbGroup.Remo
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String())
|
||||
resp := &pbGroup.RemoveGroupMembersCMSResp{}
|
||||
for _, userId := range req.UserIDList {
|
||||
err := imdb.RemoveGroupMember(req.GroupID, userId)
|
||||
err := imdb.DeleteGroupMemberByGroupIDAndUserID(req.GroupID, userId)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
|
||||
resp.Failed = append(resp.Failed, userId)
|
||||
|
@ -150,7 +150,7 @@ func (s *messageCMSServer) GetChatLogs(_ context.Context, req *pbMessageCMS.GetC
|
||||
pbChatLog.ReciverNickName = recvUser.Nickname
|
||||
|
||||
case constant.GroupChatType:
|
||||
group, err := imdb.GetGroupById(chatLog.RecvID)
|
||||
group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed")
|
||||
continue
|
||||
|
@ -1,8 +1,6 @@
|
||||
package cms_api_struct
|
||||
|
||||
import (
|
||||
apiStruct "Open_IM/pkg/base_info"
|
||||
)
|
||||
import server_api_params "Open_IM/pkg/proto/sdk_ws"
|
||||
|
||||
type AdminLoginRequest struct {
|
||||
AdminName string `json:"admin_name" binding:"required"`
|
||||
@ -13,31 +11,29 @@ type AdminLoginResponse struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
|
||||
type UploadUpdateAppReq struct {
|
||||
OperationID string `form:"operationID" binding:"required"`
|
||||
Type int `form:"type" binding:"required"`
|
||||
Version string `form:"version" binding:"required"`
|
||||
//File *multipart.FileHeader `form:"file" binding:"required"`
|
||||
//Yaml *multipart.FileHeader `form:"yaml" binding:"required"`
|
||||
ForceUpdate bool `form:"forceUpdate" binding:"required"`
|
||||
type AddUserRegisterAddFriendIDListRequest struct {
|
||||
OperationID string `json:"operationID" binding:"required"`
|
||||
UserIDList []string `json:"userIDList" binding:"required"`
|
||||
}
|
||||
|
||||
type UploadUpdateAppResp struct {
|
||||
apiStruct.CommResp
|
||||
type AddUserRegisterAddFriendIDListResponse struct {
|
||||
}
|
||||
|
||||
type GetDownloadURLReq struct {
|
||||
type ReduceUserRegisterAddFriendIDListRequest struct {
|
||||
OperationID string `json:"operationID" binding:"required"`
|
||||
UserIDList []string `json:"userIDList" binding:"required"`
|
||||
Operation int32 `json:"operation" binding:"required"`
|
||||
}
|
||||
|
||||
type ReduceUserRegisterAddFriendIDListResponse struct {
|
||||
}
|
||||
|
||||
type GetUserRegisterAddFriendIDListRequest struct {
|
||||
OperationID string `json:"operationID" binding:"required"`
|
||||
Type int `json:"type" binding:"required"`
|
||||
Version string `json:"version" binding:"required"`
|
||||
RequestPagination
|
||||
}
|
||||
|
||||
type GetDownloadURLResp struct {
|
||||
apiStruct.CommResp
|
||||
Data struct {
|
||||
HasNewVersion bool `json:"hasNewVersion"`
|
||||
ForceUpdate bool `json:"forceUpdate"`
|
||||
FileURL string `json:"fileURL"`
|
||||
YamlURL string `json:"yamlURL"`
|
||||
} `json:"data"`
|
||||
type GetUserRegisterAddFriendIDListResponse struct {
|
||||
Users []*server_api_params.UserInfo `json:"Users"`
|
||||
ResponsePagination
|
||||
}
|
||||
|
@ -4,14 +4,14 @@ type GroupResponse struct {
|
||||
GroupOwnerName string `json:"GroupOwnerName"`
|
||||
GroupOwnerID string `json:"GroupOwnerID"`
|
||||
//*server_api_params.GroupInfo
|
||||
GroupID string `json:"groupID"`
|
||||
GroupName string `json:"groupName"`
|
||||
Notification string `json:"notification"`
|
||||
Introduction string `json:"introduction"`
|
||||
FaceURL string `json:"faceURL"`
|
||||
OwnerUserID string `json:"ownerUserID"`
|
||||
CreateTime uint32 `json:"createTime"`
|
||||
//MemberCount uint32 `json:"memberCount"`
|
||||
GroupID string `json:"groupID"`
|
||||
GroupName string `json:"groupName"`
|
||||
Notification string `json:"notification"`
|
||||
Introduction string `json:"introduction"`
|
||||
FaceURL string `json:"faceURL"`
|
||||
OwnerUserID string `json:"ownerUserID"`
|
||||
CreateTime uint32 `json:"createTime"`
|
||||
MemberCount uint32 `json:"memberCount"`
|
||||
Ex string `json:"ex"`
|
||||
Status int32 `json:"status"`
|
||||
CreatorUserID string `json:"creatorUserID"`
|
||||
|
@ -325,3 +325,11 @@ type AppVersion struct {
|
||||
func (AppVersion) TableName() string {
|
||||
return "app_version"
|
||||
}
|
||||
|
||||
type RegisterAddFriend struct {
|
||||
UserID string `gorm:"column:user_id;size:64"`
|
||||
}
|
||||
|
||||
func (RegisterAddFriend) TableName() string {
|
||||
return "register_add_friend"
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ func initMysqlDB() {
|
||||
&GroupMember{},
|
||||
&GroupRequest{},
|
||||
&User{},
|
||||
&Black{}, &ChatLog{}, &Register{}, &Conversation{}, &AppVersion{}, &Department{}, &BlackList{}, &IpLimit{}, &UserIpLimit{}, &Invitation{})
|
||||
&Black{}, &ChatLog{}, &Register{}, &Conversation{}, &AppVersion{}, &Department{}, &BlackList{}, &IpLimit{}, &UserIpLimit{}, &Invitation{}, &RegisterAddFriend{})
|
||||
db.Set("gorm:table_options", "CHARSET=utf8")
|
||||
db.Set("gorm:table_options", "collation=utf8_unicode_ci")
|
||||
|
||||
@ -154,6 +154,11 @@ func initMysqlDB() {
|
||||
fmt.Println("CreateTable UserIpLimit")
|
||||
db.Migrator().CreateTable(&UserIpLimit{})
|
||||
}
|
||||
|
||||
if !db.Migrator().HasTable(&RegisterAddFriend{}) {
|
||||
fmt.Println("CreateTable RegisterAddFriend")
|
||||
db.Migrator().CreateTable(&RegisterAddFriend{})
|
||||
}
|
||||
DB.MysqlDB.db = db
|
||||
return
|
||||
}
|
||||
|
@ -28,3 +28,38 @@ func ResetPassword(account, password string) error {
|
||||
}
|
||||
return db.DB.MysqlDB.DefaultGormDB().Table("registers").Where("account = ?", account).Updates(&r).Error
|
||||
}
|
||||
|
||||
func GetRegisterAddFriendList(showNumber, pageNumber int32) ([]string, error) {
|
||||
var IDList []string
|
||||
var err error
|
||||
model := db.DB.MysqlDB.DefaultGormDB().Model(&db.RegisterAddFriend{})
|
||||
if showNumber == 0 {
|
||||
err = model.Pluck("user_id", &IDList).Error
|
||||
} else {
|
||||
err = model.Limit(int(showNumber)).Offset(int(showNumber*(pageNumber-1))).Pluck("user_id", &IDList).Error
|
||||
}
|
||||
return IDList, err
|
||||
}
|
||||
|
||||
func AddUserRegisterAddFriendIDList(userIDList ...string) error {
|
||||
var list []db.RegisterAddFriend
|
||||
for _, v := range userIDList {
|
||||
list = append(list, db.RegisterAddFriend{UserID: v})
|
||||
}
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Create(list).Error
|
||||
return err
|
||||
}
|
||||
|
||||
func ReduceUserRegisterAddFriendIDList(userIDList ...string) error {
|
||||
var list []db.RegisterAddFriend
|
||||
for _, v := range userIDList {
|
||||
list = append(list, db.RegisterAddFriend{UserID: v})
|
||||
}
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Delete(list).Error
|
||||
return err
|
||||
}
|
||||
|
||||
func DeleteAllRegisterAddFriendIDList() error {
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Where("1 = 1").Delete(&db.RegisterAddFriend{}).Error
|
||||
return err
|
||||
}
|
||||
|
@ -140,14 +140,6 @@ func IsExistGroupMember(groupID, userID string) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func RemoveGroupMember(groupID string, UserID string) error {
|
||||
return DeleteGroupMemberByGroupIDAndUserID(groupID, UserID)
|
||||
}
|
||||
|
||||
func GetMemberInfoByID(groupID string, userID string) (*db.GroupMember, error) {
|
||||
return GetGroupMemberInfoByGroupIDAndUserID(groupID, userID)
|
||||
}
|
||||
|
||||
func GetGroupMemberByGroupID(groupID string, filter int32, begin int32, maxNumber int32) ([]db.GroupMember, error) {
|
||||
var memberList []db.GroupMember
|
||||
var err error
|
||||
|
@ -1,12 +1,9 @@
|
||||
package im_mysql_model
|
||||
|
||||
import (
|
||||
"Open_IM/pkg/common/constant"
|
||||
"Open_IM/pkg/common/db"
|
||||
"Open_IM/pkg/utils"
|
||||
"errors"
|
||||
"fmt"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -36,32 +33,35 @@ func InsertIntoGroup(groupInfo db.Group) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetGroupInfoByGroupID(groupId string) (*db.Group, error) {
|
||||
func GetGroupInfoByGroupID(groupID string) (*db.Group, error) {
|
||||
var groupInfo db.Group
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupId).Take(&groupInfo).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &groupInfo, nil
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupID).Take(&groupInfo).Error
|
||||
return &groupInfo, err
|
||||
}
|
||||
|
||||
func SetGroupInfo(groupInfo db.Group) error {
|
||||
return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupInfo.GroupID).Updates(&groupInfo).Error
|
||||
}
|
||||
|
||||
func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]db.Group, error) {
|
||||
var groups []db.Group
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error
|
||||
type GroupWithNum struct {
|
||||
db.Group
|
||||
MemberCount int `gorm:"column:num"`
|
||||
}
|
||||
|
||||
func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]GroupWithNum, error) {
|
||||
var groups []GroupWithNum
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Select("groups.*, (select count(*) from group_members where group_members.group_id=groups.group_id) as num").
|
||||
Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error
|
||||
return groups, err
|
||||
}
|
||||
|
||||
func GetGroups(pageNumber, showNumber int) ([]db.Group, error) {
|
||||
var groups []db.Group
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil {
|
||||
func GetGroups(pageNumber, showNumber int) ([]GroupWithNum, error) {
|
||||
var groups []GroupWithNum
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Select("groups.*, (select count(*) from group_members where group_members.group_id=groups.group_id) as num").
|
||||
Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil {
|
||||
return groups, err
|
||||
}
|
||||
return groups, nil
|
||||
@ -78,77 +78,6 @@ func OperateGroupStatus(groupId string, groupStatus int32) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteGroup(groupId string) error {
|
||||
var group db.Group
|
||||
var groupMembers []db.GroupMember
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupId).Delete(&group).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupId).Delete(groupMembers).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string, error) {
|
||||
groupMember := db.GroupMember{
|
||||
UserID: userId,
|
||||
GroupID: groupId,
|
||||
}
|
||||
updateInfo := db.GroupMember{
|
||||
RoleLevel: roleLevel,
|
||||
}
|
||||
groupMaster := db.GroupMember{}
|
||||
var err error
|
||||
switch roleLevel {
|
||||
case constant.GroupOwner:
|
||||
err = db.DB.MysqlDB.DefaultGormDB().Transaction(func(tx *gorm.DB) error {
|
||||
result := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster).Updates(&db.GroupMember{
|
||||
RoleLevel: constant.GroupOrdinaryUsers,
|
||||
})
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
}
|
||||
if result.RowsAffected == 0 {
|
||||
return errors.New(fmt.Sprintf("user %s not exist in group %s or already operate", userId, groupId))
|
||||
}
|
||||
|
||||
result = db.DB.MysqlDB.DefaultGormDB().Table("group_members").First(&groupMember).Updates(updateInfo)
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
}
|
||||
if result.RowsAffected == 0 {
|
||||
return errors.New(fmt.Sprintf("user %s not exist in group %s or already operate", userId, groupId))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
case constant.GroupOrdinaryUsers:
|
||||
err = db.DB.MysqlDB.DefaultGormDB().Transaction(func(tx *gorm.DB) error {
|
||||
result := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster)
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
}
|
||||
if result.RowsAffected == 0 {
|
||||
return errors.New(fmt.Sprintf("user %s not exist in group %s or already operate", userId, groupId))
|
||||
}
|
||||
if groupMaster.UserID == userId {
|
||||
return errors.New(fmt.Sprintf("user %s is master of %s, cant set to ordinary user", userId, groupId))
|
||||
} else {
|
||||
result = db.DB.MysqlDB.DefaultGormDB().Table("group_members").Find(&groupMember).Updates(updateInfo)
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
}
|
||||
if result.RowsAffected == 0 {
|
||||
return errors.New(fmt.Sprintf("user %s not exist in group %s or already operate", userId, groupId))
|
||||
}
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
return "", "", err
|
||||
}
|
||||
|
||||
func GetGroupsCountNum(group db.Group) (int32, error) {
|
||||
var count int64
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil {
|
||||
@ -157,34 +86,10 @@ func GetGroupsCountNum(group db.Group) (int32, error) {
|
||||
return int32(count), nil
|
||||
}
|
||||
|
||||
func GetGroupById(groupId string) (db.Group, error) {
|
||||
group := db.Group{
|
||||
GroupID: groupId,
|
||||
}
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Find(&group).Error; err != nil {
|
||||
return group, err
|
||||
}
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func GetGroupMaster(groupId string) (db.GroupMember, error) {
|
||||
groupMember := db.GroupMember{}
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("role_level=? and group_id=?", constant.GroupOwner, groupId).Find(&groupMember).Error; err != nil {
|
||||
return groupMember, err
|
||||
}
|
||||
return groupMember, nil
|
||||
}
|
||||
|
||||
func UpdateGroupInfoDefaultZero(groupID string, args map[string]interface{}) error {
|
||||
return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id = ? ", groupID).Updates(args).Error
|
||||
}
|
||||
|
||||
func GetAllGroupIDList() ([]string, error) {
|
||||
var groupIDList []string
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Pluck("group_id", &groupIDList).Error
|
||||
return groupIDList, err
|
||||
}
|
||||
|
||||
func GetGroupIDListByGroupType(groupType int) ([]string, error) {
|
||||
var groupIDList []string
|
||||
if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_type = ? ", groupType).Pluck("group_id", &groupIDList).Error; err != nil {
|
||||
|
@ -72,6 +72,12 @@ func GetUserByUserID(userID string) (*db.User, error) {
|
||||
return &user, nil
|
||||
}
|
||||
|
||||
func GetUsersByUserIDList(userIDList []string) ([]*db.User, error) {
|
||||
var userList []*db.User
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id in (?)", userIDList).Find(&userList).Error
|
||||
return userList, err
|
||||
}
|
||||
|
||||
func GetUserNameByUserID(userID string) (string, error) {
|
||||
var user db.User
|
||||
err := db.DB.MysqlDB.DefaultGormDB().Table("users").Select("name").Where("user_id=?", userID).First(&user).Error
|
||||
|
@ -1,284 +1,452 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.15.5
|
||||
// source: admin_cms/admin_cms.proto
|
||||
|
||||
package admin_cms
|
||||
package admin_cms // import "./admin_cms"
|
||||
|
||||
import proto "github.com/golang/protobuf/proto"
|
||||
import fmt "fmt"
|
||||
import math "math"
|
||||
import sdk_ws "Open_IM/pkg/proto/sdk_ws"
|
||||
|
||||
import (
|
||||
context "context"
|
||||
context "golang.org/x/net/context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the proto package it is being compiled against.
|
||||
// A compilation error at this line likely means your copy of the
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
|
||||
|
||||
type AdminLoginReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
|
||||
AdminID string `protobuf:"bytes,2,opt,name=AdminID,proto3" json:"AdminID,omitempty"`
|
||||
Secret string `protobuf:"bytes,3,opt,name=Secret,proto3" json:"Secret,omitempty"`
|
||||
OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"`
|
||||
AdminID string `protobuf:"bytes,2,opt,name=AdminID" json:"AdminID,omitempty"`
|
||||
Secret string `protobuf:"bytes,3,opt,name=Secret" json:"Secret,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (x *AdminLoginReq) Reset() {
|
||||
*x = AdminLoginReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_admin_cms_admin_cms_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *AdminLoginReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*AdminLoginReq) ProtoMessage() {}
|
||||
|
||||
func (x *AdminLoginReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_admin_cms_admin_cms_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use AdminLoginReq.ProtoReflect.Descriptor instead.
|
||||
func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} }
|
||||
func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*AdminLoginReq) ProtoMessage() {}
|
||||
func (*AdminLoginReq) Descriptor() ([]byte, []int) {
|
||||
return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{0}
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{0}
|
||||
}
|
||||
func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b)
|
||||
}
|
||||
func (m *AdminLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_AdminLoginReq.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *AdminLoginReq) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_AdminLoginReq.Merge(dst, src)
|
||||
}
|
||||
func (m *AdminLoginReq) XXX_Size() int {
|
||||
return xxx_messageInfo_AdminLoginReq.Size(m)
|
||||
}
|
||||
func (m *AdminLoginReq) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_AdminLoginReq.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
func (x *AdminLoginReq) GetOperationID() string {
|
||||
if x != nil {
|
||||
return x.OperationID
|
||||
var xxx_messageInfo_AdminLoginReq proto.InternalMessageInfo
|
||||
|
||||
func (m *AdminLoginReq) GetOperationID() string {
|
||||
if m != nil {
|
||||
return m.OperationID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AdminLoginReq) GetAdminID() string {
|
||||
if x != nil {
|
||||
return x.AdminID
|
||||
func (m *AdminLoginReq) GetAdminID() string {
|
||||
if m != nil {
|
||||
return m.AdminID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AdminLoginReq) GetSecret() string {
|
||||
if x != nil {
|
||||
return x.Secret
|
||||
func (m *AdminLoginReq) GetSecret() string {
|
||||
if m != nil {
|
||||
return m.Secret
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type AdminLoginResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
||||
Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (x *AdminLoginResp) Reset() {
|
||||
*x = AdminLoginResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_admin_cms_admin_cms_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *AdminLoginResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*AdminLoginResp) ProtoMessage() {}
|
||||
|
||||
func (x *AdminLoginResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_admin_cms_admin_cms_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use AdminLoginResp.ProtoReflect.Descriptor instead.
|
||||
func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} }
|
||||
func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*AdminLoginResp) ProtoMessage() {}
|
||||
func (*AdminLoginResp) Descriptor() ([]byte, []int) {
|
||||
return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{1}
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{1}
|
||||
}
|
||||
func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b)
|
||||
}
|
||||
func (m *AdminLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_AdminLoginResp.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *AdminLoginResp) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_AdminLoginResp.Merge(dst, src)
|
||||
}
|
||||
func (m *AdminLoginResp) XXX_Size() int {
|
||||
return xxx_messageInfo_AdminLoginResp.Size(m)
|
||||
}
|
||||
func (m *AdminLoginResp) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_AdminLoginResp.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
func (x *AdminLoginResp) GetToken() string {
|
||||
if x != nil {
|
||||
return x.Token
|
||||
var xxx_messageInfo_AdminLoginResp proto.InternalMessageInfo
|
||||
|
||||
func (m *AdminLoginResp) GetToken() string {
|
||||
if m != nil {
|
||||
return m.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_admin_cms_admin_cms_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_admin_cms_admin_cms_proto_rawDesc = []byte{
|
||||
0x0a, 0x19, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x61, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c,
|
||||
0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70,
|
||||
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x26, 0x0a, 0x0e, 0x41,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
|
||||
0x6b, 0x65, 0x6e, 0x32, 0x4d, 0x0a, 0x08, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x4d, 0x53, 0x12,
|
||||
0x41, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x18, 0x2e,
|
||||
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c,
|
||||
0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f,
|
||||
0x63, 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x42, 0x17, 0x5a, 0x15, 0x2e, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d,
|
||||
0x73, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
type AddUserRegisterAddFriendIDListReq struct {
|
||||
OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"`
|
||||
UserIDList []string `protobuf:"bytes,2,rep,name=userIDList" json:"userIDList,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
var (
|
||||
file_admin_cms_admin_cms_proto_rawDescOnce sync.Once
|
||||
file_admin_cms_admin_cms_proto_rawDescData = file_admin_cms_admin_cms_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_admin_cms_admin_cms_proto_rawDescGZIP() []byte {
|
||||
file_admin_cms_admin_cms_proto_rawDescOnce.Do(func() {
|
||||
file_admin_cms_admin_cms_proto_rawDescData = protoimpl.X.CompressGZIP(file_admin_cms_admin_cms_proto_rawDescData)
|
||||
})
|
||||
return file_admin_cms_admin_cms_proto_rawDescData
|
||||
func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegisterAddFriendIDListReq{} }
|
||||
func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {}
|
||||
func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{2}
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b)
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *AddUserRegisterAddFriendIDListReq) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Merge(dst, src)
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListReq) XXX_Size() int {
|
||||
return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Size(m)
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListReq) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_AddUserRegisterAddFriendIDListReq.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var file_admin_cms_admin_cms_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_admin_cms_admin_cms_proto_goTypes = []interface{}{
|
||||
(*AdminLoginReq)(nil), // 0: admin_cms.AdminLoginReq
|
||||
(*AdminLoginResp)(nil), // 1: admin_cms.AdminLoginResp
|
||||
}
|
||||
var file_admin_cms_admin_cms_proto_depIdxs = []int32{
|
||||
0, // 0: admin_cms.adminCMS.AdminLogin:input_type -> admin_cms.AdminLoginReq
|
||||
1, // 1: admin_cms.adminCMS.AdminLogin:output_type -> admin_cms.AdminLoginResp
|
||||
1, // [1:2] is the sub-list for method output_type
|
||||
0, // [0:1] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
var xxx_messageInfo_AddUserRegisterAddFriendIDListReq proto.InternalMessageInfo
|
||||
|
||||
func init() { file_admin_cms_admin_cms_proto_init() }
|
||||
func file_admin_cms_admin_cms_proto_init() {
|
||||
if File_admin_cms_admin_cms_proto != nil {
|
||||
return
|
||||
func (m *AddUserRegisterAddFriendIDListReq) GetOperationID() string {
|
||||
if m != nil {
|
||||
return m.OperationID
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_admin_cms_admin_cms_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AdminLoginReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_admin_cms_admin_cms_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AdminLoginResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string {
|
||||
if m != nil {
|
||||
return m.UserIDList
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_admin_cms_admin_cms_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_admin_cms_admin_cms_proto_goTypes,
|
||||
DependencyIndexes: file_admin_cms_admin_cms_proto_depIdxs,
|
||||
MessageInfos: file_admin_cms_admin_cms_proto_msgTypes,
|
||||
}.Build()
|
||||
File_admin_cms_admin_cms_proto = out.File
|
||||
file_admin_cms_admin_cms_proto_rawDesc = nil
|
||||
file_admin_cms_admin_cms_proto_goTypes = nil
|
||||
file_admin_cms_admin_cms_proto_depIdxs = nil
|
||||
return nil
|
||||
}
|
||||
|
||||
type AddUserRegisterAddFriendIDListResp struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegisterAddFriendIDListResp{} }
|
||||
func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {}
|
||||
func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{3}
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b)
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *AddUserRegisterAddFriendIDListResp) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Merge(dst, src)
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListResp) XXX_Size() int {
|
||||
return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Size(m)
|
||||
}
|
||||
func (m *AddUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_AddUserRegisterAddFriendIDListResp.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_AddUserRegisterAddFriendIDListResp proto.InternalMessageInfo
|
||||
|
||||
type ReduceUserRegisterAddFriendIDListReq struct {
|
||||
OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"`
|
||||
Operation int32 `protobuf:"varint,2,opt,name=operation" json:"operation,omitempty"`
|
||||
UserIDList []string `protobuf:"bytes,3,rep,name=userIDList" json:"userIDList,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUserRegisterAddFriendIDListReq{} }
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {}
|
||||
func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{4}
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b)
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *ReduceUserRegisterAddFriendIDListReq) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Merge(dst, src)
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Size() int {
|
||||
return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Size(m)
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq proto.InternalMessageInfo
|
||||
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) GetOperationID() string {
|
||||
if m != nil {
|
||||
return m.OperationID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) GetOperation() int32 {
|
||||
if m != nil {
|
||||
return m.Operation
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *ReduceUserRegisterAddFriendIDListReq) GetUserIDList() []string {
|
||||
if m != nil {
|
||||
return m.UserIDList
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ReduceUserRegisterAddFriendIDListResp struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUserRegisterAddFriendIDListResp{} }
|
||||
func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {}
|
||||
func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{5}
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b)
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *ReduceUserRegisterAddFriendIDListResp) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Merge(dst, src)
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Size() int {
|
||||
return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Size(m)
|
||||
}
|
||||
func (m *ReduceUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp proto.InternalMessageInfo
|
||||
|
||||
type GetUserRegisterAddFriendIDListReq struct {
|
||||
OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"`
|
||||
Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegisterAddFriendIDListReq{} }
|
||||
func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {}
|
||||
func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{6}
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *GetUserRegisterAddFriendIDListReq) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Merge(dst, src)
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListReq) XXX_Size() int {
|
||||
return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Size(m)
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListReq) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetUserRegisterAddFriendIDListReq.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetUserRegisterAddFriendIDListReq proto.InternalMessageInfo
|
||||
|
||||
func (m *GetUserRegisterAddFriendIDListReq) GetOperationID() string {
|
||||
if m != nil {
|
||||
return m.OperationID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *GetUserRegisterAddFriendIDListReq) GetPagination() *sdk_ws.RequestPagination {
|
||||
if m != nil {
|
||||
return m.Pagination
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type GetUserRegisterAddFriendIDListResp struct {
|
||||
UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,1,rep,name=UserInfoList" json:"UserInfoList,omitempty"`
|
||||
Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegisterAddFriendIDListResp{} }
|
||||
func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {}
|
||||
func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{7}
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (dst *GetUserRegisterAddFriendIDListResp) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Merge(dst, src)
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListResp) XXX_Size() int {
|
||||
return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Size(m)
|
||||
}
|
||||
func (m *GetUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetUserRegisterAddFriendIDListResp.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetUserRegisterAddFriendIDListResp proto.InternalMessageInfo
|
||||
|
||||
func (m *GetUserRegisterAddFriendIDListResp) GetUserInfoList() []*sdk_ws.UserInfo {
|
||||
if m != nil {
|
||||
return m.UserInfoList
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *GetUserRegisterAddFriendIDListResp) GetPagination() *sdk_ws.ResponsePagination {
|
||||
if m != nil {
|
||||
return m.Pagination
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq")
|
||||
proto.RegisterType((*AdminLoginResp)(nil), "admin_cms.AdminLoginResp")
|
||||
proto.RegisterType((*AddUserRegisterAddFriendIDListReq)(nil), "admin_cms.AddUserRegisterAddFriendIDListReq")
|
||||
proto.RegisterType((*AddUserRegisterAddFriendIDListResp)(nil), "admin_cms.AddUserRegisterAddFriendIDListResp")
|
||||
proto.RegisterType((*ReduceUserRegisterAddFriendIDListReq)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListReq")
|
||||
proto.RegisterType((*ReduceUserRegisterAddFriendIDListResp)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListResp")
|
||||
proto.RegisterType((*GetUserRegisterAddFriendIDListReq)(nil), "admin_cms.GetUserRegisterAddFriendIDListReq")
|
||||
proto.RegisterType((*GetUserRegisterAddFriendIDListResp)(nil), "admin_cms.GetUserRegisterAddFriendIDListResp")
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
var _ grpc.ClientConn
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
const _ = grpc.SupportPackageIsVersion4
|
||||
|
||||
// Client API for AdminCMS service
|
||||
|
||||
// AdminCMSClient is the client API for AdminCMS service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type AdminCMSClient interface {
|
||||
AdminLogin(ctx context.Context, in *AdminLoginReq, opts ...grpc.CallOption) (*AdminLoginResp, error)
|
||||
AddUserRegisterAddFriendIDList(ctx context.Context, in *AddUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*AddUserRegisterAddFriendIDListResp, error)
|
||||
ReduceUserRegisterAddFriendIDList(ctx context.Context, in *ReduceUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*ReduceUserRegisterAddFriendIDListResp, error)
|
||||
GetUserRegisterAddFriendIDList(ctx context.Context, in *GetUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*GetUserRegisterAddFriendIDListResp, error)
|
||||
}
|
||||
|
||||
type adminCMSClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
cc *grpc.ClientConn
|
||||
}
|
||||
|
||||
func NewAdminCMSClient(cc grpc.ClientConnInterface) AdminCMSClient {
|
||||
func NewAdminCMSClient(cc *grpc.ClientConn) AdminCMSClient {
|
||||
return &adminCMSClient{cc}
|
||||
}
|
||||
|
||||
func (c *adminCMSClient) AdminLogin(ctx context.Context, in *AdminLoginReq, opts ...grpc.CallOption) (*AdminLoginResp, error) {
|
||||
out := new(AdminLoginResp)
|
||||
err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/AdminLogin", in, out, opts...)
|
||||
err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AdminLogin", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// AdminCMSServer is the server API for AdminCMS service.
|
||||
func (c *adminCMSClient) AddUserRegisterAddFriendIDList(ctx context.Context, in *AddUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*AddUserRegisterAddFriendIDListResp, error) {
|
||||
out := new(AddUserRegisterAddFriendIDListResp)
|
||||
err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddUserRegisterAddFriendIDList", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *adminCMSClient) ReduceUserRegisterAddFriendIDList(ctx context.Context, in *ReduceUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*ReduceUserRegisterAddFriendIDListResp, error) {
|
||||
out := new(ReduceUserRegisterAddFriendIDListResp)
|
||||
err := grpc.Invoke(ctx, "/admin_cms.adminCMS/ReduceUserRegisterAddFriendIDList", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *adminCMSClient) GetUserRegisterAddFriendIDList(ctx context.Context, in *GetUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*GetUserRegisterAddFriendIDListResp, error) {
|
||||
out := new(GetUserRegisterAddFriendIDListResp)
|
||||
err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserRegisterAddFriendIDList", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// Server API for AdminCMS service
|
||||
|
||||
type AdminCMSServer interface {
|
||||
AdminLogin(context.Context, *AdminLoginReq) (*AdminLoginResp, error)
|
||||
}
|
||||
|
||||
// UnimplementedAdminCMSServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedAdminCMSServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedAdminCMSServer) AdminLogin(context.Context, *AdminLoginReq) (*AdminLoginResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AdminLogin not implemented")
|
||||
AddUserRegisterAddFriendIDList(context.Context, *AddUserRegisterAddFriendIDListReq) (*AddUserRegisterAddFriendIDListResp, error)
|
||||
ReduceUserRegisterAddFriendIDList(context.Context, *ReduceUserRegisterAddFriendIDListReq) (*ReduceUserRegisterAddFriendIDListResp, error)
|
||||
GetUserRegisterAddFriendIDList(context.Context, *GetUserRegisterAddFriendIDListReq) (*GetUserRegisterAddFriendIDListResp, error)
|
||||
}
|
||||
|
||||
func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) {
|
||||
@ -303,6 +471,60 @@ func _AdminCMS_AdminLogin_Handler(srv interface{}, ctx context.Context, dec func
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AdminCMS_AddUserRegisterAddFriendIDList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddUserRegisterAddFriendIDListReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdminCMSServer).AddUserRegisterAddFriendIDList(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/admin_cms.adminCMS/AddUserRegisterAddFriendIDList",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdminCMSServer).AddUserRegisterAddFriendIDList(ctx, req.(*AddUserRegisterAddFriendIDListReq))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AdminCMS_ReduceUserRegisterAddFriendIDList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ReduceUserRegisterAddFriendIDListReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdminCMSServer).ReduceUserRegisterAddFriendIDList(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/admin_cms.adminCMS/ReduceUserRegisterAddFriendIDList",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdminCMSServer).ReduceUserRegisterAddFriendIDList(ctx, req.(*ReduceUserRegisterAddFriendIDListReq))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AdminCMS_GetUserRegisterAddFriendIDList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetUserRegisterAddFriendIDListReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(AdminCMSServer).GetUserRegisterAddFriendIDList(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/admin_cms.adminCMS/GetUserRegisterAddFriendIDList",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(AdminCMSServer).GetUserRegisterAddFriendIDList(ctx, req.(*GetUserRegisterAddFriendIDListReq))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _AdminCMS_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "admin_cms.adminCMS",
|
||||
HandlerType: (*AdminCMSServer)(nil),
|
||||
@ -311,7 +533,56 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{
|
||||
MethodName: "AdminLogin",
|
||||
Handler: _AdminCMS_AdminLogin_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AddUserRegisterAddFriendIDList",
|
||||
Handler: _AdminCMS_AddUserRegisterAddFriendIDList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ReduceUserRegisterAddFriendIDList",
|
||||
Handler: _AdminCMS_ReduceUserRegisterAddFriendIDList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetUserRegisterAddFriendIDList",
|
||||
Handler: _AdminCMS_GetUserRegisterAddFriendIDList_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "admin_cms/admin_cms.proto",
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_e0cc6ee28c5c634b)
|
||||
}
|
||||
|
||||
var fileDescriptor_admin_cms_e0cc6ee28c5c634b = []byte{
|
||||
// 460 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0xcd, 0x6e, 0xd3, 0x40,
|
||||
0x10, 0xc7, 0xe5, 0x5a, 0x2d, 0x64, 0x02, 0x1c, 0x56, 0x7c, 0xb8, 0x01, 0x55, 0xc9, 0x2a, 0x85,
|
||||
0x1c, 0xc0, 0x46, 0xe1, 0xc8, 0x01, 0x05, 0x02, 0xc8, 0x52, 0xab, 0xa2, 0xad, 0xb8, 0x70, 0xb1,
|
||||
0x4c, 0x3c, 0x44, 0x56, 0x94, 0xdd, 0xed, 0xce, 0x86, 0x9e, 0xb8, 0xf6, 0xc2, 0xab, 0xf0, 0x38,
|
||||
0x3c, 0x10, 0xea, 0x26, 0x8d, 0x6d, 0xea, 0xd6, 0xad, 0x72, 0xf3, 0x7c, 0xfc, 0x77, 0x7f, 0x1e,
|
||||
0xfd, 0x67, 0x61, 0x37, 0xcd, 0xe6, 0xb9, 0x4c, 0x26, 0x73, 0x8a, 0xd6, 0x5f, 0xa1, 0x36, 0xca,
|
||||
0x2a, 0xd6, 0x5a, 0x27, 0x3a, 0xbd, 0x23, 0x8d, 0x32, 0x89, 0x0f, 0x23, 0x3d, 0x9b, 0x46, 0xae,
|
||||
0x1a, 0x51, 0x36, 0x4b, 0x4e, 0x29, 0x3a, 0x5d, 0x75, 0xf3, 0x09, 0xdc, 0x1f, 0x9d, 0xf7, 0x1f,
|
||||
0xa8, 0x69, 0x2e, 0x05, 0x9e, 0xb0, 0x2e, 0xb4, 0x8f, 0x34, 0x9a, 0xd4, 0xe6, 0x4a, 0xc6, 0xe3,
|
||||
0xc0, 0xeb, 0x7a, 0x83, 0x96, 0x28, 0xa7, 0x58, 0x00, 0x77, 0x9c, 0x24, 0x1e, 0x07, 0x5b, 0xae,
|
||||
0x7a, 0x11, 0xb2, 0xc7, 0xb0, 0x73, 0x8c, 0x13, 0x83, 0x36, 0xf0, 0x5d, 0x61, 0x15, 0xf1, 0xe7,
|
||||
0xf0, 0xa0, 0x7c, 0x09, 0x69, 0xf6, 0x10, 0xb6, 0xad, 0x9a, 0xa1, 0x5c, 0x9d, 0xbf, 0x0c, 0x38,
|
||||
0x42, 0x6f, 0x94, 0x65, 0x5f, 0x09, 0x8d, 0xc0, 0x69, 0x4e, 0x16, 0xcd, 0x28, 0xcb, 0x3e, 0x99,
|
||||
0x1c, 0x65, 0x16, 0x8f, 0x0f, 0x72, 0xb2, 0x2b, 0x40, 0x75, 0x19, 0xb0, 0x94, 0x62, 0x7b, 0x00,
|
||||
0x0b, 0x42, 0xb3, 0x94, 0x04, 0x5b, 0x5d, 0x7f, 0xd0, 0x12, 0xa5, 0x0c, 0xef, 0x03, 0x6f, 0xba,
|
||||
0x86, 0x34, 0x3f, 0xf3, 0xa0, 0x2f, 0x30, 0x5b, 0x4c, 0x70, 0x63, 0xa0, 0x67, 0xd0, 0x5a, 0x87,
|
||||
0x6e, 0x66, 0xdb, 0xa2, 0x48, 0xfc, 0x87, 0xeb, 0x5f, 0xc2, 0x7d, 0x01, 0xfb, 0x37, 0xe0, 0x20,
|
||||
0xcd, 0x7f, 0x7b, 0xd0, 0xfb, 0x8c, 0x76, 0x63, 0xdc, 0x31, 0xc0, 0x97, 0x74, 0x9a, 0xcb, 0x82,
|
||||
0xb7, 0x3d, 0xec, 0x87, 0x84, 0xe6, 0x27, 0x9a, 0x24, 0xd5, 0x79, 0xa2, 0x53, 0x93, 0xce, 0x29,
|
||||
0x14, 0x78, 0xb2, 0x40, 0xb2, 0x45, 0xaf, 0x28, 0xe9, 0xf8, 0x1f, 0x0f, 0x78, 0x13, 0x0d, 0x69,
|
||||
0xf6, 0x0e, 0xee, 0x9d, 0xb7, 0xc4, 0xf2, 0x87, 0x72, 0xff, 0xef, 0x75, 0xfd, 0x41, 0x7b, 0xf8,
|
||||
0xb4, 0xe6, 0xba, 0x8b, 0x36, 0x51, 0x11, 0xb0, 0x8f, 0x35, 0xb4, 0xfb, 0xb5, 0xb4, 0xa4, 0x95,
|
||||
0x24, 0xac, 0xc7, 0x1d, 0xfe, 0xf5, 0xe1, 0xae, 0xdb, 0x9c, 0x0f, 0x87, 0xc7, 0x6c, 0x04, 0x50,
|
||||
0x18, 0x96, 0x05, 0x61, 0xb1, 0x63, 0x95, 0x65, 0xe9, 0xec, 0x5e, 0x51, 0x21, 0xcd, 0x7e, 0xc1,
|
||||
0xde, 0xf5, 0x26, 0x63, 0x2f, 0x2b, 0xe2, 0x06, 0xdb, 0x77, 0x5e, 0xdd, 0xa2, 0x9b, 0x34, 0x3b,
|
||||
0xf3, 0xa0, 0xd7, 0xe8, 0x1a, 0x16, 0x95, 0x0e, 0xbd, 0x89, 0xd7, 0x3b, 0xaf, 0x6f, 0x27, 0x58,
|
||||
0xce, 0xe1, 0x7a, 0x17, 0x54, 0xe6, 0xd0, 0x68, 0xdf, 0xca, 0x1c, 0x9a, 0xed, 0xf5, 0xfe, 0xc9,
|
||||
0xb7, 0x47, 0x61, 0xf1, 0x44, 0xbe, 0x5d, 0x7f, 0x7d, 0xdf, 0x71, 0xef, 0xdf, 0x9b, 0x7f, 0x01,
|
||||
0x00, 0x00, 0xff, 0xff, 0x99, 0xbe, 0x8e, 0x2a, 0x4a, 0x05, 0x00, 0x00,
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./admin_cms;admin_cms";
|
||||
import "Open_IM/pkg/proto/sdk_ws/ws.proto";
|
||||
package admin_cms;
|
||||
|
||||
message AdminLoginReq {
|
||||
@ -13,6 +14,38 @@ message AdminLoginResp {
|
||||
string token = 1;
|
||||
}
|
||||
|
||||
message AddUserRegisterAddFriendIDListReq {
|
||||
string operationID = 1;
|
||||
repeated string userIDList = 2;
|
||||
}
|
||||
|
||||
message AddUserRegisterAddFriendIDListResp {
|
||||
|
||||
}
|
||||
|
||||
message ReduceUserRegisterAddFriendIDListReq {
|
||||
string operationID = 1;
|
||||
int32 operation = 2;
|
||||
repeated string userIDList = 3;
|
||||
}
|
||||
|
||||
message ReduceUserRegisterAddFriendIDListResp {
|
||||
|
||||
}
|
||||
|
||||
message GetUserRegisterAddFriendIDListReq {
|
||||
string operationID = 1;
|
||||
server_api_params.RequestPagination Pagination = 2;
|
||||
}
|
||||
|
||||
message GetUserRegisterAddFriendIDListResp {
|
||||
repeated server_api_params.UserInfo UserInfoList = 1;
|
||||
server_api_params.ResponsePagination Pagination = 2;
|
||||
}
|
||||
|
||||
service adminCMS {
|
||||
rpc AdminLogin(AdminLoginReq) returns(AdminLoginResp);
|
||||
rpc AddUserRegisterAddFriendIDList(AddUserRegisterAddFriendIDListReq) returns(AddUserRegisterAddFriendIDListResp);
|
||||
rpc ReduceUserRegisterAddFriendIDList(ReduceUserRegisterAddFriendIDListReq) returns(ReduceUserRegisterAddFriendIDListResp);
|
||||
rpc GetUserRegisterAddFriendIDList(GetUserRegisterAddFriendIDListReq) returns(GetUserRegisterAddFriendIDListResp);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user