diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 9c5881bf1..1e3e0e1df 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -63,6 +63,7 @@ func main() { userRouterGroup.POST("/get_all_users_uid", manage.GetAllUsersUid) //1 userRouterGroup.POST("/account_check", manage.AccountCheck) //1 // userRouterGroup.POST("/get_users_online_status", manage.GetUsersOnlineStatus) //1 + userRouterGroup.POST("/get_users", user.GetUsers) } //friend routing group friendRouterGroup := r.Group("/friend") diff --git a/cmd/open_im_cms_api/main.go b/cmd/open_im_cms_api/main.go index b2b1cae7c..622d72924 100644 --- a/cmd/open_im_cms_api/main.go +++ b/cmd/open_im_cms_api/main.go @@ -8,6 +8,7 @@ import ( "strconv" "Open_IM/pkg/common/config" + "github.com/gin-gonic/gin" ) diff --git a/cmd/open_im_demo/main.go b/cmd/open_im_demo/main.go index f0639fc6d..988f04809 100644 --- a/cmd/open_im_demo/main.go +++ b/cmd/open_im_demo/main.go @@ -12,6 +12,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" + "github.com/gin-gonic/gin" ) @@ -31,6 +32,7 @@ func main() { authRouterGroup.POST("/password", register.SetPassword) authRouterGroup.POST("/login", register.Login) authRouterGroup.POST("/reset_password", register.ResetPassword) + authRouterGroup.POST("/check_login", register.CheckLoginLimit) } demoRouterGroup := r.Group("/auth") { @@ -39,7 +41,10 @@ func main() { demoRouterGroup.POST("/password", register.SetPassword) demoRouterGroup.POST("/login", register.Login) demoRouterGroup.POST("/reset_password", register.ResetPassword) + demoRouterGroup.POST("/check_login", register.CheckLoginLimit) } + + //deprecated cmsRouterGroup := r.Group("/cms_admin") { cmsRouterGroup.POST("/generate_invitation_code", register.GenerateInvitationCode) diff --git a/cmd/rpc/open_im_message_cms/Makefile b/cmd/rpc/open_im_message_cms/Makefile deleted file mode 100644 index 4ac4cba3a..000000000 --- a/cmd/rpc/open_im_message_cms/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -.PHONY: all build run gotool install clean help - -BINARY_NAME=open_im_message_cms -BIN_DIR=../../../bin/ - -all: gotool build - -build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" - -run: - @go run ./ - -gotool: - go fmt ./ - go vet ./ - -install: - make build - mv ${BINARY_NAME} ${BIN_DIR} - -clean: - @if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi diff --git a/cmd/rpc/open_im_message_cms/main.go b/cmd/rpc/open_im_message_cms/main.go deleted file mode 100644 index 9c39a99e4..000000000 --- a/cmd/rpc/open_im_message_cms/main.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - rpcMessageCMS "Open_IM/internal/rpc/message_cms" - "Open_IM/pkg/common/config" - "flag" - "fmt" -) - -func main() { - defaultPorts := config.Config.RpcPort.OpenImMessageCmsPort[0] - rpcPort := flag.Int("port", defaultPorts, "rpc listening port") - flag.Parse() - fmt.Println("start msg cms rpc server, port: ", *rpcPort) - rpcServer := rpcMessageCMS.NewMessageCMSServer(*rpcPort) - rpcServer.Run() -} diff --git a/cmd/rpc/open_im_statistics/Makefile b/cmd/rpc/open_im_statistics/Makefile deleted file mode 100644 index 37dbb3efe..000000000 --- a/cmd/rpc/open_im_statistics/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -.PHONY: all build run gotool install clean help - -BINARY_NAME=open_im_statistics -BIN_DIR=../../../bin/ - -all: gotool build - -build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" - -run: - @go run ./ - -gotool: - go fmt ./ - go vet ./ - -install: - make build - mv ${BINARY_NAME} ${BIN_DIR} - -clean: - @if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi diff --git a/cmd/rpc/open_im_statistics/main.go b/cmd/rpc/open_im_statistics/main.go deleted file mode 100644 index f9b0e8539..000000000 --- a/cmd/rpc/open_im_statistics/main.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - "Open_IM/internal/rpc/statistics" - "Open_IM/pkg/common/config" - "flag" - "fmt" -) - -func main() { - defaultPorts := config.Config.RpcPort.OpenImStatisticsPort - rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") - flag.Parse() - fmt.Println("start statistics rpc server, port: ", *rpcPort) - rpcServer := statistics.NewStatisticsServer(*rpcPort) - rpcServer.Run() -} diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go index f1a0551a6..cec540537 100644 --- a/internal/api/auth/auth.go +++ b/internal/api/auth/auth.go @@ -3,7 +3,6 @@ package apiAuth import ( api "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" @@ -67,17 +66,11 @@ func UserRegister(c *gin.Context) { if reply.CommonResp.ErrCode != 0 { errMsg := req.OperationID + " " + " UserRegister failed " + reply.CommonResp.ErrMsg + req.String() log.NewError(req.OperationID, errMsg) - if reply.CommonResp.ErrCode == constant.RegisterLimit { - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterLimit, "errMsg": "用户注册被限制"}) - } else if reply.CommonResp.ErrCode == constant.InvitationError { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) - } else { - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - } + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - pbDataToken := &rpc.UserTokenReq{Platform: params.Platform, FromUserID: params.UserID, OperationID: params.OperationID, LoginIp: params.CreateIp} + pbDataToken := &rpc.UserTokenReq{Platform: params.Platform, FromUserID: params.UserID, OperationID: params.OperationID} replyToken, err := client.UserToken(context.Background(), pbDataToken) if err != nil { errMsg := req.OperationID + " " + " client.UserToken failed " + err.Error() + pbDataToken.String() diff --git a/internal/api/group/group.go b/internal/api/group/group.go index bdb4edc69..ac8364d98 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -11,6 +11,7 @@ import ( open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "github.com/golang/protobuf/ptypes/wrappers" "google.golang.org/grpc" diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go index bbbfb2f2c..eb2f221dd 100644 --- a/internal/api/manage/management_user.go +++ b/internal/api/manage/management_user.go @@ -23,49 +23,6 @@ import ( "github.com/gin-gonic/gin" ) -func DeleteUser(c *gin.Context) { - params := api.DeleteUsersReq{} - if err := c.BindJSON(¶ms); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) - return - } - req := &rpc.DeleteUsersReq{} - utils.CopyStructFields(req, ¶ms) - - var ok bool - var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) - if !ok { - errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") - log.NewError(req.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - - log.NewInfo(params.OperationID, "DeleteUser args ", req.String()) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := rpc.NewUserClient(etcdConn) - - RpcResp, err := client.DeleteUsers(context.Background(), req) - if err != nil { - log.NewError(req.OperationID, "call delete users rpc server failed", err.Error()) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call delete users rpc server failed"}) - return - } - resp := api.DeleteUsersResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, FailedUserIDList: RpcResp.FailedUserIDList} - if len(RpcResp.FailedUserIDList) == 0 { - resp.FailedUserIDList = []string{} - } - log.NewInfo(req.OperationID, "DeleteUser api return", resp) - c.JSON(http.StatusOK, resp) -} - // @Summary 获取所有用户uid列表 // @Description 获取所有用户uid列表 // @Tags 用户相关 diff --git a/internal/api/user/user.go b/internal/api/user/user.go index ffaa5645f..7b73df7fd 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -368,7 +368,7 @@ func GetSelfUserInfo(c *gin.Context) { c.JSON(http.StatusOK, resp) } else { resp := api.GetSelfUserInfoResp{CommResp: api.CommResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}} - log.NewError(req.OperationID, "GetUserInfo api return ", resp) + log.NewInfo(req.OperationID, "GetUserInfo api return ", resp) c.JSON(http.StatusOK, resp) } } @@ -456,3 +456,58 @@ func GetUsersOnlineStatus(c *gin.Context) { log.NewInfo(req.OperationID, "GetUsersOnlineStatus api return", resp) c.JSON(http.StatusOK, resp) } + +func GetUsers(c *gin.Context) { + var ( + req api.GetUsersReq + resp api.GetUsersResp + reqPb rpc.GetUsersReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, "Bind failed ", err.Error(), req) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + var ok bool + var errInfo string + ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) + reqPb.OperationID = req.OperationID + reqPb.UserID = req.UserID + reqPb.UserName = req.UserName + reqPb.Pagination = &open_im_sdk.RequestPagination{ShowNumber: req.ShowNumber, PageNumber: req.PageNumber} + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) + if etcdConn == nil { + errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(reqPb.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + client := rpc.NewUserClient(etcdConn) + respPb, err := client.GetUsers(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + for _, v := range respPb.UserList { + user := api.CMSUser{} + utils.CopyStructFields(&user, v.User) + user.IsBlock = v.IsBlock + resp.Data.UserList = append(resp.Data.UserList, &user) + } + resp.CommResp.ErrCode = respPb.CommonResp.ErrCode + resp.CommResp.ErrMsg = respPb.CommonResp.ErrMsg + resp.Data.TotalNum = respPb.TotalNums + resp.Data.CurrentPage = respPb.Pagination.CurrentPage + resp.Data.ShowNumber = respPb.Pagination.ShowNumber + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) + return +} diff --git a/internal/cms_api/admin/admin.go b/internal/cms_api/admin/admin.go index c71689c57..b2eee5f2e 100644 --- a/internal/cms_api/admin/admin.go +++ b/internal/cms_api/admin/admin.go @@ -3,8 +3,6 @@ package admin import ( apiStruct "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbAdmin "Open_IM/pkg/proto/admin_cms" @@ -66,8 +64,8 @@ func AdminLogin(c *gin.Context) { reqPb pbAdmin.AdminLoginReq ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.Secret = req.Secret @@ -84,24 +82,24 @@ func AdminLogin(c *gin.Context) { respPb, err := client.AdminLogin(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } resp.Token = respPb.Token - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func AddUserRegisterAddFriendIDList(c *gin.Context) { var ( - req apiStruct.AddUserRegisterAddFriendIDListRequest - resp apiStruct.AddUserRegisterAddFriendIDListResponse + req apiStruct.AddUserRegisterAddFriendIDListRequest + // resp apiStruct.AddUserRegisterAddFriendIDListResponse ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) etcdConn := getcdv3.GetDefaultConn(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" @@ -110,23 +108,24 @@ func AddUserRegisterAddFriendIDList(c *gin.Context) { return } client := pbAdmin.NewAdminCMSClient(etcdConn) - _, err := client.AddUserRegisterAddFriendIDList(context.Background(), &pbAdmin.AddUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList}) + respPb, 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) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, resp) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp:", respPb.String()) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func ReduceUserRegisterAddFriendIDList(c *gin.Context) { var ( - req apiStruct.ReduceUserRegisterAddFriendIDListRequest - resp apiStruct.ReduceUserRegisterAddFriendIDListResponse + req apiStruct.ReduceUserRegisterAddFriendIDListRequest + // resp apiStruct.ReduceUserRegisterAddFriendIDListResponse ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) @@ -138,13 +137,13 @@ func ReduceUserRegisterAddFriendIDList(c *gin.Context) { return } client := pbAdmin.NewAdminCMSClient(etcdConn) - _, err := client.ReduceUserRegisterAddFriendIDList(context.Background(), &pbAdmin.ReduceUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList, Operation: req.Operation}) + respPb, 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) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func GetUserRegisterAddFriendIDList(c *gin.Context) { @@ -153,8 +152,8 @@ func GetUserRegisterAddFriendIDList(c *gin.Context) { resp apiStruct.GetUserRegisterAddFriendIDListResponse ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) @@ -172,12 +171,12 @@ func GetUserRegisterAddFriendIDList(c *gin.Context) { }}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) 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) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/friend/friend.go b/internal/cms_api/friend/friend.go new file mode 100644 index 000000000..0aee0cd61 --- /dev/null +++ b/internal/cms_api/friend/friend.go @@ -0,0 +1,63 @@ +package friend + +import ( + "Open_IM/pkg/cms_api_struct" + "Open_IM/pkg/common/config" + "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" + "net/http" + "strings" + + "github.com/gin-gonic/gin" +) + +func GetUserFriends(c *gin.Context) { + var ( + req cms_api_struct.GetFriendsReq + resp cms_api_struct.GetFriendsResp + reqPb pbAdmin.GetUserFriendsReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) + reqPb.Pagination = &pbCommon.RequestPagination{} + utils.CopyStructFields(&reqPb.Pagination, req) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) + if etcdConn == nil { + errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(reqPb.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + reqPb.OperationID = req.OperationID + reqPb.UserID = req.UserID + reqPb.FriendUserName = req.FriendUserName + reqPb.FriendUserID = req.FriendUserID + + client := pbAdmin.NewAdminCMSClient(etcdConn) + respPb, err := client.GetUserFriends(context.Background(), &reqPb) + if err != nil { + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserInfo failed ", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + for _, v := range respPb.FriendInfoList { + friend := &cms_api_struct.FriendInfo{} + utils.CopyStructFields(friend, v) + friend.Nickname = v.FriendUser.Nickname + friend.UserID = v.FriendUser.UserID + resp.FriendInfoList = append(resp.FriendInfoList, friend) + } + resp.FriendNums = respPb.FriendNums + resp.CurrentPage = int(respPb.Pagination.CurrentPage) + resp.ShowNumber = int(respPb.Pagination.ShowNumber) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) +} diff --git a/internal/cms_api/group/group.go b/internal/cms_api/group/group.go index a3e58a645..b53bc6bc1 100644 --- a/internal/cms_api/group/group.go +++ b/internal/cms_api/group/group.go @@ -3,8 +3,6 @@ package group import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" commonPb "Open_IM/pkg/proto/sdk_ws" @@ -18,51 +16,15 @@ import ( "github.com/gin-gonic/gin" ) -func GetGroupByID(c *gin.Context) { - var ( - req cms_api_struct.GetGroupByIDRequest - resp cms_api_struct.GetGroupByIDResponse - reqPb pbGroup.GetGroupByIDReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupID = req.GroupID - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.GetGroupByID(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupById failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - utils.CopyStructFields(&resp, respPb.CMSGroup.GroupInfo) - resp.GroupOwnerID = respPb.CMSGroup.GroupOwnerUserID - resp.GroupOwnerName = respPb.CMSGroup.GroupOwnerUserName - - log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - func GetGroups(c *gin.Context) { var ( req cms_api_struct.GetGroupsRequest resp cms_api_struct.GetGroupsResponse reqPb pbGroup.GetGroupsReq ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -76,11 +38,13 @@ func GetGroups(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } + reqPb.GroupID = req.GroupID + reqPb.GroupName = req.GroupName client := pbGroup.NewGroupClient(etcdConn) respPb, err := client.GetGroups(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserInfo failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, v := range respPb.CMSGroups { @@ -91,95 +55,10 @@ func GetGroups(c *gin.Context) { resp.Groups = append(resp.Groups, groupResp) } resp.GroupNums = int(respPb.GroupNum) - resp.CurrentPage = int(respPb.Pagination.PageNumber) + resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.ShowNumber = int(respPb.Pagination.ShowNumber) - log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetGroupByName(c *gin.Context) { - var ( - req cms_api_struct.GetGroupRequest - resp cms_api_struct.GetGroupResponse - reqPb pbGroup.GetGroupReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupName = req.GroupName - reqPb.Pagination = &commonPb.RequestPagination{} - utils.CopyStructFields(&reqPb.Pagination, req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.GetGroup(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroup failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrServer, nil) - return - } - for _, v := range respPb.CMSGroups { - groupResp := cms_api_struct.GroupResponse{} - utils.CopyStructFields(&groupResp, v.GroupInfo) - groupResp.GroupOwnerName = v.GroupOwnerUserName - groupResp.GroupOwnerID = v.GroupOwnerUserID - resp.Groups = append(resp.Groups, groupResp) - } - resp.CurrentPage = int(respPb.Pagination.PageNumber) - resp.ShowNumber = int(respPb.Pagination.ShowNumber) - resp.GroupNums = int(respPb.GroupNums) - log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func CreateGroup(c *gin.Context) { - var ( - req cms_api_struct.CreateGroupRequest - _ cms_api_struct.CreateGroupResponse - reqPb pbGroup.CreateGroupReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupInfo = &commonPb.GroupInfo{} - reqPb.GroupInfo.GroupName = req.GroupName - reqPb.GroupInfo.CreatorUserID = req.GroupMasterId - reqPb.OwnerUserID = req.GroupMasterId - reqPb.OpUserID = req.GroupMasterId - for _, v := range req.GroupMembers { - reqPb.InitMemberList = append(reqPb.InitMemberList, &pbGroup.GroupAddMemberInfo{ - UserID: v, - RoleLevel: 1, - }) - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.CreateGroup(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "CreateGroup failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrServer, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetGroupMembers(c *gin.Context) { @@ -188,9 +67,9 @@ func GetGroupMembers(c *gin.Context) { reqPb pbGroup.GetGroupMembersCMSReq resp cms_api_struct.GetGroupMembersResponse ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + if err := c.BindJSON(&req); err != nil { + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -212,7 +91,7 @@ func GetGroupMembers(c *gin.Context) { respPb, err := client.GetGroupMembersCMS(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupMembersCMS failed:", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } resp.ResponsePagination = cms_api_struct.ResponsePagination{ @@ -226,179 +105,5 @@ func GetGroupMembers(c *gin.Context) { resp.GroupMembers = append(resp.GroupMembers, memberResp) } log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func AddGroupMembers(c *gin.Context) { - var ( - req cms_api_struct.RemoveGroupMembersRequest - resp cms_api_struct.RemoveGroupMembersResponse - reqPb pbGroup.AddGroupMembersCMSReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo("", utils.GetSelfFuncName(), "req: ", req) - reqPb.UserIDList = req.Members - reqPb.GroupID = req.GroupId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.AddGroupMembersCMS(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "AddGroupMembersCMS failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - resp.Success = respPb.Success - resp.Failed = respPb.Failed - log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func RemoveGroupMembers(c *gin.Context) { - var ( - req cms_api_struct.RemoveGroupMembersRequest - resp cms_api_struct.RemoveGroupMembersResponse - reqPb pbGroup.RemoveGroupMembersCMSReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.UserIDList = req.Members - reqPb.GroupID = req.GroupId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.RemoveGroupMembersCMS(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "RemoveGroupMembersCMS failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - resp.Success = respPb.Success - resp.Failed = respPb.Failed - log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func SetGroupOwner(c *gin.Context) { - var ( - req cms_api_struct.SetGroupMasterRequest - _ cms_api_struct.SetGroupMasterResponse - reqPb pbGroup.OperateUserRoleReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupID = req.GroupId - reqPb.UserID = req.UserId - reqPb.RoleLevel = constant.GroupOwner - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.OperateUserRole(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "DeleteGroup failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrServer, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func SetGroupOrdinaryUsers(c *gin.Context) { - var ( - req cms_api_struct.SetGroupMemberRequest - _ cms_api_struct.AdminLoginResponse - reqPb pbGroup.OperateUserRoleReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupID = req.GroupId - reqPb.UserID = req.UserId - reqPb.RoleLevel = constant.GroupOrdinaryUsers - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.OperateUserRole(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "DeleteGroup failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func AlterGroupInfo(c *gin.Context) { - var ( - req cms_api_struct.AlterGroupInfoRequest - _ cms_api_struct.SetGroupMasterResponse - reqPb pbGroup.SetGroupInfoReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OpUserID = c.MustGet("userID").(string) - reqPb.GroupInfoForSet = &commonPb.GroupInfoForSet{ - GroupID: req.GroupID, - GroupName: req.GroupName, - Introduction: req.Introduction, - Notification: req.Notification, - FaceURL: req.ProfilePhoto, - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.SetGroupInfo(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "DeleteGroup failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/message_cms/message.go b/internal/cms_api/message_cms/message.go index 6cfda0ebc..758e9dc29 100644 --- a/internal/cms_api/message_cms/message.go +++ b/internal/cms_api/message_cms/message.go @@ -3,96 +3,27 @@ package messageCMS import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbMessage "Open_IM/pkg/proto/message_cms" + pbAdminCMS "Open_IM/pkg/proto/admin_cms" pbCommon "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "net/http" "strings" - "Open_IM/pkg/common/constant" - "github.com/gin-gonic/gin" ) -func BroadcastMessage(c *gin.Context) { - var ( - reqPb pbMessage.BoradcastMessageReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbMessage.NewMessageCMSClient(etcdConn) - _, err := client.BoradcastMessage(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func MassSendMassage(c *gin.Context) { - var ( - reqPb pbMessage.MassSendMessageReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbMessage.NewMessageCMSClient(etcdConn) - _, err := client.MassSendMessage(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func WithdrawMessage(c *gin.Context) { - var ( - reqPb pbMessage.WithdrawMessageReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbMessage.NewMessageCMSClient(etcdConn) - _, err := client.WithdrawMessage(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - func GetChatLogs(c *gin.Context) { var ( - req cms_api_struct.GetChatLogsRequest - resp cms_api_struct.GetChatLogsResponse - reqPb pbMessage.GetChatLogsReq + req cms_api_struct.GetChatLogsReq + resp cms_api_struct.GetChatLogsResp + reqPb pbAdminCMS.GetChatLogsReq ) - if err := c.ShouldBindQuery(&req); err != nil { + if err := c.Bind(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.Pagination = &pbCommon.RequestPagination{ @@ -101,39 +32,28 @@ func GetChatLogs(c *gin.Context) { } utils.CopyStructFields(&reqPb, &req) log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pbMessage.NewMessageCMSClient(etcdConn) + client := pbAdminCMS.NewAdminCMSClient(etcdConn) respPb, err := client.GetChatLogs(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, resp) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - //utils.CopyStructFields(&resp, &respPb) - for _, chatLog := range respPb.ChatLogs { - resp.ChatLogs = append(resp.ChatLogs, cms_api_struct.ChatLog{ - SessionType: int(chatLog.SessionType), - ContentType: int(chatLog.ContentType), - SenderNickName: chatLog.SenderNickName, - SenderId: chatLog.SenderId, - SearchContent: chatLog.SearchContent, - WholeContent: chatLog.WholeContent, - ReceiverNickName: chatLog.ReciverNickName, - ReceiverID: chatLog.ReciverId, - GroupName: chatLog.GroupName, - GroupId: chatLog.GroupId, - Date: chatLog.Date, - }) + for _, v := range respPb.ChatLogs { + chatLog := cms_api_struct.ChatLog{} + utils.CopyStructFields(&chatLog, v) + resp.ChatLogs = append(resp.ChatLogs, &chatLog) } resp.ShowNumber = int(respPb.Pagination.ShowNumber) resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.ChatLogsNum = int(respPb.ChatLogsNum) log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/middleware/jwt_auth.go b/internal/cms_api/middleware/jwt_auth.go index 255e3eaaf..5ab3ffbbf 100644 --- a/internal/cms_api/middleware/jwt_auth.go +++ b/internal/cms_api/middleware/jwt_auth.go @@ -1,23 +1,23 @@ package middleware import ( - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/utils" + "net/http" + "github.com/gin-gonic/gin" ) func JWTAuth() gin.HandlerFunc { return func(c *gin.Context) { ok, userID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), "") - log.NewInfo("0", utils.GetSelfFuncName(), "userID: ", userID) + // log.NewInfo("0", utils.GetSelfFuncName(), "userID: ", userID) c.Set("userID", userID) if !ok { log.NewError("", "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.Abort() - http.RespHttp200(c, constant.ErrParseToken, nil) + c.JSON(http.StatusOK, gin.H{"errCode": 400, "errMsg": errInfo}) return } else { log.NewInfo("0", utils.GetSelfFuncName(), "failed: ", errInfo) diff --git a/internal/cms_api/organization/organization.go b/internal/cms_api/organization/organization.go deleted file mode 100644 index f775283ca..000000000 --- a/internal/cms_api/organization/organization.go +++ /dev/null @@ -1,49 +0,0 @@ -package organization - -import ( - "github.com/gin-gonic/gin" -) - -func GetStaffs(c *gin.Context) { - -} - -func GetOrganizations(c *gin.Context) { - -} - -func GetSquads(c *gin.Context) { - -} - -func AlterStaff(c *gin.Context) { - -} - -func AddOrganization(c *gin.Context) { - -} - -func InquireOrganization(g *gin.Context) { - -} - -func AlterOrganization(c *gin.Context) { - -} - -func DeleteOrganization(g *gin.Context) { - -} - -func GetOrganizationSquads(c *gin.Context) { - -} - -func AlterStaffsInfo(c *gin.Context) { - -} - -func AddChildOrganization(c *gin.Context) { - -} diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index b21e4a2a0..7636eee8c 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -2,12 +2,13 @@ package cms_api import ( "Open_IM/internal/cms_api/admin" + "Open_IM/internal/cms_api/friend" "Open_IM/internal/cms_api/group" messageCMS "Open_IM/internal/cms_api/message_cms" "Open_IM/internal/cms_api/middleware" - "Open_IM/internal/cms_api/organization" "Open_IM/internal/cms_api/statistics" "Open_IM/internal/cms_api/user" + "Open_IM/internal/demo/register" "github.com/gin-gonic/gin" ) @@ -24,65 +25,48 @@ func NewGinRouter() *gin.Engine { 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) + + adminRouterGroup.POST("/generate_invitation_code", register.GenerateInvitationCode) + adminRouterGroup.POST("/query_invitation_code", register.QueryInvitationCode) + adminRouterGroup.POST("/get_invitation_codes", register.GetInvitationCodes) + + adminRouterGroup.POST("/query_user_ip_limit_login", register.QueryUserIDLimitLogin) + adminRouterGroup.POST("/add_user_ip_limit_login", register.AddUserIPLimitLogin) + adminRouterGroup.POST("/remove_user_ip_limit_login", register.RemoveUserIPLimitLogin) + + adminRouterGroup.POST("/query_ip_register", register.QueryIPRegister) + adminRouterGroup.POST("/add_ip_limit", register.AddIPLimit) + adminRouterGroup.POST("/remove_ip_Limit", register.RemoveIPLimit) } r2 := router.Group("") r2.Use(middleware.JWTAuth()) statisticsRouterGroup := r2.Group("/statistics") { - statisticsRouterGroup.GET("/get_messages_statistics", statistics.GetMessagesStatistics) - statisticsRouterGroup.GET("/get_user_statistics", statistics.GetUserStatistics) - statisticsRouterGroup.GET("/get_group_statistics", statistics.GetGroupStatistics) - statisticsRouterGroup.GET("/get_active_user", statistics.GetActiveUser) - statisticsRouterGroup.GET("/get_active_group", statistics.GetActiveGroup) - } - organizationRouterGroup := r2.Group("/organization") - { - organizationRouterGroup.GET("/get_staffs", organization.GetStaffs) - organizationRouterGroup.GET("/get_organizations", organization.GetOrganizations) - organizationRouterGroup.GET("/get_squad", organization.GetSquads) - organizationRouterGroup.POST("/add_organization", organization.AddOrganization) - organizationRouterGroup.POST("/alter_staff", organization.AlterStaff) - organizationRouterGroup.GET("/inquire_organization", organization.InquireOrganization) - organizationRouterGroup.POST("/alter_organization", organization.AlterOrganization) - organizationRouterGroup.POST("/delete_organization", organization.DeleteOrganization) - organizationRouterGroup.POST("/get_organization_squad", organization.GetOrganizationSquads) - organizationRouterGroup.PATCH("/alter_corps_info", organization.AlterStaffsInfo) - organizationRouterGroup.POST("/add_child_org", organization.AddChildOrganization) + statisticsRouterGroup.POST("/get_messages_statistics", statistics.GetMessagesStatistics) + statisticsRouterGroup.POST("/get_user_statistics", statistics.GetUserStatistics) + statisticsRouterGroup.POST("/get_group_statistics", statistics.GetGroupStatistics) + statisticsRouterGroup.POST("/get_active_user", statistics.GetActiveUser) + statisticsRouterGroup.POST("/get_active_group", statistics.GetActiveGroup) } groupRouterGroup := r2.Group("/group") { - groupRouterGroup.GET("/get_group_by_id", group.GetGroupByID) - groupRouterGroup.GET("/get_groups", group.GetGroups) - groupRouterGroup.GET("/get_group_by_name", group.GetGroupByName) - groupRouterGroup.GET("/get_group_members", group.GetGroupMembers) - groupRouterGroup.POST("/create_group", group.CreateGroup) - groupRouterGroup.POST("/add_members", group.AddGroupMembers) - groupRouterGroup.POST("/remove_members", group.RemoveGroupMembers) - groupRouterGroup.POST("/get_members_in_group", group.GetGroupMembers) - groupRouterGroup.POST("/set_group_master", group.SetGroupOwner) - groupRouterGroup.POST("/set_group_ordinary_user", group.SetGroupOrdinaryUsers) - groupRouterGroup.POST("/alter_group_info", group.AlterGroupInfo) + groupRouterGroup.POST("/get_groups", group.GetGroups) + groupRouterGroup.POST("/get_group_members", group.GetGroupMembers) } userRouterGroup := r2.Group("/user") { - userRouterGroup.POST("/resign", user.ResignUser) - userRouterGroup.GET("/get_user", user.GetUserById) - userRouterGroup.POST("/alter_user", user.AlterUser) - userRouterGroup.GET("/get_users", user.GetUsers) userRouterGroup.POST("/add_user", user.AddUser) userRouterGroup.POST("/unblock_user", user.UnblockUser) userRouterGroup.POST("/block_user", user.BlockUser) - userRouterGroup.GET("/get_block_users", user.GetBlockUsers) - userRouterGroup.GET("/get_block_user", user.GetBlockUserById) - userRouterGroup.POST("/delete_user", user.DeleteUser) - userRouterGroup.GET("/get_users_by_name", user.GetUsersByName) + userRouterGroup.POST("/get_block_users", user.GetBlockUsers) } messageCMSRouterGroup := r2.Group("/message") { - messageCMSRouterGroup.GET("/get_chat_logs", messageCMS.GetChatLogs) - messageCMSRouterGroup.POST("/broadcast_message", messageCMS.BroadcastMessage) - messageCMSRouterGroup.POST("/mass_send_message", messageCMS.MassSendMassage) - messageCMSRouterGroup.POST("/withdraw_message", messageCMS.WithdrawMessage) + messageCMSRouterGroup.POST("/get_chat_logs", messageCMS.GetChatLogs) + } + friendCMSRouterGroup := r2.Group("friend") + { + friendCMSRouterGroup.POST("/get_friends", friend.GetUserFriends) } return baseRouter } diff --git a/internal/cms_api/statistics/statistics.go b/internal/cms_api/statistics/statistics.go index 4afdf5673..76aad968e 100644 --- a/internal/cms_api/statistics/statistics.go +++ b/internal/cms_api/statistics/statistics.go @@ -3,15 +3,14 @@ package statistics import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - pb "Open_IM/pkg/proto/statistics" + admin "Open_IM/pkg/proto/admin_cms" "Open_IM/pkg/utils" "context" "net/http" "strings" + "time" "github.com/gin-gonic/gin" ) @@ -20,38 +19,40 @@ func GetMessagesStatistics(c *gin.Context) { var ( req cms_api_struct.GetMessageStatisticsRequest resp cms_api_struct.GetMessageStatisticsResponse - reqPb pb.GetMessageStatisticsReq + reqPb admin.GetMessageStatisticsReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetMessageStatistics(context.Background(), &reqPb) + client := admin.NewAdminCMSClient(etcdConn) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetMessageStatistics(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetMessageStatistics failed", err.Error()) - openIMHttp.RespHttp200(c, err, resp) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - // utils.CopyStructFields(&resp, respPb) + resp.GroupMessageNum = int(respPb.GroupMessageNum) resp.PrivateMessageNum = int(respPb.PrivateMessageNum) for _, v := range respPb.PrivateMessageNumList { resp.PrivateMessageNumList = append(resp.PrivateMessageNumList, struct { Date string "json:\"date\"" - MessageNum int "json:\"message_num\"" + MessageNum int "json:\"messageNum\"" }{ Date: v.Date, MessageNum: int(v.Num), @@ -60,53 +61,54 @@ func GetMessagesStatistics(c *gin.Context) { for _, v := range respPb.GroupMessageNumList { resp.GroupMessageNumList = append(resp.GroupMessageNumList, struct { Date string "json:\"date\"" - MessageNum int "json:\"message_num\"" + MessageNum int "json:\"messageNum\"" }{ Date: v.Date, MessageNum: int(v.Num), }) } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetUserStatistics(c *gin.Context) { var ( req cms_api_struct.GetUserStatisticsRequest resp cms_api_struct.GetUserStatisticsResponse - reqPb pb.GetUserStatisticsReq + reqPb admin.GetUserStatisticsReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUserStatistics(context.Background(), &reqPb) + client := admin.NewAdminCMSClient(etcdConn) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetUserStatistics(ctx, &reqPb) if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserStatistics failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserStatistics failed", err.Error(), reqPb.String()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - // utils.CopyStructFields(&resp, respPb) resp.ActiveUserNum = int(respPb.ActiveUserNum) resp.IncreaseUserNum = int(respPb.IncreaseUserNum) resp.TotalUserNum = int(respPb.TotalUserNum) for _, v := range respPb.ActiveUserNumList { resp.ActiveUserNumList = append(resp.ActiveUserNumList, struct { Date string "json:\"date\"" - ActiveUserNum int "json:\"active_user_num\"" + ActiveUserNum int "json:\"activeUserNum\"" }{ Date: v.Date, ActiveUserNum: int(v.Num), @@ -115,7 +117,7 @@ func GetUserStatistics(c *gin.Context) { for _, v := range respPb.IncreaseUserNumList { resp.IncreaseUserNumList = append(resp.IncreaseUserNumList, struct { Date string "json:\"date\"" - IncreaseUserNum int "json:\"increase_user_num\"" + IncreaseUserNum int "json:\"increaseUserNum\"" }{ Date: v.Date, IncreaseUserNum: int(v.Num), @@ -124,43 +126,45 @@ func GetUserStatistics(c *gin.Context) { for _, v := range respPb.TotalUserNumList { resp.TotalUserNumList = append(resp.TotalUserNumList, struct { Date string "json:\"date\"" - TotalUserNum int "json:\"total_user_num\"" + TotalUserNum int "json:\"totalUserNum\"" }{ Date: v.Date, TotalUserNum: int(v.Num), }) } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetGroupStatistics(c *gin.Context) { var ( req cms_api_struct.GetGroupStatisticsRequest resp cms_api_struct.GetGroupStatisticsResponse - reqPb pb.GetGroupStatisticsReq + reqPb admin.GetGroupStatisticsReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetGroupStatistics(context.Background(), &reqPb) + client := admin.NewAdminCMSClient(etcdConn) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetGroupStatistics(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } // utils.CopyStructFields(&resp, respPb) @@ -170,7 +174,7 @@ func GetGroupStatistics(c *gin.Context) { resp.IncreaseGroupNumList = append(resp.IncreaseGroupNumList, struct { Date string "json:\"date\"" - IncreaseGroupNum int "json:\"increase_group_num\"" + IncreaseGroupNum int "json:\"increaseGroupNum\"" }{ Date: v.Date, IncreaseGroupNum: int(v.Num), @@ -180,7 +184,7 @@ func GetGroupStatistics(c *gin.Context) { resp.TotalGroupNumList = append(resp.TotalGroupNumList, struct { Date string "json:\"date\"" - TotalGroupNum int "json:\"total_group_num\"" + TotalGroupNum int "json:\"totalGroupNum\"" }{ Date: v.Date, TotalGroupNum: int(v.Num), @@ -188,77 +192,81 @@ func GetGroupStatistics(c *gin.Context) { } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetActiveUser(c *gin.Context) { var ( req cms_api_struct.GetActiveUserRequest resp cms_api_struct.GetActiveUserResponse - reqPb pb.GetActiveUserReq + reqPb admin.GetActiveUserReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetActiveUser(context.Background(), &reqPb) + client := admin.NewAdminCMSClient(etcdConn) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetActiveUser(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetActiveUser failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } utils.CopyStructFields(&resp.ActiveUserList, respPb.Users) log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetActiveGroup(c *gin.Context) { var ( req cms_api_struct.GetActiveGroupRequest resp cms_api_struct.GetActiveGroupResponse - reqPb pb.GetActiveGroupReq + reqPb admin.GetActiveGroupReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetActiveGroup(context.Background(), &reqPb) + client := admin.NewAdminCMSClient(etcdConn) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetActiveGroup(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetActiveGroup failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, group := range respPb.Groups { resp.ActiveGroupList = append(resp.ActiveGroupList, struct { - GroupName string "json:\"group_name\"" - GroupId string "json:\"group_id\"" - MessageNum int "json:\"message_num\"" + GroupName string "json:\"groupName\"" + GroupId string "json:\"groupID\"" + MessageNum int "json:\"messageNum\"" }{ GroupName: group.GroupName, GroupId: group.GroupId, @@ -266,5 +274,5 @@ func GetActiveGroup(c *gin.Context) { }) } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index f6d2071ad..dff3a853f 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -3,196 +3,18 @@ package user import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" commonPb "Open_IM/pkg/proto/sdk_ws" pb "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" - "fmt" "net/http" "strings" "github.com/gin-gonic/gin" ) -func GetUserById(c *gin.Context) { - var ( - req cms_api_struct.GetUserRequest - resp cms_api_struct.GetUserResponse - reqPb pb.GetUserByIdReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUserById(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - if respPb.User.UserId == "" { - openIMHttp.RespHttp200(c, constant.OK, nil) - return - } - utils.CopyStructFields(&resp, respPb.User) - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetUsersByName(c *gin.Context) { - var ( - req cms_api_struct.GetUsersByNameRequest - resp cms_api_struct.GetUsersByNameResponse - reqPb pb.GetUsersByNameReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.UserName = req.UserName - reqPb.Pagination = &commonPb.RequestPagination{ - PageNumber: int32(req.PageNumber), - ShowNumber: int32(req.ShowNumber), - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUsersByName(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "rpc", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - utils.CopyStructFields(&resp.Users, respPb.Users) - resp.ShowNumber = int(respPb.Pagination.ShowNumber) - resp.CurrentPage = int(respPb.Pagination.CurrentPage) - resp.UserNums = respPb.UserNums - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetUsers(c *gin.Context) { - var ( - req cms_api_struct.GetUsersRequest - resp cms_api_struct.GetUsersResponse - reqPb pb.GetUsersReq - ) - reqPb.Pagination = &commonPb.RequestPagination{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb.Pagination, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUsers(context.Background(), &reqPb) - if err != nil { - openIMHttp.RespHttp200(c, err, resp) - return - } - utils.CopyStructFields(&resp.Users, respPb.User) - resp.ShowNumber = int(respPb.Pagination.ShowNumber) - resp.CurrentPage = int(respPb.Pagination.CurrentPage) - resp.UserNums = respPb.UserNums - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) - -} - -func ResignUser(c *gin.Context) { - var ( - req cms_api_struct.ResignUserRequest - resp cms_api_struct.ResignUserResponse - reqPb pb.ResignUserReq - ) - if err := c.ShouldBind(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": http.StatusBadRequest, "errMsg": err.Error()}) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - _, err := client.ResignUser(context.Background(), &reqPb) - if err != nil { - openIMHttp.RespHttp200(c, err, resp) - } - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func AlterUser(c *gin.Context) { - var ( - req cms_api_struct.AlterUserRequest - resp cms_api_struct.AlterUserResponse - reqPb pb.AlterUserReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - _, err := client.AlterUser(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, "microserver failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - func AddUser(c *gin.Context) { var ( req cms_api_struct.AddUserRequest @@ -200,7 +22,7 @@ func AddUser(c *gin.Context) { ) if err := c.BindJSON(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -214,24 +36,23 @@ func AddUser(c *gin.Context) { return } client := pb.NewUserClient(etcdConn) - _, err := client.AddUser(context.Background(), &reqPb) + respPb, err := client.AddUser(context.Background(), &reqPb) if err != nil { - openIMHttp.RespHttp200(c, err, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, nil) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func BlockUser(c *gin.Context) { var ( req cms_api_struct.BlockUserRequest - resp cms_api_struct.BlockUserResponse reqPb pb.BlockUserReq ) if err := c.BindJSON(&req); err != nil { - fmt.Println(err) - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -245,13 +66,13 @@ func BlockUser(c *gin.Context) { return } client := pb.NewUserClient(etcdConn) - fmt.Println(reqPb) - _, err := client.BlockUser(context.Background(), &reqPb) + respPb, err := client.BlockUser(context.Background(), &reqPb) if err != nil { - openIMHttp.RespHttp200(c, err, resp) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func UnblockUser(c *gin.Context) { @@ -260,9 +81,9 @@ func UnblockUser(c *gin.Context) { resp cms_api_struct.UnBlockUserResponse reqPb pb.UnBlockUserReq ) - if err := c.ShouldBind(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -276,13 +97,14 @@ func UnblockUser(c *gin.Context) { return } client := pb.NewUserClient(etcdConn) - _, err := client.UnBlockUser(context.Background(), &reqPb) + respPb, err := client.UnBlockUser(context.Background(), &reqPb) if err != nil { - openIMHttp.RespHttp200(c, err, resp) + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func GetBlockUsers(c *gin.Context) { @@ -293,9 +115,9 @@ func GetBlockUsers(c *gin.Context) { respPb *pb.GetBlockUsersResp ) reqPb.Pagination = &commonPb.RequestPagination{} - if err := c.ShouldBindQuery(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -313,21 +135,18 @@ func GetBlockUsers(c *gin.Context) { respPb, err := client.GetBlockUsers(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetBlockUsers rpc", err.Error()) - openIMHttp.RespHttp200(c, err, resp) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, v := range respPb.BlockUsers { resp.BlockUsers = append(resp.BlockUsers, cms_api_struct.BlockUser{ UserResponse: cms_api_struct.UserResponse{ - UserId: v.User.UserId, - ProfilePhoto: v.User.ProfilePhoto, - Nickname: v.User.Nickname, - IsBlock: v.User.IsBlock, - Birth: v.User.Birth, - PhoneNumber: v.User.PhoneNumber, - Email: v.User.Email, - Gender: int(v.User.Gender), - CreateTime: v.User.CreateTime, + UserID: v.UserInfo.UserID, + FaceURL: v.UserInfo.FaceURL, + Nickname: v.UserInfo.Nickname, + PhoneNumber: v.UserInfo.PhoneNumber, + Email: v.UserInfo.Email, + Gender: int(v.UserInfo.Gender), }, BeginDisableTime: v.BeginDisableTime, EndDisableTime: v.EndDisableTime, @@ -337,70 +156,5 @@ func GetBlockUsers(c *gin.Context) { resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.UserNums = respPb.UserNums log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetBlockUserById(c *gin.Context) { - var ( - req cms_api_struct.GetBlockUserRequest - resp cms_api_struct.GetBlockUserResponse - reqPb pb.GetBlockUserByIdReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.UserId = req.UserId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetBlockUserById(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, "GetBlockUserById rpc failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - resp.EndDisableTime = respPb.BlockUser.EndDisableTime - resp.BeginDisableTime = respPb.BlockUser.BeginDisableTime - utils.CopyStructFields(&resp, respPb.BlockUser.User) - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func DeleteUser(c *gin.Context) { - var ( - req cms_api_struct.DeleteUserRequest - reqPb pb.DeleteUserReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.UserId = req.UserId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - _, err := client.DeleteUser(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, "DeleteUser rpc failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/demo/register/check_login.go b/internal/demo/register/check_login.go new file mode 100644 index 000000000..818cd6c27 --- /dev/null +++ b/internal/demo/register/check_login.go @@ -0,0 +1,81 @@ +package register + +import ( + "Open_IM/pkg/common/constant" + imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" + "Open_IM/pkg/utils" + "net/http" + + "github.com/gin-gonic/gin" +) + +type CheckLoginLimitReq struct { + OperationID string `json:"operationID"` + UserID string `json:"userID"` +} + +type CheckLoginLimitResp struct { +} + +func CheckLoginLimit(c *gin.Context) { + req := CheckLoginLimitReq{} + if err := c.BindJSON(&req); err != nil { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrArgs, "errMsg": err.Error()}) + return + } + ip := c.Request.Header.Get("X-Forward-For") + if ip == "" { + ip = c.ClientIP() + } + user, err := imdb.GetUserIPLimit(req.UserID) + if err != nil { + errMsg := req.OperationID + " imdb.GetUserByUserID failed " + err.Error() + req.UserID + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": errMsg}) + } + + if err := imdb.UpdateIpReocord(req.UserID, ip); err != nil { + log.NewError(req.OperationID, err.Error(), req.UserID, ip) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": err.Error()}) + return + } + + var Limited bool + var LimitError error + Limited, LimitError = imdb.IsLimitLoginIp(ip) + if LimitError != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), LimitError, ip) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError}) + return + } + if Limited { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), Limited, ip, req.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.LoginLimit, "errMsg": "ip limited Login"}) + return + } + Limited, LimitError = imdb.IsLimitUserLoginIp(user.UserID, ip) + if LimitError != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), LimitError, ip) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError}) + return + } + if Limited { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), Limited, ip, req.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.LoginLimit, "errMsg": "user ip limited Login"}) + return + } + Limited, LimitError = imdb.UserIsBlock(user.UserID) + if LimitError != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), LimitError, user.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError}) + return + } + if Limited { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), Limited, ip, req.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.LoginLimit, "errMsg": "user is block"}) + return + } + c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": ""}) +} diff --git a/internal/demo/register/ip_limit.go b/internal/demo/register/ip_limit.go index 17a53795d..a94e51e74 100644 --- a/internal/demo/register/ip_limit.go +++ b/internal/demo/register/ip_limit.go @@ -7,7 +7,9 @@ import ( imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" + "github.com/gin-gonic/gin" + //"github.com/jinzhu/gorm" "net/http" "time" @@ -141,7 +143,7 @@ func QueryUserIDLimitLogin(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) return } - c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) + c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": gin.H{"limit": resp}}) } type AddUserIPLimitLoginReq struct { @@ -163,8 +165,8 @@ func AddUserIPLimitLogin(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) userIp := db.UserIpLimit{UserID: req.UserID, Ip: req.IP} err := imdb.UpdateUserInfo(db.User{ - UserID: req.UserID, - LoginLimit: 1, + UserID: req.UserID, + // LoginLimit: 1, }) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID) diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index 5b7deae4f..f2cf70d39 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -8,6 +8,7 @@ import ( imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" http2 "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" + "Open_IM/pkg/common/token_verify" pbFriend "Open_IM/pkg/proto/friend" "Open_IM/pkg/utils" "encoding/json" @@ -41,28 +42,33 @@ func SetPassword(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) return } - ip := c.Request.Header.Get("X-Forward-For") if ip == "" { ip = c.ClientIP() } log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "ip:", ip) - Limited, LimitError := imdb.IsLimitRegisterIp(ip) - if LimitError != nil { - log.Error(params.OperationID, utils.GetSelfFuncName(), LimitError, ip) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError.Error()}) - return - } - if Limited { - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.RegisterLimit, "errMsg": "limited"}) - return - } + ok, opUserID, _ := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), params.OperationID) + if !ok || !utils.IsContain(opUserID, config.Config.Manager.AppManagerUid) { + Limited, LimitError := imdb.IsLimitRegisterIp(ip) + if LimitError != nil { + log.Error(params.OperationID, utils.GetSelfFuncName(), LimitError, ip) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError.Error()}) + return + } + if Limited { + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.RegisterLimit, "errMsg": "limited"}) + return + } + } + openIMRegisterReq := api.UserRegisterReq{} var account string if params.Email != "" { account = params.Email + openIMRegisterReq.Email = params.Email } else if params.PhoneNumber != "" { account = params.PhoneNumber + openIMRegisterReq.PhoneNumber = params.PhoneNumber } else { account = params.UserID } @@ -84,7 +90,7 @@ func SetPassword(c *gin.Context) { if config.Config.Demo.NeedInvitationCode && params.InvitationCode != "" { err := imdb.CheckInvitationCode(params.InvitationCode) if err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "InvitationCode error"}) return } } @@ -99,18 +105,13 @@ func SetPassword(c *gin.Context) { } else { userID = params.UserID } - url := config.Config.Demo.ImAPIURL + "/auth/user_register" - openIMRegisterReq := api.UserRegisterReq{} openIMRegisterReq.OperationID = params.OperationID openIMRegisterReq.Platform = params.Platform openIMRegisterReq.UserID = userID openIMRegisterReq.Nickname = params.Nickname openIMRegisterReq.Secret = config.Config.Secret openIMRegisterReq.FaceURL = params.FaceURL - openIMRegisterReq.CreateIp = ip - openIMRegisterReq.LastLoginIp = ip - openIMRegisterReq.InvitationCode = params.InvitationCode openIMRegisterResp := api.UserRegisterResp{} log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "register req:", openIMRegisterReq) bMsg, err := http2.Post(url, openIMRegisterReq, 2) @@ -124,14 +125,10 @@ func SetPassword(c *gin.Context) { log.NewError(params.OperationID, "request openIM register error", account, "err", "resp: ", openIMRegisterResp.ErrCode) if err != nil { log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register limit"}) + return } - if openIMRegisterResp.ErrCode == constant.RegisterLimit { - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterLimit, "errMsg": "用户注册被限制"}) - return - } else if openIMRegisterResp.ErrCode == constant.InvitationError { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) - return - } else { + if openIMRegisterResp.ErrCode != 0 { c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg}) return } @@ -150,8 +147,11 @@ func SetPassword(c *gin.Context) { imdb.FinishInvitationCode(params.InvitationCode, userID) } } + if err := imdb.InsertIpRecord(userID, ip); err != nil { + log.NewError(params.OperationID, utils.GetSelfFuncName(), userID, ip, err.Error()) + } - log.Info(params.OperationID, "end setPassword", account, params.Password) + log.Info(params.OperationID, "end setuserInfo", account, params.Password) // demo onboarding if params.UserID == "" && config.Config.Demo.OnboardProcess { select { @@ -168,6 +168,7 @@ func SetPassword(c *gin.Context) { } } + // register add friend select { case ChImportFriend <- &pbFriend.ImportFriendReq{ OperationID: params.OperationID, diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index eb3a72280..d19f80424 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -102,7 +102,10 @@ type Options struct { } `json:"HW"` XM struct { ChannelID string `json:"/extra.channel_id"` - } `json:""` + } `json:"XM"` + VV struct { + Classification int `json:"/classification"` + } `json:"VV"` } type PushResp struct { @@ -156,6 +159,11 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri XM: struct { ChannelID string `json:"/extra.channel_id"` }{ChannelID: "high_system"}, + VV: struct { + Classification int "json:\"/classification\"" + }{ + Classification: 1, + }, } pushResp := PushResp{} err = g.request(PushURL, pushReq, token, &pushResp, operationID) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 3851853f1..1e66189c5 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -78,10 +78,14 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { } } if pushMsg.MsgData.ContentType == constant.SignalingNotification { - if err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData); err != nil { + isSend, err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData, pushMsg.PushToUserID) + if err != nil { log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), err.Error(), pushMsg.MsgData) return } + if !isSend { + return + } } var title, detailContent string callbackResp := callbackOfflinePush(pushMsg.OperationID, UIDList, pushMsg.MsgData, &[]string{}) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index b61794628..1e40a872c 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -3,8 +3,8 @@ package admin_cms import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" 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" @@ -12,11 +12,15 @@ import ( server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "errors" "net" "strconv" "strings" + "sync" + "time" "google.golang.org/grpc" + "gorm.io/gorm" ) type adminCMSServer struct { @@ -81,23 +85,26 @@ func (s *adminCMSServer) Run() { func (s *adminCMSServer) AdminLogin(_ context.Context, req *pbAdminCMS.AdminLoginReq) (*pbAdminCMS.AdminLoginResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.AdminLoginResp{} + resp := &pbAdminCMS.AdminLoginResp{CommonResp: &pbAdminCMS.CommonResp{}} for i, adminID := range config.Config.Manager.AppManagerUid { if adminID == req.AdminID && config.Config.Manager.Secrets[i] == req.Secret { token, expTime, err := token_verify.CreateToken(adminID, constant.SingleChatType) - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "generate token success", "token: ", token, "expTime:", expTime) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "generate token failed", "adminID: ", adminID, err.Error()) - return resp, openIMHttp.WrapError(constant.ErrTokenUnknown) + resp.CommonResp.ErrCode = constant.ErrTokenUnknown.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "generate token success", "token: ", token, "expTime:", expTime) resp.Token = token break } } - if resp.Token == "" { log.NewError(req.OperationID, utils.GetSelfFuncName(), "failed") - return resp, openIMHttp.WrapError(constant.ErrTokenMalformed) + resp.CommonResp.ErrCode = constant.ErrTokenUnknown.ErrCode + resp.CommonResp.ErrMsg = constant.ErrTokenMalformed.ErrMsg + return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil @@ -105,10 +112,12 @@ func (s *adminCMSServer) AdminLogin(_ context.Context, req *pbAdminCMS.AdminLogi func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.AddUserRegisterAddFriendIDListReq) (*pbAdminCMS.AddUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{} + resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} if err := imdb.AddUserRegisterAddFriendIDList(req.UserIDList...); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) return resp, nil @@ -116,16 +125,20 @@ func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req * func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.ReduceUserRegisterAddFriendIDListReq) (*pbAdminCMS.ReduceUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.ReduceUserRegisterAddFriendIDListResp{} + resp := &pbAdminCMS.ReduceUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} 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) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } } else { if err := imdb.DeleteAllRegisterAddFriendIDList(); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) @@ -134,16 +147,19 @@ func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, re 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{}} + resp := &pbAdminCMS.GetUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} userIDList, err := imdb.GetRegisterAddFriendList(req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } userList, err := imdb.GetUsersByUserIDList(userIDList) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), userList, userIDList) resp.Pagination = &server_api_params.ResponsePagination{ @@ -154,3 +170,500 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) return resp, nil } + +func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatLogsReq) (*pbAdminCMS.GetChatLogsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) + resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{}} + time, err := utils.TimeStringToTime(req.SendTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) + resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + chatLog := db.ChatLog{ + Content: req.Content, + SendTime: time, + ContentType: req.ContentType, + SessionType: req.SessionType, + RecvID: req.RecvID, + SendID: req.SendID, + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) + nums, err := imdb.GetChatLogCount(chatLog) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.ChatLogsNum = int32(nums) + chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, chatLog := range chatLogs { + pbChatLog := &pbAdminCMS.ChatLog{} + utils.CopyStructFields(pbChatLog, chatLog) + pbChatLog.SendTime = chatLog.SendTime.Unix() + pbChatLog.CreateTime = chatLog.CreateTime.Unix() + if chatLog.SenderNickname == "" { + sendUser, err := imdb.GetUserByUserID(chatLog.SendID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) + continue + } + pbChatLog.SenderNickname = sendUser.Nickname + } + switch chatLog.SessionType { + case constant.SingleChatType: + recvUser, err := imdb.GetUserByUserID(chatLog.RecvID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) + continue + } + pbChatLog.SenderNickname = recvUser.Nickname + + case constant.GroupChatType, constant.SuperGroupChatType: + group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed") + continue + } + pbChatLog.RecvID = group.GroupID + pbChatLog.GroupName = group.GroupName + } + resp.ChatLogs = append(resp.ChatLogs, pbChatLog) + } + resp.Pagination = &server_api_params.ResponsePagination{ + CurrentPage: req.Pagination.PageNumber, + ShowNumber: req.Pagination.ShowNumber, + } + + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp output: ", resp.String()) + return resp, nil +} + +func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetActiveGroupReq) (*pbAdminCMS.GetActiveGroupResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) + resp := &pbAdminCMS.GetActiveGroupResp{CommonResp: &pbAdminCMS.CommonResp{}} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) + activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, activeGroup := range activeGroups { + resp.Groups = append(resp.Groups, + &pbAdminCMS.GroupResp{ + GroupName: activeGroup.Name, + GroupId: activeGroup.Id, + MessageNum: int32(activeGroup.MessageNum), + }) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) + return resp, nil +} + +func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetActiveUserReq) (*pbAdminCMS.GetActiveUserResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) + resp := &pbAdminCMS.GetActiveUserResp{CommonResp: &pbAdminCMS.CommonResp{}} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) + activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, activeUser := range activeUsers { + resp.Users = append(resp.Users, + &pbAdminCMS.UserResp{ + UserID: activeUser.ID, + NickName: activeUser.Name, + MessageNum: int32(activeUser.MessageNum), + }, + ) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) + return resp, nil +} + +func ParseTimeFromTo(from, to string) (time.Time, time.Time, error) { + var fromTime time.Time + var toTime time.Time + fromTime, err := utils.TimeStringToTime(from) + if err != nil { + return fromTime, toTime, err + } + toTime, err = utils.TimeStringToTime(to) + if err != nil { + return fromTime, toTime, err + } + return fromTime, toTime, nil +} + +func isInOneMonth(from, to time.Time) bool { + return from.Month() == to.Month() && from.Year() == to.Year() +} + +func GetRangeDate(from, to time.Time) [][2]time.Time { + interval := to.Sub(from) + var times [][2]time.Time + switch { + // today + case interval == 0: + times = append(times, [2]time.Time{ + from, from.Add(time.Hour * 24), + }) + // days + case isInOneMonth(from, to): + for i := 0; ; i++ { + fromTime := from.Add(time.Hour * 24 * time.Duration(i)) + toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) + if toTime.After(to.Add(time.Hour * 24)) { + break + } + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } + // month + case !isInOneMonth(from, to): + if to.Sub(from) < time.Hour*24*30 { + for i := 0; ; i++ { + fromTime := from.Add(time.Hour * 24 * time.Duration(i)) + toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) + if toTime.After(to.Add(time.Hour * 24)) { + break + } + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } + } else { + for i := 0; ; i++ { + if i == 0 { + fromTime := from + toTime := getFirstDateOfNextNMonth(fromTime, 1) + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } else { + fromTime := getFirstDateOfNextNMonth(from, i) + toTime := getFirstDateOfNextNMonth(fromTime, 1) + if toTime.After(to) { + toTime = to + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + break + } + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } + + } + } + } + return times +} + +func getFirstDateOfNextNMonth(currentTime time.Time, n int) time.Time { + lastOfMonth := time.Date(currentTime.Year(), currentTime.Month(), 1, 0, 0, 0, 0, currentTime.Location()).AddDate(0, n, 0) + return lastOfMonth +} + +func (s *adminCMSServer) GetGroupStatistics(_ context.Context, req *pbAdminCMS.GetGroupStatisticsReq) (*pbAdminCMS.GetGroupStatisticsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) + resp := &pbAdminCMS.GetGroupStatisticsResp{CommonResp: &pbAdminCMS.CommonResp{}} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) + + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + totalGroupNum, err := imdb.GetTotalGroupNum() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.IncreaseGroupNum = increaseGroupNum + resp.TotalGroupNum = totalGroupNum + times := GetRangeDate(fromTime, toTime) + log.NewDebug(req.OperationID, "times:", times) + wg := &sync.WaitGroup{} + resp.IncreaseGroupNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.TotalGroupNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + wg.Add(len(times)) + for i, v := range times { + go func(wg *sync.WaitGroup, index int, v [2]time.Time) { + defer wg.Done() + num, err := imdb.GetIncreaseGroupNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.IncreaseGroupNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + num, err = imdb.GetGroupNum(v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.TotalGroupNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + }(wg, i, v) + } + wg.Wait() + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + return resp, nil +} + +func (s *adminCMSServer) GetMessageStatistics(_ context.Context, req *pbAdminCMS.GetMessageStatisticsReq) (*pbAdminCMS.GetMessageStatisticsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) + resp := &pbAdminCMS.GetMessageStatisticsResp{CommonResp: &pbAdminCMS.CommonResp{}} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) + resp.PrivateMessageNum = privateMessageNum + resp.GroupMessageNum = groupMessageNum + times := GetRangeDate(fromTime, toTime) + resp.GroupMessageNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.PrivateMessageNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + wg := &sync.WaitGroup{} + wg.Add(len(times)) + for i, v := range times { + go func(wg *sync.WaitGroup, index int, v [2]time.Time) { + defer wg.Done() + + num, err := imdb.GetPrivateMessageNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.PrivateMessageNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + num, err = imdb.GetGroupMessageNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.GroupMessageNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + }(wg, i, v) + } + wg.Wait() + return resp, nil +} + +func (s *adminCMSServer) GetUserStatistics(_ context.Context, req *pbAdminCMS.GetUserStatisticsReq) (*pbAdminCMS.GetUserStatisticsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbAdminCMS.GetUserStatisticsResp{CommonResp: &pbAdminCMS.CommonResp{}} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + totalUserNum, err := imdb.GetTotalUserNum() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.ActiveUserNum = activeUserNum + resp.TotalUserNum = totalUserNum + resp.IncreaseUserNum = increaseUserNum + times := GetRangeDate(fromTime, toTime) + resp.TotalUserNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.ActiveUserNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.IncreaseUserNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + wg := &sync.WaitGroup{} + wg.Add(len(times)) + for i, v := range times { + go func(wg *sync.WaitGroup, index int, v [2]time.Time) { + defer wg.Done() + num, err := imdb.GetActiveUserNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.ActiveUserNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + + num, err = imdb.GetTotalUserNumByDate(v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNumByDate", v, err.Error()) + } + resp.TotalUserNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + num, err = imdb.GetIncreaseUserNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum", v, err.Error()) + } + resp.IncreaseUserNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + }(wg, i, v) + } + wg.Wait() + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + return resp, nil +} + +func (s *adminCMSServer) GetUserFriends(_ context.Context, req *pbAdminCMS.GetUserFriendsReq) (*pbAdminCMS.GetUserFriendsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbAdminCMS.GetUserFriendsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}} + var friendList []*imdb.FriendUser + var err error + if req.FriendUserID != "" { + friend, err := imdb.GetFriendByIDCMS(req.UserID, req.FriendUserID) + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err, req.UserID, req.FriendUserID) + return resp, nil + } + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID, req.FriendUserID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + friendList = append(friendList, friend) + resp.FriendNums = 1 + } else { + var count int64 + friendList, count, err = imdb.GetUserFriendsCMS(req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.FriendNums = int32(count) + } + for _, v := range friendList { + friendInfo := &server_api_params.FriendInfo{} + userInfo := &server_api_params.UserInfo{UserID: v.FriendUserID, Nickname: v.Nickname} + utils.CopyStructFields(friendInfo, v) + friendInfo.FriendUser = userInfo + resp.FriendInfoList = append(resp.FriendInfoList, friendInfo) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, nil +} + +func (s *adminCMSServer) GenerateInvitationCode(_ context.Context, req *pbAdminCMS.GenerateInvitationCodeReq) (*pbAdminCMS.GenerateInvitationCodeResp, error) { + return nil, nil +} + +func (s *adminCMSServer) GetInvitationCodes(_ context.Context, req *pbAdminCMS.GetInvitationCodesReq) (*pbAdminCMS.GetInvitationCodesResp, error) { + return nil, nil +} + +func (s *adminCMSServer) QueryIPRegister(_ context.Context, req *pbAdminCMS.QueryIPRegisterReq) (*pbAdminCMS.QueryIPRegisterResp, error) { + return nil, nil +} + +func (s *adminCMSServer) AddIPLimit(_ context.Context, req *pbAdminCMS.AddIPLimitReq) (*pbAdminCMS.AddIPLimitResp, error) { + return nil, nil +} + +func (s *adminCMSServer) RemoveIPLimit(_ context.Context, req *pbAdminCMS.RemoveIPLimitReq) (*pbAdminCMS.RemoveIPLimitResp, error) { + return nil, nil +} + +func (s *adminCMSServer) QueryUserIDIPLimitLogin(_ context.Context, req *pbAdminCMS.QueryUserIDIPLimitLoginReq) (*pbAdminCMS.QueryUserIDIPLimitLoginResp, error) { + return nil, nil +} + +func (s *adminCMSServer) AddUserIPLimitLogin(_ context.Context, req *pbAdminCMS.AddUserIPLimitLoginReq) (*pbAdminCMS.AddUserIPLimitLoginResp, error) { + return nil, nil +} + +func (s *adminCMSServer) RemoveUserIPLimit(_ context.Context, req *pbAdminCMS.RemoveUserIPLimitReq) (*pbAdminCMS.RemoveUserIPLimitResp, error) { + return nil, nil +} + +func (s *adminCMSServer) GetClientInitConfig(_ context.Context, req *pbAdminCMS.GetClientInitConfigReq) (*pbAdminCMS.GetClientInitConfigResp, error) { + return nil, nil +} + +func (s *adminCMSServer) SetClientInitConfig(_ context.Context, req *pbAdminCMS.SetClientInitConfigReq) (*pbAdminCMS.SetClientInitConfigResp, error) { + return nil, nil +} diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index ccab54c65..a9ab75569 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -29,43 +29,24 @@ func (rpc *rpcAuth) UserRegister(_ context.Context, req *pbAuth.UserRegisterReq) user.Birth = utils.UnixSecondToTime(int64(req.UserInfo.Birth)) } log.Debug(req.OperationID, "copy ", user, req.UserInfo) - Limited, LimitError := imdb.IsLimitRegisterIp(req.UserInfo.CreateIp) - if LimitError != nil { - return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil - } - if Limited { - return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.RegisterLimit, ErrMsg: "Register Limit"}}, nil - } err := imdb.UserRegister(user) if err != nil { - if err == constant.InvitationMsg { - return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.InvitationError, ErrMsg: "邀请码错误"}}, nil - } errMsg := req.OperationID + " imdb.UserRegister failed " + err.Error() + user.UserID log.NewError(req.OperationID, errMsg, user) return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{}}) return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{}}, nil } func (rpc *rpcAuth) UserToken(_ context.Context, req *pbAuth.UserTokenReq) (*pbAuth.UserTokenResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc args ", req.String()) - _, err := imdb.GetUserByUserID(req.FromUserID) - if err != nil { - errMsg := req.OperationID + " imdb.GetUserByUserID failed " + err.Error() + req.FromUserID - log.NewError(req.OperationID, errMsg) - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil - } - tokens, expTime, err := token_verify.CreateToken(req.FromUserID, int(req.Platform)) if err != nil { errMsg := req.OperationID + " token_verify.CreateToken failed " + err.Error() + req.FromUserID + utils.Int32ToString(req.Platform) log.NewError(req.OperationID, errMsg) return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{}, Token: tokens, ExpiredTime: expTime}) return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{}, Token: tokens, ExpiredTime: expTime}, nil } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index cf1033d4a..971c21c32 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -6,8 +6,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/db/rocks_cache" - "Open_IM/pkg/common/http" + rocksCache "Open_IM/pkg/common/db/rocks_cache" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" cp "Open_IM/pkg/common/utils" @@ -19,12 +18,15 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" - "google.golang.org/grpc" + "errors" "math/big" "net" "strconv" "strings" "time" + + "google.golang.org/grpc" + "gorm.io/gorm" ) type groupServer struct { @@ -121,7 +123,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR err := imdb.InsertIntoGroup(groupInfo) if err != nil { log.NewError(req.OperationID, "InsertIntoGroup failed, ", err.Error(), groupInfo) - return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, http.WrapError(constant.ErrDB) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil } var okUserIDList []string resp := &pbGroup.CreateGroupResp{GroupInfo: &open_im_sdk.GroupInfo{}} @@ -131,7 +133,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR us, err = imdb.GetUserByUserID(req.OwnerUserID) if err != nil { log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), req.OwnerUserID) - return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, http.WrapError(constant.ErrDB) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil } //to group member groupMember = db.GroupMember{GroupID: groupId, RoleLevel: constant.GroupOwner, OperatorUserID: req.OpUserID, JoinSource: constant.JoinByInvitation, InviterUserID: req.OpUserID} @@ -139,7 +141,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR err = imdb.InsertIntoGroupMember(groupMember) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) - return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, http.WrapError(constant.ErrDB) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil } } @@ -316,7 +318,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) continue - log.NewError(req.OperationID, "InsertIntoGroupRequest failed ", err.Error(), groupRequest) + // log.NewError(req.OperationID, "InsertIntoGroupRequest failed ", err.Error(), groupRequest) // return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } else { var resultNode pbGroup.Id2Result @@ -827,7 +829,6 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.GroupApplicationResponseReq) (*pbGroup.GroupApplicationResponseResp, error) { log.NewInfo(req.OperationID, "GroupApplicationResponse args ", req.String()) - groupRequest := db.GroupRequest{} utils.CopyStructFields(&groupRequest, req) groupRequest.UserID = req.FromUserID @@ -1162,7 +1163,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf group, err := imdb.GetGroupInfoByGroupID(req.GroupInfoForSet.GroupID) if err != nil { log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", err.Error(), req.GroupInfoForSet.GroupID) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil } if group.Status == constant.GroupStatusDismissed { @@ -1199,7 +1200,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf m["need_verification"] = req.GroupInfoForSet.NeedVerification.Value if err := imdb.UpdateGroupInfoDefaultZero(req.GroupInfoForSet.GroupID, m); err != nil { log.NewError(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), m) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } } if req.GroupInfoForSet.LookMemberInfo != nil { @@ -1208,7 +1209,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf m["look_member_info"] = req.GroupInfoForSet.LookMemberInfo.Value if err := imdb.UpdateGroupInfoDefaultZero(req.GroupInfoForSet.GroupID, m); err != nil { log.NewError(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), m) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } } if req.GroupInfoForSet.ApplyMemberFriend != nil { @@ -1217,7 +1218,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf m["apply_member_friend"] = req.GroupInfoForSet.ApplyMemberFriend.Value if err := imdb.UpdateGroupInfoDefaultZero(req.GroupInfoForSet.GroupID, m); err != nil { log.NewError(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), m) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } } // @@ -1234,11 +1235,11 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf err = imdb.SetGroupInfo(groupInfo) if err != nil { log.NewError(req.OperationID, "SetGroupInfo failed ", err.Error(), groupInfo) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } if err := rocksCache.DelGroupInfoFromCache(req.GroupInfoForSet.GroupID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelGroupInfoFromCache failed ", err.Error(), req.GroupInfoForSet.GroupID) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}}) @@ -1252,7 +1253,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf if etcdConn == nil { errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(req.OperationID, errMsg) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, http.WrapError(constant.ErrInternal) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil } client := pbCache.NewCacheClient(etcdConn) cacheResp, err := client.GetGroupMemberIDListFromCache(context.Background(), getGroupMemberIDListFromCacheReq) @@ -1281,7 +1282,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf if etcdConn == nil { errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(req.OperationID, errMsg) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, http.WrapError(constant.ErrInternal) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil } nClient := pbConversation.NewConversationClient(nEtcdConn) conversationReply, err := nClient.ModifyConversationField(context.Background(), &conversationReq) @@ -1336,154 +1337,81 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe } -func (s *groupServer) GetGroupByID(_ context.Context, req *pbGroup.GetGroupByIDReq) (*pbGroup.GetGroupByIDResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbGroup.GetGroupByIDResp{CMSGroup: &pbGroup.CMSGroup{ - GroupInfo: &open_im_sdk.GroupInfo{}, - }} - group, err := imdb.GetGroupInfoByGroupID(req.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById error", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - utils.CopyStructFields(resp.CMSGroup.GroupInfo, group) - groupMember, err := imdb.GetGroupOwnerInfoByGroupID(group.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - groupMemberNum, err := imdb.GetGroupMemberNumByGroupID(req.GroupID) - if err == nil { - resp.CMSGroup.GroupInfo.MemberCount = uint32(groupMemberNum) - } else { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - resp.CMSGroup.GroupOwnerUserName = groupMember.Nickname - resp.CMSGroup.GroupOwnerUserID = groupMember.UserID - resp.CMSGroup.GroupInfo.CreatorUserID = group.CreatorUserID - resp.CMSGroup.GroupInfo.CreateTime = uint32(group.CreateTime.Unix()) - utils.CopyStructFields(resp.CMSGroup.GroupInfo, group) - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} - -func (s *groupServer) GetGroup(_ context.Context, req *pbGroup.GetGroupReq) (*pbGroup.GetGroupResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbGroup.GetGroupResp{ - CMSGroups: []*pbGroup.CMSGroup{}, - } - groups, err := imdb.GetGroupsByName(req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsByName error", req.String(), req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) - return resp, http.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "groups", groups) - nums, err := imdb.GetGroupsCountNum(db.Group{GroupName: req.GroupName}) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum error", err.Error(), req.GroupName) - return resp, http.WrapError(constant.ErrDB) - } - resp.GroupNums = nums - resp.Pagination = &open_im_sdk.RequestPagination{ - PageNumber: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - for _, v := range groups { - group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}} - utils.CopyStructFields(group.GroupInfo, v) - 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 - resp.CMSGroups = append(resp.CMSGroups, group) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} - func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*pbGroup.GetGroupsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups ", req.String()) resp := &pbGroup.GetGroupsResp{ + CommonResp: &pbGroup.CommonResp{}, CMSGroups: []*pbGroup.CMSGroup{}, - Pagination: &open_im_sdk.RequestPagination{}, + Pagination: &open_im_sdk.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}, } - groups, err := imdb.GetGroups(int(req.Pagination.PageNumber), int(req.Pagination.ShowNumber)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroups error", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - resp.GroupNum, err = imdb.GetGroupsCountNum(db.Group{}) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum error", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - resp.Pagination.PageNumber = req.Pagination.PageNumber - resp.Pagination.ShowNumber = req.Pagination.ShowNumber - for _, v := range groups { - group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}} - utils.CopyStructFields(group.GroupInfo, v) - groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID) + if req.GroupID != "" { + groupInfoDB, err := imdb.GetGroupInfoByGroupID(req.GroupID) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error(), v) - continue + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil + } + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } - group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix()) - group.GroupOwnerUserID = groupMember.UserID - group.GroupOwnerUserName = groupMember.Nickname - resp.CMSGroups = append(resp.CMSGroups, group) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups ", resp.String()) - return resp, nil -} - -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.GetGroupOwnerInfoByGroupID(req.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrInternal) - } - client := pbGroup.NewGroupClient(etcdConn) - var reqPb pbGroup.TransferGroupOwnerReq - reqPb.OperationID = req.OperationID - reqPb.NewOwnerUserID = req.UserID - reqPb.GroupID = req.GroupID - reqPb.OpUserID = "cms admin" - reqPb.OldOwnerUserID = oldOwnerUserID.UserID - reply, err := client.TransferGroupOwner(context.Background(), &reqPb) - if reply.CommonResp.ErrCode != 0 || err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "TransferGroupOwner rpc failed") + resp.GroupNum = 1 + groupInfo := &open_im_sdk.GroupInfo{} + utils.CopyStructFields(groupInfo, groupInfoDB) + groupMember, err := imdb.GetGroupOwnerInfoByGroupID(req.GroupID) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.CMSGroups = append(resp.CMSGroups, &pbGroup.CMSGroup{GroupInfo: groupInfo, GroupOwnerUserName: groupMember.Nickname, GroupOwnerUserID: groupMember.UserID}) + } else { + groups, err := imdb.GetGroupsByName(req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsByName error", req.String(), req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + } + for _, v := range groups { + group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}} + utils.CopyStructFields(group.GroupInfo, v) + groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupOwnerInfoByGroupID failed", err.Error(), v) + continue + } + group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix()) + group.GroupOwnerUserID = groupMember.UserID + group.GroupOwnerUserName = groupMember.Nickname + resp.CMSGroups = append(resp.CMSGroups, group) + } + resp.GroupNum, err = imdb.GetGroupsCountNum(db.Group{GroupName: req.GroupName}) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum error", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups resp", resp.String()) return resp, nil } func (s *groupServer) GetGroupMembersCMS(_ context.Context, req *pbGroup.GetGroupMembersCMSReq) (*pbGroup.GetGroupMembersCMSResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.GetGroupMembersCMSResp{} + resp := &pbGroup.GetGroupMembersCMSResp{CommonResp: &pbGroup.CommonResp{}} groupMembers, err := imdb.GetGroupMembersByGroupIdCMS(req.GroupID, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMembersByGroupIdCMS Error", err.Error()) - return resp, http.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } groupMembersCount, err := imdb.GetGroupMembersCount(req.GroupID, req.UserName) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMembersCMS Error", err.Error()) - return resp, http.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } log.NewInfo(req.OperationID, groupMembersCount) resp.MemberNums = int32(groupMembersCount) @@ -1502,151 +1430,6 @@ func (s *groupServer) GetGroupMembersCMS(_ context.Context, req *pbGroup.GetGrou return resp, nil } -func (s *groupServer) RemoveGroupMembersCMS(_ context.Context, req *pbGroup.RemoveGroupMembersCMSReq) (*pbGroup.RemoveGroupMembersCMSResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.RemoveGroupMembersCMSResp{} - for _, userId := range req.UserIDList { - err := imdb.DeleteGroupMemberByGroupIDAndUserID(req.GroupID, userId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - resp.Failed = append(resp.Failed, userId) - } else { - resp.Success = append(resp.Success, userId) - } - } - reqKick := &pbGroup.KickGroupMemberReq{ - GroupID: req.GroupID, - KickedUserIDList: resp.Success, - Reason: "admin kick", - OperationID: req.OperationID, - OpUserID: req.OpUserID, - } - var reqPb pbUser.SetConversationReq - var c pbConversation.Conversation - for _, v := range resp.Success { - reqPb.OperationID = req.OperationID - c.OwnerUserID = v - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) - c.ConversationType = constant.GroupChatType - c.GroupID = req.GroupID - c.IsNotInGroup = true - reqPb.Conversation = &c - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrInternal) - } - client := pbUser.NewUserClient(etcdConn) - respPb, err := client.SetConversation(context.Background(), &reqPb) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v) - } else { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v) - } - } - - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrDB) - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return resp, http.WrapError(constant.ErrDB) - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - - for _, userID := range resp.Success { - if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, userID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID, userID) - } - } - - chat.MemberKickedNotification(reqKick, resp.Success) - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *groupServer) AddGroupMembersCMS(_ context.Context, req *pbGroup.AddGroupMembersCMSReq) (*pbGroup.AddGroupMembersCMSResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.AddGroupMembersCMSResp{} - for _, userId := range req.UserIDList { - if isExist := imdb.IsExistGroupMember(req.GroupID, userId); isExist { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "user is exist in group", userId, req.GroupID) - resp.Failed = append(resp.Failed, userId) - continue - } - user, err := imdb.GetUserByUserID(userId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID", err.Error()) - resp.Failed = append(resp.Failed, userId) - continue - } - groupMember := db.GroupMember{ - GroupID: req.GroupID, - UserID: userId, - Nickname: user.Nickname, - FaceURL: "", - RoleLevel: 1, - JoinTime: time.Time{}, - JoinSource: constant.JoinByAdmin, - OperatorUserID: "CmsAdmin", - Ex: "", - } - if err := imdb.InsertIntoGroupMember(groupMember); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "InsertIntoGroupMember failed", req.String()) - resp.Failed = append(resp.Failed, userId) - } else { - resp.Success = append(resp.Success, userId) - } - } - - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrDB) - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return resp, http.WrapError(constant.ErrDB) - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - - chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, "admin add you to group", resp.Success) - return resp, nil -} - func (s *groupServer) GetUserReqApplicationList(_ context.Context, req *pbGroup.GetUserReqApplicationListReq) (*pbGroup.GetUserReqApplicationListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbGroup.GetUserReqApplicationListResp{} diff --git a/internal/rpc/message_cms/message_cms.go b/internal/rpc/message_cms/message_cms.go deleted file mode 100644 index 58a7e7d4e..000000000 --- a/internal/rpc/message_cms/message_cms.go +++ /dev/null @@ -1,182 +0,0 @@ -package messageCMS - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - errors "Open_IM/pkg/common/http" - "context" - "strconv" - - "Open_IM/pkg/common/log" - - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbMessageCMS "Open_IM/pkg/proto/message_cms" - open_im_sdk "Open_IM/pkg/proto/sdk_ws" - - "Open_IM/pkg/utils" - - "net" - "strings" - - "google.golang.org/grpc" -) - -type messageCMSServer struct { - rpcPort int - rpcRegisterName string - etcdSchema string - etcdAddr []string -} - -func NewMessageCMSServer(port int) *messageCMSServer { - log.NewPrivateLog(constant.LogFileName) - return &messageCMSServer{ - rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImMessageCMSName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, - } -} - -func (s *messageCMSServer) Run() { - log.NewInfo("0", "messageCMS rpc start ") - - listenIP := "" - if config.Config.ListenIP == "" { - listenIP = "0.0.0.0" - } else { - listenIP = config.Config.ListenIP - } - address := listenIP + ":" + strconv.Itoa(s.rpcPort) - - //listener network - listener, err := net.Listen("tcp", address) - if err != nil { - panic("listening err:" + err.Error() + s.rpcRegisterName) - } - log.NewInfo("0", "listen network success, ", address, listener) - defer listener.Close() - //grpc server - srv := grpc.NewServer() - defer srv.GracefulStop() - //Service registers with etcd - pbMessageCMS.RegisterMessageCMSServer(srv, s) - rpcRegisterIP := config.Config.RpcRegisterIP - if config.Config.RpcRegisterIP == "" { - rpcRegisterIP, err = utils.GetLocalIP() - if err != nil { - log.Error("", "GetLocalIP failed ", err.Error()) - } - } - log.NewInfo("", "rpcRegisterIP", rpcRegisterIP) - err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), rpcRegisterIP, s.rpcPort, s.rpcRegisterName, 10) - if err != nil { - log.NewError("0", "RegisterEtcd failed ", err.Error()) - panic(utils.Wrap(err, "register message_cms module rpc to etcd err")) - } - err = srv.Serve(listener) - if err != nil { - log.NewError("0", "Serve failed ", err.Error()) - return - } - log.NewInfo("0", "message cms rpc success") -} - -func (s *messageCMSServer) BoradcastMessage(_ context.Context, req *pbMessageCMS.BoradcastMessageReq) (*pbMessageCMS.BoradcastMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "BoradcastMessage", req.String()) - resp := &pbMessageCMS.BoradcastMessageResp{} - return resp, errors.WrapError(constant.ErrDB) -} - -func (s *messageCMSServer) GetChatLogs(_ context.Context, req *pbMessageCMS.GetChatLogsReq) (*pbMessageCMS.GetChatLogsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) - resp := &pbMessageCMS.GetChatLogsResp{} - time, err := utils.TimeStringToTime(req.Date) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) - } - chatLog := db.ChatLog{ - Content: req.Content, - SendTime: time, - ContentType: req.ContentType, - SessionType: req.SessionType, - } - switch chatLog.SessionType { - case constant.SingleChatType: - chatLog.SendID = req.UserId - case constant.GroupChatType: - chatLog.RecvID = req.GroupId - chatLog.SendID = req.UserId - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) - nums, err := imdb.GetChatLogCount(chatLog) - resp.ChatLogsNum = int32(nums) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error()) - } - chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, chatLog := range chatLogs { - pbChatLog := &pbMessageCMS.ChatLogs{ - SessionType: chatLog.SessionType, - ContentType: chatLog.ContentType, - SearchContent: req.Content, - WholeContent: chatLog.Content, - Date: chatLog.CreateTime.String(), - SenderNickName: chatLog.SenderNickname, - SenderId: chatLog.SendID, - } - if chatLog.SenderNickname == "" { - sendUser, err := imdb.GetUserByUserID(chatLog.SendID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) - continue - } - pbChatLog.SenderNickName = sendUser.Nickname - } - switch chatLog.SessionType { - case constant.SingleChatType: - recvUser, err := imdb.GetUserByUserID(chatLog.RecvID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) - continue - } - pbChatLog.ReciverId = recvUser.UserID - pbChatLog.ReciverNickName = recvUser.Nickname - - case constant.GroupChatType: - group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed") - continue - } - pbChatLog.GroupId = group.GroupID - pbChatLog.GroupName = group.GroupName - } - resp.ChatLogs = append(resp.ChatLogs, pbChatLog) - } - resp.Pagination = &open_im_sdk.ResponsePagination{ - CurrentPage: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp output: ", resp.String()) - return resp, nil -} - -func (s *messageCMSServer) MassSendMessage(_ context.Context, req *pbMessageCMS.MassSendMessageReq) (*pbMessageCMS.MassSendMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "MassSendMessage", req.String()) - resp := &pbMessageCMS.MassSendMessageResp{} - return resp, nil -} - -func (s *messageCMSServer) WithdrawMessage(_ context.Context, req *pbMessageCMS.WithdrawMessageReq) (*pbMessageCMS.WithdrawMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "WithdrawMessage", req.String()) - resp := &pbMessageCMS.WithdrawMessageResp{} - return resp, nil -} diff --git a/internal/rpc/statistics/statistics.go b/internal/rpc/statistics/statistics.go deleted file mode 100644 index 8947c6a74..000000000 --- a/internal/rpc/statistics/statistics.go +++ /dev/null @@ -1,399 +0,0 @@ -package statistics - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "context" - "strconv" - "sync" - "time" - - //"Open_IM/pkg/common/constant" - //"Open_IM/pkg/common/db" - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/log" - - //cp "Open_IM/pkg/common/utils" - "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbStatistics "Open_IM/pkg/proto/statistics" - - //open_im_sdk "Open_IM/pkg/proto/sdk_ws" - "Open_IM/pkg/utils" - //"context" - errors "Open_IM/pkg/common/http" - "net" - "strings" - - "google.golang.org/grpc" -) - -type statisticsServer struct { - rpcPort int - rpcRegisterName string - etcdSchema string - etcdAddr []string -} - -func NewStatisticsServer(port int) *statisticsServer { - log.NewPrivateLog(constant.LogFileName) - return &statisticsServer{ - rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImStatisticsName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, - } -} - -func (s *statisticsServer) Run() { - log.NewInfo("0", "Statistics rpc start ") - - listenIP := "" - if config.Config.ListenIP == "" { - listenIP = "0.0.0.0" - } else { - listenIP = config.Config.ListenIP - } - address := listenIP + ":" + strconv.Itoa(s.rpcPort) - - //listener network - listener, err := net.Listen("tcp", address) - if err != nil { - panic("listening err:" + err.Error() + s.rpcRegisterName) - } - log.NewInfo("0", "listen network success, ", address, listener) - defer listener.Close() - //grpc server - srv := grpc.NewServer() - defer srv.GracefulStop() - //Service registers with etcd - pbStatistics.RegisterUserServer(srv, s) - rpcRegisterIP := config.Config.RpcRegisterIP - if config.Config.RpcRegisterIP == "" { - rpcRegisterIP, err = utils.GetLocalIP() - if err != nil { - log.Error("", "GetLocalIP failed ", err.Error()) - } - } - err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), rpcRegisterIP, s.rpcPort, s.rpcRegisterName, 10) - if err != nil { - log.NewError("0", "RegisterEtcd failed ", err.Error()) - panic(utils.Wrap(err, "register statistics module rpc to etcd err")) - } - err = srv.Serve(listener) - if err != nil { - log.NewError("0", "Serve failed ", err.Error()) - return - } - log.NewInfo("0", "statistics rpc success") -} - -func (s *statisticsServer) GetActiveGroup(_ context.Context, req *pbStatistics.GetActiveGroupReq) (*pbStatistics.GetActiveGroupResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) - resp := &pbStatistics.GetActiveGroupResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, activeGroup := range activeGroups { - resp.Groups = append(resp.Groups, - &pbStatistics.GroupResp{ - GroupName: activeGroup.Name, - GroupId: activeGroup.Id, - MessageNum: int32(activeGroup.MessageNum), - }) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) - return resp, nil -} - -func (s *statisticsServer) GetActiveUser(_ context.Context, req *pbStatistics.GetActiveUserReq) (*pbStatistics.GetActiveUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetActiveUserResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, activeUser := range activeUsers { - resp.Users = append(resp.Users, - &pbStatistics.UserResp{ - UserId: activeUser.Id, - NickName: activeUser.Name, - MessageNum: int32(activeUser.MessageNum), - }, - ) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) - return resp, nil -} - -func ParseTimeFromTo(from, to string) (time.Time, time.Time, error) { - var fromTime time.Time - var toTime time.Time - fromTime, err := utils.TimeStringToTime(from) - if err != nil { - return fromTime, toTime, err - } - toTime, err = utils.TimeStringToTime(to) - if err != nil { - return fromTime, toTime, err - } - return fromTime, toTime, nil -} - -func isInOneMonth(from, to time.Time) bool { - return from.Month() == to.Month() && from.Year() == to.Year() -} - -func GetRangeDate(from, to time.Time) [][2]time.Time { - interval := to.Sub(from) - var times [][2]time.Time - switch { - // today - case interval == 0: - times = append(times, [2]time.Time{ - from, from.Add(time.Hour * 24), - }) - // days - case isInOneMonth(from, to): - for i := 0; ; i++ { - fromTime := from.Add(time.Hour * 24 * time.Duration(i)) - toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) - if toTime.After(to.Add(time.Hour * 24)) { - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - // month - case !isInOneMonth(from, to): - if to.Sub(from) < time.Hour*24*30 { - for i := 0; ; i++ { - fromTime := from.Add(time.Hour * 24 * time.Duration(i)) - toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) - if toTime.After(to.Add(time.Hour * 24)) { - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - } else { - for i := 0; ; i++ { - if i == 0 { - fromTime := from - toTime := getFirstDateOfNextNMonth(fromTime, 1) - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } else { - fromTime := getFirstDateOfNextNMonth(from, i) - toTime := getFirstDateOfNextNMonth(fromTime, 1) - if toTime.After(to) { - toTime = to - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - - } - } - } - return times -} - -func getFirstDateOfNextNMonth(currentTime time.Time, n int) time.Time { - lastOfMonth := time.Date(currentTime.Year(), currentTime.Month(), 1, 0, 0, 0, 0, currentTime.Location()).AddDate(0, n, 0) - return lastOfMonth -} - -func (s *statisticsServer) GetGroupStatistics(_ context.Context, req *pbStatistics.GetGroupStatisticsReq) (*pbStatistics.GetGroupStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetGroupStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) - return resp, errors.WrapError(constant.ErrDB) - } - totalGroupNum, err := imdb.GetTotalGroupNum() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.IncreaseGroupNum = increaseGroupNum - resp.TotalGroupNum = totalGroupNum - times := GetRangeDate(fromTime, toTime) - log.NewDebug(req.OperationID, "times:", times) - wg := &sync.WaitGroup{} - resp.IncreaseGroupNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.TotalGroupNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - num, err := imdb.GetIncreaseGroupNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.IncreaseGroupNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetGroupNum(v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.TotalGroupNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *statisticsServer) GetMessageStatistics(_ context.Context, req *pbStatistics.GetMessageStatisticsReq) (*pbStatistics.GetMessageStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetMessageStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) - resp.PrivateMessageNum = privateMessageNum - resp.GroupMessageNum = groupMessageNum - times := GetRangeDate(fromTime, toTime) - resp.GroupMessageNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.PrivateMessageNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg := &sync.WaitGroup{} - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - - num, err := imdb.GetPrivateMessageNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.PrivateMessageNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetGroupMessageNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.GroupMessageNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - return resp, nil -} - -func (s *statisticsServer) GetUserStatistics(_ context.Context, req *pbStatistics.GetUserStatisticsReq) (*pbStatistics.GetUserStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbStatistics.GetUserStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - totalUserNum, err := imdb.GetTotalUserNum() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.ActiveUserNum = activeUserNum - resp.TotalUserNum = totalUserNum - resp.IncreaseUserNum = increaseUserNum - times := GetRangeDate(fromTime, toTime) - resp.TotalUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.ActiveUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.IncreaseUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg := &sync.WaitGroup{} - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - num, err := imdb.GetActiveUserNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.ActiveUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - - num, err = imdb.GetTotalUserNumByDate(v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNumByDate", v, err.Error()) - } - resp.TotalUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetIncreaseUserNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum", v, err.Error()) - } - resp.IncreaseUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 4e3f80c46..486f7e901 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -7,7 +7,6 @@ import ( "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" rocksCache "Open_IM/pkg/common/db/rocks_cache" - errors "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" @@ -17,12 +16,13 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" + "errors" "net" "strconv" "strings" - "time" "google.golang.org/grpc" + "gorm.io/gorm" ) type userServer struct { @@ -335,27 +335,6 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp return resp, nil } -func (s *userServer) DeleteUsers(_ context.Context, req *pbUser.DeleteUsersReq) (*pbUser.DeleteUsersResp, error) { - log.NewInfo(req.OperationID, "DeleteUsers args ", req.String()) - if !token_verify.IsManagerUserID(req.OpUserID) { - log.NewError(req.OperationID, "IsManagerUserID false ", req.OpUserID) - return &pbUser.DeleteUsersResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, FailedUserIDList: req.DeleteUserIDList}, nil - } - var common pbUser.CommonResp - resp := pbUser.DeleteUsersResp{CommonResp: &common} - for _, userID := range req.DeleteUserIDList { - i := imdb.DeleteUser(userID) - if i == 0 { - log.NewError(req.OperationID, "delete user error", userID) - common.ErrCode = 201 - common.ErrMsg = "some uid deleted failed" - resp.FailedUserIDList = append(resp.FailedUserIDList, userID) - } - } - log.NewInfo(req.OperationID, "DeleteUsers rpc return ", resp.String()) - return &resp, nil -} - func (s *userServer) GetAllUserID(_ context.Context, req *pbUser.GetAllUserIDReq) (*pbUser.GetAllUserIDResp, error) { log.NewInfo(req.OperationID, "GetAllUserID args ", req.String()) if !token_verify.IsManagerUserID(req.OpUserID) { @@ -543,270 +522,180 @@ func (s *userServer) SyncJoinedGroupMemberNickname(userID string, newNickname, o } } -func (s *userServer) GetUsersByName(ctx context.Context, req *pbUser.GetUsersByNameReq) (*pbUser.GetUsersByNameResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req.String()) - resp := &pbUser.GetUsersByNameResp{} - users, err := imdb.GetUserByName(req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByName failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, user := range users { - isBlock, err := imdb.UserIsBlock(user.UserID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - continue - } - resp.Users = append(resp.Users, &pbUser.User{ - ProfilePhoto: user.FaceURL, - Nickname: user.Nickname, - UserId: user.UserID, - CreateTime: user.CreateTime.Format("2006-01-02 15:04:05"), - CreateIp: user.CreateIp, - IsBlock: isBlock, - Birth: user.Birth.Format("2006-01-02"), - PhoneNumber: user.PhoneNumber, - Email: user.Email, - LastLoginIp: user.LastLoginIp, - LastLoginTime: user.LastLoginTime.Format("2006-01-02 15:04:05"), - LoginTimes: user.LoginTimes, - Gender: user.Gender, - LoginLimit: user.LoginLimit, - }) - } - user := db.User{Nickname: req.UserName} - userNums, err := imdb.GetUsersCount(user) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.UserNums = userNums - resp.Pagination = &sdkws.ResponsePagination{ - CurrentPage: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *userServer) GetUserById(ctx context.Context, req *pbUser.GetUserByIdReq) (*pbUser.GetUserByIdResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req.String()) - resp := &pbUser.GetUserByIdResp{User: &pbUser.User{}} - user, err := imdb.GetUserByUserID(req.UserId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - return resp, errors.WrapError(constant.ErrDB) - } - isBlock, err := imdb.UserIsBlock(req.UserId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "req:", req.String()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.User = &pbUser.User{ - ProfilePhoto: user.FaceURL, - Nickname: user.Nickname, - UserId: user.UserID, - CreateTime: user.CreateTime.Format("2006-01-02 15:04:05"), - CreateIp: user.CreateIp, - IsBlock: isBlock, - Birth: user.Birth.Format("2006-01-02"), - PhoneNumber: user.PhoneNumber, - Email: user.Email, - LastLoginIp: user.LastLoginIp, - LastLoginTime: user.LastLoginTime.Format("2006-01-02 15:04:05"), - LoginTimes: user.LoginTimes, - Gender: user.Gender, - LoginLimit: user.LoginLimit, - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} - func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetUsersResp{User: []*pbUser.User{}} - users, err := imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - - for _, v := range users { - isBlock, err := imdb.UserIsBlock(v.UserID) - if err == nil { - registerIP := "" - registerInfo, err := imdb.GetRegisterInfo(v.UserID) - if registerInfo != nil && err == nil { - registerIP = registerInfo.RegisterIP + resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}, Pagination: &sdkws.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}} + if req.UserID != "" { + userDB, err := imdb.GetUserByUserID(req.UserID) + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil } + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserID, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + return resp, nil + } - user := &pbUser.User{ - ProfilePhoto: v.FaceURL, - UserId: v.UserID, - CreateTime: v.CreateTime.Format("2006-01-02 15:04:05"), - CreateIp: v.CreateIp, - Nickname: v.Nickname, - Birth: v.Birth.Format("2006-01-02"), - PhoneNumber: v.PhoneNumber, - Email: v.Email, - IsBlock: isBlock, - LastLoginIp: v.LastLoginIp, - LastLoginTime: v.LastLoginTime.Format("2006-01-02 15:04:05"), - LoginTimes: v.LoginTimes, - Gender: v.Gender, - LoginLimit: v.LoginLimit, - RegisterIp: registerIP, - } - resp.User = append(resp.User, user) - } else { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "UserIsBlock failed", err.Error()) + user := pbUser.CmsUser{User: &sdkws.UserInfo{}} + utils.CopyStructFields(&user.User, userDB) + user.User.CreateTime = uint32(userDB.CreateTime.Unix()) + resp.UserList = append(resp.UserList, &user) + resp.TotalNums = 1 + } else if req.UserName != "" { + usersDB, err := imdb.GetUserByName(req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + return resp, nil + } + resp.TotalNums, err = imdb.GetUsersCount(req.UserName) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserName, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, userDB := range usersDB { + var user sdkws.UserInfo + utils.CopyStructFields(&user, userDB) + user.CreateTime = uint32(userDB.CreateTime.Unix()) + resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) + } + } else { + usersDB, err := imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.TotalNums, err = imdb.GetTotalUserNum() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, userDB := range usersDB { + var user sdkws.UserInfo + utils.CopyStructFields(&user, userDB) + user.CreateTime = uint32(userDB.CreateTime.Unix()) + resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) } } - user := db.User{} - nums, err := imdb.GetUsersCount(user) + var userIDList []string + for _, v := range resp.UserList { + userIDList = append(userIDList, v.User.UserID) + } + isBlockUser, err := imdb.UsersIsBlock(userIDList) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsersCount failed", err.Error(), user) - return resp, errors.WrapError(constant.ErrDB) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userIDList) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } - resp.UserNums = nums - resp.Pagination = &sdkws.ResponsePagination{ShowNumber: req.Pagination.ShowNumber, CurrentPage: req.Pagination.PageNumber} - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} -func (s *userServer) ResignUser(ctx context.Context, req *pbUser.ResignUserReq) (*pbUser.ResignUserResp, error) { - log.NewInfo(req.OperationID, "ResignUser args ", req.String()) - return &pbUser.ResignUserResp{}, nil -} - -func (s *userServer) AlterUser(ctx context.Context, req *pbUser.AlterUserReq) (*pbUser.AlterUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.AlterUserResp{} - birth, _ := time.ParseInLocation("2006-01-02", req.Birth, time.Local) - gender, gendererr := strconv.Atoi(req.Gender) - if gendererr != nil { - gender = 0 + for _, v := range resp.UserList { + if utils.IsContain(v.User.UserID, isBlockUser) { + v.IsBlock = true + } } - user := db.User{ - PhoneNumber: req.PhoneNumber, - Nickname: req.Nickname, - Email: req.Email, - UserID: req.UserId, - Gender: int32(gender), - FaceURL: req.Photo, - Birth: birth, - } - if err := imdb.UpdateUserInfo(user); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "UpdateUserInfo", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - chat.UserInfoUpdatedNotification(req.OperationID, req.UserId, req.OpUserId) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } func (s *userServer) AddUser(ctx context.Context, req *pbUser.AddUserReq) (*pbUser.AddUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.AddUserResp{} - err := imdb.AddUser(req.UserId, req.PhoneNumber, req.Name, req.Email, req.Gender, req.Photo, req.Birth) + resp := &pbUser.AddUserResp{CommonResp: &pbUser.CommonResp{}} + err := imdb.AddUser(req.UserInfo.UserID, req.UserInfo.PhoneNumber, req.UserInfo.Nickname, req.UserInfo.Email, req.UserInfo.Gender, req.UserInfo.FaceURL, req.UserInfo.Birth) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddUser", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddUser", err.Error(), req.String()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } return resp, nil } func (s *userServer) BlockUser(ctx context.Context, req *pbUser.BlockUserReq) (*pbUser.BlockUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.BlockUserResp{} - err := imdb.BlockUser(req.UserId, req.EndDisableTime) + resp := &pbUser.BlockUserResp{CommonResp: &pbUser.CommonResp{}} + err := imdb.BlockUser(req.UserID, req.EndDisableTime) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "BlockUser", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BlockUser", err.Error(), req.UserID, req.EndDisableTime) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } func (s *userServer) UnBlockUser(ctx context.Context, req *pbUser.UnBlockUserReq) (*pbUser.UnBlockUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.UnBlockUserResp{} - err := imdb.UnBlockUser(req.UserId) + resp := &pbUser.UnBlockUserResp{CommonResp: &pbUser.CommonResp{}} + err := imdb.UnBlockUser(req.UserID) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "unBlockUser", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } -func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUsersReq) (*pbUser.GetBlockUsersResp, error) { +func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUsersReq) (resp *pbUser.GetBlockUsersResp, err error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetBlockUsersResp{} - blockUsers, err := imdb.GetBlockUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) - if err != nil { - log.Error(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsers", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + resp = &pbUser.GetBlockUsersResp{CommonResp: &pbUser.CommonResp{}, Pagination: &sdkws.ResponsePagination{ShowNumber: req.Pagination.ShowNumber, CurrentPage: req.Pagination.PageNumber}} + var blockUsers []imdb.BlockUserInfo + if req.UserID != "" { + blockUser, err := imdb.GetBlockUserByID(req.UserID) + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil + } + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + blockUsers = append(blockUsers, blockUser) + resp.UserNums = 1 + } else { + blockUsers, err = imdb.GetBlockUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.Error(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsers", err.Error(), req.Pagination.ShowNumber, req.Pagination.PageNumber) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + + nums, err := imdb.GetBlockUsersNumCount() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsersNumCount failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.UserNums = nums } for _, v := range blockUsers { resp.BlockUsers = append(resp.BlockUsers, &pbUser.BlockUser{ - User: &pbUser.User{ - ProfilePhoto: v.User.FaceURL, - Nickname: v.User.Nickname, - UserId: v.User.UserID, - IsBlock: true, - Birth: v.User.Birth.Format("2006-01-02"), - PhoneNumber: v.User.PhoneNumber, - Email: v.User.Email, - Gender: v.User.Gender, + UserInfo: &sdkws.UserInfo{ + FaceURL: v.User.FaceURL, + Nickname: v.User.Nickname, + UserID: v.User.UserID, + PhoneNumber: v.User.PhoneNumber, + Email: v.User.Email, + Gender: v.User.Gender, }, BeginDisableTime: (v.BeginDisableTime).String(), EndDisableTime: (v.EndDisableTime).String(), }) } - resp.Pagination = &sdkws.ResponsePagination{} - resp.Pagination.ShowNumber = req.Pagination.ShowNumber - resp.Pagination.CurrentPage = req.Pagination.PageNumber - nums, err := imdb.GetBlockUsersNumCount() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsersNumCount failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.UserNums = nums log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) return resp, nil } - -func (s *userServer) GetBlockUserById(_ context.Context, req *pbUser.GetBlockUserByIdReq) (*pbUser.GetBlockUserByIdResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetBlockUserByIdResp{} - user, err := imdb.GetBlockUserById(req.UserId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUserById", err) - return resp, errors.WrapError(constant.ErrDB) - } - resp.BlockUser = &pbUser.BlockUser{ - User: &pbUser.User{ - ProfilePhoto: user.User.FaceURL, - Nickname: user.User.Nickname, - UserId: user.User.UserID, - IsBlock: true, - Birth: user.User.Birth.Format("2006-01-02"), - PhoneNumber: user.User.PhoneNumber, - Email: user.User.Email, - Gender: user.User.Gender, - }, - BeginDisableTime: (user.BeginDisableTime).String(), - EndDisableTime: (user.EndDisableTime).String(), - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) - return resp, nil -} - -func (s *userServer) DeleteUser(_ context.Context, req *pbUser.DeleteUserReq) (*pbUser.DeleteUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbUser.DeleteUserResp{} - if row := imdb.DeleteUser(req.UserId); row == 0 { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "delete failed", "delete rows:", row) - return resp, errors.WrapError(constant.ErrDB) - } - return resp, nil -} diff --git a/pkg/base_info/common.go b/pkg/base_info/common.go new file mode 100644 index 000000000..a90a845a3 --- /dev/null +++ b/pkg/base_info/common.go @@ -0,0 +1,11 @@ +package base_info + +type RequestPagination struct { + PageNumber int `json:"pageNumber" binding:"required"` + ShowNumber int `json:"showNumber" binding:"required"` +} + +type ResponsePagination struct { + CurrentPage int `json:"currentPage"` + ShowNumber int `json:"showNumber"` +} diff --git a/pkg/base_info/manage_api_struct.go b/pkg/base_info/manage_api_struct.go index cc7ba5129..fedab9caa 100644 --- a/pkg/base_info/manage_api_struct.go +++ b/pkg/base_info/manage_api_struct.go @@ -93,3 +93,39 @@ type CheckMsgIsSendSuccessResp struct { CommResp Status int32 `json:"status"` } + +type GetUsersReq struct { + OperationID string `json:"operationID" binding:"required"` + UserName string `json:"userName"` + UserID string `json:"userID"` + PageNumber int32 `json:"pageNumber" binding:"required"` + ShowNumber int32 `json:"showNumber" binding:"required"` +} + +type CMSUser struct { + UserID string `json:"userID"` + Nickname string `json:"nickname"` + FaceURL string `json:"faceURL"` + Gender int32 `json:"gender"` + PhoneNumber string `json:"phoneNumber"` + Birth uint32 `json:"birth"` + Email string `json:"email"` + Ex string `json:"ex"` + CreateIp string `json:"createIp"` + CreateTime uint32 `json:"createTime"` + LastLoginIp string `json:"LastLoginIp"` + LastLoginTime uint32 `json:"LastLoginTime"` + AppMangerLevel int32 `json:"appMangerLevel"` + GlobalRecvMsgOpt int32 `json:"globalRecvMsgOpt"` + IsBlock bool `json:"isBlock"` +} + +type GetUsersResp struct { + CommResp + Data struct { + UserList []*CMSUser `json:"userList"` + TotalNum int32 `json:"totalNum"` + CurrentPage int32 `json:"currentPage"` + ShowNumber int32 `json:"showNumber"` + } `json:"data"` +} diff --git a/pkg/base_info/public_struct.go b/pkg/base_info/public_struct.go index 5df606b28..b3b918b45 100644 --- a/pkg/base_info/public_struct.go +++ b/pkg/base_info/public_struct.go @@ -7,21 +7,16 @@ import ( ) type ApiUserInfo struct { - UserID string `json:"userID" binding:"required,min=1,max=64" swaggo:"true,用户ID,"` - Nickname string `json:"nickname" binding:"omitempty,min=1,max=64" swaggo:"true,my id,19"` - FaceURL string `json:"faceURL" binding:"omitempty,max=1024"` - Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` - PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` - Birth uint32 `json:"birth" binding:"omitempty"` - Email string `json:"email" binding:"omitempty,max=64"` - CreateIp string `json:"createIp" binding:"omitempty,max=15"` - CreateTime int64 `json:"createTime"` - LastLoginIp string `json:"LastLoginIp" binding:"omitempty,max=15"` - LastLoginTime int64 `json:"lastLoginTime"` - LoginTimes int32 `json:"loginTimes" binding:"omitempty"` - LoginLimit int32 `json:"loginLimit" binding:"omitempty"` - Ex string `json:"ex" binding:"omitempty,max=1024"` - InvitationCode string `json:"invitationCode" binding:"omitempty"` + UserID string `json:"userID" binding:"required,min=1,max=64" swaggo:"true,用户ID,"` + Nickname string `json:"nickname" binding:"omitempty,min=1,max=64" swaggo:"true,my id,19"` + FaceURL string `json:"faceURL" binding:"omitempty,max=1024"` + Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` + PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` + Birth uint32 `json:"birth" binding:"omitempty"` + Email string `json:"email" binding:"omitempty,max=64"` + CreateTime int64 `json:"createTime"` + LoginLimit int32 `json:"loginLimit" binding:"omitempty"` + Ex string `json:"ex" binding:"omitempty,max=1024"` } //type Conversation struct { diff --git a/pkg/cms_api_struct/admin.go b/pkg/cms_api_struct/admin.go index 81048719b..bca998291 100644 --- a/pkg/cms_api_struct/admin.go +++ b/pkg/cms_api_struct/admin.go @@ -1,10 +1,14 @@ package cms_api_struct -import server_api_params "Open_IM/pkg/proto/sdk_ws" +import ( + "Open_IM/pkg/base_info" + server_api_params "Open_IM/pkg/proto/sdk_ws" +) type AdminLoginRequest struct { - AdminName string `json:"admin_name" binding:"required"` - Secret string `json:"secret" binding:"required"` + AdminName string `json:"adminID" binding:"required"` + Secret string `json:"secret" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type AdminLoginResponse struct { @@ -30,10 +34,10 @@ type ReduceUserRegisterAddFriendIDListResponse struct { type GetUserRegisterAddFriendIDListRequest struct { OperationID string `json:"operationID" binding:"required"` - RequestPaginationBody + base_info.RequestPagination } type GetUserRegisterAddFriendIDListResponse struct { Users []*server_api_params.UserInfo `json:"users"` - ResponsePagination + base_info.ResponsePagination } diff --git a/pkg/cms_api_struct/common.go b/pkg/cms_api_struct/common.go index 812e212ab..cbce2dfa3 100644 --- a/pkg/cms_api_struct/common.go +++ b/pkg/cms_api_struct/common.go @@ -1,16 +1,11 @@ package cms_api_struct type RequestPagination struct { - PageNumber int `form:"page_number" binding:"required"` - ShowNumber int `form:"show_number" binding:"required"` -} - -type RequestPaginationBody struct { PageNumber int `json:"pageNumber" binding:"required"` ShowNumber int `json:"showNumber" binding:"required"` } type ResponsePagination struct { - CurrentPage int `json:"current_number" binding:"required"` - ShowNumber int `json:"show_number" binding:"required"` + CurrentPage int `json:"currentPage"` + ShowNumber int `json:"showNumber"` } diff --git a/pkg/cms_api_struct/friend.go b/pkg/cms_api_struct/friend.go new file mode 100644 index 000000000..ce3af6ddc --- /dev/null +++ b/pkg/cms_api_struct/friend.go @@ -0,0 +1,25 @@ +package cms_api_struct + +type GetFriendsReq struct { + OperationID string `json:"operationID"` + UserID string `json:"userID"` + FriendUserName string `json:"friendUserName"` + FriendUserID string `json:"friendUserID"` + RequestPagination +} + +type FriendInfo struct { + OwnerUserID string `json:"ownerUserID"` + Remark string `json:"remark"` + CreateTime uint32 `json:"createTime"` + UserID string `json:"userID"` + Nickname string `json:"nickName"` + AddSource int32 `json:"addSource"` + OperatorUserID string `json:"operatorUserID"` +} + +type GetFriendsResp struct { + ResponsePagination + FriendInfoList []*FriendInfo `json:"friendInfoList"` + FriendNums int32 `json:"friendNums"` +} diff --git a/pkg/cms_api_struct/group.go b/pkg/cms_api_struct/group.go index 5296478b6..00769e80f 100644 --- a/pkg/cms_api_struct/group.go +++ b/pkg/cms_api_struct/group.go @@ -1,9 +1,8 @@ package cms_api_struct type GroupResponse struct { - GroupOwnerName string `json:"GroupOwnerName"` - GroupOwnerID string `json:"GroupOwnerID"` - //*server_api_params.GroupInfo + GroupOwnerName string `json:"GroupOwnerName"` + GroupOwnerID string `json:"GroupOwnerID"` GroupID string `json:"groupID"` GroupName string `json:"groupName"` Notification string `json:"notification"` @@ -23,27 +22,11 @@ type GroupResponse struct { NotificationUserID string `json:"notificationUserID"` } -type GetGroupByIDRequest struct { - GroupID string `form:"groupID" binding:"required"` -} - -type GetGroupByIDResponse struct { - GroupResponse -} - -type GetGroupRequest struct { - GroupName string `form:"groupName" binding:"required"` - RequestPagination -} - -type GetGroupResponse struct { - Groups []GroupResponse `json:"groups"` - GroupNums int `json:"groupNums"` - ResponsePagination -} - type GetGroupsRequest struct { RequestPagination + OperationID string `json:"operationID" binding:"required"` + GroupID string `json:"groupID"` + GroupName string `json:"groupName"` } type GetGroupsResponse struct { @@ -52,55 +35,10 @@ type GetGroupsResponse struct { ResponsePagination } -type CreateGroupRequest struct { - GroupName string `json:"groupName" binding:"required"` - GroupMasterId string `json:"groupOwnerID" binding:"required"` - GroupMembers []string `json:"groupMembers" binding:"required"` -} - -type CreateGroupResponse struct { -} - -type SetGroupMasterRequest struct { - GroupId string `json:"groupID" binding:"required"` - UserId string `json:"userID" binding:"required"` -} - -type SetGroupMasterResponse struct { -} - -type SetGroupMemberRequest struct { - GroupId string `json:"groupID" binding:"required"` - UserId string `json:"userID" binding:"required"` -} - -type SetGroupMemberRespones struct { -} - -type BanGroupChatRequest struct { - GroupId string `json:"groupID" binding:"required"` -} - -type BanGroupChatResponse struct { -} - -type BanPrivateChatRequest struct { - GroupId string `json:"groupID" binding:"required"` -} - -type BanPrivateChatResponse struct { -} - -type DeleteGroupRequest struct { - GroupId string `json:"groupID" binding:"required"` -} - -type DeleteGroupResponse struct { -} - type GetGroupMembersRequest struct { - GroupID string `form:"groupID" binding:"required"` - UserName string `form:"userName"` + GroupID string `form:"groupID" binding:"required"` + UserName string `form:"userName"` + OperationID string `json:"operationID" binding:"required"` RequestPagination } @@ -124,41 +62,3 @@ type GetGroupMembersResponse struct { ResponsePagination MemberNums int `json:"memberNums"` } - -type GroupMemberRequest struct { - GroupId string `json:"groupID" binding:"required"` - Members []string `json:"members" binding:"required"` -} - -type GroupMemberOperateResponse struct { - Success []string `json:"success"` - Failed []string `json:"failed"` -} - -type AddGroupMembersRequest struct { - GroupMemberRequest -} - -type AddGroupMembersResponse struct { - GroupMemberOperateResponse -} - -type RemoveGroupMembersRequest struct { - GroupMemberRequest -} - -type RemoveGroupMembersResponse struct { - GroupMemberOperateResponse -} - -type AlterGroupInfoRequest struct { - GroupID string `json:"groupID"` - GroupName string `json:"groupName"` - Notification string `json:"notification"` - Introduction string `json:"introduction"` - ProfilePhoto string `json:"profilePhoto"` - GroupType int `json:"groupType"` -} - -type AlterGroupInfoResponse struct { -} diff --git a/pkg/cms_api_struct/message_cms.go b/pkg/cms_api_struct/message_cms.go index 164c75011..708e70c4f 100644 --- a/pkg/cms_api_struct/message_cms.go +++ b/pkg/cms_api_struct/message_cms.go @@ -1,50 +1,48 @@ package cms_api_struct -type BroadcastRequest struct { - Message string `json:"message"` -} - -type BroadcastResponse struct { -} - -type MassSendMassageRequest struct { - Message string `json:"message"` - Users []string `json:"users"` -} - -type MassSendMassageResponse struct { -} - -type GetChatLogsRequest struct { - SessionType int `form:"session_type"` - ContentType int `form:"content_type"` - Content string `form:"content"` - UserId string `form:"user_id"` - GroupId string `form:"group_id"` - Date string `form:"date"` +import ( + pbCommon "Open_IM/pkg/proto/sdk_ws" +) +type GetChatLogsReq struct { + SessionType int `json:"sessionType"` + ContentType int `json:"contentType"` + Content string `json:"content"` + SendID string `json:"userID"` + RecvID string `json:"recvID"` + GroupID string `json:"groupID"` + SendTime string `json:"sendTime"` RequestPagination + OperationID string `json:"operationID"` } type ChatLog struct { - SessionType int `json:"session_type"` - ContentType int `json:"content_type"` - SenderNickName string `json:"sender_nick_name"` - SenderId string `json:"sender_id"` - SearchContent string `json:"search_content"` - WholeContent string `json:"whole_content"` - - ReceiverNickName string `json:"receiver_nick_name,omitempty"` - ReceiverID string `json:"receiver_id,omitempty"` - - GroupName string `json:"group_name,omitempty"` - GroupId string `json:"group_id,omitempty"` - - Date string `json:"date"` + SendID string `json:"sendID,omitempty"` + RecvID string `json:"recvID,omitempty"` + GroupID string `json:"groupID,omitempty"` + ClientMsgID string `json:"clientMsgID,omitempty"` + ServerMsgID string `json:"serverMsgID,omitempty"` + SenderPlatformID int32 `json:"senderPlatformID,omitempty"` + SenderNickname string `json:"senderNickname,omitempty"` + SenderFaceURL string `json:"senderFaceURL,omitempty"` + SessionType int32 `json:"sessionType,omitempty"` + MsgFrom int32 `json:"msgFrom,omitempty"` + ContentType int32 `json:"contentType,omitempty"` + Content string `json:"content,omitempty"` + Seq uint32 `json:"seq,omitempty"` + SendTime int64 `json:"sendTime,omitempty"` + CreateTime int64 `json:"createTime,omitempty"` + Status int32 `json:"status,omitempty"` + Options map[string]bool `json:"options,omitempty"` + OfflinePushInfo *pbCommon.OfflinePushInfo `json:"offlinePushInfo,omitempty"` + AtUserIDList []string `json:"atUserIDList,omitempty"` + MsgDataList []byte `json:"msgDataList,omitempty"` + AttachedInfo string `json:"attachedInfo,omitempty"` + Ex string `json:"ex,omitempty"` } -type GetChatLogsResponse struct { - ChatLogs []ChatLog `json:"chat_logs"` - ChatLogsNum int `json:"log_nums"` +type GetChatLogsResp struct { + ChatLogs []*ChatLog `json:"chatLogs"` + ChatLogsNum int `json:"logNums"` ResponsePagination } diff --git a/pkg/cms_api_struct/organization.go b/pkg/cms_api_struct/organization.go deleted file mode 100644 index 825d41aa1..000000000 --- a/pkg/cms_api_struct/organization.go +++ /dev/null @@ -1,25 +0,0 @@ -package cms_api_struct - -type GetStaffsResponse struct { - StaffsList []struct { - ProfilePhoto string `json:"profile_photo"` - NickName string `json:"nick_name"` - StaffId int `json:"staff_id"` - Position string `json:"position"` - EntryTime string `json:"entry_time"` - } `json:"staffs_list"` -} - -type GetOrganizationsResponse struct { - OrganizationList []struct { - OrganizationId int `json:"organization_id"` - OrganizationName string `json:"organization_name"` - } `json:"organization_list"` -} - -type SquadResponse struct { - SquadList []struct { - SquadId int `json:"squad_id"` - SquadName string `json:"squad_name"` - } `json:"squad_list"` -} diff --git a/pkg/cms_api_struct/statistics.go b/pkg/cms_api_struct/statistics.go index 2ff1efffa..0fd0eb76b 100644 --- a/pkg/cms_api_struct/statistics.go +++ b/pkg/cms_api_struct/statistics.go @@ -1,8 +1,9 @@ package cms_api_struct type GetStatisticsRequest struct { - From string `form:"from" binding:"required"` - To string `form:"to" binding:"required"` + From string `json:"from" binding:"required"` + To string `json:"to" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type GetMessageStatisticsRequest struct { @@ -10,16 +11,16 @@ type GetMessageStatisticsRequest struct { } type GetMessageStatisticsResponse struct { - PrivateMessageNum int `json:"private_message_num"` - GroupMessageNum int `json:"group_message_num"` + PrivateMessageNum int `json:"privateMessageNum"` + GroupMessageNum int `json:"groupMessageNum"` PrivateMessageNumList []struct { Date string `json:"date"` - MessageNum int `json:"message_num"` - } `json:"private_message_num_list"` + MessageNum int `json:"messageNum"` + } `json:"privateMessageNumList"` GroupMessageNumList []struct { Date string `json:"date"` - MessageNum int `json:"message_num"` - } `json:"group_message_num_list"` + MessageNum int `json:"messageNum"` + } `json:"groupMessageNumList"` } type GetUserStatisticsRequest struct { @@ -27,21 +28,21 @@ type GetUserStatisticsRequest struct { } type GetUserStatisticsResponse struct { - IncreaseUserNum int `json:"increase_user_num"` - ActiveUserNum int `json:"active_user_num"` - TotalUserNum int `json:"total_user_num"` + IncreaseUserNum int `json:"increaseUserNum"` + ActiveUserNum int `json:"activeUserNum"` + TotalUserNum int `json:"totalUserNum"` IncreaseUserNumList []struct { Date string `json:"date"` - IncreaseUserNum int `json:"increase_user_num"` - } `json:"increase_user_num_list"` + IncreaseUserNum int `json:"increaseUserNum"` + } `json:"increaseUserNumList"` ActiveUserNumList []struct { Date string `json:"date"` - ActiveUserNum int `json:"active_user_num"` - } `json:"active_user_num_list"` + ActiveUserNum int `json:"activeUserNum"` + } `json:"activeUserNumList"` TotalUserNumList []struct { Date string `json:"date"` - TotalUserNum int `json:"total_user_num"` - } `json:"total_user_num_list"` + TotalUserNum int `json:"totalUserNum"` + } `json:"totalUserNumList"` } type GetGroupStatisticsRequest struct { @@ -50,16 +51,16 @@ type GetGroupStatisticsRequest struct { // 群聊统计 type GetGroupStatisticsResponse struct { - IncreaseGroupNum int `json:"increase_group_num"` - TotalGroupNum int `json:"total_group_num"` + IncreaseGroupNum int `json:"increaseGroupNum"` + TotalGroupNum int `json:"totalGroupNum"` IncreaseGroupNumList []struct { Date string `json:"date"` - IncreaseGroupNum int `json:"increase_group_num"` - } `json:"increase_group_num_list"` + IncreaseGroupNum int `json:"increaseGroupNum"` + } `json:"increaseGroupNumList"` TotalGroupNumList []struct { Date string `json:"date"` - TotalGroupNum int `json:"total_group_num"` - } `json:"total_group_num_list"` + TotalGroupNum int `json:"totalGroupNum"` + } `json:"totalGroupNumList"` } type GetActiveUserRequest struct { @@ -69,10 +70,10 @@ type GetActiveUserRequest struct { type GetActiveUserResponse struct { ActiveUserList []struct { - NickName string `json:"nick_name"` - UserId string `json:"user_id"` - MessageNum int `json:"message_num"` - } `json:"active_user_list"` + NickName string `json:"nickName"` + UserId string `json:"userID"` + MessageNum int `json:"messageNum"` + } `json:"activeUserList"` } type GetActiveGroupRequest struct { @@ -82,8 +83,8 @@ type GetActiveGroupRequest struct { type GetActiveGroupResponse struct { ActiveGroupList []struct { - GroupName string `json:"group_name"` - GroupId string `json:"group_id"` - MessageNum int `json:"message_num"` - } `json:"active_group_list"` + GroupName string `json:"groupName"` + GroupId string `json:"groupID"` + MessageNum int `json:"messageNum"` + } `json:"activeGroupList"` } diff --git a/pkg/cms_api_struct/user.go b/pkg/cms_api_struct/user.go index d4902c97a..5de29cc32 100644 --- a/pkg/cms_api_struct/user.go +++ b/pkg/cms_api_struct/user.go @@ -1,79 +1,31 @@ package cms_api_struct type UserResponse struct { - ProfilePhoto string `json:"profile_photo"` - Nickname string `json:"nick_name"` - UserId string `json:"user_id"` - CreateTime string `json:"create_time,omitempty"` - CreateIp string `json:"create_ip,omitempty"` - LastLoginTime string `json:"last_login_time,omitempty"` - LastLoginIp string `json:"last_login_ip,omitempty"` - LoginTimes int32 `json:"login_times"` - LoginLimit int32 `json:"login_limit"` - IsBlock bool `json:"is_block"` - PhoneNumber string `json:"phone_number"` + FaceURL string `json:"faceURL"` + Nickname string `json:"nickName"` + UserID string `json:"userID"` + CreateTime string `json:"createTime,omitempty"` + CreateIp string `json:"createIp,omitempty"` + LastLoginTime string `json:"lastLoginTime,omitempty"` + LastLoginIp string `json:"lastLoginIP,omitempty"` + LoginTimes int32 `json:"loginTimes"` + LoginLimit int32 `json:"loginLimit"` + IsBlock bool `json:"isBlock"` + PhoneNumber string `json:"phoneNumber"` Email string `json:"email"` Birth string `json:"birth"` Gender int `json:"gender"` } -type GetUserRequest struct { - UserId string `form:"user_id" binding:"required"` -} - -type GetUserResponse struct { - UserResponse -} - -type GetUsersRequest struct { - RequestPagination -} - -type GetUsersResponse struct { - Users []*UserResponse `json:"users"` - ResponsePagination - UserNums int32 `json:"user_nums"` -} - -type GetUsersByNameRequest struct { - UserName string `form:"user_name" binding:"required"` - RequestPagination -} - -type GetUsersByNameResponse struct { - Users []*UserResponse `json:"users"` - ResponsePagination - UserNums int32 `json:"user_nums"` -} - -type ResignUserRequest struct { - UserId string `json:"user_id"` -} - -type ResignUserResponse struct { -} - -type AlterUserRequest struct { - UserId string `json:"user_id" binding:"required"` - Nickname string `json:"nickname"` - PhoneNumber string `json:"phone_number" validate:"len=11"` - Email string `json:"email"` - Birth string `json:"birth"` - Gender string `json:"gender"` - Photo string `json:"photo"` -} - -type AlterUserResponse struct { -} - type AddUserRequest struct { - PhoneNumber string `json:"phone_number" binding:"required"` - UserId string `json:"user_id" binding:"required"` + OperationID string `json:"operationID" binding:"required"` + PhoneNumber string `json:"phoneNumber" binding:"required"` + UserId string `json:"userID" binding:"required"` Name string `json:"name" binding:"required"` Email string `json:"email"` Birth string `json:"birth"` Gender string `json:"gender"` - Photo string `json:"photo"` + FaceURL string `json:"faceURL"` } type AddUserResponse struct { @@ -81,46 +33,34 @@ type AddUserResponse struct { type BlockUser struct { UserResponse - BeginDisableTime string `json:"begin_disable_time"` - EndDisableTime string `json:"end_disable_time"` + BeginDisableTime string `json:"beginDisableTime"` + EndDisableTime string `json:"endDisableTime"` } type BlockUserRequest struct { - UserId string `json:"user_id" binding:"required"` - EndDisableTime string `json:"end_disable_time" binding:"required"` + OperationID string `json:"operationID" binding:"required"` + UserID string `json:"userID" binding:"required"` + EndDisableTime string `json:"endDisableTime" binding:"required"` } type BlockUserResponse struct { } type UnblockUserRequest struct { - UserId string `json:"user_id" binding:"required"` + OperationID string `json:"operationID" binding:"required"` + UserID string `json:"userID" binding:"required"` } type UnBlockUserResponse struct { } type GetBlockUsersRequest struct { + OperationID string `json:"operationID" binding:"required"` RequestPagination } type GetBlockUsersResponse struct { - BlockUsers []BlockUser `json:"block_users"` + BlockUsers []BlockUser `json:"blockUsers"` ResponsePagination - UserNums int32 `json:"user_nums"` -} - -type GetBlockUserRequest struct { - UserId string `form:"user_id" binding:"required"` -} - -type GetBlockUserResponse struct { - BlockUser -} - -type DeleteUserRequest struct { - UserId string `json:"user_id" binding:"required"` -} - -type DeleteUserResponse struct { + UserNums int32 `json:"userNums"` } diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 3240b8ce9..ba3ca54d4 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -259,10 +259,10 @@ func (d *DataBases) CleanUpOneUserAllMsgFromRedis(userID string, operationID str return nil } -func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData) error { +func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData, pushToUserID string) (isSend bool, err error) { req := &pbRtc.SignalReq{} if err := proto.Unmarshal(msg.Content, req); err != nil { - return err + return false, err } //log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), "SignalReq: ", req.String()) var inviteeUserIDList []string @@ -274,37 +274,40 @@ func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData) case *pbRtc.SignalReq_InviteInGroup: inviteeUserIDList = signalInfo.InviteInGroup.Invitation.InviteeUserIDList isInviteSignal = true + if !utils.IsContain(pushToUserID, inviteeUserIDList) { + return false, nil + } case *pbRtc.SignalReq_HungUp, *pbRtc.SignalReq_Cancel, *pbRtc.SignalReq_Reject, *pbRtc.SignalReq_Accept: - return errors.New("signalInfo do not need offlinePush") + return false, errors.New("signalInfo do not need offlinePush") default: log2.NewDebug(operationID, utils.GetSelfFuncName(), "req invalid type", string(msg.Content)) - return nil + return false, nil } if isInviteSignal { - log2.NewInfo(operationID, utils.GetSelfFuncName(), "invite userID list:", inviteeUserIDList) + log2.NewDebug(operationID, utils.GetSelfFuncName(), "invite userID list:", inviteeUserIDList) for _, userID := range inviteeUserIDList { log2.NewInfo(operationID, utils.GetSelfFuncName(), "invite userID:", userID) timeout, err := strconv.Atoi(config.Config.Rtc.SignalTimeout) if err != nil { - return err + return false, err } keyList := SignalListCache + userID err = d.RDB.LPush(context.Background(), keyList, msg.ClientMsgID).Err() if err != nil { - return err + return false, err } err = d.RDB.Expire(context.Background(), keyList, time.Duration(timeout)*time.Second).Err() if err != nil { - return err + return false, err } key := SignalCache + msg.ClientMsgID err = d.RDB.Set(context.Background(), key, msg.Content, time.Duration(timeout)*time.Second).Err() if err != nil { - return err + return false, err } } } - return nil + return true, nil } func (d *DataBases) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (invitationInfo *pbRtc.SignalInviteReq, err error) { diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index a58899607..043240532 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -15,7 +15,7 @@ type Register struct { type Invitation struct { InvitationCode string `gorm:"column:invitation_code;primary_key;type:varchar(32)"` CreateTime time.Time `gorm:"column:create_time"` - UserID string `gorm:"column:user_id"` + UserID string `gorm:"column:user_id;index:userID"` LastTime time.Time `gorm:"column:last_time"` Status int32 `gorm:"column:status"` } @@ -92,7 +92,7 @@ type Group struct { Notification string `gorm:"column:notification;size:255" json:"notification"` Introduction string `gorm:"column:introduction;size:255" json:"introduction"` FaceURL string `gorm:"column:face_url;size:255" json:"faceURL"` - CreateTime time.Time `gorm:"column:create_time"` + CreateTime time.Time `gorm:"column:create_time;index:create_time"` Ex string `gorm:"column:ex" json:"ex;size:1024" json:"ex"` Status int32 `gorm:"column:status"` CreatorUserID string `gorm:"column:creator_user_id;size:64"` @@ -176,16 +176,20 @@ type User struct { Birth time.Time `gorm:"column:birth"` Email string `gorm:"column:email;size:64"` Ex string `gorm:"column:ex;size:1024"` - CreateTime time.Time `gorm:"column:create_time"` - CreateIp string `gorm:"column:create_ip;size:15"` - LastLoginTime time.Time `gorm:"column:last_login_time"` - LastLoginIp string `gorm:"column:last_login_ip;size:15"` - LoginTimes int32 `gorm:"column:login_times"` - LoginLimit int32 `gorm:"column:login_limit"` + CreateTime time.Time `gorm:"column:create_time;index:create_time"` AppMangerLevel int32 `gorm:"column:app_manger_level"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` - InvitationCode string `gorm:"column:invitation_code"` - status int32 `gorm:"column:status"` + + status int32 `gorm:"column:status"` +} + +type UserIpRecord struct { + UserID string `gorm:"column:user_id;primary_key;size:64"` + CreateIp string `gorm:"column:create_ip;size:15"` + LastLoginTime time.Time `gorm:"column:last_login_time"` + LastLoginIp string `gorm:"column:last_login_ip;size:15"` + LoginTimes int32 `gorm:"column:login_times"` + LoginLimit int32 `gorm:"column:login_limit"` } type IpLimit struct { @@ -223,17 +227,17 @@ type Black struct { type ChatLog struct { ServerMsgID string `gorm:"column:server_msg_id;primary_key;type:char(64)" json:"serverMsgID"` ClientMsgID string `gorm:"column:client_msg_id;type:char(64)" json:"clientMsgID"` - SendID string `gorm:"column:send_id;type:char(64)" json:"sendID"` - RecvID string `gorm:"column:recv_id;type:char(64)" json:"recvID"` + SendID string `gorm:"column:send_id;type:char(64);index:send_id,priority:2" json:"sendID"` + RecvID string `gorm:"column:recv_id;type:char(64);index:recv_id,priority:2" json:"recvID"` SenderPlatformID int32 `gorm:"column:sender_platform_id" json:"senderPlatformID"` SenderNickname string `gorm:"column:sender_nick_name;type:varchar(255)" json:"senderNickname"` - SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255)" json:"senderFaceURL"` - SessionType int32 `gorm:"column:session_type" json:"sessionType"` + SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255);" json:"senderFaceURL"` + SessionType int32 `gorm:"column:session_type;index:session_type,priority:2;index:session_type_alone" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` - ContentType int32 `gorm:"column:content_type" json:"contentType"` + ContentType int32 `gorm:"column:content_type;index:content_type,priority:2;index:content_type_alone" json:"contentType"` Content string `gorm:"column:content;type:varchar(3000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` - SendTime time.Time `gorm:"column:send_time" json:"sendTime"` + SendTime time.Time `gorm:"column:send_time;index:sendTime;index:content_type,priority:1;index:session_type,priority:1;index:recv_id,priority:1;index:send_id,priority:1" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index f0829a5ee..814c33856 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -56,7 +56,7 @@ func initMysqlDB() { Writer{}, logger.Config{ SlowThreshold: 200 * time.Millisecond, // Slow SQL threshold - LogLevel: logger.Error, // Log level + LogLevel: logger.Info, // Log level IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger Colorful: true, // Disable color }, diff --git a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go index 349555c31..b023d2b40 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go @@ -3,6 +3,7 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" "errors" + _ "gorm.io/gorm" ) @@ -74,3 +75,10 @@ func DeleteAllRegisterAddFriendIDList() error { err := db.DB.MysqlDB.DefaultGormDB().Where("1 = 1").Delete(&db.RegisterAddFriend{}).Error return err } + +func GetUserIPLimit(userID string) (db.UserIpLimit, error) { + var limit db.UserIpLimit + limit.UserID = userID + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.UserIpLimit{}).Take(&limit).Error + return limit, err +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 33e22771d..7cae9f9d0 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -2,8 +2,10 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" - _ "github.com/jinzhu/gorm/dialects/mysql" + "fmt" "time" + + _ "github.com/jinzhu/gorm/dialects/mysql" ) func InsertToFriend(toInsertFollow *db.Friend) error { @@ -51,3 +53,34 @@ func UpdateFriendComment(OwnerUserID, FriendUserID, Remark string) error { func DeleteSingleFriendInfo(OwnerUserID, FriendUserID string) error { return db.DB.MysqlDB.DefaultGormDB().Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Delete(db.Friend{}).Error } + +type FriendUser struct { + db.Friend + Nickname string `gorm:"column:name;size:255"` +} + +func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumber int32) (friendUserList []*FriendUser, count int64, err error) { + db := db.DB.MysqlDB.DefaultGormDB().Table("friends"). + Select("friends.*, users.name"). + Where("friends.owner_user_id=?", ownerUserID).Limit(int(showNumber)). + Joins("left join users on friends.friend_user_id = users.user_id"). + Offset(int(showNumber * (pageNumber - 1))) + if friendUserName != "" { + db = db.Where("users.name like ?", fmt.Sprintf("%%%s%%", friendUserName)) + } + if err = db.Count(&count).Error; err != nil { + return + } + err = db.Find(&friendUserList).Error + return +} + +func GetFriendByIDCMS(ownerUserID, friendUserID string) (friendUser *FriendUser, err error) { + friendUser = &FriendUser{} + err = db.DB.MysqlDB.DefaultGormDB().Table("friends"). + Select("friends.*, users.name"). + Where("friends.owner_user_id=? and friends.friend_user_id=?", ownerUserID, friendUserID). + Joins("left join users on friends.friend_user_id = users.user_id"). + Take(friendUser).Error + return friendUser, err +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index aa4ef29b9..9f9b10d3c 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -1,9 +1,11 @@ package im_mysql_model import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/utils" "fmt" + "time" ) @@ -54,7 +56,7 @@ type GroupWithNum struct { 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 + Where(" name like ? and status != ?", fmt.Sprintf("%%%s%%", groupName), constant.GroupStatusDismissed).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error return groups, err } @@ -80,7 +82,7 @@ func OperateGroupStatus(groupId string, groupStatus int32) error { 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 { + if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(" name like ? ", fmt.Sprintf("%%%s%%", group.GroupName)).Count(&count).Error; err != nil { return 0, err } return int32(count), nil diff --git a/pkg/common/db/mysql_model/im_mysql_model/ip_model.go b/pkg/common/db/mysql_model/im_mysql_model/ip_model.go index cea844496..7213bdced 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/ip_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/ip_model.go @@ -74,3 +74,15 @@ func GetRegisterUserNum(ip string) ([]string, error) { err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Register{}).Where("register_ip=?", ip).Pluck("user_id", &userIDList).Error return userIDList, err } + +func InsertIpRecord(userID, createIp string) error { + record := &db.UserIpRecord{UserID: userID, CreateIp: createIp, LastLoginTime: time.Now(), LoginTimes: 1} + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.UserIpRecord{}).Create(record).Error + return err +} + +func UpdateIpReocord(userID, ip string) error { + record := &db.UserIpRecord{UserID: userID, LastLoginIp: ip, LastLoginTime: time.Now()} + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.UserIpRecord{}).Updates(record).Updates("login_times = login_times + 1").Error + return err +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 1279aad80..a32f1730b 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -1,6 +1,7 @@ package im_mysql_model import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" @@ -10,10 +11,17 @@ import ( func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, error) { var chatLogs []db.ChatLog db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). - Where(fmt.Sprintf(" content like '%%%s%%'", chatLog.Content)). Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))) - if chatLog.SessionType != 0 { + if chatLog.SendTime.Unix() > 0 { + db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + } + if chatLog.Content != "" { + db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + } + if chatLog.SessionType == 1 { db = db.Where("session_type = ?", chatLog.SessionType) + } else if chatLog.SessionType == 2 { + db = db.Where("content_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) } if chatLog.ContentType != 0 { db = db.Where("content_type = ?", chatLog.ContentType) @@ -24,23 +32,28 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, if chatLog.RecvID != "" { db = db.Where("recv_id = ?", chatLog.RecvID) } - if chatLog.SendTime.Unix() > 0 { - db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - } + err := db.Find(&chatLogs).Error return chatLogs, err } func GetChatLogCount(chatLog db.ChatLog) (int64, error) { - var chatLogs []db.ChatLog var count int64 - db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). - Where(fmt.Sprintf(" content like '%%%s%%'", chatLog.Content)) + db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") + if chatLog.SendTime.Unix() > 0 { + log.NewDebug("", utils.GetSelfFuncName(), chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + } + if chatLog.Content != "" { + db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + } if chatLog.SessionType != 0 { db = db.Where("session_type = ?", chatLog.SessionType) } - if chatLog.ContentType != 0 { + if chatLog.ContentType == 1 { db = db.Where("content_type = ?", chatLog.ContentType) + } else if chatLog.ContentType == 2 { + db = db.Where("content_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) } if chatLog.SendID != "" { db = db.Where("send_id = ?", chatLog.SendID) @@ -48,11 +61,7 @@ func GetChatLogCount(chatLog db.ChatLog) (int64, error) { if chatLog.RecvID != "" { db = db.Where("recv_id = ?", chatLog.RecvID) } - if chatLog.SendTime.Unix() > 0 { - log.NewDebug("", utils.GetSelfFuncName(), chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - } - err := db.Find(&chatLogs).Count(&count).Error + err := db.Count(&count).Error return count, err } diff --git a/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go b/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go index b8d3e9d17..4a8626cf0 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go @@ -1,13 +1,14 @@ package im_mysql_model import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "time" ) func GetActiveUserNum(from, to time.Time) (int32, error) { var num int64 - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("count(distinct(send_id))").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("count(distinct(send_id))").Where("send_time >= ? and send_time <= ?", from, to).Count(&num).Error return int32(num), err } @@ -31,13 +32,13 @@ func GetTotalUserNumByDate(to time.Time) (int32, error) { func GetPrivateMessageNum(from, to time.Time) (int32, error) { var num int64 - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Count(&num).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("send_time >= ? and send_time <= ? and session_type = ?", from, to, 1).Count(&num).Error return int32(num), err } func GetGroupMessageNum(from, to time.Time) (int32, error) { var num int64 - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Count(&num).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("send_time >= ? and send_time <= ? and session_type = ?", from, to, 2).Count(&num).Error return int32(num), err } @@ -67,7 +68,7 @@ type activeGroup struct { func GetActiveGroups(from, to time.Time, limit int) ([]*activeGroup, error) { var activeGroups []*activeGroup - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("recv_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Group("recv_id").Limit(limit).Order("message_num DESC").Find(&activeGroups).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("recv_id, count(*) as message_num").Where("send_time >= ? and send_time <= ? and session_type in (?)", from, to, []int{constant.GroupChatType, constant.SuperGroupChatType}).Group("recv_id").Limit(limit).Order("message_num DESC").Find(&activeGroups).Error for _, activeGroup := range activeGroups { group := db.Group{ GroupID: activeGroup.Id, @@ -80,18 +81,21 @@ func GetActiveGroups(from, to time.Time, limit int) ([]*activeGroup, error) { type activeUser struct { Name string - Id string `gorm:"column:send_id"` + ID string `gorm:"column:send_id"` MessageNum int `gorm:"column:message_num"` } func GetActiveUsers(from, to time.Time, limit int) ([]*activeUser, error) { var activeUsers []*activeUser - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("send_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Group("send_id").Limit(limit).Order("message_num DESC").Find(&activeUsers).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("send_id, count(*) as message_num").Where("send_time >= ? and send_time <= ? and session_type = ?", from, to, constant.SingleChatType).Group("send_id").Limit(limit).Order("message_num DESC").Find(&activeUsers).Error for _, activeUser := range activeUsers { user := db.User{ - UserID: activeUser.Id, + UserID: activeUser.ID, + } + err = db.DB.MysqlDB.DefaultGormDB().Table("users").Select("user_id, name").Find(&user).Error + if err != nil { + continue } - db.DB.MysqlDB.DefaultGormDB().Table("users").Select("user_id, name").Find(&user) activeUser.Name = user.Nickname } return activeUsers, err diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go index b4bfc1038..b848bff41 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go @@ -11,14 +11,14 @@ func InsertInToUserBlackList(black db.Black) error { return db.DB.MysqlDB.DefaultGormDB().Table("blacks").Create(black).Error } -//type Black struct { -// OwnerUserID string `gorm:"column:owner_user_id;primaryKey;"` -// BlockUserID string `gorm:"column:block_user_id;primaryKey;"` -// CreateTime time.Time `gorm:"column:create_time"` -// AddSource int32 `gorm:"column:add_source"` -// OperatorUserID int32 `gorm:"column:operator_user_id"` -// Ex string `gorm:"column:ex"` -//} +// type Black struct { +// OwnerUserID string `gorm:"column:owner_user_id;primaryKey;"` +// BlockUserID string `gorm:"column:block_user_id;primaryKey;"` +// CreateTime time.Time `gorm:"column:create_time"` +// AddSource int32 `gorm:"column:add_source"` +// OperatorUserID int32 `gorm:"column:operator_user_id"` +// Ex string `gorm:"column:ex"` +// } func CheckBlack(ownerUserID, blockUserID string) error { var black db.Black diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index 9e132ad03..caf76744c 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -43,9 +43,6 @@ func UserRegister(user db.User) error { if user.Birth.Unix() < 0 { user.Birth = utils.UnixSecondToTime(0) } - user.LastLoginTime = time.Now() - user.LoginTimes = 0 - user.LastLoginIp = user.CreateIp err := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user).Error if err != nil { return err @@ -124,31 +121,21 @@ func GetUsers(showNumber, pageNumber int32) ([]db.User, error) { return users, err } -func AddUser(userId string, phoneNumber string, name string, email string, gender string, photo string, birth string) error { - _gender, _err := strconv.Atoi(gender) - if _err != nil { - _gender = 0 - } - _birth, _err := time.ParseInLocation("2006-01-02", birth, time.Local) +func AddUser(userID string, phoneNumber string, name string, email string, gender int32, faceURL string, birth uint32) error { + _birth, _err := time.ParseInLocation("2006-01-02", strconv.Itoa(int(birth)), time.Local) if _err != nil { _birth = time.Now() } user := db.User{ - UserID: userId, - Nickname: name, - FaceURL: photo, - Gender: int32(_gender), - PhoneNumber: phoneNumber, - Birth: _birth, - Email: email, - Ex: "", - CreateTime: time.Now(), - CreateIp: "", - LastLoginTime: time.Now(), - LastLoginIp: "", - LoginTimes: 0, - LoginLimit: 0, - InvitationCode: "", + UserID: userID, + Nickname: name, + FaceURL: faceURL, + Gender: gender, + PhoneNumber: phoneNumber, + Birth: _birth, + Email: email, + Ex: "", + CreateTime: time.Now(), } result := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user) return result.Error @@ -163,8 +150,13 @@ func UserIsBlock(userId string) (bool, error) { return false, nil } -func BlockUser(userId, endDisableTime string) error { - user, err := GetUserByUserID(userId) +func UsersIsBlock(userIDList []string) (inBlockUserIDList []string, err error) { + err = db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid in (?) and end_disable_time > now()", userIDList).Pluck("uid", &inBlockUserIDList).Error + return inBlockUserIDList, err +} + +func BlockUser(userID, endDisableTime string) error { + user, err := GetUserByUserID(userID) if err != nil || user.UserID == "" { return err } @@ -176,34 +168,34 @@ func BlockUser(userId, endDisableTime string) error { return constant.ErrDB } var blockUser db.BlackList - db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).First(&blockUser) + db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userID).First(&blockUser) if blockUser.UserId != "" { db.DB.MysqlDB.DefaultGormDB().Model(&blockUser).Where("uid=?", blockUser.UserId).Update("end_disable_time", end) - if user.LoginLimit != 2 { - db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) - } + // if user.LoginLimit != 2 { + // db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) + // } return nil } blockUser = db.BlackList{ - UserId: userId, + UserId: userID, BeginDisableTime: time.Now(), EndDisableTime: end, } result := db.DB.MysqlDB.DefaultGormDB().Create(&blockUser) if result.Error == nil { - if user.LoginLimit != 2 { - db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) - } + // if user.LoginLimit != 2 { + // db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) + // } } return result.Error } -func UnBlockUser(userId string) error { - err := db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userId).Delete(&db.BlackList{}).Error +func UnBlockUser(userID string) error { + err := db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userID).Delete(&db.BlackList{}).Error if err != nil { return err } - return db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userId).Update("login_limit", 0).Error + return db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userID).Update("login_limit", 0).Error } type BlockUserInfo struct { @@ -212,7 +204,7 @@ type BlockUserInfo struct { EndDisableTime time.Time } -func GetBlockUserById(userId string) (BlockUserInfo, error) { +func GetBlockUserByID(userId string) (BlockUserInfo, error) { var blockUserInfo BlockUserInfo blockUser := db.BlackList{ UserId: userId, @@ -267,13 +259,13 @@ func GetBlockUsers(showNumber, pageNumber int32) ([]BlockUserInfo, error) { func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, error) { var users []db.User - err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ?", fmt.Sprintf("%%%s%%", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error return users, err } -func GetUsersCount(user db.User) (int32, error) { +func GetUsersCount(userName string) (int32, error) { var count int64 - if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", user.Nickname)).Count(&count).Error; err != nil { + if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ? ", fmt.Sprintf("%%%s%%", userName)).Count(&count).Error; err != nil { return 0, err } return int32(count), nil diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 0f745c905..ce8bd76c6 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -75,7 +75,10 @@ func GetFriendIDListFromCache(userID string) ([]string, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(friendIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } friendIDListStr, err := db.DB.Rc.Fetch(friendRelationCache+userID, time.Second*30*60, getFriendIDList) if err != nil { @@ -98,7 +101,10 @@ func GetBlackListFromCache(userID string) ([]string, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(blackIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } blackIDListStr, err := db.DB.Rc.Fetch(blackListCache+userID, time.Second*30*60, getBlackIDList) if err != nil { @@ -120,7 +126,10 @@ func GetJoinedGroupIDListFromCache(userID string) ([]string, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(joinedGroupList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } joinedGroupIDListStr, err := db.DB.Rc.Fetch(joinedGroupListCache+userID, time.Second*30*60, getJoinedGroupIDList) if err != nil { @@ -155,7 +164,10 @@ func GetGroupMemberIDListFromCache(groupID string) ([]string, error) { } } bytes, err := json.Marshal(groupMemberIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, f) if err != nil { @@ -178,7 +190,10 @@ func GetUserInfoFromCache(userID string) (*db.User, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(userInfo) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } userInfoStr, err := db.DB.Rc.Fetch(userInfoCache+userID, time.Second*30*60, getUserInfo) if err != nil { @@ -200,7 +215,10 @@ func GetGroupMemberInfoFromCache(groupID, userID string) (*db.GroupMember, error return "", utils.Wrap(err, "") } bytes, err := json.Marshal(groupMemberInfo) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupMemberInfoStr, err := db.DB.Rc.Fetch(groupMemberInfoCache+groupID+"-"+userID, time.Second*30*60, getGroupMemberInfo) if err != nil { @@ -266,7 +284,10 @@ func GetAllGroupMembersInfoFromCache(groupID string) ([]*db.GroupMember, error) return "", utils.Wrap(err, "") } bytes, err := json.Marshal(groupMembers) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupMembersStr, err := db.DB.Rc.Fetch(groupAllMemberInfoCache+groupID, time.Second*30*60, getGroupMemberInfo) if err != nil { @@ -288,7 +309,10 @@ func GetGroupInfoFromCache(groupID string) (*db.Group, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(groupInfo) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupInfoStr, err := db.DB.Rc.Fetch(groupInfoCache+groupID, time.Second*30*60, getGroupInfo) if err != nil { @@ -310,7 +334,10 @@ func GetAllFriendsInfoFromCache(userID string) ([]*db.Friend, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(friendInfoList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } allFriendInfoStr, err := db.DB.Rc.Fetch(allFriendInfoCache+userID, time.Second*30*60, getAllFriendInfo) if err != nil { @@ -332,7 +359,10 @@ func GetAllDepartmentsFromCache() ([]db.Department, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(departmentList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } allDepartmentsStr, err := db.DB.Rc.Fetch(allDepartmentCache, time.Second*30*60, getAllDepartments) if err != nil { @@ -354,7 +384,10 @@ func GetAllDepartmentMembersFromCache() ([]db.DepartmentMember, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(departmentMembers) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } allDepartmentMembersStr, err := db.DB.Rc.Fetch(allDepartmentMemberCache, time.Second*30*60, getAllDepartmentMembers) if err != nil { @@ -379,7 +412,10 @@ func GetJoinedSuperGroupListFromCache(userID string) ([]string, error) { return "", errors.New("GroupIDList == 0") } bytes, err := json.Marshal(userToSuperGroup.GroupIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } joinedSuperGroupListStr, err := db.DB.Rc.Fetch(joinedSuperGroupListCache+userID, time.Second*30*60, getJoinedSuperGroupIDList) if err != nil { @@ -445,7 +481,10 @@ func GetUserConversationIDListFromCache(userID string) ([]string, error) { } log.NewDebug("", utils.GetSelfFuncName(), conversationIDList) bytes, err := json.Marshal(conversationIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } conversationIDListStr, err := db.DB.Rc.Fetch(conversationIDListCache+userID, time.Second*30*60, getConversationIDList) var conversationIDList []string diff --git a/pkg/common/http/http_resp.go b/pkg/common/http/http_resp.go deleted file mode 100644 index cdbf04463..000000000 --- a/pkg/common/http/http_resp.go +++ /dev/null @@ -1,43 +0,0 @@ -package http - -import ( - "Open_IM/pkg/common/constant" - "fmt" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - //"Open_IM/pkg/cms_api_struct" - "net/http" - - "github.com/gin-gonic/gin" -) - -type BaseResp struct { - Code int32 `json:"code"` - ErrMsg string `json:"err_msg"` - Data interface{} `json:"data"` -} - -func RespHttp200(ctx *gin.Context, err error, data interface{}) { - var resp BaseResp - switch e := err.(type) { - case constant.ErrInfo: - resp.Code = e.ErrCode - resp.ErrMsg = e.ErrMsg - default: - s, ok := status.FromError(err) - if !ok { - fmt.Println("need grpc format error") - return - } - resp.Code = int32(s.Code()) - resp.ErrMsg = s.Message() - } - resp.Data = data - ctx.JSON(http.StatusOK, resp) -} - -// warp error -func WrapError(err constant.ErrInfo) error { - return status.Error(codes.Code(err.ErrCode), err.ErrMsg) -} diff --git a/pkg/common/log/logrus.go b/pkg/common/log/logrus.go index cee8316a2..9d65719c7 100644 --- a/pkg/common/log/logrus.go +++ b/pkg/common/log/logrus.go @@ -42,7 +42,7 @@ func loggerInit(moduleName string) *Logger { } writer := bufio.NewWriter(src) logger.SetOutput(writer) - //logger.SetOutput(os.Stdout) + // logger.SetOutput(os.Stdout) //Log Console Print Style Setting logger.SetFormatter(&nested.Formatter{ TimestampFormat: "2006-01-02 15:04:05.000", diff --git a/pkg/grpc-etcdv3/getcdv3/resolver.go b/pkg/grpc-etcdv3/getcdv3/resolver.go index d95909b6d..e77bb626b 100644 --- a/pkg/grpc-etcdv3/getcdv3/resolver.go +++ b/pkg/grpc-etcdv3/getcdv3/resolver.go @@ -282,7 +282,7 @@ func GetDefaultGatewayConn4Unique(schema, etcdaddr, operationID string) []*grpc. if len(grpcConns) > 0 { return grpcConns } - log.NewWarn(operationID, utils.GetSelfFuncName(), " len(grpcConns) < 0 ", schema, etcdaddr, config.Config.RpcRegisterName.OpenImRelayName) + log.NewWarn(operationID, utils.GetSelfFuncName(), " len(grpcConns) == 0 ", schema, etcdaddr, config.Config.RpcRegisterName.OpenImRelayName) grpcConns = GetDefaultGatewayConn4UniqueFromcfg(operationID) log.NewDebug(operationID, utils.GetSelfFuncName(), config.Config.RpcRegisterName.OpenImRelayName, grpcConns) return grpcConns diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 06522567a..11180d164 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -24,10 +24,56 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +type CommonResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} +func (*CommonResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + type AdminLoginReq struct { - 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"` + 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:"-"` @@ -37,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{0} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -79,17 +125,18 @@ func (m *AdminLoginReq) GetSecret() string { } type AdminLoginResp struct { - Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{1} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -116,6 +163,13 @@ func (m *AdminLoginResp) GetToken() string { return "" } +func (m *AdminLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + 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"` @@ -128,7 +182,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{2} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{3} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -163,16 +217,17 @@ func (m *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string { } type AddUserRegisterAddFriendIDListResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + 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} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{4} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -192,6 +247,13 @@ func (m *AddUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { var xxx_messageInfo_AddUserRegisterAddFriendIDListResp proto.InternalMessageInfo +func (m *AddUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + 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"` @@ -205,7 +267,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{4} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{5} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -247,16 +309,17 @@ func (m *ReduceUserRegisterAddFriendIDListReq) GetUserIDList() []string { } type ReduceUserRegisterAddFriendIDListResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + 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} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{6} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -276,9 +339,16 @@ func (m *ReduceUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { var xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp proto.InternalMessageInfo +func (m *ReduceUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + 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"` + 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:"-"` @@ -288,7 +358,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{6} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{7} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -323,8 +393,9 @@ func (m *GetUserRegisterAddFriendIDListReq) GetPagination() *sdk_ws.RequestPagin } 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"` + 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"` + CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -334,7 +405,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{7} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{8} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -368,7 +439,2293 @@ func (m *GetUserRegisterAddFriendIDListResp) GetPagination() *sdk_ws.ResponsePag return nil } +func (m *GetUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetChatLogsReq struct { + Content string `protobuf:"bytes,1,opt,name=content" json:"content,omitempty"` + SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,3,opt,name=recvID" json:"recvID,omitempty"` + SendTime string `protobuf:"bytes,4,opt,name=sendTime" json:"sendTime,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ContentType int32 `protobuf:"varint,6,opt,name=contentType" json:"contentType,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=pagination" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,8,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } +func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } +func (*GetChatLogsReq) ProtoMessage() {} +func (*GetChatLogsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{9} +} +func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) +} +func (m *GetChatLogsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsReq.Marshal(b, m, deterministic) +} +func (dst *GetChatLogsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsReq.Merge(dst, src) +} +func (m *GetChatLogsReq) XXX_Size() int { + return xxx_messageInfo_GetChatLogsReq.Size(m) +} +func (m *GetChatLogsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetChatLogsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetChatLogsReq proto.InternalMessageInfo + +func (m *GetChatLogsReq) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *GetChatLogsReq) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *GetChatLogsReq) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *GetChatLogsReq) GetSendTime() string { + if m != nil { + return m.SendTime + } + return "" +} + +func (m *GetChatLogsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *GetChatLogsReq) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *GetChatLogsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetChatLogsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type ChatLog struct { + ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID" json:"serverMsgID,omitempty"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + SendID string `protobuf:"bytes,3,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,4,opt,name=recvID" json:"recvID,omitempty"` + GroupID string `protobuf:"bytes,5,opt,name=groupID" json:"groupID,omitempty"` + RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname" json:"recvNickname,omitempty"` + SenderPlatformID int32 `protobuf:"varint,7,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"` + SenderNickname string `protobuf:"bytes,8,opt,name=senderNickname" json:"senderNickname,omitempty"` + SenderFaceURL string `protobuf:"bytes,9,opt,name=senderFaceURL" json:"senderFaceURL,omitempty"` + GroupName string `protobuf:"bytes,10,opt,name=groupName" json:"groupName,omitempty"` + SessionType int32 `protobuf:"varint,11,opt,name=sessionType" json:"sessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,12,opt,name=msgFrom" json:"msgFrom,omitempty"` + ContentType int32 `protobuf:"varint,13,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,14,opt,name=content" json:"content,omitempty"` + Status int32 `protobuf:"varint,15,opt,name=status" json:"status,omitempty"` + SendTime int64 `protobuf:"varint,16,opt,name=sendTime" json:"sendTime,omitempty"` + CreateTime int64 `protobuf:"varint,17,opt,name=createTime" json:"createTime,omitempty"` + Ex string `protobuf:"bytes,18,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChatLog) Reset() { *m = ChatLog{} } +func (m *ChatLog) String() string { return proto.CompactTextString(m) } +func (*ChatLog) ProtoMessage() {} +func (*ChatLog) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{10} +} +func (m *ChatLog) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChatLog.Unmarshal(m, b) +} +func (m *ChatLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChatLog.Marshal(b, m, deterministic) +} +func (dst *ChatLog) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChatLog.Merge(dst, src) +} +func (m *ChatLog) XXX_Size() int { + return xxx_messageInfo_ChatLog.Size(m) +} +func (m *ChatLog) XXX_DiscardUnknown() { + xxx_messageInfo_ChatLog.DiscardUnknown(m) +} + +var xxx_messageInfo_ChatLog proto.InternalMessageInfo + +func (m *ChatLog) GetServerMsgID() string { + if m != nil { + return m.ServerMsgID + } + return "" +} + +func (m *ChatLog) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ChatLog) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *ChatLog) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *ChatLog) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *ChatLog) GetRecvNickname() string { + if m != nil { + return m.RecvNickname + } + return "" +} + +func (m *ChatLog) GetSenderPlatformID() int32 { + if m != nil { + return m.SenderPlatformID + } + return 0 +} + +func (m *ChatLog) GetSenderNickname() string { + if m != nil { + return m.SenderNickname + } + return "" +} + +func (m *ChatLog) GetSenderFaceURL() string { + if m != nil { + return m.SenderFaceURL + } + return "" +} + +func (m *ChatLog) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *ChatLog) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *ChatLog) GetMsgFrom() int32 { + if m != nil { + return m.MsgFrom + } + return 0 +} + +func (m *ChatLog) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *ChatLog) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *ChatLog) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *ChatLog) GetSendTime() int64 { + if m != nil { + return m.SendTime + } + return 0 +} + +func (m *ChatLog) GetCreateTime() int64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *ChatLog) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type GetChatLogsResp struct { + ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=chatLogs" json:"chatLogs,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + ChatLogsNum int32 `protobuf:"varint,3,opt,name=chatLogsNum" json:"chatLogsNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } +func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } +func (*GetChatLogsResp) ProtoMessage() {} +func (*GetChatLogsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{11} +} +func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) +} +func (m *GetChatLogsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsResp.Marshal(b, m, deterministic) +} +func (dst *GetChatLogsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsResp.Merge(dst, src) +} +func (m *GetChatLogsResp) XXX_Size() int { + return xxx_messageInfo_GetChatLogsResp.Size(m) +} +func (m *GetChatLogsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetChatLogsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetChatLogsResp proto.InternalMessageInfo + +func (m *GetChatLogsResp) GetChatLogs() []*ChatLog { + if m != nil { + return m.ChatLogs + } + return nil +} + +func (m *GetChatLogsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetChatLogsResp) GetChatLogsNum() int32 { + if m != nil { + return m.ChatLogsNum + } + return 0 +} + +func (m *GetChatLogsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type StatisticsReq struct { + From string `protobuf:"bytes,1,opt,name=from" json:"from,omitempty"` + To string `protobuf:"bytes,2,opt,name=to" json:"to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } +func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } +func (*StatisticsReq) ProtoMessage() {} +func (*StatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{12} +} +func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) +} +func (m *StatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StatisticsReq.Marshal(b, m, deterministic) +} +func (dst *StatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_StatisticsReq.Merge(dst, src) +} +func (m *StatisticsReq) XXX_Size() int { + return xxx_messageInfo_StatisticsReq.Size(m) +} +func (m *StatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_StatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_StatisticsReq proto.InternalMessageInfo + +func (m *StatisticsReq) GetFrom() string { + if m != nil { + return m.From + } + return "" +} + +func (m *StatisticsReq) GetTo() string { + if m != nil { + return m.To + } + return "" +} + +type GetActiveUserReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq" json:"statisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } +func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } +func (*GetActiveUserReq) ProtoMessage() {} +func (*GetActiveUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{13} +} +func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) +} +func (m *GetActiveUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserReq.Marshal(b, m, deterministic) +} +func (dst *GetActiveUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveUserReq.Merge(dst, src) +} +func (m *GetActiveUserReq) XXX_Size() int { + return xxx_messageInfo_GetActiveUserReq.Size(m) +} +func (m *GetActiveUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveUserReq proto.InternalMessageInfo + +func (m *GetActiveUserReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetActiveUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type UserResp struct { + NickName string `protobuf:"bytes,1,opt,name=nickName" json:"nickName,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=messageNum" json:"messageNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserResp) Reset() { *m = UserResp{} } +func (m *UserResp) String() string { return proto.CompactTextString(m) } +func (*UserResp) ProtoMessage() {} +func (*UserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{14} +} +func (m *UserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserResp.Unmarshal(m, b) +} +func (m *UserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserResp.Marshal(b, m, deterministic) +} +func (dst *UserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserResp.Merge(dst, src) +} +func (m *UserResp) XXX_Size() int { + return xxx_messageInfo_UserResp.Size(m) +} +func (m *UserResp) XXX_DiscardUnknown() { + xxx_messageInfo_UserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_UserResp proto.InternalMessageInfo + +func (m *UserResp) GetNickName() string { + if m != nil { + return m.NickName + } + return "" +} + +func (m *UserResp) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *UserResp) GetMessageNum() int32 { + if m != nil { + return m.MessageNum + } + return 0 +} + +type GetActiveUserResp struct { + Users []*UserResp `protobuf:"bytes,1,rep,name=Users" json:"Users,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } +func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } +func (*GetActiveUserResp) ProtoMessage() {} +func (*GetActiveUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{15} +} +func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) +} +func (m *GetActiveUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserResp.Marshal(b, m, deterministic) +} +func (dst *GetActiveUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveUserResp.Merge(dst, src) +} +func (m *GetActiveUserResp) XXX_Size() int { + return xxx_messageInfo_GetActiveUserResp.Size(m) +} +func (m *GetActiveUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveUserResp proto.InternalMessageInfo + +func (m *GetActiveUserResp) GetUsers() []*UserResp { + if m != nil { + return m.Users + } + return nil +} + +func (m *GetActiveUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetActiveGroupReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq" json:"statisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } +func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } +func (*GetActiveGroupReq) ProtoMessage() {} +func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{16} +} +func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) +} +func (m *GetActiveGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupReq.Marshal(b, m, deterministic) +} +func (dst *GetActiveGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveGroupReq.Merge(dst, src) +} +func (m *GetActiveGroupReq) XXX_Size() int { + return xxx_messageInfo_GetActiveGroupReq.Size(m) +} +func (m *GetActiveGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveGroupReq proto.InternalMessageInfo + +func (m *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetActiveGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GroupResp struct { + GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` + GroupId string `protobuf:"bytes,2,opt,name=GroupId" json:"GroupId,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum" json:"MessageNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupResp) Reset() { *m = GroupResp{} } +func (m *GroupResp) String() string { return proto.CompactTextString(m) } +func (*GroupResp) ProtoMessage() {} +func (*GroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{17} +} +func (m *GroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupResp.Unmarshal(m, b) +} +func (m *GroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupResp.Marshal(b, m, deterministic) +} +func (dst *GroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupResp.Merge(dst, src) +} +func (m *GroupResp) XXX_Size() int { + return xxx_messageInfo_GroupResp.Size(m) +} +func (m *GroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupResp proto.InternalMessageInfo + +func (m *GroupResp) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *GroupResp) GetGroupId() string { + if m != nil { + return m.GroupId + } + return "" +} + +func (m *GroupResp) GetMessageNum() int32 { + if m != nil { + return m.MessageNum + } + return 0 +} + +func (m *GroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetActiveGroupResp struct { + Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups" json:"Groups,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } +func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } +func (*GetActiveGroupResp) ProtoMessage() {} +func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{18} +} +func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) +} +func (m *GetActiveGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupResp.Marshal(b, m, deterministic) +} +func (dst *GetActiveGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveGroupResp.Merge(dst, src) +} +func (m *GetActiveGroupResp) XXX_Size() int { + return xxx_messageInfo_GetActiveGroupResp.Size(m) +} +func (m *GetActiveGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveGroupResp proto.InternalMessageInfo + +func (m *GetActiveGroupResp) GetGroups() []*GroupResp { + if m != nil { + return m.Groups + } + return nil +} + +func (m *GetActiveGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type DateNumList struct { + Date string `protobuf:"bytes,1,opt,name=Date" json:"Date,omitempty"` + Num int32 `protobuf:"varint,2,opt,name=Num" json:"Num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DateNumList) Reset() { *m = DateNumList{} } +func (m *DateNumList) String() string { return proto.CompactTextString(m) } +func (*DateNumList) ProtoMessage() {} +func (*DateNumList) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{19} +} +func (m *DateNumList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DateNumList.Unmarshal(m, b) +} +func (m *DateNumList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DateNumList.Marshal(b, m, deterministic) +} +func (dst *DateNumList) XXX_Merge(src proto.Message) { + xxx_messageInfo_DateNumList.Merge(dst, src) +} +func (m *DateNumList) XXX_Size() int { + return xxx_messageInfo_DateNumList.Size(m) +} +func (m *DateNumList) XXX_DiscardUnknown() { + xxx_messageInfo_DateNumList.DiscardUnknown(m) +} + +var xxx_messageInfo_DateNumList proto.InternalMessageInfo + +func (m *DateNumList) GetDate() string { + if m != nil { + return m.Date + } + return "" +} + +func (m *DateNumList) GetNum() int32 { + if m != nil { + return m.Num + } + return 0 +} + +type GetMessageStatisticsReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq{} } +func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsReq) ProtoMessage() {} +func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{20} +} +func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) +} +func (m *GetMessageStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetMessageStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsReq.Merge(dst, src) +} +func (m *GetMessageStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetMessageStatisticsReq.Size(m) +} +func (m *GetMessageStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageStatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageStatisticsReq proto.InternalMessageInfo + +func (m *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetMessageStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetMessageStatisticsResp struct { + PrivateMessageNum int32 `protobuf:"varint,1,opt,name=PrivateMessageNum" json:"PrivateMessageNum,omitempty"` + GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum" json:"GroupMessageNum,omitempty"` + PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList" json:"PrivateMessageNumList,omitempty"` + GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList" json:"GroupMessageNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsResp{} } +func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsResp) ProtoMessage() {} +func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{21} +} +func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) +} +func (m *GetMessageStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetMessageStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsResp.Merge(dst, src) +} +func (m *GetMessageStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetMessageStatisticsResp.Size(m) +} +func (m *GetMessageStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageStatisticsResp proto.InternalMessageInfo + +func (m *GetMessageStatisticsResp) GetPrivateMessageNum() int32 { + if m != nil { + return m.PrivateMessageNum + } + return 0 +} + +func (m *GetMessageStatisticsResp) GetGroupMessageNum() int32 { + if m != nil { + return m.GroupMessageNum + } + return 0 +} + +func (m *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList { + if m != nil { + return m.PrivateMessageNumList + } + return nil +} + +func (m *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList { + if m != nil { + return m.GroupMessageNumList + } + return nil +} + +func (m *GetMessageStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetGroupStatisticsReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } +func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupStatisticsReq) ProtoMessage() {} +func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{22} +} +func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) +} +func (m *GetGroupStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsReq.Merge(dst, src) +} +func (m *GetGroupStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetGroupStatisticsReq.Size(m) +} +func (m *GetGroupStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupStatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupStatisticsReq proto.InternalMessageInfo + +func (m *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetGroupStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetGroupStatisticsResp struct { + IncreaseGroupNum int32 `protobuf:"varint,1,opt,name=IncreaseGroupNum" json:"IncreaseGroupNum,omitempty"` + TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum" json:"TotalGroupNum,omitempty"` + IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList" json:"IncreaseGroupNumList,omitempty"` + TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList" json:"TotalGroupNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} } +func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupStatisticsResp) ProtoMessage() {} +func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{23} +} +func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) +} +func (m *GetGroupStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsResp.Merge(dst, src) +} +func (m *GetGroupStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetGroupStatisticsResp.Size(m) +} +func (m *GetGroupStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupStatisticsResp proto.InternalMessageInfo + +func (m *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 { + if m != nil { + return m.IncreaseGroupNum + } + return 0 +} + +func (m *GetGroupStatisticsResp) GetTotalGroupNum() int32 { + if m != nil { + return m.TotalGroupNum + } + return 0 +} + +func (m *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList { + if m != nil { + return m.IncreaseGroupNumList + } + return nil +} + +func (m *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList { + if m != nil { + return m.TotalGroupNumList + } + return nil +} + +func (m *GetGroupStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetUserStatisticsReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } +func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserStatisticsReq) ProtoMessage() {} +func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{24} +} +func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) +} +func (m *GetUserStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsReq.Merge(dst, src) +} +func (m *GetUserStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsReq.Size(m) +} +func (m *GetUserStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserStatisticsReq proto.InternalMessageInfo + +func (m *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetUserStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetUserStatisticsResp struct { + IncreaseUserNum int32 `protobuf:"varint,1,opt,name=IncreaseUserNum" json:"IncreaseUserNum,omitempty"` + ActiveUserNum int32 `protobuf:"varint,2,opt,name=ActiveUserNum" json:"ActiveUserNum,omitempty"` + TotalUserNum int32 `protobuf:"varint,3,opt,name=TotalUserNum" json:"TotalUserNum,omitempty"` + IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList" json:"IncreaseUserNumList,omitempty"` + ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList" json:"ActiveUserNumList,omitempty"` + TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList" json:"TotalUserNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,7,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } +func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserStatisticsResp) ProtoMessage() {} +func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{25} +} +func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) +} +func (m *GetUserStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsResp.Merge(dst, src) +} +func (m *GetUserStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsResp.Size(m) +} +func (m *GetUserStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserStatisticsResp proto.InternalMessageInfo + +func (m *GetUserStatisticsResp) GetIncreaseUserNum() int32 { + if m != nil { + return m.IncreaseUserNum + } + return 0 +} + +func (m *GetUserStatisticsResp) GetActiveUserNum() int32 { + if m != nil { + return m.ActiveUserNum + } + return 0 +} + +func (m *GetUserStatisticsResp) GetTotalUserNum() int32 { + if m != nil { + return m.TotalUserNum + } + return 0 +} + +func (m *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList { + if m != nil { + return m.IncreaseUserNumList + } + return nil +} + +func (m *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList { + if m != nil { + return m.ActiveUserNumList + } + return nil +} + +func (m *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList { + if m != nil { + return m.TotalUserNumList + } + return nil +} + +func (m *GetUserStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GenerateInvitationCodeReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + CodeLen int32 `protobuf:"varint,2,opt,name=codeLen" json:"codeLen,omitempty"` + CodeNum int32 `protobuf:"varint,3,opt,name=codeNum" json:"codeNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GenerateInvitationCodeReq) Reset() { *m = GenerateInvitationCodeReq{} } +func (m *GenerateInvitationCodeReq) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeReq) ProtoMessage() {} +func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{26} +} +func (m *GenerateInvitationCodeReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeReq.Unmarshal(m, b) +} +func (m *GenerateInvitationCodeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeReq.Marshal(b, m, deterministic) +} +func (dst *GenerateInvitationCodeReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenerateInvitationCodeReq.Merge(dst, src) +} +func (m *GenerateInvitationCodeReq) XXX_Size() int { + return xxx_messageInfo_GenerateInvitationCodeReq.Size(m) +} +func (m *GenerateInvitationCodeReq) XXX_DiscardUnknown() { + xxx_messageInfo_GenerateInvitationCodeReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GenerateInvitationCodeReq proto.InternalMessageInfo + +func (m *GenerateInvitationCodeReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GenerateInvitationCodeReq) GetCodeLen() int32 { + if m != nil { + return m.CodeLen + } + return 0 +} + +func (m *GenerateInvitationCodeReq) GetCodeNum() int32 { + if m != nil { + return m.CodeNum + } + return 0 +} + +type GenerateInvitationCodeResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GenerateInvitationCodeResp) Reset() { *m = GenerateInvitationCodeResp{} } +func (m *GenerateInvitationCodeResp) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeResp) ProtoMessage() {} +func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{27} +} +func (m *GenerateInvitationCodeResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeResp.Unmarshal(m, b) +} +func (m *GenerateInvitationCodeResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeResp.Marshal(b, m, deterministic) +} +func (dst *GenerateInvitationCodeResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenerateInvitationCodeResp.Merge(dst, src) +} +func (m *GenerateInvitationCodeResp) XXX_Size() int { + return xxx_messageInfo_GenerateInvitationCodeResp.Size(m) +} +func (m *GenerateInvitationCodeResp) XXX_DiscardUnknown() { + xxx_messageInfo_GenerateInvitationCodeResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GenerateInvitationCodeResp proto.InternalMessageInfo + +func (m *GenerateInvitationCodeResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetInvitationCodesReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Code string `protobuf:"bytes,2,opt,name=code" json:"code,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=status" json:"status,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,4,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetInvitationCodesReq) Reset() { *m = GetInvitationCodesReq{} } +func (m *GetInvitationCodesReq) String() string { return proto.CompactTextString(m) } +func (*GetInvitationCodesReq) ProtoMessage() {} +func (*GetInvitationCodesReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{28} +} +func (m *GetInvitationCodesReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesReq.Unmarshal(m, b) +} +func (m *GetInvitationCodesReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesReq.Marshal(b, m, deterministic) +} +func (dst *GetInvitationCodesReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesReq.Merge(dst, src) +} +func (m *GetInvitationCodesReq) XXX_Size() int { + return xxx_messageInfo_GetInvitationCodesReq.Size(m) +} +func (m *GetInvitationCodesReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetInvitationCodesReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetInvitationCodesReq proto.InternalMessageInfo + +func (m *GetInvitationCodesReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetInvitationCodesReq) GetCode() string { + if m != nil { + return m.Code + } + return "" +} + +func (m *GetInvitationCodesReq) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *GetInvitationCodesReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +type InvitationCode struct { + InvitationCode string `protobuf:"bytes,1,opt,name=invitationCode" json:"invitationCode,omitempty"` + CreateTime int32 `protobuf:"varint,2,opt,name=createTime" json:"createTime,omitempty"` + LastTime int32 `protobuf:"varint,3,opt,name=lastTime" json:"lastTime,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` + Status int32 `protobuf:"varint,5,opt,name=status" json:"status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InvitationCode) Reset() { *m = InvitationCode{} } +func (m *InvitationCode) String() string { return proto.CompactTextString(m) } +func (*InvitationCode) ProtoMessage() {} +func (*InvitationCode) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{29} +} +func (m *InvitationCode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvitationCode.Unmarshal(m, b) +} +func (m *InvitationCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvitationCode.Marshal(b, m, deterministic) +} +func (dst *InvitationCode) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvitationCode.Merge(dst, src) +} +func (m *InvitationCode) XXX_Size() int { + return xxx_messageInfo_InvitationCode.Size(m) +} +func (m *InvitationCode) XXX_DiscardUnknown() { + xxx_messageInfo_InvitationCode.DiscardUnknown(m) +} + +var xxx_messageInfo_InvitationCode proto.InternalMessageInfo + +func (m *InvitationCode) GetInvitationCode() string { + if m != nil { + return m.InvitationCode + } + return "" +} + +func (m *InvitationCode) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *InvitationCode) GetLastTime() int32 { + if m != nil { + return m.LastTime + } + return 0 +} + +func (m *InvitationCode) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *InvitationCode) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +type GetInvitationCodesResp struct { + InvitationCodes []*InvitationCode `protobuf:"bytes,1,rep,name=invitationCodes" json:"invitationCodes,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetInvitationCodesResp) Reset() { *m = GetInvitationCodesResp{} } +func (m *GetInvitationCodesResp) String() string { return proto.CompactTextString(m) } +func (*GetInvitationCodesResp) ProtoMessage() {} +func (*GetInvitationCodesResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{30} +} +func (m *GetInvitationCodesResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesResp.Unmarshal(m, b) +} +func (m *GetInvitationCodesResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesResp.Marshal(b, m, deterministic) +} +func (dst *GetInvitationCodesResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesResp.Merge(dst, src) +} +func (m *GetInvitationCodesResp) XXX_Size() int { + return xxx_messageInfo_GetInvitationCodesResp.Size(m) +} +func (m *GetInvitationCodesResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetInvitationCodesResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetInvitationCodesResp proto.InternalMessageInfo + +func (m *GetInvitationCodesResp) GetInvitationCodes() []*InvitationCode { + if m != nil { + return m.InvitationCodes + } + return nil +} + +func (m *GetInvitationCodesResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetInvitationCodesResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type QueryIPRegisterReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryIPRegisterReq) Reset() { *m = QueryIPRegisterReq{} } +func (m *QueryIPRegisterReq) String() string { return proto.CompactTextString(m) } +func (*QueryIPRegisterReq) ProtoMessage() {} +func (*QueryIPRegisterReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{31} +} +func (m *QueryIPRegisterReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterReq.Unmarshal(m, b) +} +func (m *QueryIPRegisterReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterReq.Marshal(b, m, deterministic) +} +func (dst *QueryIPRegisterReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterReq.Merge(dst, src) +} +func (m *QueryIPRegisterReq) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterReq.Size(m) +} +func (m *QueryIPRegisterReq) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterReq.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryIPRegisterReq proto.InternalMessageInfo + +func (m *QueryIPRegisterReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *QueryIPRegisterReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type QueryIPRegisterResp struct { + IP string `protobuf:"bytes,1,opt,name=IP" json:"IP,omitempty"` + RegisterNum int32 `protobuf:"varint,2,opt,name=RegisterNum" json:"RegisterNum,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=Status" json:"Status,omitempty"` + UserIDList []string `protobuf:"bytes,4,rep,name=userIDList" json:"userIDList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryIPRegisterResp) Reset() { *m = QueryIPRegisterResp{} } +func (m *QueryIPRegisterResp) String() string { return proto.CompactTextString(m) } +func (*QueryIPRegisterResp) ProtoMessage() {} +func (*QueryIPRegisterResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{32} +} +func (m *QueryIPRegisterResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterResp.Unmarshal(m, b) +} +func (m *QueryIPRegisterResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterResp.Marshal(b, m, deterministic) +} +func (dst *QueryIPRegisterResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterResp.Merge(dst, src) +} +func (m *QueryIPRegisterResp) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterResp.Size(m) +} +func (m *QueryIPRegisterResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterResp.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryIPRegisterResp proto.InternalMessageInfo + +func (m *QueryIPRegisterResp) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +func (m *QueryIPRegisterResp) GetRegisterNum() int32 { + if m != nil { + return m.RegisterNum + } + return 0 +} + +func (m *QueryIPRegisterResp) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *QueryIPRegisterResp) GetUserIDList() []string { + if m != nil { + return m.UserIDList + } + return nil +} + +func (m *QueryIPRegisterResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type AddIPLimitReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + LimitTime int32 `protobuf:"varint,3,opt,name=limitTime" json:"limitTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddIPLimitReq) Reset() { *m = AddIPLimitReq{} } +func (m *AddIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*AddIPLimitReq) ProtoMessage() {} +func (*AddIPLimitReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{33} +} +func (m *AddIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitReq.Unmarshal(m, b) +} +func (m *AddIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *AddIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIPLimitReq.Merge(dst, src) +} +func (m *AddIPLimitReq) XXX_Size() int { + return xxx_messageInfo_AddIPLimitReq.Size(m) +} +func (m *AddIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddIPLimitReq proto.InternalMessageInfo + +func (m *AddIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddIPLimitReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +func (m *AddIPLimitReq) GetLimitTime() int32 { + if m != nil { + return m.LimitTime + } + return 0 +} + +type AddIPLimitResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddIPLimitResp) Reset() { *m = AddIPLimitResp{} } +func (m *AddIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*AddIPLimitResp) ProtoMessage() {} +func (*AddIPLimitResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{34} +} +func (m *AddIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitResp.Unmarshal(m, b) +} +func (m *AddIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *AddIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIPLimitResp.Merge(dst, src) +} +func (m *AddIPLimitResp) XXX_Size() int { + return xxx_messageInfo_AddIPLimitResp.Size(m) +} +func (m *AddIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AddIPLimitResp proto.InternalMessageInfo + +func (m *AddIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type RemoveIPLimitReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveIPLimitReq) Reset() { *m = RemoveIPLimitReq{} } +func (m *RemoveIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*RemoveIPLimitReq) ProtoMessage() {} +func (*RemoveIPLimitReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{35} +} +func (m *RemoveIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitReq.Unmarshal(m, b) +} +func (m *RemoveIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *RemoveIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIPLimitReq.Merge(dst, src) +} +func (m *RemoveIPLimitReq) XXX_Size() int { + return xxx_messageInfo_RemoveIPLimitReq.Size(m) +} +func (m *RemoveIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIPLimitReq.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveIPLimitReq proto.InternalMessageInfo + +func (m *RemoveIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *RemoveIPLimitReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type RemoveIPLimitResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveIPLimitResp) Reset() { *m = RemoveIPLimitResp{} } +func (m *RemoveIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*RemoveIPLimitResp) ProtoMessage() {} +func (*RemoveIPLimitResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{36} +} +func (m *RemoveIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitResp.Unmarshal(m, b) +} +func (m *RemoveIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *RemoveIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIPLimitResp.Merge(dst, src) +} +func (m *RemoveIPLimitResp) XXX_Size() int { + return xxx_messageInfo_RemoveIPLimitResp.Size(m) +} +func (m *RemoveIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIPLimitResp.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveIPLimitResp proto.InternalMessageInfo + +func (m *RemoveIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type QueryUserIDIPLimitLoginReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryUserIDIPLimitLoginReq) Reset() { *m = QueryUserIDIPLimitLoginReq{} } +func (m *QueryUserIDIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} +func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{37} +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Unmarshal(m, b) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Marshal(b, m, deterministic) +} +func (dst *QueryUserIDIPLimitLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserIDIPLimitLoginReq.Merge(dst, src) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Size() int { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Size(m) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserIDIPLimitLoginReq.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryUserIDIPLimitLoginReq proto.InternalMessageInfo + +func (m *QueryUserIDIPLimitLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *QueryUserIDIPLimitLoginReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +type UserIPLimit struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + CreateTime int32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserIPLimit) Reset() { *m = UserIPLimit{} } +func (m *UserIPLimit) String() string { return proto.CompactTextString(m) } +func (*UserIPLimit) ProtoMessage() {} +func (*UserIPLimit) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{38} +} +func (m *UserIPLimit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserIPLimit.Unmarshal(m, b) +} +func (m *UserIPLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserIPLimit.Marshal(b, m, deterministic) +} +func (dst *UserIPLimit) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserIPLimit.Merge(dst, src) +} +func (m *UserIPLimit) XXX_Size() int { + return xxx_messageInfo_UserIPLimit.Size(m) +} +func (m *UserIPLimit) XXX_DiscardUnknown() { + xxx_messageInfo_UserIPLimit.DiscardUnknown(m) +} + +var xxx_messageInfo_UserIPLimit proto.InternalMessageInfo + +func (m *UserIPLimit) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *UserIPLimit) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +func (m *UserIPLimit) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +type QueryUserIDIPLimitLoginResp struct { + UserIPLimits []*UserIPLimit `protobuf:"bytes,1,rep,name=UserIPLimits" json:"UserIPLimits,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryUserIDIPLimitLoginResp) Reset() { *m = QueryUserIDIPLimitLoginResp{} } +func (m *QueryUserIDIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} +func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{39} +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Unmarshal(m, b) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Marshal(b, m, deterministic) +} +func (dst *QueryUserIDIPLimitLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserIDIPLimitLoginResp.Merge(dst, src) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Size() int { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Size(m) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserIDIPLimitLoginResp.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryUserIDIPLimitLoginResp proto.InternalMessageInfo + +func (m *QueryUserIDIPLimitLoginResp) GetUserIPLimits() []*UserIPLimit { + if m != nil { + return m.UserIPLimits + } + return nil +} + +func (m *QueryUserIDIPLimitLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type AddUserIPLimitLoginReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,3,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserIPLimitLoginReq) Reset() { *m = AddUserIPLimitLoginReq{} } +func (m *AddUserIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*AddUserIPLimitLoginReq) ProtoMessage() {} +func (*AddUserIPLimitLoginReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{40} +} +func (m *AddUserIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginReq.Unmarshal(m, b) +} +func (m *AddUserIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginReq.Marshal(b, m, deterministic) +} +func (dst *AddUserIPLimitLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserIPLimitLoginReq.Merge(dst, src) +} +func (m *AddUserIPLimitLoginReq) XXX_Size() int { + return xxx_messageInfo_AddUserIPLimitLoginReq.Size(m) +} +func (m *AddUserIPLimitLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserIPLimitLoginReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserIPLimitLoginReq proto.InternalMessageInfo + +func (m *AddUserIPLimitLoginReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *AddUserIPLimitLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddUserIPLimitLoginReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type AddUserIPLimitLoginResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserIPLimitLoginResp) Reset() { *m = AddUserIPLimitLoginResp{} } +func (m *AddUserIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*AddUserIPLimitLoginResp) ProtoMessage() {} +func (*AddUserIPLimitLoginResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{41} +} +func (m *AddUserIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginResp.Unmarshal(m, b) +} +func (m *AddUserIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginResp.Marshal(b, m, deterministic) +} +func (dst *AddUserIPLimitLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserIPLimitLoginResp.Merge(dst, src) +} +func (m *AddUserIPLimitLoginResp) XXX_Size() int { + return xxx_messageInfo_AddUserIPLimitLoginResp.Size(m) +} +func (m *AddUserIPLimitLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserIPLimitLoginResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserIPLimitLoginResp proto.InternalMessageInfo + +func (m *AddUserIPLimitLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type RemoveUserIPLimitReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,3,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveUserIPLimitReq) Reset() { *m = RemoveUserIPLimitReq{} } +func (m *RemoveUserIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*RemoveUserIPLimitReq) ProtoMessage() {} +func (*RemoveUserIPLimitReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{42} +} +func (m *RemoveUserIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitReq.Unmarshal(m, b) +} +func (m *RemoveUserIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *RemoveUserIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveUserIPLimitReq.Merge(dst, src) +} +func (m *RemoveUserIPLimitReq) XXX_Size() int { + return xxx_messageInfo_RemoveUserIPLimitReq.Size(m) +} +func (m *RemoveUserIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveUserIPLimitReq.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveUserIPLimitReq proto.InternalMessageInfo + +func (m *RemoveUserIPLimitReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *RemoveUserIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *RemoveUserIPLimitReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type RemoveUserIPLimitResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveUserIPLimitResp) Reset() { *m = RemoveUserIPLimitResp{} } +func (m *RemoveUserIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*RemoveUserIPLimitResp) ProtoMessage() {} +func (*RemoveUserIPLimitResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{43} +} +func (m *RemoveUserIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitResp.Unmarshal(m, b) +} +func (m *RemoveUserIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *RemoveUserIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveUserIPLimitResp.Merge(dst, src) +} +func (m *RemoveUserIPLimitResp) XXX_Size() int { + return xxx_messageInfo_RemoveUserIPLimitResp.Size(m) +} +func (m *RemoveUserIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveUserIPLimitResp.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveUserIPLimitResp proto.InternalMessageInfo + +func (m *RemoveUserIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetClientInitConfigReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetClientInitConfigReq) Reset() { *m = GetClientInitConfigReq{} } +func (m *GetClientInitConfigReq) String() string { return proto.CompactTextString(m) } +func (*GetClientInitConfigReq) ProtoMessage() {} +func (*GetClientInitConfigReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{44} +} +func (m *GetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigReq.Unmarshal(m, b) +} +func (m *GetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigReq.Marshal(b, m, deterministic) +} +func (dst *GetClientInitConfigReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetClientInitConfigReq.Merge(dst, src) +} +func (m *GetClientInitConfigReq) XXX_Size() int { + return xxx_messageInfo_GetClientInitConfigReq.Size(m) +} +func (m *GetClientInitConfigReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetClientInitConfigReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetClientInitConfigReq proto.InternalMessageInfo + +func (m *GetClientInitConfigReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetClientInitConfigResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetClientInitConfigResp) Reset() { *m = GetClientInitConfigResp{} } +func (m *GetClientInitConfigResp) String() string { return proto.CompactTextString(m) } +func (*GetClientInitConfigResp) ProtoMessage() {} +func (*GetClientInitConfigResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{45} +} +func (m *GetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigResp.Unmarshal(m, b) +} +func (m *GetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigResp.Marshal(b, m, deterministic) +} +func (dst *GetClientInitConfigResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetClientInitConfigResp.Merge(dst, src) +} +func (m *GetClientInitConfigResp) XXX_Size() int { + return xxx_messageInfo_GetClientInitConfigResp.Size(m) +} +func (m *GetClientInitConfigResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetClientInitConfigResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetClientInitConfigResp proto.InternalMessageInfo + +func (m *GetClientInitConfigResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SetClientInitConfigReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + DiscoverPageURL string `protobuf:"bytes,2,opt,name=discoverPageURL" json:"discoverPageURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetClientInitConfigReq) Reset() { *m = SetClientInitConfigReq{} } +func (m *SetClientInitConfigReq) String() string { return proto.CompactTextString(m) } +func (*SetClientInitConfigReq) ProtoMessage() {} +func (*SetClientInitConfigReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{46} +} +func (m *SetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigReq.Unmarshal(m, b) +} +func (m *SetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigReq.Marshal(b, m, deterministic) +} +func (dst *SetClientInitConfigReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetClientInitConfigReq.Merge(dst, src) +} +func (m *SetClientInitConfigReq) XXX_Size() int { + return xxx_messageInfo_SetClientInitConfigReq.Size(m) +} +func (m *SetClientInitConfigReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetClientInitConfigReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetClientInitConfigReq proto.InternalMessageInfo + +func (m *SetClientInitConfigReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetClientInitConfigReq) GetDiscoverPageURL() string { + if m != nil { + return m.DiscoverPageURL + } + return "" +} + +type SetClientInitConfigResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetClientInitConfigResp) Reset() { *m = SetClientInitConfigResp{} } +func (m *SetClientInitConfigResp) String() string { return proto.CompactTextString(m) } +func (*SetClientInitConfigResp) ProtoMessage() {} +func (*SetClientInitConfigResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{47} +} +func (m *SetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigResp.Unmarshal(m, b) +} +func (m *SetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigResp.Marshal(b, m, deterministic) +} +func (dst *SetClientInitConfigResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetClientInitConfigResp.Merge(dst, src) +} +func (m *SetClientInitConfigResp) XXX_Size() int { + return xxx_messageInfo_SetClientInitConfigResp.Size(m) +} +func (m *SetClientInitConfigResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetClientInitConfigResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetClientInitConfigResp proto.InternalMessageInfo + +func (m *SetClientInitConfigResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetUserFriendsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + FriendUserID string `protobuf:"bytes,3,opt,name=friendUserID" json:"friendUserID,omitempty"` + FriendUserName string `protobuf:"bytes,4,opt,name=friendUserName" json:"friendUserName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,5,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserFriendsReq) Reset() { *m = GetUserFriendsReq{} } +func (m *GetUserFriendsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserFriendsReq) ProtoMessage() {} +func (*GetUserFriendsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{48} +} +func (m *GetUserFriendsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsReq.Unmarshal(m, b) +} +func (m *GetUserFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserFriendsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsReq.Merge(dst, src) +} +func (m *GetUserFriendsReq) XXX_Size() int { + return xxx_messageInfo_GetUserFriendsReq.Size(m) +} +func (m *GetUserFriendsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserFriendsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserFriendsReq proto.InternalMessageInfo + +func (m *GetUserFriendsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetUserFriendsReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUserFriendsReq) GetFriendUserID() string { + if m != nil { + return m.FriendUserID + } + return "" +} + +func (m *GetUserFriendsReq) GetFriendUserName() string { + if m != nil { + return m.FriendUserName + } + return "" +} + +func (m *GetUserFriendsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +type GetUserFriendsResp struct { + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"` + FriendInfoList []*sdk_ws.FriendInfo `protobuf:"bytes,2,rep,name=friendInfoList" json:"friendInfoList,omitempty"` + FriendNums int32 `protobuf:"varint,3,opt,name=friendNums" json:"friendNums,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserFriendsResp) Reset() { *m = GetUserFriendsResp{} } +func (m *GetUserFriendsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserFriendsResp) ProtoMessage() {} +func (*GetUserFriendsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{49} +} +func (m *GetUserFriendsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsResp.Unmarshal(m, b) +} +func (m *GetUserFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserFriendsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsResp.Merge(dst, src) +} +func (m *GetUserFriendsResp) XXX_Size() int { + return xxx_messageInfo_GetUserFriendsResp.Size(m) +} +func (m *GetUserFriendsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserFriendsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserFriendsResp proto.InternalMessageInfo + +func (m *GetUserFriendsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetUserFriendsResp) GetFriendInfoList() []*sdk_ws.FriendInfo { + if m != nil { + return m.FriendInfoList + } + return nil +} + +func (m *GetUserFriendsResp) GetFriendNums() int32 { + if m != nil { + return m.FriendNums + } + return 0 +} + +func (m *GetUserFriendsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + func init() { + proto.RegisterType((*CommonResp)(nil), "admin_cms.CommonResp") proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq") proto.RegisterType((*AdminLoginResp)(nil), "admin_cms.AdminLoginResp") proto.RegisterType((*AddUserRegisterAddFriendIDListReq)(nil), "admin_cms.AddUserRegisterAddFriendIDListReq") @@ -377,6 +2734,47 @@ func init() { proto.RegisterType((*ReduceUserRegisterAddFriendIDListResp)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListResp") proto.RegisterType((*GetUserRegisterAddFriendIDListReq)(nil), "admin_cms.GetUserRegisterAddFriendIDListReq") proto.RegisterType((*GetUserRegisterAddFriendIDListResp)(nil), "admin_cms.GetUserRegisterAddFriendIDListResp") + proto.RegisterType((*GetChatLogsReq)(nil), "admin_cms.GetChatLogsReq") + proto.RegisterType((*ChatLog)(nil), "admin_cms.ChatLog") + proto.RegisterType((*GetChatLogsResp)(nil), "admin_cms.GetChatLogsResp") + proto.RegisterType((*StatisticsReq)(nil), "admin_cms.StatisticsReq") + proto.RegisterType((*GetActiveUserReq)(nil), "admin_cms.GetActiveUserReq") + proto.RegisterType((*UserResp)(nil), "admin_cms.UserResp") + proto.RegisterType((*GetActiveUserResp)(nil), "admin_cms.GetActiveUserResp") + proto.RegisterType((*GetActiveGroupReq)(nil), "admin_cms.GetActiveGroupReq") + proto.RegisterType((*GroupResp)(nil), "admin_cms.GroupResp") + proto.RegisterType((*GetActiveGroupResp)(nil), "admin_cms.GetActiveGroupResp") + proto.RegisterType((*DateNumList)(nil), "admin_cms.DateNumList") + proto.RegisterType((*GetMessageStatisticsReq)(nil), "admin_cms.GetMessageStatisticsReq") + proto.RegisterType((*GetMessageStatisticsResp)(nil), "admin_cms.GetMessageStatisticsResp") + proto.RegisterType((*GetGroupStatisticsReq)(nil), "admin_cms.GetGroupStatisticsReq") + proto.RegisterType((*GetGroupStatisticsResp)(nil), "admin_cms.GetGroupStatisticsResp") + proto.RegisterType((*GetUserStatisticsReq)(nil), "admin_cms.GetUserStatisticsReq") + proto.RegisterType((*GetUserStatisticsResp)(nil), "admin_cms.GetUserStatisticsResp") + proto.RegisterType((*GenerateInvitationCodeReq)(nil), "admin_cms.GenerateInvitationCodeReq") + proto.RegisterType((*GenerateInvitationCodeResp)(nil), "admin_cms.GenerateInvitationCodeResp") + proto.RegisterType((*GetInvitationCodesReq)(nil), "admin_cms.GetInvitationCodesReq") + proto.RegisterType((*InvitationCode)(nil), "admin_cms.invitationCode") + proto.RegisterType((*GetInvitationCodesResp)(nil), "admin_cms.GetInvitationCodesResp") + proto.RegisterType((*QueryIPRegisterReq)(nil), "admin_cms.QueryIPRegisterReq") + proto.RegisterType((*QueryIPRegisterResp)(nil), "admin_cms.QueryIPRegisterResp") + proto.RegisterType((*AddIPLimitReq)(nil), "admin_cms.AddIPLimitReq") + proto.RegisterType((*AddIPLimitResp)(nil), "admin_cms.AddIPLimitResp") + proto.RegisterType((*RemoveIPLimitReq)(nil), "admin_cms.RemoveIPLimitReq") + proto.RegisterType((*RemoveIPLimitResp)(nil), "admin_cms.RemoveIPLimitResp") + proto.RegisterType((*QueryUserIDIPLimitLoginReq)(nil), "admin_cms.QueryUserIDIPLimitLoginReq") + proto.RegisterType((*UserIPLimit)(nil), "admin_cms.UserIPLimit") + proto.RegisterType((*QueryUserIDIPLimitLoginResp)(nil), "admin_cms.QueryUserIDIPLimitLoginResp") + proto.RegisterType((*AddUserIPLimitLoginReq)(nil), "admin_cms.AddUserIPLimitLoginReq") + proto.RegisterType((*AddUserIPLimitLoginResp)(nil), "admin_cms.AddUserIPLimitLoginResp") + proto.RegisterType((*RemoveUserIPLimitReq)(nil), "admin_cms.RemoveUserIPLimitReq") + proto.RegisterType((*RemoveUserIPLimitResp)(nil), "admin_cms.RemoveUserIPLimitResp") + proto.RegisterType((*GetClientInitConfigReq)(nil), "admin_cms.GetClientInitConfigReq") + proto.RegisterType((*GetClientInitConfigResp)(nil), "admin_cms.GetClientInitConfigResp") + proto.RegisterType((*SetClientInitConfigReq)(nil), "admin_cms.SetClientInitConfigReq") + proto.RegisterType((*SetClientInitConfigResp)(nil), "admin_cms.SetClientInitConfigResp") + proto.RegisterType((*GetUserFriendsReq)(nil), "admin_cms.GetUserFriendsReq") + proto.RegisterType((*GetUserFriendsResp)(nil), "admin_cms.GetUserFriendsResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -394,6 +2792,23 @@ type AdminCMSClient interface { 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) + GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) + GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) + GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) + GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) + GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) + GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) + GenerateInvitationCode(ctx context.Context, in *GenerateInvitationCodeReq, opts ...grpc.CallOption) (*GenerateInvitationCodeResp, error) + GetInvitationCodes(ctx context.Context, in *GetInvitationCodesReq, opts ...grpc.CallOption) (*GetInvitationCodesResp, error) + QueryIPRegister(ctx context.Context, in *QueryIPRegisterReq, opts ...grpc.CallOption) (*QueryIPRegisterResp, error) + AddIPLimit(ctx context.Context, in *AddIPLimitReq, opts ...grpc.CallOption) (*AddIPLimitResp, error) + RemoveIPLimit(ctx context.Context, in *RemoveIPLimitReq, opts ...grpc.CallOption) (*RemoveIPLimitResp, error) + QueryUserIDIPLimitLogin(ctx context.Context, in *QueryUserIDIPLimitLoginReq, opts ...grpc.CallOption) (*QueryUserIDIPLimitLoginResp, error) + AddUserIPLimitLogin(ctx context.Context, in *AddUserIPLimitLoginReq, opts ...grpc.CallOption) (*AddUserIPLimitLoginResp, error) + RemoveUserIPLimit(ctx context.Context, in *RemoveUserIPLimitReq, opts ...grpc.CallOption) (*RemoveUserIPLimitResp, error) + GetClientInitConfig(ctx context.Context, in *GetClientInitConfigReq, opts ...grpc.CallOption) (*GetClientInitConfigResp, error) + SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) + GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) } type adminCMSClient struct { @@ -440,6 +2855,159 @@ func (c *adminCMSClient) GetUserRegisterAddFriendIDList(ctx context.Context, in return out, nil } +func (c *adminCMSClient) GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) { + out := new(GetChatLogsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetChatLogs", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) { + out := new(GetActiveUserResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveUser", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) { + out := new(GetActiveGroupResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveGroup", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) { + out := new(GetMessageStatisticsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetMessageStatistics", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) { + out := new(GetGroupStatisticsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetGroupStatistics", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) { + out := new(GetUserStatisticsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserStatistics", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GenerateInvitationCode(ctx context.Context, in *GenerateInvitationCodeReq, opts ...grpc.CallOption) (*GenerateInvitationCodeResp, error) { + out := new(GenerateInvitationCodeResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GenerateInvitationCode", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetInvitationCodes(ctx context.Context, in *GetInvitationCodesReq, opts ...grpc.CallOption) (*GetInvitationCodesResp, error) { + out := new(GetInvitationCodesResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetInvitationCodes", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) QueryIPRegister(ctx context.Context, in *QueryIPRegisterReq, opts ...grpc.CallOption) (*QueryIPRegisterResp, error) { + out := new(QueryIPRegisterResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/QueryIPRegister", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) AddIPLimit(ctx context.Context, in *AddIPLimitReq, opts ...grpc.CallOption) (*AddIPLimitResp, error) { + out := new(AddIPLimitResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddIPLimit", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) RemoveIPLimit(ctx context.Context, in *RemoveIPLimitReq, opts ...grpc.CallOption) (*RemoveIPLimitResp, error) { + out := new(RemoveIPLimitResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/RemoveIPLimit", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) QueryUserIDIPLimitLogin(ctx context.Context, in *QueryUserIDIPLimitLoginReq, opts ...grpc.CallOption) (*QueryUserIDIPLimitLoginResp, error) { + out := new(QueryUserIDIPLimitLoginResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/QueryUserIDIPLimitLogin", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) AddUserIPLimitLogin(ctx context.Context, in *AddUserIPLimitLoginReq, opts ...grpc.CallOption) (*AddUserIPLimitLoginResp, error) { + out := new(AddUserIPLimitLoginResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddUserIPLimitLogin", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) RemoveUserIPLimit(ctx context.Context, in *RemoveUserIPLimitReq, opts ...grpc.CallOption) (*RemoveUserIPLimitResp, error) { + out := new(RemoveUserIPLimitResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/RemoveUserIPLimit", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetClientInitConfig(ctx context.Context, in *GetClientInitConfigReq, opts ...grpc.CallOption) (*GetClientInitConfigResp, error) { + out := new(GetClientInitConfigResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetClientInitConfig", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) { + out := new(SetClientInitConfigResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/SetClientInitConfig", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) { + out := new(GetUserFriendsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserFriends", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for AdminCMS service type AdminCMSServer interface { @@ -447,6 +3015,23 @@ type AdminCMSServer interface { AddUserRegisterAddFriendIDList(context.Context, *AddUserRegisterAddFriendIDListReq) (*AddUserRegisterAddFriendIDListResp, error) ReduceUserRegisterAddFriendIDList(context.Context, *ReduceUserRegisterAddFriendIDListReq) (*ReduceUserRegisterAddFriendIDListResp, error) GetUserRegisterAddFriendIDList(context.Context, *GetUserRegisterAddFriendIDListReq) (*GetUserRegisterAddFriendIDListResp, error) + GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) + GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) + GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) + GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) + GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) + GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) + GenerateInvitationCode(context.Context, *GenerateInvitationCodeReq) (*GenerateInvitationCodeResp, error) + GetInvitationCodes(context.Context, *GetInvitationCodesReq) (*GetInvitationCodesResp, error) + QueryIPRegister(context.Context, *QueryIPRegisterReq) (*QueryIPRegisterResp, error) + AddIPLimit(context.Context, *AddIPLimitReq) (*AddIPLimitResp, error) + RemoveIPLimit(context.Context, *RemoveIPLimitReq) (*RemoveIPLimitResp, error) + QueryUserIDIPLimitLogin(context.Context, *QueryUserIDIPLimitLoginReq) (*QueryUserIDIPLimitLoginResp, error) + AddUserIPLimitLogin(context.Context, *AddUserIPLimitLoginReq) (*AddUserIPLimitLoginResp, error) + RemoveUserIPLimit(context.Context, *RemoveUserIPLimitReq) (*RemoveUserIPLimitResp, error) + GetClientInitConfig(context.Context, *GetClientInitConfigReq) (*GetClientInitConfigResp, error) + SetClientInitConfig(context.Context, *SetClientInitConfigReq) (*SetClientInitConfigResp, error) + GetUserFriends(context.Context, *GetUserFriendsReq) (*GetUserFriendsResp, error) } func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) { @@ -525,6 +3110,312 @@ func _AdminCMS_GetUserRegisterAddFriendIDList_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _AdminCMS_GetChatLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatLogsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetChatLogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetChatLogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetChatLogs(ctx, req.(*GetChatLogsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetActiveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetActiveUserReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetActiveUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetActiveUser", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetActiveUser(ctx, req.(*GetActiveUserReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetActiveGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetActiveGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetActiveGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetActiveGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetActiveGroup(ctx, req.(*GetActiveGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetMessageStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMessageStatisticsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetMessageStatistics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetMessageStatistics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetMessageStatistics(ctx, req.(*GetMessageStatisticsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetGroupStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGroupStatisticsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetGroupStatistics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetGroupStatistics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetGroupStatistics(ctx, req.(*GetGroupStatisticsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetUserStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserStatisticsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetUserStatistics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetUserStatistics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetUserStatistics(ctx, req.(*GetUserStatisticsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GenerateInvitationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateInvitationCodeReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GenerateInvitationCode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GenerateInvitationCode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GenerateInvitationCode(ctx, req.(*GenerateInvitationCodeReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetInvitationCodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetInvitationCodesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetInvitationCodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetInvitationCodes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetInvitationCodes(ctx, req.(*GetInvitationCodesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_QueryIPRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryIPRegisterReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).QueryIPRegister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/QueryIPRegister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).QueryIPRegister(ctx, req.(*QueryIPRegisterReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_AddIPLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddIPLimitReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).AddIPLimit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/AddIPLimit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).AddIPLimit(ctx, req.(*AddIPLimitReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_RemoveIPLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveIPLimitReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).RemoveIPLimit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/RemoveIPLimit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).RemoveIPLimit(ctx, req.(*RemoveIPLimitReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_QueryUserIDIPLimitLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryUserIDIPLimitLoginReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).QueryUserIDIPLimitLogin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/QueryUserIDIPLimitLogin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).QueryUserIDIPLimitLogin(ctx, req.(*QueryUserIDIPLimitLoginReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_AddUserIPLimitLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddUserIPLimitLoginReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).AddUserIPLimitLogin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/AddUserIPLimitLogin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).AddUserIPLimitLogin(ctx, req.(*AddUserIPLimitLoginReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_RemoveUserIPLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveUserIPLimitReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).RemoveUserIPLimit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/RemoveUserIPLimit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).RemoveUserIPLimit(ctx, req.(*RemoveUserIPLimitReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetClientInitConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetClientInitConfigReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetClientInitConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetClientInitConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetClientInitConfig(ctx, req.(*GetClientInitConfigReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_SetClientInitConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetClientInitConfigReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).SetClientInitConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/SetClientInitConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).SetClientInitConfig(ctx, req.(*SetClientInitConfigReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetUserFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserFriendsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetUserFriends(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetUserFriends", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetUserFriends(ctx, req.(*GetUserFriendsReq)) + } + return interceptor(ctx, in, info, handler) +} + var _AdminCMS_serviceDesc = grpc.ServiceDesc{ ServiceName: "admin_cms.adminCMS", HandlerType: (*AdminCMSServer)(nil), @@ -545,44 +3436,216 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ MethodName: "GetUserRegisterAddFriendIDList", Handler: _AdminCMS_GetUserRegisterAddFriendIDList_Handler, }, + { + MethodName: "GetChatLogs", + Handler: _AdminCMS_GetChatLogs_Handler, + }, + { + MethodName: "GetActiveUser", + Handler: _AdminCMS_GetActiveUser_Handler, + }, + { + MethodName: "GetActiveGroup", + Handler: _AdminCMS_GetActiveGroup_Handler, + }, + { + MethodName: "GetMessageStatistics", + Handler: _AdminCMS_GetMessageStatistics_Handler, + }, + { + MethodName: "GetGroupStatistics", + Handler: _AdminCMS_GetGroupStatistics_Handler, + }, + { + MethodName: "GetUserStatistics", + Handler: _AdminCMS_GetUserStatistics_Handler, + }, + { + MethodName: "GenerateInvitationCode", + Handler: _AdminCMS_GenerateInvitationCode_Handler, + }, + { + MethodName: "GetInvitationCodes", + Handler: _AdminCMS_GetInvitationCodes_Handler, + }, + { + MethodName: "QueryIPRegister", + Handler: _AdminCMS_QueryIPRegister_Handler, + }, + { + MethodName: "AddIPLimit", + Handler: _AdminCMS_AddIPLimit_Handler, + }, + { + MethodName: "RemoveIPLimit", + Handler: _AdminCMS_RemoveIPLimit_Handler, + }, + { + MethodName: "QueryUserIDIPLimitLogin", + Handler: _AdminCMS_QueryUserIDIPLimitLogin_Handler, + }, + { + MethodName: "AddUserIPLimitLogin", + Handler: _AdminCMS_AddUserIPLimitLogin_Handler, + }, + { + MethodName: "RemoveUserIPLimit", + Handler: _AdminCMS_RemoveUserIPLimit_Handler, + }, + { + MethodName: "GetClientInitConfig", + Handler: _AdminCMS_GetClientInitConfig_Handler, + }, + { + MethodName: "SetClientInitConfig", + Handler: _AdminCMS_SetClientInitConfig_Handler, + }, + { + MethodName: "GetUserFriends", + Handler: _AdminCMS_GetUserFriends_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "admin_cms/admin_cms.proto", } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_e0cc6ee28c5c634b) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_886b2bcb88d5841f) } -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, +var fileDescriptor_admin_cms_886b2bcb88d5841f = []byte{ + // 2119 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0x23, 0x49, + 0x55, 0xed, 0x8f, 0x24, 0x7e, 0x9e, 0x7c, 0x55, 0x3e, 0xc6, 0xe9, 0xd9, 0x1d, 0x92, 0x66, 0x66, + 0x15, 0xd0, 0x92, 0xa0, 0x8c, 0xb8, 0x2c, 0xd2, 0xa0, 0x6c, 0xbc, 0x31, 0x1e, 0x25, 0x59, 0xd3, + 0x9e, 0x59, 0x09, 0x58, 0x36, 0xf4, 0xda, 0x15, 0x6f, 0x2b, 0x71, 0x77, 0x4d, 0x57, 0x3b, 0x3b, + 0x23, 0xc4, 0x75, 0x2e, 0x5c, 0x38, 0x81, 0xc4, 0x11, 0x71, 0xe3, 0xc0, 0x01, 0x89, 0x3b, 0xbf, + 0x83, 0x03, 0x42, 0xfc, 0x0a, 0x6e, 0xa8, 0xaa, 0xfa, 0xa3, 0xaa, 0xba, 0x6d, 0xf7, 0x74, 0x46, + 0x73, 0x73, 0xbd, 0x7a, 0xf5, 0xbe, 0xdf, 0xab, 0x57, 0xaf, 0x0d, 0x3b, 0xce, 0x70, 0xec, 0x7a, + 0x97, 0x83, 0x31, 0x3d, 0x4c, 0x7e, 0x1d, 0x90, 0xc0, 0x0f, 0x7d, 0xd4, 0x48, 0x00, 0xe6, 0xde, + 0xe7, 0x04, 0x7b, 0x97, 0xdd, 0xf3, 0x43, 0x72, 0x3d, 0x3a, 0xe4, 0xbb, 0x87, 0x74, 0x78, 0x7d, + 0xf9, 0x2d, 0x3d, 0xfc, 0x36, 0xc2, 0xb6, 0x9e, 0x02, 0x9c, 0xf8, 0xe3, 0xb1, 0xef, 0xd9, 0x98, + 0x12, 0xd4, 0x82, 0x45, 0x1c, 0x04, 0x27, 0xfe, 0x10, 0xb7, 0x8c, 0x5d, 0x63, 0xbf, 0x6e, 0xc7, + 0x4b, 0xb4, 0x0d, 0x0b, 0x38, 0x08, 0xce, 0xe9, 0xa8, 0x55, 0xd9, 0x35, 0xf6, 0x1b, 0x76, 0xb4, + 0xb2, 0x06, 0xb0, 0x7c, 0xcc, 0xf8, 0x9d, 0xf9, 0x23, 0xd7, 0xb3, 0xf1, 0x4b, 0xb4, 0x0b, 0x4d, + 0x9f, 0xe0, 0xc0, 0x09, 0x5d, 0xdf, 0xeb, 0xb6, 0x39, 0x99, 0x86, 0x2d, 0x83, 0x18, 0x13, 0x2e, + 0x62, 0xb7, 0x1d, 0xd1, 0x8a, 0x97, 0x8c, 0x09, 0xc5, 0x83, 0x00, 0x87, 0xad, 0xaa, 0x60, 0x22, + 0x56, 0xd6, 0xaf, 0x60, 0x45, 0x66, 0x42, 0x09, 0xda, 0x84, 0x7a, 0xe8, 0x5f, 0x63, 0x2f, 0xa2, + 0x2f, 0x16, 0xe8, 0x47, 0x00, 0x83, 0x44, 0x19, 0x4e, 0xbc, 0x79, 0xb4, 0x75, 0x90, 0x1a, 0x28, + 0xd5, 0xd4, 0x96, 0x10, 0x2d, 0x0c, 0x7b, 0xc7, 0xc3, 0xe1, 0x0b, 0x8a, 0x03, 0x1b, 0x8f, 0x5c, + 0x1a, 0xe2, 0xe0, 0x78, 0x38, 0x3c, 0x0d, 0x5c, 0xec, 0x0d, 0xbb, 0xed, 0x33, 0x97, 0x86, 0xc5, + 0xf4, 0x7a, 0x08, 0x30, 0xa1, 0x38, 0x10, 0x47, 0x5a, 0x95, 0xdd, 0xea, 0x7e, 0xc3, 0x96, 0x20, + 0xd6, 0x2f, 0xc1, 0x9a, 0xc7, 0x86, 0x12, 0x4d, 0x07, 0xa3, 0xa8, 0x0e, 0x6f, 0x0c, 0x78, 0x64, + 0xe3, 0xe1, 0x64, 0x80, 0xef, 0xac, 0xc7, 0x07, 0xd0, 0x48, 0x96, 0xdc, 0x88, 0x75, 0x3b, 0x05, + 0x68, 0x5a, 0x56, 0x33, 0x5a, 0x7e, 0x05, 0x8f, 0x0b, 0xc8, 0x51, 0x5e, 0xd1, 0xdf, 0x19, 0xb0, + 0xd7, 0xc1, 0xe1, 0x9d, 0xb5, 0x6c, 0x03, 0x10, 0x67, 0xe4, 0x7a, 0xa9, 0x9a, 0xcd, 0xa3, 0x47, + 0x07, 0x14, 0x07, 0xb7, 0x38, 0xb8, 0x74, 0x88, 0x7b, 0x49, 0x9c, 0xc0, 0x19, 0xd3, 0x03, 0x1b, + 0xbf, 0x9c, 0x60, 0x1a, 0xf6, 0x12, 0x5c, 0x5b, 0x3a, 0x67, 0xfd, 0xd7, 0x00, 0x6b, 0x9e, 0x34, + 0x94, 0xa0, 0x9f, 0xc0, 0x3d, 0x6e, 0x22, 0xef, 0xca, 0xe7, 0x66, 0x33, 0x76, 0xab, 0xfb, 0xcd, + 0xa3, 0x07, 0x39, 0xec, 0x5e, 0x44, 0x68, 0xb6, 0x72, 0x00, 0x7d, 0x96, 0x23, 0xed, 0xe3, 0x5c, + 0x69, 0x29, 0xf1, 0x3d, 0x8a, 0xf3, 0xc5, 0xd5, 0x6c, 0x5e, 0x2d, 0x6a, 0xf3, 0x3f, 0x57, 0x60, + 0xa5, 0x83, 0xc3, 0x93, 0x6f, 0x9c, 0xf0, 0xcc, 0x1f, 0x51, 0x66, 0xe0, 0x16, 0x2c, 0x0e, 0x7c, + 0x2f, 0xc4, 0x5e, 0x18, 0x19, 0x37, 0x5e, 0x8a, 0x24, 0x66, 0xda, 0xc7, 0x95, 0x42, 0xac, 0x18, + 0x3c, 0xc0, 0x83, 0xdb, 0x6e, 0x3b, 0x4e, 0x6e, 0xb1, 0x42, 0x26, 0x2c, 0x31, 0x8c, 0xe7, 0xee, + 0x18, 0xb7, 0x6a, 0x7c, 0x27, 0x59, 0x33, 0x37, 0x52, 0x4c, 0xa9, 0xeb, 0x7b, 0xcf, 0x5f, 0x13, + 0xdc, 0xaa, 0xf3, 0x60, 0x94, 0x41, 0x0c, 0x23, 0x62, 0xcc, 0x31, 0x16, 0x04, 0x86, 0x04, 0xd2, + 0x1c, 0xbd, 0x58, 0xce, 0xd1, 0x7a, 0x40, 0x2d, 0x65, 0x02, 0xca, 0xfa, 0x5b, 0x0d, 0x16, 0x23, + 0x0b, 0x09, 0xb9, 0x19, 0x83, 0x73, 0x3a, 0x4a, 0xc3, 0x4f, 0x02, 0x71, 0xb9, 0x6f, 0x5c, 0xec, + 0x85, 0x02, 0x43, 0x98, 0x4a, 0x06, 0x49, 0x76, 0xac, 0x4e, 0xb1, 0x63, 0x4d, 0xb1, 0x63, 0x0b, + 0x16, 0x47, 0x81, 0x3f, 0x21, 0xdd, 0x36, 0xb7, 0x53, 0xc3, 0x8e, 0x97, 0xc8, 0x82, 0x7b, 0x0c, + 0xe7, 0xc2, 0x1d, 0x5c, 0x7b, 0xce, 0x58, 0x18, 0xa9, 0x61, 0x2b, 0x30, 0xf4, 0x7d, 0x58, 0x63, + 0xf4, 0x71, 0xd0, 0xbb, 0x71, 0xc2, 0x2b, 0x3f, 0x18, 0x77, 0xdb, 0xdc, 0x56, 0x75, 0x3b, 0x03, + 0x47, 0x1f, 0xc1, 0x8a, 0x80, 0x25, 0x14, 0x85, 0x39, 0x34, 0x28, 0x7a, 0x04, 0xcb, 0x02, 0x72, + 0xea, 0x0c, 0xf0, 0x0b, 0xfb, 0xac, 0xd5, 0xe0, 0x68, 0x2a, 0x90, 0x95, 0x1b, 0x2e, 0xe8, 0x05, + 0x23, 0x04, 0x1c, 0x23, 0x05, 0xe8, 0x11, 0xd0, 0xcc, 0x46, 0x40, 0x0b, 0x16, 0xc7, 0x74, 0x74, + 0x1a, 0xf8, 0xe3, 0xd6, 0x3d, 0x71, 0x67, 0x45, 0x4b, 0x3d, 0x36, 0x96, 0xb3, 0xb1, 0x21, 0x45, + 0xf1, 0x4a, 0x36, 0x8a, 0x43, 0x27, 0x9c, 0xd0, 0xd6, 0x2a, 0x3f, 0x16, 0xad, 0x94, 0x68, 0x5d, + 0xdb, 0x35, 0xf6, 0xab, 0x52, 0xb4, 0x3e, 0x04, 0x18, 0x04, 0xd8, 0x09, 0x31, 0xdf, 0x5d, 0xe7, + 0xbb, 0x12, 0x04, 0xad, 0x40, 0x05, 0xbf, 0x6a, 0x21, 0xce, 0xa8, 0x82, 0x5f, 0x59, 0xff, 0x31, + 0x60, 0x55, 0x49, 0x2b, 0x4a, 0xd0, 0x01, 0x2c, 0x0d, 0xa2, 0x75, 0x54, 0x25, 0x90, 0x9c, 0x9f, + 0x62, 0xcb, 0x4e, 0x70, 0xde, 0x55, 0x61, 0x60, 0xa6, 0x8a, 0x48, 0x5e, 0x4c, 0xc6, 0x3c, 0xe2, + 0x98, 0xa9, 0x52, 0x90, 0x56, 0x3a, 0x6a, 0x45, 0x4b, 0xc7, 0x13, 0x58, 0xee, 0x87, 0x4e, 0xe8, + 0xd2, 0xd0, 0x1d, 0xf0, 0xc2, 0x81, 0xa0, 0x76, 0xc5, 0x7c, 0x25, 0x72, 0x82, 0xff, 0x66, 0x86, + 0x09, 0xfd, 0x28, 0x07, 0x2a, 0xa1, 0x6f, 0x85, 0xb0, 0xd6, 0xc1, 0xe1, 0xf1, 0x20, 0x74, 0x6f, + 0xa3, 0x6b, 0xe4, 0x25, 0x7a, 0x0a, 0xcb, 0x54, 0x26, 0x14, 0xdd, 0x18, 0x2d, 0x49, 0x04, 0x85, + 0x91, 0xad, 0xa2, 0xeb, 0x09, 0x5c, 0xc9, 0x26, 0xf0, 0x57, 0xb0, 0x24, 0x98, 0x51, 0xc2, 0xdc, + 0xec, 0xb9, 0x83, 0x6b, 0x1e, 0x93, 0x42, 0xd2, 0x64, 0xcd, 0x42, 0x43, 0xdc, 0x77, 0x71, 0x81, + 0x13, 0x2b, 0xe6, 0xfe, 0x31, 0xa6, 0xd4, 0x19, 0xe1, 0xd4, 0x84, 0x12, 0xc4, 0x9a, 0xc0, 0xba, + 0xa6, 0x15, 0x25, 0xe8, 0x7b, 0x50, 0x67, 0xbf, 0x63, 0x67, 0x6f, 0x48, 0xea, 0xc4, 0x38, 0xb6, + 0xc0, 0x28, 0xdb, 0xdd, 0xc8, 0x6c, 0x3b, 0x2c, 0xaf, 0xde, 0x8f, 0x35, 0xff, 0x64, 0x40, 0x23, + 0x62, 0x47, 0x09, 0x4b, 0xf2, 0x4e, 0x92, 0xe4, 0xc2, 0xa0, 0x29, 0x80, 0xa5, 0x21, 0x5f, 0x74, + 0x87, 0x71, 0x47, 0x18, 0x2d, 0x99, 0x4d, 0xcf, 0x33, 0x36, 0x4d, 0x21, 0x65, 0xa3, 0xf2, 0x35, + 0x20, 0xdd, 0x26, 0x94, 0xa0, 0x8f, 0x61, 0x81, 0x2f, 0x62, 0x67, 0x6c, 0x4a, 0x84, 0x12, 0x2c, + 0x3b, 0xc2, 0x29, 0xeb, 0x8e, 0x27, 0xd0, 0x6c, 0x3b, 0x21, 0x13, 0x9e, 0x5f, 0xec, 0x08, 0x6a, + 0x6c, 0x19, 0xa7, 0x03, 0xfb, 0x8d, 0xd6, 0xa0, 0xca, 0xb4, 0x15, 0xad, 0x17, 0xfb, 0x69, 0xfd, + 0x06, 0xee, 0x77, 0x70, 0x18, 0xe9, 0xad, 0xe6, 0xd3, 0x53, 0x2d, 0xc1, 0xe6, 0x7b, 0xb2, 0xaf, + 0x7b, 0xf2, 0xf3, 0xac, 0x27, 0x25, 0x90, 0xf5, 0xcf, 0x0a, 0xb4, 0xf2, 0xb9, 0x73, 0x9b, 0xad, + 0xf7, 0x02, 0xf7, 0xd6, 0x09, 0xb1, 0xe4, 0x27, 0xf1, 0x76, 0xc8, 0x6e, 0xa0, 0x7d, 0x58, 0xe5, + 0xd6, 0x93, 0x70, 0x85, 0x96, 0x3a, 0x18, 0x9d, 0xc1, 0x56, 0xe6, 0x78, 0xd2, 0x71, 0x36, 0x8f, + 0xb6, 0x25, 0xf5, 0x24, 0x73, 0xda, 0xf9, 0x87, 0xd0, 0x4f, 0x61, 0x43, 0x63, 0xc0, 0x69, 0xd5, + 0x66, 0xd2, 0xca, 0x3b, 0xa2, 0x79, 0xbd, 0x5e, 0x3c, 0xe0, 0xb6, 0x3a, 0x38, 0xe4, 0x04, 0xdf, + 0xb7, 0xfb, 0xfe, 0x5e, 0x81, 0xed, 0x3c, 0xde, 0x94, 0xb0, 0x4b, 0xbf, 0xeb, 0xb1, 0x0b, 0x8a, + 0x8a, 0x2c, 0x48, 0x7d, 0x97, 0x81, 0xb3, 0xcb, 0xfc, 0xb9, 0x1f, 0x3a, 0x37, 0x09, 0xa2, 0x70, + 0x9c, 0x0a, 0x44, 0xcf, 0x60, 0x53, 0x3f, 0x59, 0xc0, 0x6b, 0xb9, 0x67, 0x50, 0x1b, 0xd6, 0x15, + 0xe2, 0x05, 0x5c, 0x96, 0x3d, 0x50, 0xd6, 0x61, 0xaf, 0x60, 0x33, 0xea, 0xeb, 0xdf, 0xb7, 0xbf, + 0xfe, 0x50, 0xe5, 0xb1, 0xa2, 0xb3, 0xa6, 0x84, 0x65, 0x4f, 0x6c, 0x28, 0xb6, 0x9b, 0x7a, 0x4b, + 0x07, 0x33, 0x67, 0xa5, 0xf7, 0x8c, 0xe4, 0x2c, 0x05, 0xc8, 0xfa, 0x42, 0x6e, 0xaf, 0x18, 0x49, + 0x94, 0x57, 0x05, 0xc6, 0x32, 0x47, 0x23, 0x5e, 0x24, 0x73, 0x72, 0x8e, 0x30, 0x77, 0x2a, 0xec, + 0x39, 0x9d, 0xfa, 0x6c, 0x77, 0x66, 0x0e, 0xa0, 0x4f, 0x61, 0x4d, 0x96, 0x8f, 0x13, 0x59, 0x98, + 0x49, 0x24, 0x83, 0xaf, 0x85, 0xc4, 0x62, 0xd1, 0x90, 0x78, 0x09, 0x3b, 0x1d, 0xec, 0x31, 0x47, + 0xe1, 0xae, 0x77, 0xeb, 0x86, 0xdc, 0x61, 0x27, 0xfe, 0x10, 0x17, 0x1e, 0x7b, 0x0c, 0xfc, 0x21, + 0x3e, 0xc3, 0xf1, 0xa3, 0x3a, 0x5e, 0xc6, 0x3b, 0xa9, 0x0b, 0xe2, 0xa5, 0xd5, 0x07, 0x73, 0x1a, + 0xcb, 0xf2, 0x2f, 0xe8, 0xbf, 0x1a, 0x3c, 0xc0, 0x54, 0x82, 0xb4, 0x98, 0x12, 0x08, 0x6a, 0x4c, + 0xb6, 0x28, 0x6e, 0xf9, 0x6f, 0xa9, 0x55, 0xae, 0x2a, 0xad, 0xb2, 0xfa, 0xf0, 0xaa, 0x95, 0x7c, + 0x61, 0xff, 0xc5, 0x80, 0x15, 0x57, 0x11, 0x95, 0xbd, 0x3f, 0x54, 0x48, 0x24, 0xa9, 0x8e, 0xa7, + 0xf6, 0xe3, 0xc2, 0xe8, 0x72, 0x3f, 0x6e, 0xc2, 0xd2, 0x8d, 0x43, 0x43, 0xbe, 0x2b, 0x44, 0x4f, + 0xd6, 0x52, 0x93, 0x57, 0x53, 0x9a, 0xbc, 0x54, 0xd9, 0xba, 0xac, 0xac, 0xf5, 0x2f, 0x83, 0x57, + 0xd9, 0x8c, 0x51, 0x29, 0x41, 0x27, 0xb0, 0xaa, 0x0a, 0x16, 0xf7, 0x17, 0x3b, 0x92, 0xaf, 0x54, + 0x0c, 0x5b, 0x3f, 0xc1, 0xfa, 0xfc, 0x5e, 0xd9, 0x3e, 0xbf, 0x77, 0xe7, 0x01, 0xc0, 0x29, 0xa0, + 0x9f, 0x4d, 0x70, 0xf0, 0xba, 0xdb, 0x8b, 0xa7, 0x1c, 0xc5, 0xc2, 0x65, 0x05, 0x2a, 0xdd, 0x5e, + 0xdc, 0xd8, 0x77, 0x7b, 0xd6, 0x3f, 0x0c, 0xd8, 0xc8, 0x10, 0xa2, 0x24, 0xc2, 0x33, 0x62, 0x3c, + 0x46, 0x39, 0xde, 0x4f, 0xab, 0x97, 0x0c, 0x62, 0x7e, 0xe8, 0x2b, 0x41, 0x27, 0x56, 0xda, 0x78, + 0xaa, 0xa6, 0x8f, 0xa7, 0xca, 0x5e, 0x07, 0x97, 0xb0, 0x7c, 0x3c, 0x1c, 0x76, 0x7b, 0x67, 0xee, + 0xd8, 0x0d, 0x4b, 0xe9, 0xce, 0x5a, 0xe0, 0x1b, 0x76, 0x5a, 0x0a, 0xb7, 0x14, 0x60, 0x75, 0x60, + 0x45, 0x66, 0x50, 0x3e, 0xbb, 0xdb, 0xb0, 0x66, 0xe3, 0xb1, 0x7f, 0x8b, 0xef, 0x22, 0xac, 0xf5, + 0x0c, 0xd6, 0x35, 0x2a, 0xe5, 0x25, 0xfa, 0x02, 0x4c, 0xee, 0x73, 0x3e, 0xda, 0x6a, 0x47, 0x04, + 0xdf, 0x62, 0x5e, 0x3c, 0xe5, 0xbd, 0x65, 0xbd, 0x80, 0x26, 0x27, 0x29, 0x08, 0x4a, 0x68, 0x86, + 0x92, 0xb1, 0xba, 0x1f, 0xd4, 0xaa, 0x50, 0xd5, 0xab, 0x82, 0xf5, 0x7b, 0x03, 0x1e, 0x4c, 0x95, + 0x97, 0x12, 0xf4, 0x09, 0xdc, 0x93, 0xd8, 0xc6, 0xb9, 0xbc, 0xad, 0x3d, 0xdc, 0x62, 0xbb, 0x29, + 0xb8, 0x65, 0xdf, 0x0c, 0x5f, 0xc3, 0x76, 0x34, 0x39, 0xd6, 0xad, 0x37, 0x4d, 0xe9, 0xb9, 0xef, + 0xb3, 0xc8, 0x2c, 0xd5, 0xc4, 0xe3, 0x3d, 0xb8, 0x9f, 0xcb, 0xa3, 0xbc, 0xdf, 0x7f, 0x0d, 0x9b, + 0x22, 0x86, 0x64, 0x7b, 0xbc, 0x53, 0x99, 0x2f, 0x60, 0x2b, 0x87, 0x43, 0x79, 0x89, 0x3f, 0xe1, + 0x35, 0xfc, 0x84, 0x0f, 0xe1, 0xba, 0x9e, 0x1b, 0x9e, 0xf8, 0xde, 0x95, 0x3b, 0x2a, 0x14, 0xa5, + 0xcc, 0x7e, 0xb9, 0x67, 0xcb, 0x4b, 0x33, 0x84, 0xed, 0x7e, 0x49, 0x69, 0x58, 0xab, 0x38, 0x74, + 0xe9, 0xc0, 0xbf, 0xc5, 0x41, 0xcf, 0x19, 0xf1, 0xe1, 0x9b, 0xb0, 0xa7, 0x0e, 0x66, 0x72, 0xf7, + 0xdf, 0xad, 0xdc, 0xff, 0x36, 0xf8, 0xc4, 0x81, 0xf9, 0x44, 0x0c, 0xc2, 0xe9, 0x9d, 0xf2, 0x9c, + 0xb5, 0xa9, 0x57, 0x9c, 0x8e, 0x48, 0xc8, 0xc8, 0xff, 0x0a, 0x8c, 0xb5, 0x04, 0xe9, 0x9a, 0x0f, + 0x19, 0xc4, 0xb5, 0xad, 0x41, 0xb5, 0x9e, 0xa4, 0x5e, 0xb2, 0x27, 0xf9, 0x9f, 0xc1, 0xe7, 0x07, + 0x8a, 0x86, 0x94, 0x68, 0xb3, 0x38, 0xa3, 0xec, 0x2c, 0xee, 0xb3, 0x58, 0x97, 0xe4, 0x73, 0x41, + 0x85, 0x97, 0x98, 0x0f, 0x73, 0x48, 0x9d, 0x26, 0x88, 0xb6, 0x76, 0x88, 0xd5, 0x39, 0x01, 0xb9, + 0x98, 0x8c, 0xe3, 0x5b, 0x52, 0x82, 0x94, 0x1c, 0x9d, 0x1c, 0xfd, 0x71, 0x15, 0x96, 0x38, 0xd2, + 0xc9, 0x79, 0x1f, 0x1d, 0x03, 0xa4, 0x1f, 0xe6, 0x90, 0xfc, 0x08, 0x52, 0x3e, 0x0a, 0x9a, 0x3b, + 0x53, 0x76, 0x28, 0x41, 0xbf, 0x85, 0x87, 0xb3, 0xbf, 0x8a, 0xa1, 0x8f, 0x95, 0xc3, 0x73, 0xbe, + 0xd3, 0x99, 0x3f, 0x78, 0x0b, 0x6c, 0x4a, 0xd0, 0x1b, 0x03, 0xf6, 0xe6, 0x7e, 0xaf, 0x42, 0x87, + 0x12, 0xd1, 0x22, 0x5f, 0xd9, 0xcc, 0x1f, 0xbe, 0xdd, 0x01, 0x61, 0x87, 0xd9, 0x1f, 0x92, 0x14, + 0x3b, 0xcc, 0xfd, 0x02, 0xa6, 0xd8, 0xa1, 0xc0, 0x17, 0xaa, 0x36, 0x34, 0xa5, 0x51, 0x34, 0xda, + 0x51, 0x4f, 0x4b, 0x5f, 0x7e, 0x4c, 0x73, 0xda, 0x16, 0x25, 0xe8, 0x19, 0x2c, 0x2b, 0x23, 0x4e, + 0xf4, 0x40, 0x45, 0x56, 0x46, 0xba, 0xe6, 0x07, 0xd3, 0x37, 0x29, 0x41, 0xe7, 0xfc, 0x9b, 0x93, + 0x34, 0xa3, 0x43, 0xb9, 0xf8, 0xf1, 0x48, 0xd3, 0xfc, 0x70, 0xc6, 0x2e, 0x25, 0xe8, 0x92, 0x3f, + 0xe8, 0x33, 0x43, 0x2c, 0x64, 0xa9, 0xc7, 0xf2, 0x66, 0x6c, 0xe6, 0x77, 0xe7, 0xe2, 0x50, 0x82, + 0x7e, 0xce, 0x6b, 0x82, 0x36, 0x66, 0x41, 0xbb, 0xea, 0xd1, 0xec, 0x04, 0xc8, 0xdc, 0x9b, 0x83, + 0x41, 0x09, 0xfa, 0x22, 0x29, 0xa8, 0x12, 0xe5, 0xef, 0x64, 0x1d, 0xac, 0x12, 0xde, 0x9d, 0x8d, + 0x40, 0x09, 0xc2, 0xec, 0xbe, 0xcb, 0x7b, 0x5e, 0xa2, 0x47, 0xca, 0xd9, 0x29, 0x8f, 0x5e, 0xf3, + 0x71, 0x01, 0xac, 0xc4, 0x32, 0xda, 0xd3, 0x48, 0xb7, 0x4c, 0xf6, 0x39, 0xaa, 0x5b, 0x26, 0xef, + 0x6d, 0xd5, 0x83, 0x55, 0xed, 0x3d, 0x81, 0xe4, 0x38, 0xc8, 0x3e, 0x5a, 0xcc, 0x87, 0xb3, 0xb6, + 0x29, 0x11, 0x25, 0x2d, 0x6e, 0xc4, 0xb5, 0x92, 0x26, 0x3d, 0x00, 0xb4, 0x92, 0xa6, 0x74, 0xee, + 0xcf, 0x60, 0x59, 0x69, 0x9e, 0x95, 0x2c, 0xd0, 0x9b, 0x73, 0x25, 0x0b, 0xb2, 0x3d, 0xf7, 0x37, + 0x70, 0x7f, 0x4a, 0x33, 0x8a, 0x1e, 0xeb, 0x9a, 0xe4, 0x36, 0xd8, 0xe6, 0x47, 0x45, 0xd0, 0x28, + 0x41, 0x5f, 0xc2, 0x46, 0x4e, 0x03, 0x88, 0xf6, 0xb2, 0xf5, 0x54, 0xe7, 0x60, 0xcd, 0x43, 0x11, + 0x21, 0x9c, 0x69, 0xd5, 0x94, 0x10, 0xce, 0x6b, 0x15, 0x95, 0x10, 0xce, 0xef, 0xf4, 0xbe, 0x84, + 0x8d, 0x9c, 0xb6, 0x0b, 0x69, 0xa1, 0x93, 0xd3, 0x44, 0x99, 0xd6, 0x3c, 0x14, 0x41, 0xbd, 0x3f, + 0x87, 0x7a, 0x7f, 0x3e, 0xf5, 0x69, 0xfd, 0x95, 0xa8, 0x70, 0x52, 0x17, 0xa1, 0x57, 0x38, 0xb5, + 0x85, 0xd2, 0x2b, 0x9c, 0xd6, 0x7e, 0x7c, 0x7a, 0xff, 0x17, 0x5b, 0x07, 0xe9, 0xbf, 0x81, 0x7e, + 0x9c, 0xfc, 0xfa, 0x7a, 0x81, 0xff, 0xd5, 0xe7, 0xc9, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xec, + 0x87, 0x51, 0x01, 0x35, 0x24, 0x00, 0x00, } diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index acee32324..442369ac4 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -3,15 +3,22 @@ option go_package = "./admin_cms;admin_cms"; import "Open_IM/pkg/proto/sdk_ws/ws.proto"; package admin_cms; -message AdminLoginReq { - string OperationID = 1; - string AdminID = 2; - string Secret = 3; + +message CommonResp { + int32 errCode = 1; + string errMsg = 2; } +message AdminLoginReq { + string operationID = 1; + string adminID = 2; + string secret = 3; +} + message AdminLoginResp { string token = 1; + CommonResp commonResp = 2; } message AddUserRegisterAddFriendIDListReq { @@ -20,7 +27,7 @@ message AddUserRegisterAddFriendIDListReq { } message AddUserRegisterAddFriendIDListResp { - + CommonResp commonResp = 1; } message ReduceUserRegisterAddFriendIDListReq { @@ -30,17 +37,278 @@ message ReduceUserRegisterAddFriendIDListReq { } message ReduceUserRegisterAddFriendIDListResp { - + CommonResp commonResp = 1; } message GetUserRegisterAddFriendIDListReq { string operationID = 1; - server_api_params.RequestPagination Pagination = 2; + server_api_params.RequestPagination pagination = 2; } message GetUserRegisterAddFriendIDListResp { - repeated server_api_params.UserInfo UserInfoList = 1; + repeated server_api_params.UserInfo userInfoList = 1; + server_api_params.ResponsePagination pagination = 2; + CommonResp commonResp = 3; +} + +message GetChatLogsReq { + string content = 1; + string sendID = 2; + string recvID = 3; + string sendTime = 4; + int32 sessionType = 5; + int32 contentType = 6; + server_api_params.RequestPagination pagination = 7; + string operationID = 8; + +} + +message ChatLog { + string serverMsgID = 1; + string clientMsgID = 2; + string sendID = 3; + string recvID = 4; + string groupID = 5; + string recvNickname = 6; + int32 senderPlatformID = 7; + string senderNickname = 8; + string senderFaceURL = 9; + string groupName = 10; + int32 sessionType = 11; + int32 msgFrom = 12; + int32 contentType = 13; + string content = 14; + int32 status = 15; + int64 sendTime = 16; + int64 createTime = 17; + string ex = 18; +} + +message GetChatLogsResp { + repeated ChatLog chatLogs = 1; + server_api_params.ResponsePagination pagination = 2; + int32 chatLogsNum = 3; + CommonResp commonResp = 4; +} + + +message StatisticsReq { + string from = 1; + string to = 2; +} + +message GetActiveUserReq{ + StatisticsReq statisticsReq = 1; + string operationID = 2; +} + +message UserResp{ + string nickName = 1; + string userID = 2; + int32 messageNum = 3; +} + +message GetActiveUserResp { + repeated UserResp Users = 1; + CommonResp commonResp = 2; +} + +message GetActiveGroupReq{ + StatisticsReq statisticsReq = 1; + string operationID = 2; +} + +message GroupResp { + string GroupName = 1; + string GroupId = 2; + int32 MessageNum = 3; + CommonResp commonResp = 4; +} + +message GetActiveGroupResp { + repeated GroupResp Groups = 1; + CommonResp commonResp = 2; +} + +message DateNumList { + string Date = 1; + int32 Num = 2; +} + + +message GetMessageStatisticsReq { + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + + +message GetMessageStatisticsResp { + int32 PrivateMessageNum = 1; + int32 GroupMessageNum = 2; + repeated DateNumList PrivateMessageNumList = 3; + repeated DateNumList GroupMessageNumList = 4; + CommonResp commonResp = 5; +} + +message GetGroupStatisticsReq { + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + + +message GetGroupStatisticsResp { + int32 IncreaseGroupNum = 1; + int32 TotalGroupNum = 2; + repeated DateNumList IncreaseGroupNumList = 3; + repeated DateNumList TotalGroupNumList = 4; + CommonResp commonResp = 5; +} + +message GetUserStatisticsReq { + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + +message GetUserStatisticsResp { + int32 IncreaseUserNum = 1; + int32 ActiveUserNum = 2; + int32 TotalUserNum = 3; + repeated DateNumList IncreaseUserNumList = 4; + repeated DateNumList ActiveUserNumList = 5; + repeated DateNumList TotalUserNumList = 6; + CommonResp commonResp = 7; +} + +message GenerateInvitationCodeReq { + string operationID = 1; + int32 codeLen = 2; + int32 codeNum = 3; +} + +message GenerateInvitationCodeResp { + CommonResp commonResp = 1; +} + +message GetInvitationCodesReq { + string operationID = 1; + string code = 2; + int32 status = 3; + server_api_params.RequestPagination pagination = 4; +} + +message invitationCode { + string invitationCode = 1; + int32 createTime = 2; + int32 lastTime = 3; + string userID = 4; + int32 status = 5; +} + +message GetInvitationCodesResp { + repeated invitationCode invitationCodes = 1; server_api_params.ResponsePagination Pagination = 2; + CommonResp commonResp = 3; +} + +message QueryIPRegisterReq { + string operationID = 1; + string IP = 2; +} + +message QueryIPRegisterResp { + string IP = 1; + int32 RegisterNum = 2; + int32 Status = 3; + repeated string userIDList = 4; + CommonResp commonResp = 5; +} + +message AddIPLimitReq { + string operationID = 1; + string IP = 2; + int32 limitTime = 3; +} + +message AddIPLimitResp { + CommonResp commonResp = 1; +} + +message RemoveIPLimitReq { + string operationID = 1; + string IP = 2; +} + +message RemoveIPLimitResp { + CommonResp commonResp = 1; +} + +message QueryUserIDIPLimitLoginReq { + string operationID = 1; + string userID = 2; +} + +message UserIPLimit { + string userID = 1; + string IP = 2; + int32 createTime = 3; +} + +message QueryUserIDIPLimitLoginResp { + repeated UserIPLimit UserIPLimits = 1; + CommonResp commonResp = 2; +} + +message AddUserIPLimitLoginReq { + string userID = 1; + string operationID = 2; + string IP = 3; +} + +message AddUserIPLimitLoginResp { + CommonResp commonResp = 1; +} + +message RemoveUserIPLimitReq { + string userID = 1; + string operationID = 2; + string IP = 3; +} + +message RemoveUserIPLimitResp { + CommonResp commonResp = 1; +} + +message GetClientInitConfigReq { + string operationID = 1; +} + +message GetClientInitConfigResp { + CommonResp commonResp = 1; +} + +message SetClientInitConfigReq { + string operationID = 1; + string discoverPageURL = 2; +} + +message SetClientInitConfigResp { + CommonResp commonResp = 1; +} + +message GetUserFriendsReq { + string operationID = 1; + string userID = 2; + string friendUserID = 3; + string friendUserName = 4; + server_api_params.RequestPagination pagination = 5; +} + + +message GetUserFriendsResp { + server_api_params.ResponsePagination pagination = 1; + repeated server_api_params.FriendInfo friendInfoList = 2; + int32 friendNums = 3; + CommonResp commonResp = 4; } service adminCMS { @@ -48,4 +316,28 @@ service adminCMS { rpc AddUserRegisterAddFriendIDList(AddUserRegisterAddFriendIDListReq) returns(AddUserRegisterAddFriendIDListResp); rpc ReduceUserRegisterAddFriendIDList(ReduceUserRegisterAddFriendIDListReq) returns(ReduceUserRegisterAddFriendIDListResp); rpc GetUserRegisterAddFriendIDList(GetUserRegisterAddFriendIDListReq) returns(GetUserRegisterAddFriendIDListResp); -} \ No newline at end of file + + + rpc GetChatLogs(GetChatLogsReq) returns(GetChatLogsResp); + + rpc GetActiveUser(GetActiveUserReq) returns(GetActiveUserResp); + rpc GetActiveGroup(GetActiveGroupReq) returns(GetActiveGroupResp); + rpc GetMessageStatistics(GetMessageStatisticsReq) returns(GetMessageStatisticsResp); + rpc GetGroupStatistics(GetGroupStatisticsReq) returns(GetGroupStatisticsResp); + rpc GetUserStatistics(GetUserStatisticsReq) returns(GetUserStatisticsResp); + + rpc GenerateInvitationCode(GenerateInvitationCodeReq) returns(GenerateInvitationCodeResp); + rpc GetInvitationCodes(GetInvitationCodesReq) returns(GetInvitationCodesResp); + + rpc QueryIPRegister(QueryIPRegisterReq) returns(QueryIPRegisterResp); + rpc AddIPLimit(AddIPLimitReq) returns(AddIPLimitResp); + rpc RemoveIPLimit(RemoveIPLimitReq) returns(RemoveIPLimitResp); + rpc QueryUserIDIPLimitLogin(QueryUserIDIPLimitLoginReq) returns(QueryUserIDIPLimitLoginResp); + rpc AddUserIPLimitLogin(AddUserIPLimitLoginReq) returns(AddUserIPLimitLoginResp); + rpc RemoveUserIPLimit(RemoveUserIPLimitReq) returns(RemoveUserIPLimitResp); + + rpc GetClientInitConfig(GetClientInitConfigReq) returns(GetClientInitConfigResp); + rpc SetClientInitConfig(SetClientInitConfigReq) returns(SetClientInitConfigResp); + + rpc GetUserFriends(GetUserFriendsReq) returns(GetUserFriendsResp); +} diff --git a/pkg/proto/base/base.proto b/pkg/proto/base/base.proto deleted file mode 100644 index 6d5144f0b..000000000 --- a/pkg/proto/base/base.proto +++ /dev/null @@ -1,5 +0,0 @@ -syntax = "proto3"; -package base; - - - diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index d4cd55960..5fbfa123d 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -37,7 +37,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{0} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{1} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{1} } func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) @@ -132,7 +132,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{2} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{2} } func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) @@ -200,7 +200,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{3} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{3} } func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) @@ -254,7 +254,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{4} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{4} } func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) @@ -308,7 +308,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{5} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{5} } func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) @@ -362,7 +362,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{6} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{6} } func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) @@ -414,7 +414,7 @@ func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoResp) ProtoMessage() {} func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{7} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{7} } func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) @@ -454,7 +454,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{8} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{8} } func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) @@ -508,7 +508,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{9} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{9} } func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) @@ -562,7 +562,7 @@ func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicat func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListReq) ProtoMessage() {} func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{10} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{10} } func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) @@ -615,7 +615,7 @@ func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplica func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListResp) ProtoMessage() {} func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{11} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{11} } func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) @@ -664,7 +664,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{12} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{12} } func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) @@ -730,7 +730,7 @@ func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerResp) ProtoMessage() {} func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{13} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{13} } func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) @@ -773,7 +773,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{14} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{14} } func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) @@ -846,7 +846,7 @@ func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } func (*JoinGroupResp) ProtoMessage() {} func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{15} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{15} } func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) @@ -889,7 +889,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{16} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{16} } func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) @@ -962,7 +962,7 @@ func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationRe func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseResp) ProtoMessage() {} func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{17} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{17} } func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) @@ -1002,7 +1002,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{18} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{18} } func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) @@ -1054,7 +1054,7 @@ func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } func (*QuitGroupResp) ProtoMessage() {} func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{19} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{19} } func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) @@ -1096,7 +1096,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{20} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{20} } func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) @@ -1165,7 +1165,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{21} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{21} } func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) @@ -1227,7 +1227,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{22} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{22} } func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) @@ -1288,7 +1288,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{23} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{23} } func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) @@ -1344,7 +1344,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{24} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{24} } func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) @@ -1411,7 +1411,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} } func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{25} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{25} } func (m *Id2Result) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Id2Result.Unmarshal(m, b) @@ -1458,7 +1458,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{26} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{26} } func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) @@ -1512,7 +1512,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{27} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{27} } func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) @@ -1566,7 +1566,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{28} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{28} } func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) @@ -1622,7 +1622,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{29} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{29} } func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) @@ -1690,7 +1690,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{30} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{30} } func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) @@ -1746,7 +1746,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{31} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{31} } func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) @@ -1814,7 +1814,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{32} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{32} } func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) @@ -1868,7 +1868,7 @@ func (m *CMSGroup) Reset() { *m = CMSGroup{} } func (m *CMSGroup) String() string { return proto.CompactTextString(m) } func (*CMSGroup) ProtoMessage() {} func (*CMSGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{33} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{33} } func (m *CMSGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CMSGroup.Unmarshal(m, b) @@ -1909,117 +1909,11 @@ func (m *CMSGroup) GetGroupOwnerUserID() string { return "" } -type GetGroupReq struct { - GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupReq) Reset() { *m = GetGroupReq{} } -func (m *GetGroupReq) String() string { return proto.CompactTextString(m) } -func (*GetGroupReq) ProtoMessage() {} -func (*GetGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{34} -} -func (m *GetGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupReq.Unmarshal(m, b) -} -func (m *GetGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupReq.Merge(dst, src) -} -func (m *GetGroupReq) XXX_Size() int { - return xxx_messageInfo_GetGroupReq.Size(m) -} -func (m *GetGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupReq proto.InternalMessageInfo - -func (m *GetGroupReq) GetGroupName() string { - if m != nil { - return m.GroupName - } - return "" -} - -func (m *GetGroupReq) GetPagination() *sdk_ws.RequestPagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetGroupReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetGroupResp struct { - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - GroupNums int32 `protobuf:"varint,3,opt,name=GroupNums" json:"GroupNums,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupResp) Reset() { *m = GetGroupResp{} } -func (m *GetGroupResp) String() string { return proto.CompactTextString(m) } -func (*GetGroupResp) ProtoMessage() {} -func (*GetGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{35} -} -func (m *GetGroupResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupResp.Unmarshal(m, b) -} -func (m *GetGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupResp.Marshal(b, m, deterministic) -} -func (dst *GetGroupResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupResp.Merge(dst, src) -} -func (m *GetGroupResp) XXX_Size() int { - return xxx_messageInfo_GetGroupResp.Size(m) -} -func (m *GetGroupResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupResp proto.InternalMessageInfo - -func (m *GetGroupResp) GetCMSGroups() []*CMSGroup { - if m != nil { - return m.CMSGroups - } - return nil -} - -func (m *GetGroupResp) GetPagination() *sdk_ws.RequestPagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetGroupResp) GetGroupNums() int32 { - if m != nil { - return m.GroupNums - } - return 0 -} - type GetGroupsReq struct { Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + GroupName string `protobuf:"bytes,2,opt,name=GroupName" json:"GroupName,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2029,7 +1923,7 @@ func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} } func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsReq) ProtoMessage() {} func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{36} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{34} } func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) @@ -2056,6 +1950,20 @@ func (m *GetGroupsReq) GetPagination() *sdk_ws.RequestPagination { return nil } +func (m *GetGroupsReq) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *GetGroupsReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + func (m *GetGroupsReq) GetOperationID() string { if m != nil { return m.OperationID @@ -2064,19 +1972,20 @@ func (m *GetGroupsReq) GetOperationID() string { } type GetGroupsResp struct { - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsResp) ProtoMessage() {} func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{37} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{35} } func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) @@ -2103,7 +2012,7 @@ func (m *GetGroupsResp) GetCMSGroups() []*CMSGroup { return nil } -func (m *GetGroupsResp) GetPagination() *sdk_ws.RequestPagination { +func (m *GetGroupsResp) GetPagination() *sdk_ws.ResponsePagination { if m != nil { return m.Pagination } @@ -2117,6 +2026,13 @@ func (m *GetGroupsResp) GetGroupNum() int32 { return 0 } +func (m *GetGroupsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + type GetGroupMemberReq struct { GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` @@ -2129,7 +2045,7 @@ func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberReq) ProtoMessage() {} func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{38} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{36} } func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) @@ -2163,182 +2079,6 @@ func (m *GetGroupMemberReq) GetOperationID() string { return "" } -type OperateUserRoleReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=UserID" json:"UserID,omitempty"` - RoleLevel int32 `protobuf:"varint,3,opt,name=RoleLevel" json:"RoleLevel,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OperateUserRoleReq) Reset() { *m = OperateUserRoleReq{} } -func (m *OperateUserRoleReq) String() string { return proto.CompactTextString(m) } -func (*OperateUserRoleReq) ProtoMessage() {} -func (*OperateUserRoleReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{39} -} -func (m *OperateUserRoleReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateUserRoleReq.Unmarshal(m, b) -} -func (m *OperateUserRoleReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateUserRoleReq.Marshal(b, m, deterministic) -} -func (dst *OperateUserRoleReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateUserRoleReq.Merge(dst, src) -} -func (m *OperateUserRoleReq) XXX_Size() int { - return xxx_messageInfo_OperateUserRoleReq.Size(m) -} -func (m *OperateUserRoleReq) XXX_DiscardUnknown() { - xxx_messageInfo_OperateUserRoleReq.DiscardUnknown(m) -} - -var xxx_messageInfo_OperateUserRoleReq proto.InternalMessageInfo - -func (m *OperateUserRoleReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *OperateUserRoleReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *OperateUserRoleReq) GetRoleLevel() int32 { - if m != nil { - return m.RoleLevel - } - return 0 -} - -func (m *OperateUserRoleReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type OperateUserRoleResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OperateUserRoleResp) Reset() { *m = OperateUserRoleResp{} } -func (m *OperateUserRoleResp) String() string { return proto.CompactTextString(m) } -func (*OperateUserRoleResp) ProtoMessage() {} -func (*OperateUserRoleResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{40} -} -func (m *OperateUserRoleResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateUserRoleResp.Unmarshal(m, b) -} -func (m *OperateUserRoleResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateUserRoleResp.Marshal(b, m, deterministic) -} -func (dst *OperateUserRoleResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateUserRoleResp.Merge(dst, src) -} -func (m *OperateUserRoleResp) XXX_Size() int { - return xxx_messageInfo_OperateUserRoleResp.Size(m) -} -func (m *OperateUserRoleResp) XXX_DiscardUnknown() { - xxx_messageInfo_OperateUserRoleResp.DiscardUnknown(m) -} - -var xxx_messageInfo_OperateUserRoleResp proto.InternalMessageInfo - -type GetGroupByIDReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupByIDReq) Reset() { *m = GetGroupByIDReq{} } -func (m *GetGroupByIDReq) String() string { return proto.CompactTextString(m) } -func (*GetGroupByIDReq) ProtoMessage() {} -func (*GetGroupByIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{41} -} -func (m *GetGroupByIDReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupByIDReq.Unmarshal(m, b) -} -func (m *GetGroupByIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupByIDReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupByIDReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupByIDReq.Merge(dst, src) -} -func (m *GetGroupByIDReq) XXX_Size() int { - return xxx_messageInfo_GetGroupByIDReq.Size(m) -} -func (m *GetGroupByIDReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupByIDReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupByIDReq proto.InternalMessageInfo - -func (m *GetGroupByIDReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *GetGroupByIDReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetGroupByIDResp struct { - CMSGroup *CMSGroup `protobuf:"bytes,1,opt,name=CMSGroup" json:"CMSGroup,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupByIDResp) Reset() { *m = GetGroupByIDResp{} } -func (m *GetGroupByIDResp) String() string { return proto.CompactTextString(m) } -func (*GetGroupByIDResp) ProtoMessage() {} -func (*GetGroupByIDResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{42} -} -func (m *GetGroupByIDResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupByIDResp.Unmarshal(m, b) -} -func (m *GetGroupByIDResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupByIDResp.Marshal(b, m, deterministic) -} -func (dst *GetGroupByIDResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupByIDResp.Merge(dst, src) -} -func (m *GetGroupByIDResp) XXX_Size() int { - return xxx_messageInfo_GetGroupByIDResp.Size(m) -} -func (m *GetGroupByIDResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupByIDResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupByIDResp proto.InternalMessageInfo - -func (m *GetGroupByIDResp) GetCMSGroup() *CMSGroup { - if m != nil { - return m.CMSGroup - } - return nil -} - type GetGroupMembersCMSReq struct { GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` UserName string `protobuf:"bytes,2,opt,name=UserName" json:"UserName,omitempty"` @@ -2353,7 +2093,7 @@ func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSReq) ProtoMessage() {} func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{43} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{37} } func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) @@ -2405,6 +2145,7 @@ type GetGroupMembersCMSResp struct { Members []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=members" json:"members,omitempty"` Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` MemberNums int32 `protobuf:"varint,3,opt,name=MemberNums" json:"MemberNums,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2414,7 +2155,7 @@ func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSResp) ProtoMessage() {} func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{44} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{38} } func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) @@ -2455,218 +2196,9 @@ func (m *GetGroupMembersCMSResp) GetMemberNums() int32 { return 0 } -type RemoveGroupMembersCMSReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - UserIDList []string `protobuf:"bytes,2,rep,name=UserIDList" json:"UserIDList,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RemoveGroupMembersCMSReq) Reset() { *m = RemoveGroupMembersCMSReq{} } -func (m *RemoveGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } -func (*RemoveGroupMembersCMSReq) ProtoMessage() {} -func (*RemoveGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{45} -} -func (m *RemoveGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RemoveGroupMembersCMSReq.Unmarshal(m, b) -} -func (m *RemoveGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RemoveGroupMembersCMSReq.Marshal(b, m, deterministic) -} -func (dst *RemoveGroupMembersCMSReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_RemoveGroupMembersCMSReq.Merge(dst, src) -} -func (m *RemoveGroupMembersCMSReq) XXX_Size() int { - return xxx_messageInfo_RemoveGroupMembersCMSReq.Size(m) -} -func (m *RemoveGroupMembersCMSReq) XXX_DiscardUnknown() { - xxx_messageInfo_RemoveGroupMembersCMSReq.DiscardUnknown(m) -} - -var xxx_messageInfo_RemoveGroupMembersCMSReq proto.InternalMessageInfo - -func (m *RemoveGroupMembersCMSReq) GetGroupID() string { +func (m *GetGroupMembersCMSResp) GetCommonResp() *CommonResp { if m != nil { - return m.GroupID - } - return "" -} - -func (m *RemoveGroupMembersCMSReq) GetUserIDList() []string { - if m != nil { - return m.UserIDList - } - return nil -} - -func (m *RemoveGroupMembersCMSReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *RemoveGroupMembersCMSReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -type RemoveGroupMembersCMSResp struct { - Success []string `protobuf:"bytes,1,rep,name=success" json:"success,omitempty"` - Failed []string `protobuf:"bytes,2,rep,name=failed" json:"failed,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RemoveGroupMembersCMSResp) Reset() { *m = RemoveGroupMembersCMSResp{} } -func (m *RemoveGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } -func (*RemoveGroupMembersCMSResp) ProtoMessage() {} -func (*RemoveGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{46} -} -func (m *RemoveGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RemoveGroupMembersCMSResp.Unmarshal(m, b) -} -func (m *RemoveGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RemoveGroupMembersCMSResp.Marshal(b, m, deterministic) -} -func (dst *RemoveGroupMembersCMSResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_RemoveGroupMembersCMSResp.Merge(dst, src) -} -func (m *RemoveGroupMembersCMSResp) XXX_Size() int { - return xxx_messageInfo_RemoveGroupMembersCMSResp.Size(m) -} -func (m *RemoveGroupMembersCMSResp) XXX_DiscardUnknown() { - xxx_messageInfo_RemoveGroupMembersCMSResp.DiscardUnknown(m) -} - -var xxx_messageInfo_RemoveGroupMembersCMSResp proto.InternalMessageInfo - -func (m *RemoveGroupMembersCMSResp) GetSuccess() []string { - if m != nil { - return m.Success - } - return nil -} - -func (m *RemoveGroupMembersCMSResp) GetFailed() []string { - if m != nil { - return m.Failed - } - return nil -} - -type AddGroupMembersCMSReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - UserIDList []string `protobuf:"bytes,2,rep,name=UserIDList" json:"UserIDList,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AddGroupMembersCMSReq) Reset() { *m = AddGroupMembersCMSReq{} } -func (m *AddGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } -func (*AddGroupMembersCMSReq) ProtoMessage() {} -func (*AddGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{47} -} -func (m *AddGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddGroupMembersCMSReq.Unmarshal(m, b) -} -func (m *AddGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddGroupMembersCMSReq.Marshal(b, m, deterministic) -} -func (dst *AddGroupMembersCMSReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddGroupMembersCMSReq.Merge(dst, src) -} -func (m *AddGroupMembersCMSReq) XXX_Size() int { - return xxx_messageInfo_AddGroupMembersCMSReq.Size(m) -} -func (m *AddGroupMembersCMSReq) XXX_DiscardUnknown() { - xxx_messageInfo_AddGroupMembersCMSReq.DiscardUnknown(m) -} - -var xxx_messageInfo_AddGroupMembersCMSReq proto.InternalMessageInfo - -func (m *AddGroupMembersCMSReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *AddGroupMembersCMSReq) GetUserIDList() []string { - if m != nil { - return m.UserIDList - } - return nil -} - -func (m *AddGroupMembersCMSReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *AddGroupMembersCMSReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -type AddGroupMembersCMSResp struct { - Success []string `protobuf:"bytes,1,rep,name=success" json:"success,omitempty"` - Failed []string `protobuf:"bytes,2,rep,name=failed" json:"failed,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AddGroupMembersCMSResp) Reset() { *m = AddGroupMembersCMSResp{} } -func (m *AddGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } -func (*AddGroupMembersCMSResp) ProtoMessage() {} -func (*AddGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{48} -} -func (m *AddGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddGroupMembersCMSResp.Unmarshal(m, b) -} -func (m *AddGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddGroupMembersCMSResp.Marshal(b, m, deterministic) -} -func (dst *AddGroupMembersCMSResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddGroupMembersCMSResp.Merge(dst, src) -} -func (m *AddGroupMembersCMSResp) XXX_Size() int { - return xxx_messageInfo_AddGroupMembersCMSResp.Size(m) -} -func (m *AddGroupMembersCMSResp) XXX_DiscardUnknown() { - xxx_messageInfo_AddGroupMembersCMSResp.DiscardUnknown(m) -} - -var xxx_messageInfo_AddGroupMembersCMSResp proto.InternalMessageInfo - -func (m *AddGroupMembersCMSResp) GetSuccess() []string { - if m != nil { - return m.Success - } - return nil -} - -func (m *AddGroupMembersCMSResp) GetFailed() []string { - if m != nil { - return m.Failed + return m.CommonResp } return nil } @@ -2684,7 +2216,7 @@ func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } func (*DismissGroupReq) ProtoMessage() {} func (*DismissGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{49} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{39} } func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) @@ -2736,7 +2268,7 @@ func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } func (*DismissGroupResp) ProtoMessage() {} func (*DismissGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{50} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{40} } func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) @@ -2778,7 +2310,7 @@ func (m *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} } func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberReq) ProtoMessage() {} func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{51} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{41} } func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b) @@ -2844,7 +2376,7 @@ func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} } func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberResp) ProtoMessage() {} func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{52} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{42} } func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b) @@ -2885,7 +2417,7 @@ func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberR func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberReq) ProtoMessage() {} func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{53} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{43} } func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b) @@ -2944,7 +2476,7 @@ func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMember func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberResp) ProtoMessage() {} func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{54} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{44} } func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b) @@ -2984,7 +2516,7 @@ func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} } func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupReq) ProtoMessage() {} func (*MuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{55} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{45} } func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b) @@ -3036,7 +2568,7 @@ func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} } func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupResp) ProtoMessage() {} func (*MuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{56} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{46} } func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b) @@ -3076,7 +2608,7 @@ func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} } func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupReq) ProtoMessage() {} func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{57} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{47} } func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b) @@ -3128,7 +2660,7 @@ func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} } func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupResp) ProtoMessage() {} func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{58} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{48} } func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b) @@ -3170,7 +2702,7 @@ func (m *SetGroupMemberNicknameReq) Reset() { *m = SetGroupMemberNicknam func (m *SetGroupMemberNicknameReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameReq) ProtoMessage() {} func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{59} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{49} } func (m *SetGroupMemberNicknameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameReq.Unmarshal(m, b) @@ -3236,7 +2768,7 @@ func (m *SetGroupMemberNicknameResp) Reset() { *m = SetGroupMemberNickna func (m *SetGroupMemberNicknameResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameResp) ProtoMessage() {} func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{60} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{50} } func (m *SetGroupMemberNicknameResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameResp.Unmarshal(m, b) @@ -3276,7 +2808,7 @@ func (m *GetJoinedSuperGroupListReq) Reset() { *m = GetJoinedSuperGroupL func (m *GetJoinedSuperGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListReq) ProtoMessage() {} func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{61} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{51} } func (m *GetJoinedSuperGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListReq.Unmarshal(m, b) @@ -3329,7 +2861,7 @@ func (m *GetJoinedSuperGroupListResp) Reset() { *m = GetJoinedSuperGroup func (m *GetJoinedSuperGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListResp) ProtoMessage() {} func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{62} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{52} } func (m *GetJoinedSuperGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListResp.Unmarshal(m, b) @@ -3376,7 +2908,7 @@ func (m *GetSuperGroupsInfoReq) Reset() { *m = GetSuperGroupsInfoReq{} } func (m *GetSuperGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoReq) ProtoMessage() {} func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{63} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{53} } func (m *GetSuperGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoReq.Unmarshal(m, b) @@ -3429,7 +2961,7 @@ func (m *GetSuperGroupsInfoResp) Reset() { *m = GetSuperGroupsInfoResp{} func (m *GetSuperGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoResp) ProtoMessage() {} func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{64} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{54} } func (m *GetSuperGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoResp.Unmarshal(m, b) @@ -3481,7 +3013,7 @@ func (m *SetGroupMemberInfoReq) Reset() { *m = SetGroupMemberInfoReq{} } func (m *SetGroupMemberInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoReq) ProtoMessage() {} func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{65} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{55} } func (m *SetGroupMemberInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoReq.Unmarshal(m, b) @@ -3568,7 +3100,7 @@ func (m *SetGroupMemberInfoResp) Reset() { *m = SetGroupMemberInfoResp{} func (m *SetGroupMemberInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoResp) ProtoMessage() {} func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{66} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{56} } func (m *SetGroupMemberInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoResp.Unmarshal(m, b) @@ -3608,7 +3140,7 @@ func (m *GetGroupAbstractInfoReq) Reset() { *m = GetGroupAbstractInfoReq func (m *GetGroupAbstractInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoReq) ProtoMessage() {} func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{67} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{57} } func (m *GetGroupAbstractInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoReq.Unmarshal(m, b) @@ -3662,7 +3194,7 @@ func (m *GetGroupAbstractInfoResp) Reset() { *m = GetGroupAbstractInfoRe func (m *GetGroupAbstractInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoResp) ProtoMessage() {} func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{68} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{58} } func (m *GetGroupAbstractInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoResp.Unmarshal(m, b) @@ -3738,21 +3270,11 @@ func init() { proto.RegisterType((*GetGroupAllMemberReq)(nil), "group.GetGroupAllMemberReq") proto.RegisterType((*GetGroupAllMemberResp)(nil), "group.GetGroupAllMemberResp") proto.RegisterType((*CMSGroup)(nil), "group.CMSGroup") - proto.RegisterType((*GetGroupReq)(nil), "group.GetGroupReq") - proto.RegisterType((*GetGroupResp)(nil), "group.GetGroupResp") proto.RegisterType((*GetGroupsReq)(nil), "group.GetGroupsReq") proto.RegisterType((*GetGroupsResp)(nil), "group.GetGroupsResp") proto.RegisterType((*GetGroupMemberReq)(nil), "group.GetGroupMemberReq") - proto.RegisterType((*OperateUserRoleReq)(nil), "group.OperateUserRoleReq") - proto.RegisterType((*OperateUserRoleResp)(nil), "group.OperateUserRoleResp") - proto.RegisterType((*GetGroupByIDReq)(nil), "group.GetGroupByIDReq") - proto.RegisterType((*GetGroupByIDResp)(nil), "group.GetGroupByIDResp") proto.RegisterType((*GetGroupMembersCMSReq)(nil), "group.GetGroupMembersCMSReq") proto.RegisterType((*GetGroupMembersCMSResp)(nil), "group.GetGroupMembersCMSResp") - proto.RegisterType((*RemoveGroupMembersCMSReq)(nil), "group.RemoveGroupMembersCMSReq") - proto.RegisterType((*RemoveGroupMembersCMSResp)(nil), "group.RemoveGroupMembersCMSResp") - proto.RegisterType((*AddGroupMembersCMSReq)(nil), "group.AddGroupMembersCMSReq") - proto.RegisterType((*AddGroupMembersCMSResp)(nil), "group.AddGroupMembersCMSResp") proto.RegisterType((*DismissGroupReq)(nil), "group.DismissGroupReq") proto.RegisterType((*DismissGroupResp)(nil), "group.DismissGroupResp") proto.RegisterType((*MuteGroupMemberReq)(nil), "group.MuteGroupMemberReq") @@ -3801,13 +3323,8 @@ type GroupClient interface { GetJoinedGroupList(ctx context.Context, in *GetJoinedGroupListReq, opts ...grpc.CallOption) (*GetJoinedGroupListResp, error) InviteUserToGroup(ctx context.Context, in *InviteUserToGroupReq, opts ...grpc.CallOption) (*InviteUserToGroupResp, error) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemberReq, opts ...grpc.CallOption) (*GetGroupAllMemberResp, error) - GetGroupByID(ctx context.Context, in *GetGroupByIDReq, opts ...grpc.CallOption) (*GetGroupByIDResp, error) - GetGroup(ctx context.Context, in *GetGroupReq, opts ...grpc.CallOption) (*GetGroupResp, error) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) - OperateUserRole(ctx context.Context, in *OperateUserRoleReq, opts ...grpc.CallOption) (*OperateUserRoleResp, error) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) - RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) - AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) MuteGroupMember(ctx context.Context, in *MuteGroupMemberReq, opts ...grpc.CallOption) (*MuteGroupMemberResp, error) CancelMuteGroupMember(ctx context.Context, in *CancelMuteGroupMemberReq, opts ...grpc.CallOption) (*CancelMuteGroupMemberResp, error) @@ -3963,24 +3480,6 @@ func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemb return out, nil } -func (c *groupClient) GetGroupByID(ctx context.Context, in *GetGroupByIDReq, opts ...grpc.CallOption) (*GetGroupByIDResp, error) { - out := new(GetGroupByIDResp) - err := grpc.Invoke(ctx, "/group.group/GetGroupByID", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *groupClient) GetGroup(ctx context.Context, in *GetGroupReq, opts ...grpc.CallOption) (*GetGroupResp, error) { - out := new(GetGroupResp) - err := grpc.Invoke(ctx, "/group.group/GetGroup", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) { out := new(GetGroupsResp) err := grpc.Invoke(ctx, "/group.group/GetGroups", in, out, c.cc, opts...) @@ -3990,15 +3489,6 @@ func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...g return out, nil } -func (c *groupClient) OperateUserRole(ctx context.Context, in *OperateUserRoleReq, opts ...grpc.CallOption) (*OperateUserRoleResp, error) { - out := new(OperateUserRoleResp) - err := grpc.Invoke(ctx, "/group.group/OperateUserRole", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) { out := new(GetGroupMembersCMSResp) err := grpc.Invoke(ctx, "/group.group/GetGroupMembersCMS", in, out, c.cc, opts...) @@ -4008,24 +3498,6 @@ func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMember return out, nil } -func (c *groupClient) RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) { - out := new(RemoveGroupMembersCMSResp) - err := grpc.Invoke(ctx, "/group.group/RemoveGroupMembersCMS", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *groupClient) AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) { - out := new(AddGroupMembersCMSResp) - err := grpc.Invoke(ctx, "/group.group/AddGroupMembersCMS", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *groupClient) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) { out := new(DismissGroupResp) err := grpc.Invoke(ctx, "/group.group/DismissGroup", in, out, c.cc, opts...) @@ -4134,13 +3606,8 @@ type GroupServer interface { GetJoinedGroupList(context.Context, *GetJoinedGroupListReq) (*GetJoinedGroupListResp, error) InviteUserToGroup(context.Context, *InviteUserToGroupReq) (*InviteUserToGroupResp, error) GetGroupAllMember(context.Context, *GetGroupAllMemberReq) (*GetGroupAllMemberResp, error) - GetGroupByID(context.Context, *GetGroupByIDReq) (*GetGroupByIDResp, error) - GetGroup(context.Context, *GetGroupReq) (*GetGroupResp, error) GetGroups(context.Context, *GetGroupsReq) (*GetGroupsResp, error) - OperateUserRole(context.Context, *OperateUserRoleReq) (*OperateUserRoleResp, error) GetGroupMembersCMS(context.Context, *GetGroupMembersCMSReq) (*GetGroupMembersCMSResp, error) - RemoveGroupMembersCMS(context.Context, *RemoveGroupMembersCMSReq) (*RemoveGroupMembersCMSResp, error) - AddGroupMembersCMS(context.Context, *AddGroupMembersCMSReq) (*AddGroupMembersCMSResp, error) DismissGroup(context.Context, *DismissGroupReq) (*DismissGroupResp, error) MuteGroupMember(context.Context, *MuteGroupMemberReq) (*MuteGroupMemberResp, error) CancelMuteGroupMember(context.Context, *CancelMuteGroupMemberReq) (*CancelMuteGroupMemberResp, error) @@ -4427,42 +3894,6 @@ func _Group_GetGroupAllMember_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Group_GetGroupByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGroupByIDReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).GetGroupByID(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/GetGroupByID", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).GetGroupByID(ctx, req.(*GetGroupByIDReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Group_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGroupReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).GetGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/GetGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).GetGroup(ctx, req.(*GetGroupReq)) - } - return interceptor(ctx, in, info, handler) -} - func _Group_GetGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGroupsReq) if err := dec(in); err != nil { @@ -4481,24 +3912,6 @@ func _Group_GetGroups_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } -func _Group_OperateUserRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OperateUserRoleReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).OperateUserRole(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/OperateUserRole", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).OperateUserRole(ctx, req.(*OperateUserRoleReq)) - } - return interceptor(ctx, in, info, handler) -} - func _Group_GetGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGroupMembersCMSReq) if err := dec(in); err != nil { @@ -4517,42 +3930,6 @@ func _Group_GetGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Group_RemoveGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RemoveGroupMembersCMSReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).RemoveGroupMembersCMS(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/RemoveGroupMembersCMS", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).RemoveGroupMembersCMS(ctx, req.(*RemoveGroupMembersCMSReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Group_AddGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddGroupMembersCMSReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).AddGroupMembersCMS(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/AddGroupMembersCMS", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).AddGroupMembersCMS(ctx, req.(*AddGroupMembersCMSReq)) - } - return interceptor(ctx, in, info, handler) -} - func _Group_DismissGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DismissGroupReq) if err := dec(in); err != nil { @@ -4797,34 +4174,14 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "getGroupAllMember", Handler: _Group_GetGroupAllMember_Handler, }, - { - MethodName: "GetGroupByID", - Handler: _Group_GetGroupByID_Handler, - }, - { - MethodName: "GetGroup", - Handler: _Group_GetGroup_Handler, - }, { MethodName: "GetGroups", Handler: _Group_GetGroups_Handler, }, - { - MethodName: "OperateUserRole", - Handler: _Group_OperateUserRole_Handler, - }, { MethodName: "GetGroupMembersCMS", Handler: _Group_GetGroupMembersCMS_Handler, }, - { - MethodName: "RemoveGroupMembersCMS", - Handler: _Group_RemoveGroupMembersCMS_Handler, - }, - { - MethodName: "AddGroupMembersCMS", - Handler: _Group_AddGroupMembersCMS_Handler, - }, { MethodName: "DismissGroup", Handler: _Group_DismissGroup_Handler, @@ -4870,159 +4227,145 @@ var _Group_serviceDesc = grpc.ServiceDesc{ Metadata: "group/group.proto", } -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_077aa2a789cf93ed) } +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_37a68c49b6b0a4e7) } -var fileDescriptor_group_077aa2a789cf93ed = []byte{ - // 2401 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, - 0x55, 0x3d, 0xe3, 0x89, 0x3d, 0xcf, 0x9e, 0x8c, 0x53, 0x8e, 0x9d, 0x49, 0xc7, 0xeb, 0x38, 0xb5, - 0x61, 0x89, 0x20, 0x38, 0xe0, 0x48, 0x11, 0xb0, 0x88, 0x10, 0xdb, 0x49, 0xec, 0x24, 0xb6, 0x49, - 0x4f, 0x16, 0xa4, 0x48, 0x28, 0x8c, 0x67, 0x6a, 0x9a, 0xc1, 0x33, 0xdd, 0xed, 0xae, 0x1e, 0x3b, - 0x70, 0x59, 0x71, 0x59, 0x09, 0x84, 0xb4, 0x7c, 0x5c, 0x17, 0xc1, 0x72, 0x81, 0x03, 0x48, 0x1c, - 0xe0, 0x8c, 0x38, 0x70, 0xe3, 0x0f, 0x70, 0xe5, 0x0f, 0xf0, 0x17, 0x50, 0x57, 0x55, 0x57, 0x57, - 0x77, 0x75, 0xb7, 0x27, 0xed, 0x64, 0xc3, 0xa5, 0xa5, 0x7a, 0xf5, 0xaa, 0xea, 0x7d, 0xd5, 0xab, - 0xf7, 0xd1, 0x70, 0xc1, 0xf6, 0xdd, 0xb1, 0x77, 0x8b, 0x7d, 0xd7, 0x3c, 0xdf, 0x0d, 0x5c, 0x54, - 0x63, 0x03, 0xf3, 0xda, 0xbe, 0x47, 0x9c, 0x17, 0x3b, 0xbb, 0xb7, 0xbc, 0x43, 0xfb, 0x16, 0x9b, - 0xb9, 0x45, 0x7b, 0x87, 0x2f, 0x4e, 0xe8, 0xad, 0x13, 0xca, 0x31, 0xcd, 0xcf, 0xe7, 0xa3, 0xf8, - 0x1d, 0xcf, 0x23, 0xbe, 0x40, 0xc4, 0xdf, 0x04, 0xd8, 0x74, 0x47, 0x23, 0xd7, 0xb1, 0x08, 0xf5, - 0x50, 0x0b, 0xa6, 0xef, 0xfb, 0xfe, 0xa6, 0xdb, 0x23, 0x2d, 0x63, 0xd5, 0xb8, 0x51, 0xb3, 0xa2, - 0x21, 0x5a, 0x82, 0x73, 0xf7, 0x7d, 0x7f, 0x97, 0xda, 0xad, 0xca, 0xaa, 0x71, 0xa3, 0x6e, 0x89, - 0x11, 0x7e, 0x04, 0xe8, 0x61, 0x48, 0xd4, 0xbd, 0x5e, 0x6f, 0x97, 0x8c, 0x0e, 0x88, 0xbf, 0xe3, - 0xf4, 0xdd, 0x10, 0xfb, 0x03, 0x4a, 0xfc, 0x9d, 0x2d, 0xb6, 0x4d, 0xdd, 0x12, 0x23, 0xb4, 0x0c, - 0x75, 0xcb, 0x1d, 0x92, 0x27, 0xe4, 0x98, 0x0c, 0xd9, 0x46, 0x35, 0x2b, 0x06, 0xe0, 0xff, 0x1a, - 0x70, 0x7e, 0xd3, 0x27, 0x9d, 0x80, 0xb0, 0x2d, 0x2d, 0x72, 0x84, 0xee, 0xc1, 0xf9, 0x1d, 0x67, - 0x10, 0xf0, 0xad, 0x9f, 0x0c, 0x68, 0xd0, 0x32, 0x56, 0xab, 0x37, 0x66, 0xd7, 0x2f, 0xaf, 0x71, - 0xb9, 0xe8, 0x67, 0x5b, 0xa9, 0x05, 0xe8, 0xeb, 0x50, 0x67, 0x58, 0xe1, 0x24, 0x3b, 0x73, 0x76, - 0x7d, 0x79, 0x8d, 0x12, 0xff, 0x98, 0xf8, 0x2f, 0x3a, 0xde, 0xe0, 0x85, 0xd7, 0xf1, 0x3b, 0x23, - 0xba, 0x26, 0x71, 0xac, 0x18, 0x1d, 0xad, 0xc2, 0xec, 0xbe, 0x47, 0xfc, 0x4e, 0x30, 0x70, 0x9d, - 0x9d, 0xad, 0x56, 0x95, 0x31, 0xa3, 0x82, 0x90, 0x09, 0x33, 0xfb, 0x9e, 0xe0, 0x75, 0x8a, 0x4d, - 0xcb, 0x31, 0x5b, 0x7d, 0xe2, 0x10, 0x5f, 0x4c, 0xd7, 0xc4, 0xea, 0x18, 0x84, 0x3f, 0x84, 0x66, - 0x82, 0xe1, 0x32, 0x2a, 0x48, 0x32, 0x58, 0x7d, 0x25, 0x06, 0xb1, 0x0f, 0xf3, 0x0f, 0x49, 0xc0, - 0xc6, 0x94, 0xcd, 0x91, 0xa3, 0x90, 0x6c, 0x8e, 0xb0, 0x25, 0x05, 0x5e, 0xb7, 0x54, 0x50, 0x5a, - 0x2c, 0x95, 0x62, 0xb1, 0x54, 0x93, 0x62, 0xc1, 0x3f, 0x35, 0xe0, 0x42, 0xea, 0xd0, 0x52, 0x7c, - 0x6f, 0x40, 0x43, 0x32, 0xc2, 0x28, 0xad, 0x32, 0xd3, 0x28, 0xe6, 0x3d, 0xb9, 0x04, 0xff, 0xc6, - 0x80, 0x66, 0x5b, 0xd0, 0x12, 0xf1, 0xff, 0x04, 0x9a, 0x76, 0x34, 0x7e, 0xe0, 0xfa, 0x6d, 0x12, - 0x30, 0x8a, 0x66, 0xd7, 0x71, 0xd1, 0xce, 0x1c, 0xd3, 0x4a, 0x2f, 0x4d, 0x48, 0xa2, 0x92, 0x61, - 0x20, 0x85, 0xe6, 0x85, 0xef, 0xc3, 0x7c, 0x92, 0x3c, 0xea, 0xa1, 0xaf, 0xa8, 0x57, 0x56, 0x90, - 0x76, 0x41, 0xdc, 0x87, 0x78, 0xc2, 0x52, 0x90, 0xf0, 0x8f, 0xc1, 0x8c, 0x24, 0x7e, 0xcf, 0xf3, - 0x86, 0x83, 0x2e, 0xdb, 0x3f, 0x94, 0x40, 0xc8, 0xb0, 0x4a, 0xa2, 0x51, 0x4c, 0x62, 0x86, 0xaa, - 0x57, 0x00, 0x1e, 0xf8, 0xee, 0x28, 0xa1, 0x6c, 0x05, 0x82, 0x3f, 0x31, 0xe0, 0x4a, 0xee, 0xe1, - 0xa5, 0x14, 0xff, 0x18, 0xe6, 0x23, 0x07, 0x31, 0x26, 0x34, 0x50, 0x74, 0x7f, 0x35, 0x4f, 0x43, - 0x02, 0xd5, 0xd2, 0x16, 0xe2, 0x00, 0x96, 0x1f, 0x92, 0x20, 0xa4, 0xd5, 0x22, 0x47, 0x19, 0xc2, - 0xc9, 0x73, 0x65, 0x67, 0xd3, 0xeb, 0x6f, 0x0d, 0x78, 0xa7, 0xe0, 0xd8, 0x52, 0x5a, 0xce, 0x94, - 0x4b, 0xa5, 0xac, 0x5c, 0xfe, 0x6e, 0xc0, 0xe2, 0x33, 0xbf, 0xe3, 0xd0, 0x3e, 0xf1, 0xd9, 0x24, - 0xf3, 0x5b, 0xa1, 0x44, 0x5a, 0x30, 0x2d, 0x9c, 0x81, 0x10, 0x49, 0x34, 0x44, 0xef, 0xc1, 0xf9, - 0xfd, 0x61, 0x4f, 0xf5, 0x79, 0x5c, 0x32, 0x29, 0x68, 0x88, 0xb7, 0x47, 0x4e, 0x54, 0x3c, 0x2e, - 0xa2, 0x14, 0x34, 0x2d, 0xc7, 0xa9, 0x62, 0x3f, 0x53, 0x4b, 0xf9, 0x99, 0xc7, 0xb0, 0x94, 0xc5, - 0x40, 0xb9, 0x1b, 0xf4, 0x2f, 0x03, 0xe6, 0x1e, 0xb9, 0x03, 0x47, 0xbe, 0x4c, 0xf9, 0x52, 0x58, - 0x01, 0xb0, 0xc8, 0xd1, 0x2e, 0xa1, 0xb4, 0x63, 0x13, 0x21, 0x01, 0x05, 0x52, 0xe4, 0x1b, 0x27, - 0xe0, 0x78, 0x05, 0x20, 0xa4, 0xa3, 0xed, 0x8e, 0xfd, 0x2e, 0x61, 0x3c, 0xd7, 0x2c, 0x05, 0x82, - 0xae, 0x43, 0x63, 0xc7, 0x39, 0x1e, 0x04, 0x52, 0xb4, 0xe7, 0xd8, 0x1e, 0x49, 0x20, 0xde, 0x80, - 0x86, 0xc2, 0x4d, 0x39, 0x91, 0xfc, 0x3b, 0xbc, 0xd8, 0xa9, 0x5b, 0x1d, 0x4e, 0xb8, 0x0e, 0x25, - 0xe2, 0x1d, 0x51, 0x79, 0x31, 0x8a, 0xb5, 0x97, 0xbe, 0x43, 0x8a, 0x7c, 0xab, 0x9a, 0x7c, 0x15, - 0x87, 0x33, 0x95, 0x76, 0x38, 0xe1, 0xfc, 0x76, 0xc7, 0xe9, 0x0d, 0x49, 0x2f, 0x74, 0x1d, 0xdc, - 0x2a, 0x14, 0x08, 0xc2, 0x30, 0xc7, 0x47, 0x16, 0xa1, 0xe3, 0x61, 0xc0, 0x04, 0x54, 0xb3, 0x12, - 0x30, 0xfc, 0x14, 0x96, 0xf3, 0x59, 0x2b, 0x27, 0xae, 0x3e, 0xcc, 0x3d, 0x1d, 0x0f, 0x82, 0x09, - 0x0c, 0xe8, 0x6c, 0xcf, 0xeb, 0x06, 0x34, 0x94, 0x73, 0xca, 0xd1, 0xfa, 0xa9, 0x01, 0x8b, 0x91, - 0xcf, 0x8e, 0x43, 0xa9, 0x62, 0xaa, 0xcf, 0xe4, 0x10, 0x43, 0x37, 0xfb, 0x60, 0x30, 0x0c, 0x88, - 0xcf, 0x14, 0x5a, 0xb3, 0xc4, 0x28, 0x3c, 0x6f, 0x8f, 0xbc, 0x0c, 0xda, 0xe4, 0x48, 0xd8, 0x7a, - 0x34, 0xc4, 0x7f, 0x32, 0x60, 0x29, 0x8b, 0xc6, 0x52, 0x4f, 0xca, 0x03, 0x80, 0x51, 0x1c, 0x63, - 0xf2, 0xc7, 0xe4, 0xbd, 0x3c, 0xa7, 0xc9, 0x4f, 0x7b, 0x30, 0x1e, 0x0e, 0xd9, 0x9b, 0xac, 0xac, - 0x0c, 0x4f, 0x76, 0x04, 0xb9, 0x9c, 0x8f, 0x68, 0x88, 0x7f, 0xa1, 0x91, 0x2b, 0x03, 0xae, 0x42, - 0x57, 0xa2, 0x90, 0x55, 0x61, 0x91, 0x98, 0x7a, 0xdc, 0x99, 0x5c, 0x09, 0xfe, 0xb5, 0x01, 0x97, - 0x32, 0x49, 0x7a, 0x9b, 0x22, 0xc4, 0x7f, 0x31, 0x00, 0x3d, 0x1e, 0x74, 0x0f, 0x15, 0xbc, 0x62, - 0x21, 0x7d, 0x01, 0xe6, 0x43, 0x7c, 0xd2, 0xe3, 0x8c, 0x2b, 0xa2, 0xd2, 0xe0, 0x21, 0xf1, 0x16, - 0xe9, 0x50, 0xd7, 0x11, 0xe2, 0x12, 0xa3, 0xb4, 0xb0, 0x6a, 0xc5, 0x57, 0xee, 0x5c, 0xea, 0xca, - 0xbd, 0x0f, 0xf5, 0x9d, 0xde, 0x3a, 0x77, 0x1d, 0xb9, 0x01, 0x03, 0x3b, 0x9a, 0x39, 0x1c, 0x9e, - 0xf8, 0x88, 0x11, 0xfe, 0x10, 0x16, 0x34, 0x76, 0x4b, 0x29, 0xe0, 0x0e, 0x34, 0x24, 0x15, 0x8a, - 0x0e, 0xe6, 0xc5, 0x55, 0x97, 0x73, 0x56, 0x12, 0x0d, 0x8f, 0xd9, 0x5d, 0x0f, 0x9f, 0x03, 0xd2, - 0x63, 0x54, 0x44, 0x77, 0x3d, 0xe9, 0x68, 0x0d, 0xcd, 0xd1, 0xae, 0xc2, 0xac, 0xab, 0xfb, 0x29, - 0x77, 0x42, 0x3f, 0xf5, 0x11, 0xbf, 0x10, 0xda, 0xb9, 0x67, 0xca, 0x81, 0x26, 0xce, 0x03, 0x62, - 0x74, 0xfc, 0x57, 0x03, 0x2e, 0xf2, 0xd7, 0x31, 0xa4, 0xec, 0x99, 0x2b, 0x3d, 0xf4, 0xe9, 0x7e, - 0x38, 0xff, 0x91, 0x8a, 0x0d, 0x6d, 0x2a, 0x61, 0x68, 0x37, 0xe1, 0x02, 0x3f, 0x4b, 0xb5, 0xd6, - 0x1a, 0xb3, 0x56, 0x7d, 0xa2, 0xd0, 0xe8, 0x7e, 0x62, 0xc0, 0x62, 0x06, 0xd9, 0x9f, 0xa9, 0xe9, - 0x7c, 0x62, 0xc0, 0x45, 0x19, 0xdb, 0x0f, 0x87, 0x93, 0xdc, 0xd6, 0x33, 0x3f, 0x13, 0xfb, 0xfd, - 0x3e, 0x25, 0x41, 0xf4, 0x4c, 0xf0, 0x11, 0xba, 0x08, 0xb5, 0x4d, 0x77, 0xec, 0x04, 0xe2, 0x91, - 0xe0, 0x03, 0xfc, 0x4b, 0xe5, 0x19, 0x53, 0xc8, 0x7b, 0xab, 0xee, 0xed, 0xf7, 0x06, 0xcc, 0x6c, - 0xee, 0xb6, 0x19, 0x5a, 0x32, 0x75, 0x37, 0x5e, 0xad, 0x36, 0xb1, 0x26, 0x2a, 0x2f, 0x32, 0x60, - 0xde, 0xeb, 0x8c, 0xa2, 0x70, 0x33, 0x63, 0x26, 0x74, 0x93, 0x49, 0xa8, 0x94, 0xb0, 0x06, 0x0f, - 0x5f, 0x86, 0xd9, 0x48, 0x70, 0xa1, 0x3a, 0x97, 0x05, 0x9d, 0xec, 0x08, 0xae, 0xd0, 0x18, 0x80, - 0xb6, 0x00, 0xbe, 0xdd, 0xb1, 0x07, 0x0e, 0x53, 0x92, 0x28, 0xb1, 0x5c, 0xcf, 0x60, 0x43, 0xa4, - 0x17, 0x31, 0xae, 0xa5, 0xac, 0x9b, 0x20, 0x69, 0xfa, 0xd4, 0x80, 0xb9, 0x98, 0x2a, 0xea, 0xa1, - 0x2f, 0x41, 0x3d, 0x12, 0x25, 0x15, 0x85, 0xa1, 0x66, 0x14, 0xd8, 0x08, 0xb8, 0x15, 0x63, 0xbc, - 0x26, 0x3a, 0xa5, 0x2c, 0xc6, 0x23, 0xca, 0xa8, 0xac, 0x59, 0x31, 0x00, 0x1f, 0xc7, 0x24, 0xd2, - 0x50, 0x72, 0xc9, 0x33, 0x8d, 0xd7, 0x23, 0x1b, 0xdd, 0x13, 0xe1, 0xdf, 0x19, 0xd0, 0x50, 0x0e, - 0x7e, 0x5b, 0xc2, 0x31, 0x61, 0x26, 0x92, 0x85, 0x90, 0x8d, 0x1c, 0xe3, 0xfd, 0xb8, 0xec, 0x33, - 0x89, 0xa3, 0x38, 0x9d, 0xe7, 0x8f, 0x0c, 0x40, 0x7c, 0xcc, 0x5c, 0xa0, 0xe5, 0x0e, 0x49, 0xf1, - 0x96, 0xf1, 0xd3, 0x5c, 0xc9, 0x2f, 0x4b, 0x56, 0x53, 0x65, 0xc9, 0x09, 0x02, 0xa9, 0x45, 0x58, - 0xd0, 0xe8, 0xa0, 0x1e, 0xde, 0x85, 0x66, 0xc4, 0xf0, 0xc6, 0x8f, 0x76, 0xb6, 0xce, 0xca, 0xee, - 0xdd, 0xb8, 0x56, 0xc7, 0xb7, 0xa3, 0x1e, 0xfa, 0x62, 0xec, 0x4c, 0x84, 0x71, 0x69, 0x3a, 0x96, - 0x08, 0xf8, 0x6f, 0x5a, 0x54, 0x4f, 0x37, 0x77, 0xdb, 0xa7, 0xba, 0xeb, 0x94, 0x6f, 0x91, 0xe3, - 0x94, 0xc9, 0x54, 0x5f, 0x8f, 0x6d, 0x67, 0x88, 0xf7, 0x1f, 0x7a, 0xe8, 0xcc, 0xe8, 0xa6, 0x1e, - 0xfa, 0x16, 0x4c, 0x73, 0xdf, 0x1a, 0x99, 0xf8, 0xa4, 0x2e, 0x39, 0x5a, 0x86, 0xee, 0x67, 0xd8, - 0xfd, 0xe7, 0x32, 0x99, 0xe0, 0xe9, 0x5f, 0x0e, 0x17, 0x2b, 0x00, 0xfc, 0x04, 0xc5, 0x2d, 0x28, - 0x10, 0xfc, 0x2b, 0x03, 0x5a, 0x16, 0x19, 0xb9, 0xc7, 0xe4, 0x95, 0xc4, 0xbf, 0x02, 0xa0, 0x45, - 0xb5, 0x0a, 0xe4, 0x6c, 0x05, 0x6a, 0xbc, 0x0b, 0x97, 0x73, 0x68, 0xe2, 0x4f, 0x24, 0x1d, 0x77, - 0xbb, 0x84, 0x52, 0x51, 0x02, 0x8e, 0x86, 0xe1, 0x35, 0xea, 0x77, 0x06, 0x43, 0xd2, 0x13, 0x04, - 0x89, 0x11, 0xfe, 0xd8, 0x80, 0xc5, 0x7b, 0xbd, 0xde, 0xff, 0x11, 0x83, 0x8f, 0x60, 0x29, 0x8b, - 0xa0, 0x52, 0xdc, 0x0d, 0xa0, 0xb9, 0x35, 0xa0, 0xa3, 0x01, 0xa5, 0xf2, 0x59, 0x34, 0x61, 0xc6, - 0x4d, 0x15, 0x4e, 0x5d, 0x6f, 0xe2, 0xe0, 0xb8, 0x05, 0xd3, 0x76, 0x32, 0x78, 0x14, 0x43, 0x7c, - 0x1f, 0xe6, 0x93, 0x47, 0xf1, 0x2c, 0xbe, 0x3b, 0x49, 0x16, 0x1f, 0x23, 0xe1, 0x3f, 0x1a, 0x80, - 0x76, 0xc7, 0x01, 0x49, 0xb9, 0xdc, 0x37, 0x44, 0x75, 0x28, 0xb8, 0xb1, 0xaa, 0x06, 0x31, 0x42, - 0x18, 0xe6, 0x46, 0xe3, 0x80, 0xf4, 0xda, 0xa4, 0xeb, 0x3a, 0x3d, 0xca, 0x42, 0xb4, 0x86, 0x95, - 0x80, 0xe1, 0x6d, 0x58, 0xd0, 0x28, 0x2d, 0xc7, 0xf4, 0xcf, 0x0c, 0x68, 0x6d, 0x76, 0x9c, 0x2e, - 0x19, 0xbe, 0x7d, 0xd6, 0xf1, 0x1e, 0x5c, 0xce, 0xa1, 0xa5, 0x1c, 0x73, 0x7d, 0x98, 0x93, 0x3b, - 0xbd, 0x49, 0x03, 0xdc, 0x80, 0x86, 0x72, 0x4e, 0x39, 0x5a, 0x87, 0x80, 0x52, 0xbc, 0xbf, 0x49, - 0x8a, 0xb7, 0x61, 0x41, 0x3b, 0xad, 0x1c, 0xdd, 0x7f, 0x30, 0xe0, 0x72, 0x3b, 0xf1, 0xda, 0xec, - 0x0d, 0xba, 0x87, 0x4e, 0x67, 0x14, 0x05, 0x17, 0x76, 0xd2, 0x93, 0xd9, 0xf1, 0x4b, 0xe9, 0x08, - 0xc4, 0xe8, 0xa5, 0x8c, 0xc6, 0x09, 0xae, 0xab, 0xc5, 0x5c, 0x4f, 0xe9, 0x5c, 0xc7, 0xd6, 0x55, - 0x4b, 0x58, 0xd7, 0x3e, 0x98, 0x79, 0x84, 0x96, 0x2b, 0xfb, 0xf9, 0xac, 0x4d, 0xc4, 0x33, 0xf2, - 0xf6, 0xd8, 0x13, 0x75, 0xf3, 0xa8, 0x1c, 0x90, 0x22, 0xd4, 0x28, 0x22, 0xb4, 0x92, 0xf0, 0x00, - 0x05, 0xec, 0xe3, 0x9f, 0xf3, 0xf6, 0x50, 0xf6, 0xa1, 0xa5, 0x34, 0x78, 0xa6, 0x62, 0xc0, 0x09, - 0x0b, 0x91, 0x62, 0x3a, 0x3e, 0xb3, 0xae, 0xe8, 0xc7, 0x3c, 0xc8, 0xd1, 0x4e, 0x2e, 0x27, 0x82, - 0xd7, 0xd1, 0x1b, 0xfd, 0x4f, 0x05, 0x16, 0x93, 0xf6, 0xa5, 0x14, 0x2c, 0x73, 0x2e, 0x41, 0x09, - 0x0b, 0x98, 0xe0, 0x02, 0x7c, 0x55, 0xb9, 0x5a, 0x35, 0x91, 0x25, 0xdb, 0xae, 0x6b, 0x0f, 0x09, - 0xff, 0x8b, 0xe1, 0x60, 0xdc, 0x5f, 0x6b, 0x07, 0xfe, 0xc0, 0xb1, 0xbf, 0xd3, 0x19, 0x8e, 0x89, - 0x72, 0xf1, 0xee, 0xc0, 0x74, 0xbf, 0xd3, 0x25, 0x1f, 0x58, 0x4f, 0x58, 0xfd, 0xe4, 0xb4, 0x85, - 0x11, 0x32, 0xfa, 0x1a, 0xd4, 0x7d, 0x99, 0x11, 0x4c, 0xb3, 0x95, 0x57, 0xb4, 0x95, 0x3b, 0x4e, - 0x70, 0x7b, 0x9d, 0x2f, 0x8c, 0xb1, 0xd1, 0x4d, 0xa8, 0x90, 0x97, 0xad, 0x99, 0x09, 0x4e, 0xab, - 0x90, 0x97, 0xf8, 0x31, 0x2c, 0x65, 0xc9, 0xb8, 0xdc, 0xfd, 0x3d, 0x8a, 0xeb, 0xb9, 0xf7, 0x0e, - 0x68, 0xe0, 0x77, 0xba, 0xc1, 0xe9, 0x2a, 0x53, 0x55, 0x53, 0x29, 0x56, 0x4d, 0x55, 0x53, 0x0d, - 0xfe, 0xb3, 0x01, 0xad, 0xec, 0x33, 0xcb, 0xf5, 0x30, 0x6f, 0x8a, 0xff, 0x5e, 0x64, 0xe8, 0x7c, - 0x40, 0x7c, 0x51, 0x30, 0xd5, 0x27, 0xd0, 0x97, 0x61, 0xc1, 0x4e, 0xd6, 0xff, 0xb7, 0x3b, 0xf4, - 0x07, 0x8c, 0xce, 0x29, 0x2b, 0x6b, 0x6a, 0xfd, 0x9f, 0x0b, 0xc0, 0xff, 0xa2, 0x41, 0xdf, 0x80, - 0xd9, 0x6e, 0xfc, 0xef, 0x05, 0x5a, 0x8c, 0xe8, 0x4a, 0xfc, 0x80, 0x62, 0x2e, 0x65, 0x81, 0xa9, - 0x87, 0xee, 0x40, 0xfd, 0x87, 0x51, 0x03, 0x0d, 0x2d, 0x08, 0x24, 0xb5, 0x41, 0x68, 0x5e, 0xd4, - 0x81, 0x7c, 0xdd, 0x51, 0xd4, 0x9d, 0x91, 0xeb, 0xd4, 0xbe, 0x90, 0x5c, 0x97, 0x6c, 0xe2, 0x6c, - 0x40, 0xc3, 0x56, 0xff, 0x99, 0x40, 0x97, 0xa2, 0x3f, 0x60, 0x52, 0xbf, 0x6f, 0x98, 0xad, 0xec, - 0x09, 0xea, 0xa1, 0xbb, 0x30, 0x47, 0x95, 0x9f, 0x09, 0x50, 0xc4, 0x5b, 0xea, 0x07, 0x08, 0xf3, - 0x52, 0x26, 0x9c, 0x7a, 0xe8, 0xfb, 0x70, 0xc9, 0xce, 0xee, 0xe4, 0xa3, 0x6b, 0xa9, 0x53, 0xf5, - 0x4e, 0xba, 0x89, 0x4f, 0x43, 0xa1, 0x1e, 0xea, 0xc3, 0x65, 0x3b, 0xaf, 0x2d, 0x8e, 0xde, 0x8d, - 0x37, 0xc8, 0xed, 0xd7, 0x9b, 0xd7, 0x4f, 0x47, 0xa2, 0x1e, 0x7a, 0x0a, 0x28, 0xd0, 0x7a, 0xc3, - 0x68, 0x59, 0xac, 0xcd, 0xec, 0x7b, 0x9b, 0xef, 0x14, 0xcc, 0x52, 0x0f, 0x75, 0xa1, 0x65, 0xe7, - 0xb4, 0x0c, 0x11, 0x4e, 0xfc, 0xae, 0x94, 0xd9, 0x2e, 0x35, 0xdf, 0x3d, 0x15, 0x87, 0xd3, 0x6d, - 0x6b, 0x3d, 0x2f, 0x49, 0x77, 0x66, 0xcb, 0x4e, 0xd2, 0x9d, 0xd3, 0x2c, 0x7b, 0x06, 0x0b, 0xb6, - 0xde, 0x04, 0x42, 0xd9, 0xab, 0xa4, 0x95, 0xad, 0x14, 0x4d, 0x53, 0x0f, 0x6d, 0x43, 0xf3, 0x30, - 0xd9, 0xd5, 0x40, 0xd1, 0x3f, 0x5b, 0x7a, 0x73, 0xc7, 0x34, 0xf3, 0xa6, 0x24, 0xcb, 0xa9, 0x36, - 0x81, 0xca, 0xb2, 0xde, 0xb9, 0x50, 0x59, 0xce, 0xea, 0x2f, 0xec, 0xc1, 0x85, 0x41, 0xba, 0x72, - 0x8e, 0xae, 0x44, 0xc5, 0xee, 0x8c, 0x56, 0x80, 0xb9, 0x9c, 0x3f, 0xc9, 0xf7, 0xb3, 0xd3, 0x65, - 0x66, 0xb9, 0x5f, 0x56, 0x7d, 0xdc, 0x5c, 0xce, 0x9f, 0xe4, 0x17, 0x55, 0xad, 0xf4, 0xc8, 0x8b, - 0x9a, 0xaa, 0x26, 0x99, 0x97, 0x32, 0xe1, 0xd4, 0x43, 0xb7, 0x61, 0x26, 0x82, 0x21, 0x94, 0x42, - 0x0a, 0x17, 0x2e, 0x68, 0x30, 0xee, 0x9a, 0xa4, 0xcf, 0x40, 0x69, 0x0c, 0xaa, 0xba, 0xa6, 0x64, - 0xa1, 0x71, 0x1b, 0x9a, 0xa9, 0xea, 0x97, 0x54, 0xb5, 0x5e, 0x9d, 0x93, 0xaa, 0xce, 0x28, 0x98, - 0x85, 0xaa, 0xd6, 0xeb, 0x3c, 0x39, 0xd6, 0x2d, 0x4a, 0x0b, 0x39, 0xd6, 0x2d, 0xf3, 0xfc, 0xe7, - 0xb0, 0x98, 0x59, 0xe2, 0x40, 0x57, 0xc5, 0xba, 0xbc, 0xa2, 0x8c, 0xb9, 0x5a, 0x8c, 0xc0, 0xc9, - 0xd5, 0xab, 0x0b, 0x92, 0xdc, 0xcc, 0x4a, 0x88, 0x24, 0x37, 0xa7, 0x2c, 0x71, 0x17, 0xe6, 0xd4, - 0xcc, 0x5f, 0x6a, 0x3e, 0x55, 0x79, 0x90, 0x9a, 0xd7, 0xca, 0x04, 0xdb, 0xd0, 0x4c, 0xe5, 0x9a, - 0x52, 0x19, 0x7a, 0x3e, 0x2c, 0x95, 0x91, 0x95, 0x9e, 0x3e, 0x87, 0xc5, 0xcc, 0xdc, 0x55, 0x4a, - 0x2e, 0x2f, 0xcb, 0x96, 0x92, 0xcb, 0x4f, 0x7d, 0xef, 0x40, 0x5d, 0x82, 0xa5, 0xa9, 0xa9, 0x79, - 0xa2, 0x34, 0xb5, 0x64, 0x3a, 0xb7, 0x0d, 0xcd, 0xd4, 0xa6, 0x92, 0x3b, 0x3d, 0xd7, 0x94, 0xdc, - 0x65, 0x25, 0x86, 0xdf, 0x4b, 0xc7, 0x5d, 0x51, 0xee, 0x84, 0x56, 0x53, 0xaf, 0x9f, 0x96, 0x03, - 0x9a, 0xd7, 0x4e, 0xc1, 0xe0, 0x2f, 0x65, 0x4e, 0x52, 0xa3, 0xbe, 0x94, 0x39, 0x99, 0x96, 0xfa, - 0x52, 0xe6, 0xe6, 0x45, 0xfc, 0xae, 0xa4, 0xd2, 0x05, 0xf5, 0xae, 0xe8, 0x39, 0x8c, 0x7a, 0x57, - 0xb2, 0xf2, 0x8c, 0xa7, 0x80, 0xf4, 0x58, 0x54, 0x6e, 0x99, 0x99, 0x0a, 0xc8, 0x2d, 0x73, 0x82, - 0xd8, 0xef, 0x2a, 0xfd, 0x41, 0x25, 0x3a, 0x44, 0xe9, 0xe7, 0x23, 0x15, 0xae, 0x9a, 0x57, 0x0b, - 0xe7, 0xa9, 0xb7, 0xd1, 0x7c, 0xde, 0x58, 0xe3, 0xff, 0x46, 0xbf, 0xcf, 0xbe, 0x07, 0xe7, 0x58, - 0x88, 0x7d, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd1, 0xe2, 0x3c, 0x77, 0x37, 0x2d, 0x00, - 0x00, +var fileDescriptor_group_37a68c49b6b0a4e7 = []byte{ + // 2188 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1a, 0xdf, 0x6f, 0xdc, 0x48, + 0x59, 0xde, 0x64, 0x9b, 0xec, 0x97, 0x6c, 0x37, 0x99, 0x34, 0xe9, 0xd6, 0xcd, 0xa5, 0xa9, 0xaf, + 0x1c, 0x15, 0x2a, 0x09, 0xe4, 0xa4, 0x0a, 0x38, 0xc4, 0xd1, 0xfc, 0x6a, 0x72, 0x6d, 0x12, 0xe2, + 0xed, 0x81, 0x74, 0x12, 0x2a, 0xce, 0xee, 0xac, 0x31, 0xd9, 0xb5, 0x1d, 0x8f, 0xb7, 0xa9, 0x78, + 0x39, 0xf1, 0x82, 0x04, 0x42, 0x02, 0xc4, 0xeb, 0x21, 0x04, 0x2f, 0xf0, 0x00, 0x88, 0x07, 0x78, + 0xe6, 0x1f, 0xe0, 0x11, 0x21, 0xf1, 0xca, 0x3f, 0xc0, 0x0b, 0x7f, 0x00, 0xf2, 0xcc, 0x78, 0x3c, + 0xf6, 0xd8, 0xde, 0x3d, 0xe7, 0xda, 0xbe, 0xac, 0x34, 0xdf, 0x7c, 0xe3, 0xf9, 0x7e, 0xcf, 0xf7, + 0x63, 0x61, 0xd1, 0x0e, 0xbc, 0x91, 0xbf, 0x49, 0x7f, 0x37, 0xfc, 0xc0, 0x0b, 0x3d, 0x54, 0xa7, + 0x0b, 0xfd, 0xee, 0x89, 0x8f, 0xdd, 0xe7, 0x87, 0x47, 0x9b, 0xfe, 0xb9, 0xbd, 0x49, 0x77, 0x36, + 0x49, 0xef, 0xfc, 0xf9, 0x25, 0xd9, 0xbc, 0x24, 0x0c, 0x53, 0xff, 0x7c, 0x31, 0x4a, 0x60, 0xf9, + 0x3e, 0x0e, 0x38, 0xa2, 0xf1, 0x0d, 0x80, 0x1d, 0x6f, 0x38, 0xf4, 0x5c, 0x13, 0x13, 0x1f, 0xb5, + 0x61, 0x66, 0x2f, 0x08, 0x76, 0xbc, 0x1e, 0x6e, 0x6b, 0xeb, 0xda, 0xfd, 0xba, 0x19, 0x2f, 0xd1, + 0x0a, 0x5c, 0xdb, 0x0b, 0x82, 0x23, 0x62, 0xb7, 0x6b, 0xeb, 0xda, 0xfd, 0x86, 0xc9, 0x57, 0xc6, + 0x07, 0x80, 0x1e, 0x47, 0x44, 0x3d, 0xea, 0xf5, 0x8e, 0xf0, 0xf0, 0x0c, 0x07, 0x87, 0x6e, 0xdf, + 0x8b, 0xb0, 0x3f, 0x24, 0x38, 0x38, 0xdc, 0xa5, 0x9f, 0x69, 0x98, 0x7c, 0x85, 0x56, 0xa1, 0x61, + 0x7a, 0x03, 0xfc, 0x14, 0xbf, 0xc0, 0x03, 0xfa, 0xa1, 0xba, 0x99, 0x00, 0x8c, 0xff, 0x6a, 0x70, + 0x7d, 0x27, 0xc0, 0x56, 0x88, 0xe9, 0x27, 0x4d, 0x7c, 0x81, 0x1e, 0xc1, 0xf5, 0x43, 0xd7, 0x09, + 0xd9, 0xa7, 0x9f, 0x3a, 0x24, 0x6c, 0x6b, 0xeb, 0x53, 0xf7, 0xe7, 0xb6, 0x6e, 0x6d, 0x30, 0xb9, + 0xa8, 0x77, 0x9b, 0x99, 0x03, 0xe8, 0x6b, 0xd0, 0xa0, 0x58, 0xd1, 0x26, 0xbd, 0x73, 0x6e, 0x6b, + 0x75, 0x83, 0xe0, 0xe0, 0x05, 0x0e, 0x9e, 0x5b, 0xbe, 0xf3, 0xdc, 0xb7, 0x02, 0x6b, 0x48, 0x36, + 0x04, 0x8e, 0x99, 0xa0, 0xa3, 0x75, 0x98, 0x3b, 0xf1, 0x71, 0x60, 0x85, 0x8e, 0xe7, 0x1e, 0xee, + 0xb6, 0xa7, 0x28, 0x33, 0x32, 0x08, 0xe9, 0x30, 0x7b, 0xe2, 0x73, 0x5e, 0xa7, 0xe9, 0xb6, 0x58, + 0xd3, 0xd3, 0x97, 0x2e, 0x0e, 0xf8, 0x76, 0x9d, 0x9f, 0x4e, 0x40, 0xc6, 0xc7, 0xd0, 0x4a, 0x31, + 0x5c, 0x45, 0x05, 0x69, 0x06, 0xa7, 0x3e, 0x15, 0x83, 0x46, 0x00, 0x0b, 0x8f, 0x71, 0x48, 0xd7, + 0x84, 0xee, 0xe1, 0x8b, 0x88, 0x6c, 0x86, 0xb0, 0x2b, 0x04, 0xde, 0x30, 0x65, 0x50, 0x56, 0x2c, + 0xb5, 0x72, 0xb1, 0x4c, 0xa5, 0xc5, 0x62, 0xfc, 0x44, 0x83, 0xc5, 0xcc, 0xa5, 0x95, 0xf8, 0xde, + 0x86, 0xa6, 0x60, 0x84, 0x52, 0x3a, 0x45, 0x4d, 0xa3, 0x9c, 0xf7, 0xf4, 0x11, 0xe3, 0xd7, 0x1a, + 0xb4, 0x3a, 0x9c, 0x96, 0x98, 0xff, 0xa7, 0xd0, 0xb2, 0xe3, 0xf5, 0xbe, 0x17, 0x74, 0x70, 0x48, + 0x29, 0x9a, 0xdb, 0x32, 0xca, 0xbe, 0xcc, 0x30, 0xcd, 0xec, 0xd1, 0x94, 0x24, 0x6a, 0x39, 0x06, + 0x52, 0x6a, 0x5e, 0xc6, 0x1e, 0x2c, 0xa4, 0xc9, 0x23, 0x3e, 0xfa, 0xb2, 0xec, 0xb2, 0x9c, 0xb4, + 0x45, 0xee, 0x0f, 0xc9, 0x86, 0x29, 0x21, 0x19, 0x3f, 0x04, 0x3d, 0x96, 0xf8, 0x23, 0xdf, 0x1f, + 0x38, 0x5d, 0xfa, 0xfd, 0x48, 0x02, 0x11, 0xc3, 0x32, 0x89, 0x5a, 0x39, 0x89, 0x39, 0xaa, 0x5e, + 0x03, 0xd8, 0x0f, 0xbc, 0x61, 0x4a, 0xd9, 0x12, 0xc4, 0xf8, 0x44, 0x83, 0xdb, 0x85, 0x97, 0x57, + 0x52, 0xfc, 0x13, 0x58, 0x88, 0x03, 0xc4, 0x08, 0x93, 0x50, 0xd2, 0xfd, 0x9d, 0x22, 0x0d, 0x71, + 0x54, 0x53, 0x39, 0x68, 0x84, 0xb0, 0xfa, 0x18, 0x87, 0x11, 0xad, 0x26, 0xbe, 0xc8, 0x11, 0x4e, + 0x51, 0x28, 0xbb, 0x9a, 0x5e, 0x7f, 0xa3, 0xc1, 0x5b, 0x25, 0xd7, 0x56, 0xd2, 0x72, 0xae, 0x5c, + 0x6a, 0x55, 0xe5, 0xf2, 0x77, 0x0d, 0x96, 0x9f, 0x05, 0x96, 0x4b, 0xfa, 0x38, 0xa0, 0x9b, 0x34, + 0x6e, 0x45, 0x12, 0x69, 0xc3, 0x0c, 0x0f, 0x06, 0x5c, 0x24, 0xf1, 0x12, 0xbd, 0x03, 0xd7, 0x4f, + 0x06, 0x3d, 0x39, 0xe6, 0x31, 0xc9, 0x64, 0xa0, 0x11, 0xde, 0x31, 0xbe, 0x94, 0xf1, 0x98, 0x88, + 0x32, 0xd0, 0xac, 0x1c, 0xa7, 0xcb, 0xe3, 0x4c, 0x3d, 0x13, 0x67, 0x9e, 0xc0, 0x4a, 0x1e, 0x03, + 0xd5, 0x3c, 0xe8, 0x1f, 0x1a, 0xcc, 0x7f, 0xe0, 0x39, 0xae, 0x78, 0x99, 0x8a, 0xa5, 0xb0, 0x06, + 0x60, 0xe2, 0x8b, 0x23, 0x4c, 0x88, 0x65, 0x63, 0x2e, 0x01, 0x09, 0x52, 0x16, 0x1b, 0x27, 0xe0, + 0x78, 0x0d, 0x20, 0xa2, 0xa3, 0xe3, 0x8d, 0x82, 0x2e, 0xa6, 0x3c, 0xd7, 0x4d, 0x09, 0x82, 0xee, + 0x41, 0xf3, 0xd0, 0x7d, 0xe1, 0x84, 0x42, 0xb4, 0xd7, 0xe8, 0x37, 0xd2, 0x40, 0x63, 0x1b, 0x9a, + 0x12, 0x37, 0xd5, 0x44, 0xf2, 0xef, 0xc8, 0xb1, 0x33, 0x5e, 0x1d, 0x6d, 0x78, 0x2e, 0xc1, 0xfc, + 0x1d, 0x91, 0x79, 0xd1, 0xca, 0xb5, 0x97, 0xf5, 0x21, 0x49, 0xbe, 0x53, 0x8a, 0x7c, 0xa5, 0x80, + 0x33, 0x9d, 0x0d, 0x38, 0xd1, 0xfe, 0x81, 0xe5, 0xf6, 0x06, 0xb8, 0x17, 0x85, 0x0e, 0x66, 0x15, + 0x12, 0x04, 0x19, 0x30, 0xcf, 0x56, 0x26, 0x26, 0xa3, 0x41, 0x48, 0x05, 0x54, 0x37, 0x53, 0x30, + 0xe3, 0x14, 0x56, 0x8b, 0x59, 0xab, 0x26, 0xae, 0x3e, 0xcc, 0x9f, 0x8e, 0x9c, 0x70, 0x02, 0x03, + 0xba, 0xda, 0xf3, 0xba, 0x0d, 0x4d, 0xe9, 0x9e, 0x6a, 0xb4, 0xfe, 0x56, 0x83, 0xe5, 0x38, 0x66, + 0x27, 0xa9, 0x54, 0x39, 0xd5, 0x57, 0x0a, 0x88, 0x51, 0x98, 0xdd, 0x77, 0x06, 0x21, 0x0e, 0xa8, + 0x42, 0xeb, 0x26, 0x5f, 0x45, 0xf7, 0x1d, 0xe3, 0x97, 0x61, 0x07, 0x5f, 0x70, 0x5b, 0x8f, 0x97, + 0xc6, 0x1f, 0x35, 0x58, 0xc9, 0xa3, 0xb1, 0xd2, 0x93, 0xb2, 0x0f, 0x30, 0x4c, 0x72, 0x4c, 0xf6, + 0x98, 0xbc, 0x53, 0x14, 0x34, 0xd9, 0x6d, 0xfb, 0xa3, 0xc1, 0x80, 0xbe, 0xc9, 0xd2, 0xc9, 0xe8, + 0x66, 0x97, 0x93, 0xcb, 0xf8, 0x88, 0x97, 0xc6, 0x2f, 0x14, 0x72, 0x45, 0xc2, 0x55, 0x1a, 0x4a, + 0x24, 0xb2, 0x6a, 0x34, 0x13, 0x93, 0xaf, 0xbb, 0x52, 0x28, 0x31, 0x7e, 0xa5, 0xc1, 0xcd, 0x5c, + 0x92, 0xde, 0xa4, 0x08, 0x8d, 0xbf, 0x68, 0x80, 0x9e, 0x38, 0xdd, 0x73, 0x09, 0xaf, 0x5c, 0x48, + 0x5f, 0x80, 0x85, 0x08, 0x1f, 0xf7, 0x18, 0xe3, 0x92, 0xa8, 0x14, 0x78, 0x44, 0xbc, 0x89, 0x2d, + 0xe2, 0xb9, 0x5c, 0x5c, 0x7c, 0x95, 0x15, 0x56, 0xbd, 0xdc, 0xe5, 0xae, 0x65, 0x5c, 0xee, 0x3d, + 0x68, 0x1c, 0xf6, 0xb6, 0x58, 0xe8, 0x28, 0x4c, 0x18, 0xe8, 0xd5, 0x34, 0xe0, 0xb0, 0xc2, 0x87, + 0xaf, 0x8c, 0x8f, 0x61, 0x49, 0x61, 0xb7, 0x92, 0x02, 0x1e, 0x42, 0x53, 0x50, 0x21, 0xe9, 0x60, + 0x81, 0xbb, 0xba, 0xd8, 0x33, 0xd3, 0x68, 0xc6, 0x88, 0xfa, 0x7a, 0xf4, 0x1c, 0xe0, 0x1e, 0xa5, + 0x22, 0xf6, 0xf5, 0x74, 0xa0, 0xd5, 0x94, 0x40, 0xbb, 0x0e, 0x73, 0x9e, 0x1a, 0xa7, 0xbc, 0x09, + 0xe3, 0xd4, 0x8f, 0x99, 0x43, 0x28, 0xf7, 0x5e, 0xa9, 0x06, 0x9a, 0xb8, 0x0e, 0x48, 0xd0, 0x8d, + 0xbf, 0x6a, 0x70, 0x83, 0xbd, 0x8e, 0x11, 0x65, 0xcf, 0x3c, 0x11, 0xa1, 0xc7, 0xc7, 0xe1, 0xe2, + 0x47, 0x2a, 0x31, 0xb4, 0xe9, 0x94, 0xa1, 0x3d, 0x80, 0x45, 0x76, 0x97, 0x6c, 0xad, 0x75, 0x6a, + 0xad, 0xea, 0x46, 0xa9, 0xd1, 0xfd, 0x48, 0x83, 0xe5, 0x1c, 0xb2, 0x5f, 0xab, 0xe9, 0x7c, 0xa2, + 0xc1, 0x0d, 0x91, 0xdb, 0x0f, 0x06, 0x93, 0x78, 0xeb, 0x95, 0x9f, 0x89, 0x93, 0x7e, 0x9f, 0xe0, + 0x30, 0x7e, 0x26, 0xd8, 0x0a, 0xdd, 0x80, 0xfa, 0x8e, 0x37, 0x72, 0x43, 0xfe, 0x48, 0xb0, 0x85, + 0xf1, 0x4b, 0xe9, 0x19, 0x93, 0xc8, 0x7b, 0xa3, 0xe1, 0xed, 0x77, 0x1a, 0xcc, 0xee, 0x1c, 0x75, + 0x28, 0x5a, 0xba, 0x74, 0xd7, 0x3e, 0x5d, 0x6f, 0x62, 0x83, 0x77, 0x5e, 0x44, 0xc2, 0x7c, 0x6c, + 0x0d, 0xe3, 0x74, 0x33, 0x67, 0x27, 0x0a, 0x93, 0x69, 0xa8, 0x90, 0xb0, 0x02, 0x37, 0xfe, 0xac, + 0xc1, 0xbc, 0x28, 0xd1, 0x23, 0x7d, 0xee, 0x02, 0x7c, 0xcb, 0xb2, 0x1d, 0x97, 0xea, 0x81, 0x53, + 0x7a, 0x2f, 0x87, 0x52, 0x5e, 0x41, 0x24, 0xb8, 0xa6, 0x74, 0x0e, 0xad, 0x72, 0x76, 0x25, 0x4a, + 0x13, 0x40, 0x89, 0x33, 0x8d, 0x7f, 0xca, 0xfe, 0xa9, 0x41, 0x53, 0x22, 0x98, 0xf8, 0xe8, 0x8b, + 0xd0, 0x88, 0xc5, 0x4c, 0x78, 0xd3, 0xa8, 0x15, 0x27, 0x3d, 0x1c, 0x6e, 0x26, 0x18, 0x68, 0x2f, + 0xc5, 0x20, 0x6b, 0x13, 0x7d, 0x2e, 0x97, 0x41, 0x96, 0x05, 0x16, 0x70, 0xa8, 0xc3, 0x2c, 0x63, + 0x68, 0x34, 0xa4, 0x4c, 0xd4, 0x4d, 0xb1, 0x8e, 0xf2, 0xb0, 0x6e, 0x92, 0x87, 0x4d, 0x17, 0xe6, + 0x61, 0x09, 0x92, 0x71, 0x92, 0x74, 0x4a, 0x26, 0xf1, 0xad, 0xb1, 0x01, 0xcb, 0xf8, 0x9b, 0x92, + 0xd8, 0x91, 0x9d, 0xa3, 0xce, 0x58, 0x8f, 0xcd, 0x98, 0x97, 0x58, 0x67, 0xec, 0x62, 0xaa, 0xa2, + 0x5d, 0x8c, 0xd7, 0xef, 0xff, 0xd4, 0xec, 0x89, 0xd2, 0x4d, 0x7c, 0xf4, 0x4d, 0x98, 0x61, 0xee, + 0x15, 0xab, 0x79, 0x52, 0xaf, 0x8c, 0x8f, 0x7d, 0x56, 0xba, 0x5f, 0x03, 0x60, 0x37, 0x1c, 0x8f, + 0x86, 0x84, 0x6b, 0x5f, 0x82, 0x54, 0xd1, 0xbf, 0x03, 0xad, 0x5d, 0x87, 0x0c, 0x1d, 0x42, 0xc4, + 0xa3, 0xa4, 0xc3, 0xac, 0x97, 0x69, 0xd6, 0x78, 0xfe, 0xc4, 0x0f, 0x72, 0x1b, 0x66, 0xec, 0xb4, + 0x8f, 0xf1, 0xa5, 0xb1, 0x07, 0x0b, 0xe9, 0xab, 0x58, 0xe5, 0xd0, 0x9d, 0xa4, 0x72, 0x90, 0x28, + 0xfe, 0x83, 0x06, 0xe8, 0x68, 0xc4, 0x1b, 0x9a, 0x89, 0xcd, 0xbe, 0x22, 0xaa, 0xa3, 0x68, 0x3d, + 0x92, 0xeb, 0x40, 0xbe, 0x8a, 0x6a, 0xbc, 0xe1, 0x28, 0xc4, 0xbd, 0x0e, 0xee, 0x7a, 0x6e, 0x8f, + 0xd0, 0x67, 0xa1, 0x69, 0xa6, 0x60, 0xc6, 0x01, 0x2c, 0x29, 0x94, 0x56, 0x63, 0xfa, 0xa7, 0x1a, + 0xb4, 0x77, 0x2c, 0xb7, 0x8b, 0x07, 0x6f, 0x9e, 0x75, 0xe3, 0x18, 0x6e, 0x15, 0xd0, 0x52, 0x8d, + 0xb9, 0x3e, 0xcc, 0x8b, 0x2f, 0xbd, 0x4a, 0x03, 0xdc, 0x86, 0xa6, 0x74, 0x4f, 0x35, 0x5a, 0x07, + 0x80, 0x32, 0xbc, 0xbf, 0x4a, 0x8a, 0x0f, 0x60, 0x49, 0xb9, 0xad, 0x1a, 0xdd, 0xbf, 0xd7, 0xe0, + 0x56, 0x27, 0x15, 0xde, 0x8e, 0x9d, 0xee, 0xb9, 0x6b, 0x0d, 0x31, 0x0f, 0xcd, 0x76, 0x3a, 0x34, + 0xdb, 0x49, 0x68, 0x76, 0x39, 0x62, 0x1c, 0x9a, 0xe3, 0x75, 0x8a, 0xeb, 0xa9, 0x72, 0xae, 0xa7, + 0x55, 0xae, 0x13, 0xeb, 0xaa, 0xa7, 0xac, 0xeb, 0x04, 0xf4, 0x22, 0x42, 0xab, 0xb5, 0x1a, 0x02, + 0xda, 0x9a, 0x66, 0x55, 0x40, 0x67, 0xe4, 0xf3, 0x5e, 0x5d, 0x5c, 0x82, 0x64, 0x08, 0xd5, 0xca, + 0x08, 0xad, 0xa5, 0x22, 0x40, 0x09, 0xfb, 0xc6, 0xcf, 0x58, 0x4b, 0x3a, 0xff, 0xd2, 0x4a, 0x1a, + 0xbc, 0x52, 0x01, 0x72, 0x49, 0xdf, 0xe4, 0x84, 0x8e, 0xd7, 0x36, 0x89, 0xf9, 0x39, 0x7b, 0x55, + 0x95, 0x9b, 0xab, 0x89, 0xe0, 0xb3, 0x98, 0xc7, 0xfc, 0xa7, 0x06, 0xcb, 0x69, 0xfb, 0x92, 0x9a, + 0x24, 0x05, 0x4e, 0x50, 0xc1, 0x02, 0x26, 0x70, 0x80, 0xaf, 0x48, 0xae, 0x55, 0xe7, 0x99, 0xb9, + 0xed, 0x79, 0xf6, 0x00, 0xb3, 0xc9, 0xe9, 0xd9, 0xa8, 0xbf, 0xd1, 0x09, 0x03, 0xc7, 0xb5, 0xbf, + 0x6d, 0x0d, 0x46, 0x58, 0x72, 0xbc, 0x87, 0x30, 0xd3, 0xb7, 0xba, 0xf8, 0x43, 0xf3, 0x29, 0xad, + 0xd9, 0xc6, 0x1d, 0x8c, 0x91, 0xd1, 0x57, 0xa1, 0x11, 0x88, 0xe1, 0xe8, 0x0c, 0x3d, 0x79, 0x5b, + 0x39, 0x79, 0xe8, 0x86, 0xef, 0x6e, 0xb1, 0x83, 0x09, 0x36, 0x7a, 0x00, 0x35, 0xfc, 0xb2, 0x3d, + 0x3b, 0xc1, 0x6d, 0x35, 0xfc, 0xd2, 0x78, 0x02, 0x2b, 0x79, 0x32, 0xae, 0xe6, 0xbf, 0x17, 0x49, + 0x0f, 0xe9, 0xd1, 0x19, 0x09, 0x03, 0xab, 0x1b, 0x8e, 0x57, 0x99, 0xac, 0x9a, 0x5a, 0xb9, 0x6a, + 0xa6, 0x14, 0xd5, 0x18, 0x7f, 0xd2, 0xa0, 0x9d, 0x7f, 0x67, 0xb5, 0xb9, 0xc9, 0x03, 0x3e, 0x6b, + 0x17, 0xb9, 0xda, 0x19, 0x0e, 0x78, 0x93, 0x46, 0xdd, 0x40, 0x5f, 0x82, 0x25, 0x3b, 0xdd, 0x73, + 0x3c, 0xb0, 0xc8, 0xf7, 0x29, 0x9d, 0xd3, 0x66, 0xde, 0xd6, 0xd6, 0xbf, 0x16, 0x80, 0x4d, 0xee, + 0xd1, 0xd7, 0x61, 0xae, 0x9b, 0xcc, 0x7b, 0xd1, 0x72, 0x4c, 0x57, 0x6a, 0xe8, 0xad, 0xaf, 0xe4, + 0x81, 0x89, 0x8f, 0x1e, 0x42, 0xe3, 0x07, 0x71, 0xd3, 0x1e, 0x2d, 0x71, 0x24, 0x79, 0x28, 0xa1, + 0xdf, 0x50, 0x81, 0xec, 0xdc, 0x45, 0xdc, 0x11, 0x16, 0xe7, 0xe4, 0x5e, 0xb4, 0x38, 0x97, 0x6e, + 0x1c, 0x6f, 0x43, 0xd3, 0x96, 0xe7, 0xb4, 0xe8, 0x66, 0x3c, 0x75, 0xcf, 0x8c, 0x8c, 0xf5, 0x76, + 0xfe, 0x06, 0xf1, 0xd1, 0xfb, 0x30, 0x4f, 0xa4, 0x01, 0x26, 0x8a, 0x79, 0xcb, 0x0c, 0x5d, 0xf5, + 0x9b, 0xb9, 0x70, 0xe2, 0xa3, 0xef, 0xc1, 0x4d, 0x3b, 0x7f, 0x7a, 0x88, 0xee, 0x66, 0x6e, 0x55, + 0xa7, 0x77, 0xba, 0x31, 0x0e, 0x85, 0xf8, 0xa8, 0x0f, 0xb7, 0xec, 0xa2, 0x51, 0x1c, 0x7a, 0x3b, + 0xf9, 0x40, 0xe1, 0x8c, 0x50, 0xbf, 0x37, 0x1e, 0x89, 0xf8, 0xe8, 0x14, 0x50, 0xa8, 0xcc, 0xa3, + 0xd0, 0x2a, 0x3f, 0x9b, 0x3b, 0x6b, 0xd3, 0xdf, 0x2a, 0xd9, 0x25, 0x3e, 0xea, 0x42, 0xdb, 0x2e, + 0x18, 0x53, 0x20, 0x23, 0xf5, 0x17, 0x89, 0xdc, 0x11, 0x8d, 0xfe, 0xf6, 0x58, 0x1c, 0x46, 0xb7, + 0xad, 0xf4, 0xd9, 0x05, 0xdd, 0xb9, 0x63, 0x02, 0x41, 0x77, 0x41, 0x83, 0xfe, 0x19, 0x2c, 0xd9, + 0x6a, 0xe3, 0x19, 0xe5, 0x9f, 0x12, 0x56, 0xb6, 0x56, 0xb6, 0x4d, 0x7c, 0x74, 0x00, 0xad, 0xf3, + 0x74, 0x27, 0x15, 0xc5, 0xff, 0x13, 0x51, 0x1b, 0xca, 0xba, 0x5e, 0xb4, 0x25, 0x58, 0xce, 0xb4, + 0x26, 0x65, 0x96, 0xd5, 0x6e, 0xa9, 0xcc, 0x72, 0x5e, 0x4f, 0xf3, 0x18, 0x16, 0x9d, 0x6c, 0xb7, + 0x0e, 0xdd, 0x8e, 0x1b, 0x6c, 0x39, 0xed, 0x47, 0x7d, 0xb5, 0x78, 0x93, 0x7d, 0xcf, 0xce, 0xb6, + 0xb6, 0xc4, 0xf7, 0xf2, 0x7a, 0x72, 0xfa, 0x6a, 0xf1, 0x26, 0x0b, 0x12, 0xc2, 0x7b, 0x45, 0x90, + 0x90, 0x7b, 0x40, 0x22, 0x48, 0xa4, 0xfb, 0x2c, 0xa7, 0x80, 0xd4, 0xc2, 0xbc, 0xc0, 0x3a, 0x78, + 0xaf, 0xa1, 0xc0, 0x3a, 0x44, 0x45, 0xff, 0x3e, 0xcc, 0xcb, 0xa5, 0xa8, 0x88, 0x19, 0x99, 0x52, + 0x58, 0xc4, 0x0c, 0xa5, 0x6e, 0x3d, 0x80, 0x56, 0xa6, 0xf8, 0x11, 0x86, 0xa0, 0x16, 0x68, 0xc2, + 0x10, 0xf2, 0xea, 0xa5, 0x8f, 0x60, 0x39, 0xb7, 0x98, 0x42, 0x77, 0xe2, 0x18, 0x5d, 0x50, 0xf6, + 0xe9, 0xeb, 0xe5, 0x08, 0x4c, 0xe2, 0x02, 0x2c, 0x24, 0x2e, 0x17, 0x2e, 0x42, 0xe2, 0xe9, 0xfa, + 0xe2, 0x00, 0x5a, 0x99, 0x8f, 0x0a, 0xee, 0xd4, 0xe2, 0x47, 0x70, 0x97, 0x57, 0xa9, 0x7c, 0x37, + 0x9b, 0x08, 0xc4, 0xc9, 0x3c, 0x5a, 0xcf, 0x84, 0x63, 0xa5, 0x28, 0xd1, 0xef, 0x8e, 0xc1, 0x60, + 0xa1, 0xbb, 0x20, 0xcb, 0x96, 0x43, 0x77, 0x41, 0xea, 0x2f, 0x87, 0xee, 0xc2, 0x44, 0x9d, 0x19, + 0x5f, 0x26, 0x7f, 0x95, 0x8d, 0x4f, 0x4d, 0xaa, 0x65, 0xe3, 0xcb, 0x4b, 0x7c, 0x4f, 0x01, 0xa9, + 0xc9, 0x91, 0xf8, 0x64, 0x6e, 0x6e, 0x2a, 0x3e, 0x59, 0x90, 0x55, 0x7d, 0x47, 0x6a, 0x92, 0x4b, + 0xe9, 0x0a, 0xca, 0xc6, 0xb3, 0x4c, 0xfe, 0xa4, 0xdf, 0x29, 0xdd, 0x27, 0xfe, 0x76, 0xeb, 0xa3, + 0xe6, 0x06, 0xfb, 0x83, 0xe0, 0x7b, 0xf4, 0xf7, 0xec, 0x1a, 0xcd, 0xf9, 0xde, 0xfd, 0x7f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xa6, 0x62, 0x5f, 0x0b, 0x3c, 0x28, 0x00, 0x00, } diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index cffe91886..852dbba5b 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -219,27 +219,19 @@ message CMSGroup { string GroupOwnerUserID = 3; } -message GetGroupReq { - string GroupName = 1; - server_api_params.RequestPagination Pagination = 2; - string OperationID = 3; -} - -message GetGroupResp { - repeated CMSGroup CMSGroups = 1; - server_api_params.RequestPagination Pagination = 2; - int32 GroupNums = 3; -} message GetGroupsReq { server_api_params.RequestPagination Pagination = 1; - string OperationID = 2; + string GroupName = 2; + string GroupID = 3; + string OperationID = 4; } message GetGroupsResp { repeated CMSGroup CMSGroups = 1; - server_api_params.RequestPagination Pagination = 2; + server_api_params.ResponsePagination Pagination = 2; int32 GroupNum = 3; + CommonResp commonResp = 4; } message GetGroupMemberReq { @@ -247,26 +239,6 @@ message GetGroupMemberReq { string OperationID = 2; } -message OperateUserRoleReq { - string GroupID = 1; - string UserID = 2; - int32 RoleLevel = 3; - string OperationID = 4; -} - -message OperateUserRoleResp { - -} - -message GetGroupByIDReq { - string GroupID = 1; - string OperationID = 2; -} - -message GetGroupByIDResp { - CMSGroup CMSGroup = 1; -} - message GetGroupMembersCMSReq { string GroupID = 1; string UserName = 2; @@ -278,30 +250,7 @@ message GetGroupMembersCMSResp { repeated server_api_params.GroupMemberFullInfo members = 1; server_api_params.ResponsePagination Pagination = 2; int32 MemberNums = 3; -} - -message RemoveGroupMembersCMSReq { - string GroupID = 1; - repeated string UserIDList = 2; - string OperationID = 3; - string OpUserID = 4; -} - -message RemoveGroupMembersCMSResp { - repeated string success = 1; - repeated string failed = 2; -} - -message AddGroupMembersCMSReq { - string GroupID = 1; - repeated string UserIDList = 2; - string OperationID = 3; - string OpUserID = 4; -} - -message AddGroupMembersCMSResp { - repeated string success = 1; - repeated string failed = 2; + CommonResp commonResp = 4; } message DismissGroupReq{ @@ -444,13 +393,9 @@ service group{ rpc inviteUserToGroup(InviteUserToGroupReq) returns (InviteUserToGroupResp); rpc getGroupAllMember(GetGroupAllMemberReq) returns(GetGroupAllMemberResp); - rpc GetGroupByID(GetGroupByIDReq) returns(GetGroupByIDResp); - rpc GetGroup(GetGroupReq) returns(GetGroupResp); rpc GetGroups(GetGroupsReq) returns(GetGroupsResp); - rpc OperateUserRole(OperateUserRoleReq) returns(OperateUserRoleResp); rpc GetGroupMembersCMS(GetGroupMembersCMSReq) returns(GetGroupMembersCMSResp); - rpc RemoveGroupMembersCMS(RemoveGroupMembersCMSReq) returns(RemoveGroupMembersCMSResp); - rpc AddGroupMembersCMS(AddGroupMembersCMSReq) returns(AddGroupMembersCMSResp); + rpc DismissGroup(DismissGroupReq) returns(DismissGroupResp); rpc MuteGroupMember(MuteGroupMemberReq) returns(MuteGroupMemberResp); @@ -459,7 +404,6 @@ service group{ rpc CancelMuteGroup(CancelMuteGroupReq) returns(CancelMuteGroupResp); rpc SetGroupMemberNickname(SetGroupMemberNicknameReq) returns (SetGroupMemberNicknameResp); - rpc GetJoinedSuperGroupList(GetJoinedSuperGroupListReq) returns (GetJoinedSuperGroupListResp); rpc GetSuperGroupsInfo(GetSuperGroupsInfoReq) returns (GetSuperGroupsInfoResp); rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp); diff --git a/pkg/proto/message_cms/message_cms.pb.go b/pkg/proto/message_cms/message_cms.pb.go deleted file mode 100644 index 317439903..000000000 --- a/pkg/proto/message_cms/message_cms.pb.go +++ /dev/null @@ -1,1083 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 -// source: message_cms/message_cms.proto - -package message_cms - -import ( - sdk_ws "Open_IM/pkg/proto/sdk_ws" - context "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) -) - -type BoradcastMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=Message,proto3" json:"Message,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *BoradcastMessageReq) Reset() { - *x = BoradcastMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BoradcastMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BoradcastMessageReq) ProtoMessage() {} - -func (x *BoradcastMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_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 BoradcastMessageReq.ProtoReflect.Descriptor instead. -func (*BoradcastMessageReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{0} -} - -func (x *BoradcastMessageReq) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *BoradcastMessageReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type BoradcastMessageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BoradcastMessageResp) Reset() { - *x = BoradcastMessageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BoradcastMessageResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BoradcastMessageResp) ProtoMessage() {} - -func (x *BoradcastMessageResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_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 BoradcastMessageResp.ProtoReflect.Descriptor instead. -func (*BoradcastMessageResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{1} -} - -type MassSendMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=Message,proto3" json:"Message,omitempty"` - UserIds []string `protobuf:"bytes,2,rep,name=UserIds,proto3" json:"UserIds,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *MassSendMessageReq) Reset() { - *x = MassSendMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MassSendMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MassSendMessageReq) ProtoMessage() {} - -func (x *MassSendMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[2] - 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 MassSendMessageReq.ProtoReflect.Descriptor instead. -func (*MassSendMessageReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{2} -} - -func (x *MassSendMessageReq) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *MassSendMessageReq) GetUserIds() []string { - if x != nil { - return x.UserIds - } - return nil -} - -func (x *MassSendMessageReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type MassSendMessageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MassSendMessageResp) Reset() { - *x = MassSendMessageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MassSendMessageResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MassSendMessageResp) ProtoMessage() {} - -func (x *MassSendMessageResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[3] - 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 MassSendMessageResp.ProtoReflect.Descriptor instead. -func (*MassSendMessageResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{3} -} - -type GetChatLogsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Content string `protobuf:"bytes,1,opt,name=Content,proto3" json:"Content,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"` - GroupId string `protobuf:"bytes,3,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - Date string `protobuf:"bytes,4,opt,name=Date,proto3" json:"Date,omitempty"` - SessionType int32 `protobuf:"varint,5,opt,name=SessionType,proto3" json:"SessionType,omitempty"` - ContentType int32 `protobuf:"varint,6,opt,name=ContentType,proto3" json:"ContentType,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,8,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetChatLogsReq) Reset() { - *x = GetChatLogsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatLogsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatLogsReq) ProtoMessage() {} - -func (x *GetChatLogsReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[4] - 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 GetChatLogsReq.ProtoReflect.Descriptor instead. -func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{4} -} - -func (x *GetChatLogsReq) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -func (x *GetChatLogsReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *GetChatLogsReq) GetGroupId() string { - if x != nil { - return x.GroupId - } - return "" -} - -func (x *GetChatLogsReq) GetDate() string { - if x != nil { - return x.Date - } - return "" -} - -func (x *GetChatLogsReq) GetSessionType() int32 { - if x != nil { - return x.SessionType - } - return 0 -} - -func (x *GetChatLogsReq) GetContentType() int32 { - if x != nil { - return x.ContentType - } - return 0 -} - -func (x *GetChatLogsReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetChatLogsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type ChatLogs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SessionType int32 `protobuf:"varint,1,opt,name=SessionType,proto3" json:"SessionType,omitempty"` - ContentType int32 `protobuf:"varint,2,opt,name=ContentType,proto3" json:"ContentType,omitempty"` - SenderNickName string `protobuf:"bytes,3,opt,name=SenderNickName,proto3" json:"SenderNickName,omitempty"` - SenderId string `protobuf:"bytes,4,opt,name=SenderId,proto3" json:"SenderId,omitempty"` - ReciverNickName string `protobuf:"bytes,5,opt,name=ReciverNickName,proto3" json:"ReciverNickName,omitempty"` - ReciverId string `protobuf:"bytes,6,opt,name=ReciverId,proto3" json:"ReciverId,omitempty"` - SearchContent string `protobuf:"bytes,7,opt,name=SearchContent,proto3" json:"SearchContent,omitempty"` - WholeContent string `protobuf:"bytes,8,opt,name=WholeContent,proto3" json:"WholeContent,omitempty"` - GroupId string `protobuf:"bytes,9,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - GroupName string `protobuf:"bytes,10,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - Date string `protobuf:"bytes,11,opt,name=Date,proto3" json:"Date,omitempty"` -} - -func (x *ChatLogs) Reset() { - *x = ChatLogs{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatLogs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatLogs) ProtoMessage() {} - -func (x *ChatLogs) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[5] - 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 ChatLogs.ProtoReflect.Descriptor instead. -func (*ChatLogs) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{5} -} - -func (x *ChatLogs) GetSessionType() int32 { - if x != nil { - return x.SessionType - } - return 0 -} - -func (x *ChatLogs) GetContentType() int32 { - if x != nil { - return x.ContentType - } - return 0 -} - -func (x *ChatLogs) GetSenderNickName() string { - if x != nil { - return x.SenderNickName - } - return "" -} - -func (x *ChatLogs) GetSenderId() string { - if x != nil { - return x.SenderId - } - return "" -} - -func (x *ChatLogs) GetReciverNickName() string { - if x != nil { - return x.ReciverNickName - } - return "" -} - -func (x *ChatLogs) GetReciverId() string { - if x != nil { - return x.ReciverId - } - return "" -} - -func (x *ChatLogs) GetSearchContent() string { - if x != nil { - return x.SearchContent - } - return "" -} - -func (x *ChatLogs) GetWholeContent() string { - if x != nil { - return x.WholeContent - } - return "" -} - -func (x *ChatLogs) GetGroupId() string { - if x != nil { - return x.GroupId - } - return "" -} - -func (x *ChatLogs) GetGroupName() string { - if x != nil { - return x.GroupName - } - return "" -} - -func (x *ChatLogs) GetDate() string { - if x != nil { - return x.Date - } - return "" -} - -type GetChatLogsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatLogs []*ChatLogs `protobuf:"bytes,1,rep,name=ChatLogs,proto3" json:"ChatLogs,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - ChatLogsNum int32 `protobuf:"varint,3,opt,name=ChatLogsNum,proto3" json:"ChatLogsNum,omitempty"` -} - -func (x *GetChatLogsResp) Reset() { - *x = GetChatLogsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatLogsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatLogsResp) ProtoMessage() {} - -func (x *GetChatLogsResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[6] - 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 GetChatLogsResp.ProtoReflect.Descriptor instead. -func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{6} -} - -func (x *GetChatLogsResp) GetChatLogs() []*ChatLogs { - if x != nil { - return x.ChatLogs - } - return nil -} - -func (x *GetChatLogsResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetChatLogsResp) GetChatLogsNum() int32 { - if x != nil { - return x.ChatLogsNum - } - return 0 -} - -type WithdrawMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServerMsgId string `protobuf:"bytes,1,opt,name=ServerMsgId,proto3" json:"ServerMsgId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *WithdrawMessageReq) Reset() { - *x = WithdrawMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WithdrawMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WithdrawMessageReq) ProtoMessage() {} - -func (x *WithdrawMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[7] - 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 WithdrawMessageReq.ProtoReflect.Descriptor instead. -func (*WithdrawMessageReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{7} -} - -func (x *WithdrawMessageReq) GetServerMsgId() string { - if x != nil { - return x.ServerMsgId - } - return "" -} - -func (x *WithdrawMessageReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type WithdrawMessageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *WithdrawMessageResp) Reset() { - *x = WithdrawMessageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WithdrawMessageResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WithdrawMessageResp) ProtoMessage() {} - -func (x *WithdrawMessageResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[8] - 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 WithdrawMessageResp.ProtoReflect.Descriptor instead. -func (*WithdrawMessageResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{8} -} - -var File_message_cms_message_cms_proto protoreflect.FileDescriptor - -var file_message_cms_message_cms_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x1a, 0x21, 0x4f, 0x70, - 0x65, 0x6e, 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x73, 0x64, 0x6b, 0x5f, 0x77, 0x73, 0x2f, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x51, 0x0a, 0x13, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0x16, 0x0a, 0x14, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x6a, 0x0a, 0x12, 0x4d, 0x61, - 0x73, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x15, 0x0a, 0x13, 0x4d, 0x61, 0x73, 0x73, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9c, 0x02, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xf0, 0x02, 0x0a, - 0x08, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x69, 0x76, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x69, - 0x76, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, - 0x65, 0x63, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x52, 0x65, 0x63, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x57, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x57, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, - 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, - 0xad, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x08, 0x43, 0x68, - 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x22, - 0x58, 0x0a, 0x12, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x15, 0x0a, 0x13, 0x57, 0x69, 0x74, - 0x68, 0x64, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x32, 0xdb, 0x02, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x4d, 0x53, 0x12, - 0x57, 0x0a, 0x10, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x4d, 0x61, 0x73, 0x73, - 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x53, - 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1b, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, - 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x1b, - 0x5a, 0x19, 0x2e, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x3b, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} - -var ( - file_message_cms_message_cms_proto_rawDescOnce sync.Once - file_message_cms_message_cms_proto_rawDescData = file_message_cms_message_cms_proto_rawDesc -) - -func file_message_cms_message_cms_proto_rawDescGZIP() []byte { - file_message_cms_message_cms_proto_rawDescOnce.Do(func() { - file_message_cms_message_cms_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_cms_message_cms_proto_rawDescData) - }) - return file_message_cms_message_cms_proto_rawDescData -} - -var file_message_cms_message_cms_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_message_cms_message_cms_proto_goTypes = []interface{}{ - (*BoradcastMessageReq)(nil), // 0: message_cms.BoradcastMessageReq - (*BoradcastMessageResp)(nil), // 1: message_cms.BoradcastMessageResp - (*MassSendMessageReq)(nil), // 2: message_cms.MassSendMessageReq - (*MassSendMessageResp)(nil), // 3: message_cms.MassSendMessageResp - (*GetChatLogsReq)(nil), // 4: message_cms.GetChatLogsReq - (*ChatLogs)(nil), // 5: message_cms.ChatLogs - (*GetChatLogsResp)(nil), // 6: message_cms.GetChatLogsResp - (*WithdrawMessageReq)(nil), // 7: message_cms.WithdrawMessageReq - (*WithdrawMessageResp)(nil), // 8: message_cms.WithdrawMessageResp - (*sdk_ws.RequestPagination)(nil), // 9: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 10: server_api_params.ResponsePagination -} -var file_message_cms_message_cms_proto_depIdxs = []int32{ - 9, // 0: message_cms.GetChatLogsReq.Pagination:type_name -> server_api_params.RequestPagination - 5, // 1: message_cms.GetChatLogsResp.ChatLogs:type_name -> message_cms.ChatLogs - 10, // 2: message_cms.GetChatLogsResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 3: message_cms.messageCMS.BoradcastMessage:input_type -> message_cms.BoradcastMessageReq - 2, // 4: message_cms.messageCMS.MassSendMessage:input_type -> message_cms.MassSendMessageReq - 4, // 5: message_cms.messageCMS.GetChatLogs:input_type -> message_cms.GetChatLogsReq - 7, // 6: message_cms.messageCMS.WithdrawMessage:input_type -> message_cms.WithdrawMessageReq - 1, // 7: message_cms.messageCMS.BoradcastMessage:output_type -> message_cms.BoradcastMessageResp - 3, // 8: message_cms.messageCMS.MassSendMessage:output_type -> message_cms.MassSendMessageResp - 6, // 9: message_cms.messageCMS.GetChatLogs:output_type -> message_cms.GetChatLogsResp - 8, // 10: message_cms.messageCMS.WithdrawMessage:output_type -> message_cms.WithdrawMessageResp - 7, // [7:11] is the sub-list for method output_type - 3, // [3:7] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_message_cms_message_cms_proto_init() } -func file_message_cms_message_cms_proto_init() { - if File_message_cms_message_cms_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_message_cms_message_cms_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoradcastMessageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoradcastMessageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MassSendMessageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MassSendMessageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatLogsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatLogs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatLogsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithdrawMessageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithdrawMessageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_cms_message_cms_proto_rawDesc, - NumEnums: 0, - NumMessages: 9, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_message_cms_message_cms_proto_goTypes, - DependencyIndexes: file_message_cms_message_cms_proto_depIdxs, - MessageInfos: file_message_cms_message_cms_proto_msgTypes, - }.Build() - File_message_cms_message_cms_proto = out.File - file_message_cms_message_cms_proto_rawDesc = nil - file_message_cms_message_cms_proto_goTypes = nil - file_message_cms_message_cms_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// 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 - -// MessageCMSClient is the client API for MessageCMS service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MessageCMSClient interface { - BoradcastMessage(ctx context.Context, in *BoradcastMessageReq, opts ...grpc.CallOption) (*BoradcastMessageResp, error) - MassSendMessage(ctx context.Context, in *MassSendMessageReq, opts ...grpc.CallOption) (*MassSendMessageResp, error) - GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) - WithdrawMessage(ctx context.Context, in *WithdrawMessageReq, opts ...grpc.CallOption) (*WithdrawMessageResp, error) -} - -type messageCMSClient struct { - cc grpc.ClientConnInterface -} - -func NewMessageCMSClient(cc grpc.ClientConnInterface) MessageCMSClient { - return &messageCMSClient{cc} -} - -func (c *messageCMSClient) BoradcastMessage(ctx context.Context, in *BoradcastMessageReq, opts ...grpc.CallOption) (*BoradcastMessageResp, error) { - out := new(BoradcastMessageResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/BoradcastMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *messageCMSClient) MassSendMessage(ctx context.Context, in *MassSendMessageReq, opts ...grpc.CallOption) (*MassSendMessageResp, error) { - out := new(MassSendMessageResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/MassSendMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *messageCMSClient) GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) { - out := new(GetChatLogsResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/GetChatLogs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *messageCMSClient) WithdrawMessage(ctx context.Context, in *WithdrawMessageReq, opts ...grpc.CallOption) (*WithdrawMessageResp, error) { - out := new(WithdrawMessageResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/WithdrawMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MessageCMSServer is the server API for MessageCMS service. -type MessageCMSServer interface { - BoradcastMessage(context.Context, *BoradcastMessageReq) (*BoradcastMessageResp, error) - MassSendMessage(context.Context, *MassSendMessageReq) (*MassSendMessageResp, error) - GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) - WithdrawMessage(context.Context, *WithdrawMessageReq) (*WithdrawMessageResp, error) -} - -// UnimplementedMessageCMSServer can be embedded to have forward compatible implementations. -type UnimplementedMessageCMSServer struct { -} - -func (*UnimplementedMessageCMSServer) BoradcastMessage(context.Context, *BoradcastMessageReq) (*BoradcastMessageResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method BoradcastMessage not implemented") -} -func (*UnimplementedMessageCMSServer) MassSendMessage(context.Context, *MassSendMessageReq) (*MassSendMessageResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method MassSendMessage not implemented") -} -func (*UnimplementedMessageCMSServer) GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatLogs not implemented") -} -func (*UnimplementedMessageCMSServer) WithdrawMessage(context.Context, *WithdrawMessageReq) (*WithdrawMessageResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawMessage not implemented") -} - -func RegisterMessageCMSServer(s *grpc.Server, srv MessageCMSServer) { - s.RegisterService(&_MessageCMS_serviceDesc, srv) -} - -func _MessageCMS_BoradcastMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BoradcastMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).BoradcastMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/BoradcastMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).BoradcastMessage(ctx, req.(*BoradcastMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _MessageCMS_MassSendMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MassSendMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).MassSendMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/MassSendMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).MassSendMessage(ctx, req.(*MassSendMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _MessageCMS_GetChatLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatLogsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).GetChatLogs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/GetChatLogs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).GetChatLogs(ctx, req.(*GetChatLogsReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _MessageCMS_WithdrawMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WithdrawMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).WithdrawMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/WithdrawMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).WithdrawMessage(ctx, req.(*WithdrawMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -var _MessageCMS_serviceDesc = grpc.ServiceDesc{ - ServiceName: "message_cms.messageCMS", - HandlerType: (*MessageCMSServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "BoradcastMessage", - Handler: _MessageCMS_BoradcastMessage_Handler, - }, - { - MethodName: "MassSendMessage", - Handler: _MessageCMS_MassSendMessage_Handler, - }, - { - MethodName: "GetChatLogs", - Handler: _MessageCMS_GetChatLogs_Handler, - }, - { - MethodName: "WithdrawMessage", - Handler: _MessageCMS_WithdrawMessage_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "message_cms/message_cms.proto", -} diff --git a/pkg/proto/message_cms/message_cms.proto b/pkg/proto/message_cms/message_cms.proto deleted file mode 100644 index 2a9647bb7..000000000 --- a/pkg/proto/message_cms/message_cms.proto +++ /dev/null @@ -1,71 +0,0 @@ -syntax = "proto3"; -import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -option go_package = "./message_cms;message_cms"; -package message_cms; - -message BoradcastMessageReq { - string Message = 1; - string OperationID = 2; -} - -message BoradcastMessageResp { - -} - -message MassSendMessageReq { - string Message = 1; - repeated string UserIds = 2; - string OperationID = 3; -} - -message MassSendMessageResp { - -} - -message GetChatLogsReq { - string Content = 1; - string UserId = 2; - string GroupId = 3; - string Date = 4; - int32 SessionType = 5; - int32 ContentType = 6; - server_api_params.RequestPagination Pagination = 7; - string OperationID = 8; - -} - -message ChatLogs { - int32 SessionType = 1; - int32 ContentType = 2; - string SenderNickName = 3; - string SenderId = 4; - string ReciverNickName = 5; - string ReciverId = 6; - string SearchContent = 7; - string WholeContent = 8; - string GroupId = 9; - string GroupName = 10; - string Date = 11; -} - -message GetChatLogsResp { - repeated ChatLogs ChatLogs = 1; - server_api_params.ResponsePagination Pagination = 2; - int32 ChatLogsNum = 3; -} - -message WithdrawMessageReq { - string ServerMsgId = 1; - string OperationID = 2; -} - -message WithdrawMessageResp { - -} - -service messageCMS { - rpc BoradcastMessage(BoradcastMessageReq) returns(BoradcastMessageResp); - rpc MassSendMessage(MassSendMessageReq) returns(MassSendMessageResp); - rpc GetChatLogs(GetChatLogsReq) returns(GetChatLogsResp); - rpc WithdrawMessage(WithdrawMessageReq) returns(WithdrawMessageResp); -} \ No newline at end of file diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index d3d4f7a02..71dd88c26 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{0} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{1} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{2} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{3} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -492,15 +492,9 @@ type UserInfo struct { Birth uint32 `protobuf:"varint,6,opt,name=birth" json:"birth,omitempty"` Email string `protobuf:"bytes,7,opt,name=email" json:"email,omitempty"` Ex string `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` - CreateIp string `protobuf:"bytes,9,opt,name=createIp" json:"createIp,omitempty"` - CreateTime uint32 `protobuf:"varint,10,opt,name=createTime" json:"createTime,omitempty"` - LastLoginIp string `protobuf:"bytes,11,opt,name=LastLoginIp" json:"LastLoginIp,omitempty"` - LastLoginTime uint32 `protobuf:"varint,12,opt,name=LastLoginTime" json:"LastLoginTime,omitempty"` - LoginTimes int32 `protobuf:"varint,13,opt,name=LoginTimes" json:"LoginTimes,omitempty"` - LoginLimit int32 `protobuf:"varint,14,opt,name=LoginLimit" json:"LoginLimit,omitempty"` - AppMangerLevel int32 `protobuf:"varint,15,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` - GlobalRecvMsgOpt int32 `protobuf:"varint,16,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` - InvitationCode string `protobuf:"bytes,17,opt,name=invitationCode" json:"invitationCode,omitempty"` + CreateTime uint32 `protobuf:"varint,9,opt,name=createTime" json:"createTime,omitempty"` + AppMangerLevel int32 `protobuf:"varint,10,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` + GlobalRecvMsgOpt int32 `protobuf:"varint,11,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -510,7 +504,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{4} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -586,13 +580,6 @@ func (m *UserInfo) GetEx() string { return "" } -func (m *UserInfo) GetCreateIp() string { - if m != nil { - return m.CreateIp - } - return "" -} - func (m *UserInfo) GetCreateTime() uint32 { if m != nil { return m.CreateTime @@ -600,34 +587,6 @@ func (m *UserInfo) GetCreateTime() uint32 { return 0 } -func (m *UserInfo) GetLastLoginIp() string { - if m != nil { - return m.LastLoginIp - } - return "" -} - -func (m *UserInfo) GetLastLoginTime() uint32 { - if m != nil { - return m.LastLoginTime - } - return 0 -} - -func (m *UserInfo) GetLoginTimes() int32 { - if m != nil { - return m.LoginTimes - } - return 0 -} - -func (m *UserInfo) GetLoginLimit() int32 { - if m != nil { - return m.LoginLimit - } - return 0 -} - func (m *UserInfo) GetAppMangerLevel() int32 { if m != nil { return m.AppMangerLevel @@ -642,13 +601,6 @@ func (m *UserInfo) GetGlobalRecvMsgOpt() int32 { return 0 } -func (m *UserInfo) GetInvitationCode() string { - if m != nil { - return m.InvitationCode - } - return "" -} - type FriendInfo struct { OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` Remark string `protobuf:"bytes,2,opt,name=remark" json:"remark,omitempty"` @@ -666,7 +618,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{5} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -751,7 +703,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{6} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -834,7 +786,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{7} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -956,7 +908,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{8} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1101,7 +1053,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{9} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1212,7 +1164,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{10} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1326,7 +1278,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{11} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1407,7 +1359,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{12} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1453,7 +1405,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{13} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1502,7 +1454,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{14} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1561,7 +1513,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{15} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1599,7 +1551,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{16} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1640,7 +1592,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{17} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1701,7 +1653,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{18} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1754,7 +1706,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{19} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1803,7 +1755,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{20} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1871,7 +1823,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{21} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1944,7 +1896,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{22} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2133,7 +2085,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{23} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2201,7 +2153,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{24} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2258,7 +2210,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{25} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2327,7 +2279,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{26} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2382,7 +2334,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{27} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2438,7 +2390,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{28} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2493,7 +2445,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{29} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2548,7 +2500,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{30} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2604,7 +2556,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{31} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2667,7 +2619,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{32} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2730,7 +2682,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{33} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2792,7 +2744,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{34} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2846,7 +2798,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{35} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2902,7 +2854,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{36} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2971,7 +2923,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{37} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3032,7 +2984,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{38} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3086,7 +3038,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{39} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3141,7 +3093,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{40} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3201,7 +3153,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{41} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3248,7 +3200,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{42} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3301,7 +3253,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{43} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3347,7 +3299,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{44} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3387,7 +3339,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{45} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3434,7 +3386,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{46} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3482,7 +3434,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{47} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3535,7 +3487,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{48} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3573,7 +3525,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{49} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3611,7 +3563,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{50} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3649,7 +3601,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{51} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3688,7 +3640,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{52} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3717,19 +3669,18 @@ func (m *UserInfoUpdatedTips) GetUserID() string { // ////////////////////conversation///////////////////// type ConversationUpdateTips struct { - UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` - ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList" json:"conversationIDList,omitempty"` - UpdateUnreadCountTime int64 `protobuf:"varint,3,opt,name=updateUnreadCountTime" json:"updateUnreadCountTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList" json:"conversationIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} } func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{53} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3763,13 +3714,6 @@ func (m *ConversationUpdateTips) GetConversationIDList() []string { return nil } -func (m *ConversationUpdateTips) GetUpdateUnreadCountTime() int64 { - if m != nil { - return m.UpdateUnreadCountTime - } - return 0 -} - type ConversationSetPrivateTips struct { RecvID string `protobuf:"bytes,1,opt,name=recvID" json:"recvID,omitempty"` SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` @@ -3783,7 +3727,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{54} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3838,7 +3782,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{55} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3892,7 +3836,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{56} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3938,7 +3882,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{57} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3992,7 +3936,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{58} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4290,7 +4234,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{59} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4589,7 +4533,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{60} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4692,7 +4636,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{61} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4747,7 +4691,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{62} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4808,7 +4752,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{63} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4863,7 +4807,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{64} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -4924,7 +4868,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{65} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -4979,7 +4923,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{66} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5037,7 +4981,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{67} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5072,7 +5016,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{68} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5140,7 +5084,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{69} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5194,7 +5138,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{70} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5245,7 +5189,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{71} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5280,7 +5224,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{72} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5345,7 +5289,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{73} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5377,7 +5321,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{74} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5426,7 +5370,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{75} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5495,7 +5439,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{76} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{76} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5555,7 +5499,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_e0da77577e3c5842, []int{77} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{77} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5674,239 +5618,234 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_e0da77577e3c5842) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_28f8f8e2747ce3c8) } -var fileDescriptor_ws_e0da77577e3c5842 = []byte{ - // 3695 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0xcd, 0x6f, 0x24, 0x47, - 0x15, 0xa7, 0xe7, 0xcb, 0x9e, 0x37, 0xfe, 0x18, 0xf7, 0xee, 0x3a, 0x13, 0x67, 0xb3, 0x98, 0xce, - 0x2a, 0x09, 0x4b, 0xf0, 0xa2, 0xcd, 0x87, 0x20, 0x1f, 0x8b, 0xd6, 0x76, 0xd6, 0xeb, 0xc4, 0x5e, - 0x3b, 0x3d, 0xbb, 0x09, 0x4a, 0x22, 0x2d, 0xed, 0xe9, 0xf2, 0xb8, 0xe3, 0x9e, 0xae, 0x76, 0x7f, - 0x78, 0xd7, 0x5c, 0x90, 0x40, 0x42, 0x88, 0x03, 0x5c, 0xf8, 0x90, 0x38, 0x72, 0x41, 0x20, 0x14, - 0x21, 0x04, 0x88, 0x03, 0x42, 0x1c, 0xb8, 0x71, 0xe1, 0xc0, 0x8d, 0x03, 0x88, 0x33, 0xff, 0x00, - 0x02, 0x29, 0xa8, 0xea, 0x55, 0x77, 0x57, 0x75, 0xf7, 0x8c, 0x67, 0x2d, 0x2b, 0xbb, 0xd1, 0x72, - 0xf3, 0x7b, 0x5d, 0xef, 0xd5, 0xab, 0xf7, 0x7e, 0xf5, 0xea, 0xd5, 0xc7, 0x18, 0x66, 0x43, 0x7b, - 0xff, 0xce, 0xdd, 0xf0, 0xf2, 0xdd, 0x70, 0xc9, 0x0f, 0x68, 0x44, 0xf5, 0xb9, 0x90, 0x04, 0x87, - 0x24, 0xb8, 0x63, 0xf9, 0xce, 0x1d, 0xdf, 0x0a, 0xac, 0x41, 0xb8, 0xf0, 0xcc, 0x96, 0x4f, 0xbc, - 0x3b, 0xeb, 0x9b, 0x97, 0xfd, 0xfd, 0xfe, 0x65, 0xde, 0xea, 0x72, 0x22, 0x15, 0x58, 0xbe, 0x4f, - 0x02, 0x21, 0x6b, 0xfc, 0xbd, 0x06, 0xcd, 0xb5, 0x80, 0xc6, 0xfe, 0xba, 0xb7, 0x4b, 0xf5, 0x0e, - 0x4c, 0xf4, 0x39, 0xb1, 0xda, 0xd1, 0x16, 0xb5, 0x67, 0x9b, 0x66, 0x42, 0xea, 0xe7, 0xa1, 0xc9, - 0xff, 0xbc, 0x69, 0x0d, 0x48, 0xa7, 0xc2, 0xbf, 0x65, 0x0c, 0xdd, 0x80, 0x29, 0x8f, 0x46, 0xce, - 0xae, 0xd3, 0xb3, 0x22, 0x87, 0x7a, 0x9d, 0x2a, 0x6f, 0xa0, 0xf0, 0x58, 0x1b, 0xc7, 0x8b, 0x02, - 0x6a, 0xc7, 0x3d, 0xde, 0xa6, 0x86, 0x6d, 0x64, 0x1e, 0xeb, 0x7f, 0xd7, 0xea, 0x91, 0xdb, 0xe6, - 0x46, 0xa7, 0x8e, 0xfd, 0x0b, 0x52, 0x5f, 0x84, 0x16, 0xbd, 0xeb, 0x91, 0xe0, 0x76, 0x48, 0x82, - 0xf5, 0xd5, 0x4e, 0x83, 0x7f, 0x95, 0x59, 0xfa, 0x05, 0x80, 0x5e, 0x40, 0xac, 0x88, 0xdc, 0x72, - 0x06, 0xa4, 0x33, 0xb1, 0xa8, 0x3d, 0x3b, 0x6d, 0x4a, 0x1c, 0xa6, 0x61, 0x40, 0x06, 0x3b, 0x24, - 0x58, 0xa1, 0xb1, 0x17, 0x75, 0x26, 0x79, 0x03, 0x99, 0xa5, 0xcf, 0x40, 0x85, 0xdc, 0xeb, 0x34, - 0xb9, 0xea, 0x0a, 0xb9, 0xa7, 0xcf, 0x43, 0x23, 0x8c, 0xac, 0x28, 0x0e, 0x3b, 0xb0, 0xa8, 0x3d, - 0x5b, 0x37, 0x05, 0xa5, 0x5f, 0x84, 0x69, 0xae, 0x97, 0x26, 0xd6, 0xb4, 0xb8, 0x88, 0xca, 0x4c, - 0x3d, 0x76, 0xeb, 0xc8, 0x27, 0x9d, 0x29, 0xae, 0x20, 0x63, 0xe8, 0x97, 0xa0, 0xed, 0x11, 0x62, - 0xbf, 0x4d, 0x82, 0xcc, 0x6b, 0xd3, 0xbc, 0x51, 0x81, 0xaf, 0x3f, 0x0d, 0x33, 0x2e, 0xa5, 0xfb, - 0x9b, 0xdc, 0x54, 0x16, 0xa7, 0xce, 0x0c, 0x6f, 0x99, 0xe3, 0xea, 0xcf, 0xc1, 0x9c, 0xe5, 0xfb, - 0xee, 0x11, 0xb2, 0xae, 0x07, 0x0e, 0xf1, 0xec, 0xce, 0x2c, 0x6f, 0x5a, 0xfc, 0xa0, 0xbf, 0x04, - 0xf3, 0x72, 0x7c, 0x6e, 0xfb, 0x76, 0xe2, 0xbb, 0x36, 0x77, 0xcd, 0x90, 0xaf, 0xfa, 0x12, 0xe8, - 0xca, 0x17, 0x74, 0xc1, 0x1c, 0x77, 0x41, 0xc9, 0x17, 0xe3, 0xfb, 0x55, 0x98, 0x4d, 0x11, 0x76, - 0x9d, 0x06, 0x5d, 0x12, 0x3d, 0xc4, 0x38, 0x43, 0x0c, 0x34, 0x52, 0x0c, 0xac, 0x95, 0xc4, 0x89, - 0x61, 0xab, 0x75, 0xe5, 0x89, 0xa5, 0x3e, 0xa5, 0x7d, 0x97, 0xe0, 0x44, 0xda, 0x89, 0x77, 0x97, - 0xd6, 0xbd, 0xe8, 0xf9, 0x2b, 0x6f, 0x5b, 0x6e, 0x4c, 0x4a, 0x82, 0xb8, 0x52, 0x08, 0xe2, 0xe4, - 0xf1, 0x6a, 0xf2, 0x11, 0x5e, 0x2f, 0x8b, 0x70, 0xf3, 0x78, 0x3d, 0x45, 0x29, 0xe3, 0xa3, 0x0a, - 0x9c, 0xe1, 0x61, 0x11, 0xdc, 0xd8, 0x75, 0x8f, 0x49, 0x01, 0xf3, 0xd0, 0x88, 0x31, 0xd8, 0x18, - 0x17, 0x41, 0xb1, 0x90, 0x05, 0xd4, 0x25, 0x1b, 0xe4, 0x90, 0xb8, 0x3c, 0x22, 0x75, 0x33, 0x63, - 0xe8, 0x0b, 0x30, 0xf9, 0x01, 0x75, 0x3c, 0x0e, 0xac, 0x1a, 0xff, 0x98, 0xd2, 0xec, 0x9b, 0xe7, - 0xf4, 0xf6, 0x3d, 0x16, 0x6b, 0x8c, 0x43, 0x4a, 0xcb, 0x21, 0x6a, 0xa8, 0x21, 0x7a, 0x1a, 0x66, - 0x2c, 0xdf, 0xdf, 0xb4, 0xbc, 0x3e, 0x09, 0xb0, 0xd3, 0x09, 0x9c, 0x0e, 0x2a, 0x97, 0x25, 0x04, - 0xd6, 0x53, 0x97, 0xc6, 0x41, 0x8f, 0x70, 0x6f, 0xd7, 0x4d, 0x89, 0xc3, 0xf4, 0x50, 0x9f, 0x04, - 0xd2, 0x3c, 0xc6, 0xa9, 0x9f, 0xe3, 0x0a, 0x48, 0x40, 0x0a, 0x09, 0x96, 0x48, 0xe2, 0x88, 0xbc, - 0xee, 0xd9, 0x7c, 0x50, 0x2d, 0x91, 0x48, 0x32, 0x16, 0x4b, 0x10, 0x8e, 0x77, 0xe8, 0x44, 0x69, - 0xba, 0x9a, 0xc2, 0x04, 0xa1, 0x30, 0x8d, 0x6f, 0x69, 0x30, 0xb3, 0x1d, 0xef, 0xb8, 0x4e, 0x8f, - 0x33, 0x98, 0xf3, 0x33, 0x17, 0x6b, 0x8a, 0x8b, 0x65, 0x47, 0x55, 0x86, 0x3b, 0xaa, 0xaa, 0x3a, - 0x6a, 0x1e, 0x1a, 0x7d, 0xe2, 0xd9, 0x24, 0x10, 0x8e, 0x17, 0x94, 0x18, 0x50, 0x3d, 0x19, 0x90, - 0xf1, 0xdd, 0x1a, 0x4c, 0x7e, 0xcc, 0x26, 0x2c, 0x42, 0xcb, 0xdf, 0xa3, 0x1e, 0xb9, 0x19, 0x33, - 0xf0, 0x09, 0x5b, 0x64, 0x96, 0x7e, 0x16, 0xea, 0x3b, 0x4e, 0x10, 0xed, 0xf1, 0xe8, 0x4f, 0x9b, - 0x48, 0x30, 0x2e, 0x19, 0x58, 0x0e, 0x86, 0xbc, 0x69, 0x22, 0x21, 0x06, 0x34, 0x99, 0x46, 0x68, - 0x01, 0x26, 0x31, 0xf1, 0xaf, 0xfb, 0x22, 0xa6, 0x29, 0x9d, 0x5b, 0x26, 0xa0, 0x6c, 0x99, 0xd8, - 0xb0, 0xc2, 0x68, 0x83, 0xf6, 0x1d, 0x6f, 0xdd, 0x17, 0xa9, 0x5d, 0x66, 0xb1, 0xe8, 0xa6, 0x24, - 0x57, 0x32, 0xc5, 0x95, 0xa8, 0x4c, 0xd6, 0x4f, 0x4a, 0x84, 0x22, 0xb5, 0x4b, 0x9c, 0xf4, 0xfb, - 0x86, 0x33, 0x70, 0x22, 0x91, 0xd0, 0x25, 0x4e, 0x09, 0xca, 0x67, 0x4b, 0x51, 0x7e, 0x09, 0xda, - 0x7d, 0x97, 0xee, 0x58, 0xae, 0x49, 0x7a, 0x87, 0x9b, 0x61, 0x7f, 0xcb, 0x8f, 0x78, 0x02, 0xaf, - 0x9b, 0x05, 0x3e, 0xd3, 0xc9, 0x21, 0xc8, 0x33, 0xd2, 0x0a, 0xb5, 0x89, 0x48, 0xdb, 0x39, 0xae, - 0xf1, 0x6f, 0x0d, 0x00, 0xd3, 0x04, 0x87, 0x44, 0x6e, 0xed, 0xd5, 0x8a, 0x6b, 0xef, 0x3c, 0x34, - 0x02, 0x32, 0xb0, 0x82, 0xfd, 0x24, 0x35, 0x20, 0x95, 0x73, 0x76, 0xb5, 0xe0, 0xec, 0x57, 0x00, - 0x76, 0x79, 0x3f, 0x4c, 0x0f, 0x87, 0x08, 0x4b, 0x64, 0x85, 0x72, 0x66, 0x29, 0x41, 0xa7, 0x29, - 0x35, 0x67, 0x79, 0xc7, 0xb2, 0x6d, 0x31, 0xbd, 0xeb, 0x98, 0x77, 0x52, 0x46, 0xc9, 0xec, 0x6e, - 0x8c, 0x98, 0xdd, 0x13, 0xe9, 0x64, 0xf8, 0x97, 0x06, 0xcd, 0x65, 0xd7, 0xea, 0xed, 0x8f, 0x39, - 0x74, 0x75, 0x88, 0x95, 0xc2, 0x10, 0xd7, 0x60, 0x7a, 0x87, 0xa9, 0x4b, 0x86, 0xc0, 0xbd, 0xd0, - 0xba, 0xf2, 0x99, 0x92, 0x51, 0xaa, 0xc9, 0xc0, 0x54, 0xe5, 0xd4, 0xe1, 0xd6, 0x8e, 0x1f, 0x6e, - 0x7d, 0xc4, 0x70, 0xd3, 0xf5, 0xcd, 0xf8, 0x51, 0x15, 0xa6, 0xf8, 0x32, 0x60, 0x92, 0x83, 0x98, - 0x84, 0x91, 0xfe, 0x1a, 0x4c, 0xc6, 0x89, 0xa9, 0xda, 0xb8, 0xa6, 0xa6, 0x22, 0xfa, 0xcb, 0x62, - 0xfd, 0xe6, 0xf2, 0x15, 0x2e, 0x7f, 0xbe, 0x44, 0x3e, 0x2d, 0x08, 0xcc, 0xac, 0x39, 0x5b, 0xb9, - 0xf7, 0x2c, 0xcf, 0x76, 0x89, 0x49, 0xc2, 0xd8, 0x8d, 0xc4, 0x5a, 0xa2, 0xf0, 0x10, 0x69, 0x07, - 0x9b, 0x61, 0x5f, 0xac, 0xeb, 0x82, 0x62, 0xde, 0xc1, 0x76, 0xec, 0x13, 0x0e, 0x3d, 0x63, 0xb0, - 0x04, 0x15, 0x90, 0x03, 0x1e, 0x21, 0x4c, 0x27, 0x09, 0x99, 0xf5, 0x29, 0xbc, 0x86, 0x40, 0x50, - 0x78, 0x2c, 0xc4, 0x48, 0x73, 0x05, 0x58, 0x38, 0x4a, 0x9c, 0x42, 0xdd, 0xa8, 0x2e, 0x3c, 0x50, - 0x58, 0x78, 0x0a, 0xcb, 0x43, 0xab, 0x6c, 0x79, 0xf8, 0x5b, 0x15, 0xa6, 0x71, 0x12, 0x26, 0xa1, - 0xb9, 0xc0, 0x66, 0x0b, 0x1d, 0x28, 0x58, 0x94, 0x38, 0x6c, 0x2c, 0x8c, 0xba, 0xa9, 0xa6, 0x69, - 0x85, 0xc7, 0x00, 0xcd, 0xe8, 0xeb, 0x4a, 0xba, 0x96, 0x59, 0x49, 0x2f, 0x6b, 0x72, 0xda, 0x96, - 0x38, 0x2c, 0xb9, 0x46, 0x54, 0xc1, 0x58, 0x4a, 0x33, 0xd9, 0x88, 0xa6, 0xfd, 0x23, 0xca, 0x24, - 0x0e, 0x8b, 0x52, 0x44, 0x93, 0xbe, 0xd1, 0xd5, 0x19, 0x03, 0x35, 0x8b, 0x7e, 0x71, 0xb9, 0x4e, - 0xe9, 0x02, 0x36, 0x9a, 0x23, 0xb1, 0x01, 0x0a, 0x36, 0xd4, 0x29, 0xda, 0x2a, 0x4c, 0xd1, 0x8b, - 0x30, 0x8d, 0x7a, 0x72, 0xcb, 0xb5, 0xc2, 0x54, 0x11, 0x36, 0x9d, 0x47, 0x98, 0x8a, 0x91, 0x99, - 0x21, 0x18, 0x99, 0x4d, 0xe7, 0xdd, 0xaf, 0x2a, 0x00, 0xab, 0xc4, 0xb7, 0x82, 0x68, 0x40, 0xbc, - 0x88, 0x0d, 0xcf, 0x4e, 0xa9, 0x34, 0xb8, 0x0a, 0x4f, 0x5e, 0x65, 0x2b, 0xea, 0x2a, 0xab, 0x43, - 0x8d, 0x3b, 0x1c, 0xa3, 0xc9, 0xff, 0x66, 0xce, 0xf4, 0xad, 0x00, 0xb5, 0xe1, 0x54, 0x49, 0x69, - 0xb6, 0x8a, 0xd2, 0xc0, 0x16, 0xeb, 0x6e, 0xdd, 0x44, 0x82, 0xa5, 0x90, 0xac, 0x3f, 0xbe, 0x6b, - 0x69, 0xe0, 0x8a, 0xa3, 0x72, 0x8f, 0xdd, 0x68, 0x5d, 0x82, 0x76, 0x18, 0xef, 0x64, 0x83, 0xbb, - 0x19, 0x0f, 0xc4, 0xa4, 0x29, 0xf0, 0x99, 0x53, 0x71, 0x07, 0xc6, 0x1a, 0x35, 0x79, 0xa3, 0x8c, - 0x91, 0xaf, 0xbc, 0x8c, 0x5f, 0x54, 0xa0, 0xbd, 0x15, 0xf4, 0x2d, 0xcf, 0xf9, 0x5a, 0xba, 0xc3, - 0x38, 0x51, 0xc1, 0xb2, 0x08, 0x2d, 0xe2, 0xf5, 0x5d, 0x27, 0xdc, 0xbb, 0x99, 0xf9, 0x4d, 0x66, - 0xc9, 0xce, 0xae, 0x0d, 0x2b, 0x69, 0xea, 0x4a, 0x49, 0x33, 0x0f, 0x8d, 0x01, 0xdd, 0x71, 0xdc, - 0x04, 0xf7, 0x82, 0xe2, 0x98, 0x27, 0x2e, 0xe1, 0xb5, 0x4d, 0x8a, 0xf9, 0x84, 0x91, 0x95, 0x39, - 0x93, 0xa5, 0x65, 0x4e, 0x53, 0x2e, 0x73, 0x8e, 0x2b, 0x5d, 0xd0, 0x5d, 0xad, 0xd4, 0x5d, 0x7f, - 0xd4, 0xa0, 0x9d, 0xb9, 0x1b, 0xeb, 0xfc, 0xa1, 0xee, 0xca, 0x23, 0xb0, 0x52, 0x82, 0xc0, 0x14, - 0x37, 0x55, 0x19, 0x37, 0x0c, 0x69, 0x34, 0x74, 0xa4, 0xcd, 0x56, 0x4a, 0xb3, 0xde, 0x5c, 0x62, - 0x49, 0xce, 0x42, 0x4a, 0xda, 0x5a, 0x37, 0x94, 0xad, 0x75, 0x7e, 0x35, 0xfe, 0x9d, 0x06, 0x67, - 0x59, 0x94, 0x0b, 0xc3, 0xd8, 0x82, 0x36, 0xcd, 0x21, 0x41, 0x2c, 0x57, 0x4f, 0x95, 0x2c, 0x37, - 0x79, 0xd0, 0x98, 0x05, 0x61, 0xa6, 0xd0, 0xce, 0x75, 0x22, 0xd6, 0xaf, 0x32, 0x85, 0x79, 0x7b, - 0xcc, 0x82, 0xb0, 0xf1, 0x7b, 0x0d, 0xda, 0xb8, 0x40, 0x4a, 0xf3, 0xfc, 0xd4, 0xcd, 0x7e, 0x07, - 0xce, 0xe6, 0x7b, 0xde, 0x70, 0xc2, 0xa8, 0x53, 0x59, 0xac, 0x8e, 0x6b, 0x7a, 0xa9, 0x02, 0x36, - 0xd7, 0x1e, 0xdb, 0x8e, 0x5d, 0x77, 0x93, 0x84, 0xa1, 0xd5, 0x27, 0xcb, 0x47, 0x5d, 0x72, 0xc0, - 0x3e, 0x98, 0xe4, 0x60, 0x28, 0x86, 0x58, 0xb5, 0xc4, 0xcb, 0x0d, 0x87, 0x7a, 0x29, 0x84, 0x64, - 0x16, 0x9b, 0x56, 0x21, 0xea, 0xe9, 0x54, 0x17, 0xab, 0x6c, 0x21, 0x16, 0xa4, 0xfe, 0x55, 0x98, - 0xe2, 0x95, 0x80, 0xe8, 0xa6, 0x53, 0xe3, 0x03, 0x78, 0xb5, 0xb4, 0xf6, 0x28, 0xb5, 0x0a, 0x6b, - 0x0a, 0x41, 0xbf, 0xee, 0x45, 0xc1, 0x91, 0xa9, 0x68, 0x5c, 0x78, 0x0f, 0xe6, 0x0a, 0x4d, 0xf4, - 0x36, 0x54, 0xf7, 0xc9, 0x91, 0x18, 0x07, 0xfb, 0x53, 0xff, 0x02, 0xd4, 0x0f, 0xd9, 0xa6, 0x59, - 0x44, 0x7f, 0xa1, 0xc4, 0x02, 0x61, 0xb3, 0x89, 0x0d, 0x5f, 0xae, 0x7c, 0x51, 0x33, 0x9e, 0x4a, - 0x07, 0x26, 0x8f, 0x51, 0x53, 0xc6, 0x68, 0xbc, 0x09, 0xad, 0xcd, 0xb0, 0xbf, 0x6a, 0x45, 0x16, - 0x6f, 0xf8, 0x2a, 0xb4, 0x06, 0x19, 0xc9, 0x1b, 0x97, 0xf7, 0x27, 0x84, 0x4c, 0xb9, 0xb9, 0xf1, - 0x97, 0x0a, 0x74, 0xca, 0x5d, 0x11, 0xfa, 0xcc, 0x06, 0x12, 0x04, 0xbc, 0xc4, 0xd7, 0xf8, 0x04, - 0x4b, 0x48, 0x16, 0x3b, 0x12, 0x04, 0x6c, 0x0d, 0x13, 0xa5, 0x3a, 0x52, 0xfa, 0x12, 0xd4, 0xdc, - 0x24, 0x2c, 0xa3, 0xad, 0xe0, 0xed, 0xf4, 0x01, 0xb4, 0xb9, 0x77, 0xa5, 0x01, 0x89, 0x98, 0x5d, - 0x1b, 0x3b, 0x66, 0xa1, 0x8f, 0x41, 0x93, 0x74, 0x60, 0xe0, 0x0a, 0xaa, 0x17, 0x7a, 0x70, 0xae, - 0xb4, 0x69, 0x49, 0x00, 0x5f, 0x50, 0x03, 0x78, 0x61, 0xf8, 0x50, 0xf2, 0x41, 0xf4, 0x41, 0x5f, - 0x23, 0xd1, 0xa6, 0x75, 0xef, 0x9a, 0x67, 0x6f, 0x3a, 0x5e, 0x97, 0x1c, 0x30, 0xb4, 0x2f, 0x42, - 0x4b, 0x1c, 0x81, 0xa4, 0x61, 0x6a, 0x9a, 0x32, 0x6b, 0xe8, 0xc9, 0x48, 0x6e, 0x3e, 0x54, 0x0b, - 0xf3, 0xc1, 0xb8, 0x0a, 0x53, 0x72, 0x77, 0x7c, 0x11, 0xb1, 0xee, 0x75, 0xc9, 0x01, 0x1f, 0xd0, - 0xb4, 0x29, 0x28, 0xce, 0xe7, 0x2d, 0xc4, 0x0e, 0x43, 0x50, 0xc6, 0x9f, 0x2b, 0x70, 0xa6, 0x60, - 0x72, 0xe8, 0xdf, 0xaf, 0x1e, 0x19, 0x2f, 0xd5, 0x61, 0x78, 0xa9, 0x29, 0x78, 0xd9, 0x87, 0x39, - 0x0c, 0x92, 0xd4, 0x75, 0xa7, 0xce, 0x01, 0xf0, 0x5a, 0x59, 0xc1, 0x5f, 0x34, 0x52, 0xc4, 0x5e, - 0xe2, 0x62, 0xf0, 0x8b, 0x7a, 0x17, 0x08, 0xcc, 0x97, 0x37, 0x2e, 0x09, 0xff, 0x8b, 0x6a, 0xf8, - 0x3f, 0x5d, 0x16, 0x7e, 0xd9, 0x12, 0x29, 0xfe, 0x07, 0x30, 0xcb, 0x92, 0x6a, 0x97, 0x78, 0xf6, - 0x66, 0xd8, 0xe7, 0x8e, 0x5c, 0x84, 0x16, 0xca, 0x6f, 0x86, 0xfd, 0x6c, 0x03, 0x28, 0xb1, 0x58, - 0x8b, 0x9e, 0xeb, 0xb0, 0xe4, 0xc9, 0x5b, 0x88, 0xa4, 0x27, 0xb1, 0xd8, 0x02, 0x19, 0x12, 0x71, - 0x5a, 0xc4, 0xbc, 0x5b, 0x35, 0x53, 0xda, 0xf8, 0x6d, 0x03, 0x26, 0x04, 0x1a, 0xf9, 0xa2, 0xc8, - 0xf6, 0xdc, 0x69, 0x5a, 0x45, 0x0a, 0xeb, 0xda, 0xde, 0x61, 0x06, 0x2f, 0xa4, 0xe4, 0xa3, 0xba, - 0xaa, 0x7a, 0x54, 0x97, 0xb3, 0xa9, 0x56, 0xb4, 0x29, 0x37, 0xae, 0x7a, 0x71, 0x5c, 0xac, 0x8c, - 0xe3, 0x95, 0xcd, 0xb6, 0x6b, 0x45, 0xbb, 0x34, 0x18, 0x88, 0x2d, 0x74, 0xdd, 0x2c, 0xf0, 0x59, - 0xe9, 0x88, 0xbc, 0xb4, 0xf6, 0xc7, 0x25, 0x3c, 0xc7, 0x65, 0x95, 0x36, 0x72, 0x92, 0x3d, 0x00, - 0x9e, 0xd9, 0xa8, 0x4c, 0xb4, 0x2d, 0x0c, 0x1d, 0xea, 0xf1, 0x2a, 0x14, 0x4b, 0x7d, 0x99, 0xc5, - 0x46, 0x3e, 0x08, 0xfb, 0xd7, 0x03, 0x3a, 0x10, 0xdb, 0xab, 0x84, 0xe4, 0x23, 0xa7, 0x5e, 0x94, - 0x54, 0xb0, 0x2d, 0x94, 0x95, 0x58, 0x4c, 0x56, 0x90, 0xbc, 0xce, 0x9f, 0x32, 0x13, 0x92, 0x61, - 0x29, 0x24, 0x07, 0xa2, 0x78, 0x67, 0x7f, 0x2a, 0x91, 0x9b, 0x55, 0x23, 0x97, 0xab, 0xc6, 0xda, - 0xfc, 0xab, 0x5c, 0x8d, 0x65, 0x25, 0xce, 0x9c, 0x52, 0xe2, 0x5c, 0x83, 0x09, 0xea, 0xb3, 0xe9, - 0x1f, 0x76, 0x74, 0x3e, 0x5d, 0x9e, 0x19, 0x9e, 0xa0, 0x96, 0xb6, 0xb0, 0x25, 0x4e, 0x8c, 0x44, - 0x4e, 0xdf, 0x80, 0x59, 0xba, 0xbb, 0xeb, 0x3a, 0x1e, 0xd9, 0x8e, 0xc3, 0x3d, 0xbe, 0xd5, 0x3e, - 0xc3, 0xc1, 0x6e, 0x94, 0x15, 0x11, 0x6a, 0x4b, 0x33, 0x2f, 0xca, 0x2a, 0x3f, 0x2b, 0xc2, 0x4d, - 0x0e, 0x4f, 0x70, 0x67, 0x79, 0x82, 0x53, 0x78, 0xfc, 0xcc, 0x53, 0x4a, 0xf4, 0xe7, 0xb8, 0xe3, - 0x64, 0x16, 0x6a, 0x89, 0xac, 0xde, 0x1e, 0xe1, 0x87, 0x46, 0x9d, 0x79, 0xac, 0x1f, 0x65, 0x9e, - 0xa8, 0xee, 0x1e, 0x4b, 0xaa, 0xbb, 0x85, 0x97, 0x61, 0x4a, 0x1e, 0x60, 0xc9, 0x64, 0x3e, 0x2b, - 0x4f, 0xe6, 0x49, 0x79, 0xae, 0xfe, 0x40, 0x83, 0xd9, 0xdc, 0xd0, 0x58, 0xeb, 0xc8, 0x89, 0x5c, - 0x22, 0x34, 0x20, 0xc1, 0x76, 0x47, 0x36, 0x09, 0x7b, 0x62, 0xf2, 0xf0, 0xbf, 0x85, 0x25, 0xd5, - 0x74, 0xcb, 0x6e, 0xc0, 0x94, 0xb3, 0xd5, 0x65, 0x8a, 0xba, 0x34, 0xf6, 0xec, 0xf4, 0xd2, 0x40, - 0xe2, 0xf1, 0x6d, 0xfb, 0x56, 0x77, 0xd9, 0xb2, 0xfb, 0x04, 0xaf, 0x90, 0xea, 0xdc, 0x26, 0x95, - 0x69, 0xd8, 0x30, 0x79, 0xcb, 0xf1, 0xc3, 0x15, 0x3a, 0x18, 0x30, 0x08, 0xd8, 0x24, 0x62, 0x75, - 0xbc, 0xc6, 0x1d, 0x26, 0x28, 0xe6, 0x4d, 0x9b, 0xec, 0x5a, 0xb1, 0x1b, 0xb1, 0xa6, 0x49, 0xca, - 0x90, 0x58, 0xfc, 0x08, 0x21, 0xa4, 0xde, 0x2a, 0x4a, 0xa3, 0x9d, 0x12, 0xc7, 0xf8, 0x53, 0x05, - 0xda, 0x3c, 0x23, 0xae, 0x70, 0xc0, 0xd9, 0x5c, 0xe8, 0x0a, 0xd4, 0x79, 0x02, 0x10, 0x15, 0xe5, - 0xe8, 0x73, 0x17, 0x6c, 0xaa, 0x5f, 0x85, 0x06, 0xf5, 0x79, 0x19, 0x8a, 0xe9, 0xf2, 0xe9, 0x61, - 0x42, 0xea, 0x35, 0x81, 0x29, 0xa4, 0xf4, 0xeb, 0x00, 0x83, 0xac, 0xea, 0xc4, 0xe2, 0x61, 0x5c, - 0x1d, 0x92, 0x24, 0x73, 0x6e, 0xba, 0x2e, 0xa6, 0x77, 0x05, 0x55, 0x53, 0x65, 0xea, 0x37, 0x61, - 0x86, 0x9b, 0xbd, 0x95, 0x1c, 0xc0, 0xf1, 0x18, 0x8c, 0xdf, 0x63, 0x4e, 0xda, 0xf8, 0x89, 0x26, - 0xdc, 0xc8, 0xbe, 0x76, 0x09, 0xfa, 0x3e, 0x73, 0x89, 0x76, 0x22, 0x97, 0x2c, 0xc0, 0xe4, 0x20, - 0x96, 0xce, 0x03, 0xab, 0x66, 0x4a, 0x67, 0x21, 0xaa, 0x8e, 0x1d, 0x22, 0xe3, 0xa7, 0x1a, 0x74, - 0xde, 0xa0, 0x8e, 0xc7, 0x3f, 0x5c, 0xf3, 0x7d, 0x57, 0x5c, 0x29, 0x9d, 0x38, 0xe6, 0x5f, 0x86, - 0xa6, 0x85, 0x6a, 0xbc, 0x48, 0x84, 0x7d, 0x8c, 0x33, 0xbe, 0x4c, 0x46, 0x3a, 0x68, 0xa9, 0xca, - 0x07, 0x2d, 0xc6, 0x87, 0x1a, 0xcc, 0xa0, 0x53, 0xde, 0x8a, 0x9d, 0xe8, 0xc4, 0xf6, 0x2d, 0xc3, - 0xe4, 0x41, 0xec, 0x44, 0x27, 0x40, 0x65, 0x2a, 0x57, 0xc4, 0x53, 0xb5, 0x04, 0x4f, 0xc6, 0x2f, - 0x35, 0x38, 0x9f, 0x77, 0xeb, 0xb5, 0x5e, 0x8f, 0xf8, 0x0f, 0x72, 0x4a, 0x29, 0x07, 0x4d, 0xb5, - 0xdc, 0x41, 0x53, 0xa9, 0xc9, 0x26, 0xf9, 0x80, 0xf4, 0x1e, 0x5e, 0x93, 0xbf, 0x59, 0x81, 0xc7, - 0xd7, 0xd2, 0x89, 0x77, 0x2b, 0xb0, 0xbc, 0x70, 0x97, 0x04, 0xc1, 0x03, 0xb4, 0x77, 0x03, 0xa6, - 0x3d, 0x72, 0x37, 0xb3, 0x49, 0x4c, 0xc7, 0x71, 0xd5, 0xa8, 0xc2, 0xe3, 0xe5, 0x2e, 0xe3, 0xbf, - 0x1a, 0xb4, 0x51, 0xcf, 0x9b, 0x4e, 0x6f, 0xff, 0x01, 0x0e, 0xfe, 0x26, 0xcc, 0xec, 0x73, 0x0b, - 0x18, 0x75, 0x82, 0xb4, 0x9d, 0x93, 0x1e, 0x73, 0xf8, 0x1f, 0x69, 0x30, 0x97, 0xdc, 0x64, 0x1f, - 0x3a, 0x0f, 0x12, 0xac, 0xdb, 0x30, 0x8b, 0x27, 0xed, 0x27, 0x75, 0x40, 0x5e, 0x7c, 0x4c, 0x0f, - 0xfc, 0x46, 0x83, 0x59, 0xd4, 0xf4, 0xba, 0x17, 0x91, 0xe0, 0xc4, 0xe3, 0xbf, 0x01, 0x2d, 0xe2, - 0x45, 0x81, 0xe5, 0x9d, 0x24, 0x43, 0xca, 0xa2, 0x63, 0x26, 0xc9, 0x0f, 0x35, 0xd0, 0xb9, 0xaa, - 0x55, 0x27, 0x1c, 0x38, 0x61, 0xf8, 0x00, 0x43, 0x37, 0x9e, 0xc1, 0x3f, 0xae, 0xc0, 0x59, 0x49, - 0xcb, 0x66, 0x1c, 0x3d, 0xec, 0x26, 0xeb, 0xab, 0xd0, 0x64, 0x35, 0x82, 0x7c, 0x0f, 0x3a, 0x6e, - 0x47, 0x99, 0x20, 0xab, 0x62, 0x39, 0xd1, 0x25, 0x3d, 0xea, 0xd9, 0x21, 0x2f, 0x8e, 0xa6, 0x4d, - 0x85, 0xc7, 0xd2, 0xd0, 0x82, 0xa4, 0x66, 0xc5, 0xf2, 0x7a, 0xc4, 0x7d, 0x64, 0x5c, 0x64, 0xfc, - 0x5c, 0x83, 0x19, 0x6c, 0xf2, 0xf0, 0x0f, 0x99, 0xad, 0xf5, 0x08, 0xe4, 0x4f, 0x4c, 0x94, 0x18, - 0xbc, 0xe6, 0x25, 0x2d, 0x72, 0x5d, 0xfd, 0xf0, 0x42, 0xeb, 0x06, 0xb4, 0x7a, 0x7b, 0x96, 0xd7, - 0x3f, 0x11, 0xb8, 0x64, 0x51, 0x23, 0x82, 0xc7, 0xe4, 0x43, 0xfb, 0x15, 0xfc, 0xc4, 0x87, 0xff, - 0x7c, 0x6e, 0x28, 0x23, 0xdf, 0x39, 0xdc, 0x9f, 0xd3, 0xf7, 0x61, 0x0e, 0x6f, 0x8a, 0xa5, 0x9a, - 0x50, 0xef, 0xc0, 0x84, 0x65, 0xe3, 0xd1, 0x85, 0xc6, 0x85, 0x12, 0x52, 0x7d, 0x49, 0x20, 0xde, - 0xd8, 0x65, 0x2f, 0x09, 0x2e, 0x00, 0x58, 0xb6, 0xfd, 0x0e, 0x0d, 0x6c, 0xc7, 0x4b, 0x0a, 0x7c, - 0x89, 0x63, 0xbc, 0x01, 0x53, 0xd7, 0x03, 0x3a, 0xb8, 0x25, 0xdd, 0xf9, 0x8e, 0xbc, 0x95, 0x96, - 0xef, 0x8b, 0x2b, 0xea, 0x7d, 0xb1, 0xf1, 0x3e, 0x9c, 0x2b, 0x18, 0xce, 0x9d, 0xb5, 0x82, 0x57, - 0xd9, 0x49, 0x27, 0x02, 0x32, 0x65, 0x67, 0x79, 0xb2, 0x2d, 0xa6, 0x22, 0x64, 0x7c, 0x43, 0x83, - 0x27, 0x0b, 0xea, 0xaf, 0xf9, 0x7e, 0x40, 0x0f, 0x45, 0x4c, 0x4e, 0xa3, 0x1b, 0xb5, 0xf8, 0xad, - 0xe4, 0x8b, 0xdf, 0x52, 0x23, 0x94, 0x82, 0xfd, 0x63, 0x30, 0xe2, 0x67, 0x1a, 0xcc, 0x0a, 0x23, - 0x6c, 0x5b, 0x74, 0xfb, 0x22, 0x34, 0xf0, 0x31, 0x8d, 0xe8, 0xf0, 0xc9, 0xd2, 0x0e, 0x93, 0x47, - 0x40, 0xa6, 0x68, 0x5c, 0x44, 0x64, 0xa5, 0x6c, 0x46, 0x7d, 0x29, 0x05, 0xfb, 0xd8, 0xcf, 0x5d, - 0x84, 0x80, 0xf1, 0x95, 0x04, 0xcc, 0xab, 0xc4, 0x25, 0xa7, 0xe9, 0x23, 0xe3, 0x36, 0xcc, 0xf0, - 0x97, 0x3d, 0x99, 0x0f, 0x4e, 0x45, 0xed, 0x3b, 0xd0, 0xe6, 0x6a, 0x4f, 0xdd, 0xde, 0x74, 0x76, - 0x30, 0xff, 0xc8, 0xa9, 0xe4, 0x54, 0xb4, 0x7f, 0x1e, 0xce, 0x24, 0xbe, 0xc7, 0xd7, 0xbd, 0xa8, - 0x7b, 0xc8, 0xdd, 0x9e, 0xf1, 0x43, 0x0d, 0xe6, 0x57, 0xa8, 0x77, 0x48, 0x82, 0x50, 0x79, 0x11, - 0x8c, 0x22, 0xca, 0xec, 0x17, 0x94, 0xbe, 0x04, 0x7a, 0x4f, 0x92, 0x10, 0xc7, 0x8b, 0x15, 0x7e, - 0xbc, 0x58, 0xf2, 0x45, 0x7f, 0x01, 0xce, 0xc5, 0x5c, 0xeb, 0x6d, 0x2f, 0x20, 0x96, 0xcd, 0xcf, - 0xd3, 0xa4, 0xa4, 0x57, 0xfe, 0xd1, 0xf8, 0x00, 0x16, 0x64, 0xbb, 0xba, 0x24, 0xda, 0x0e, 0x9c, - 0x43, 0xc9, 0x36, 0x71, 0x76, 0xae, 0x29, 0x67, 0xe7, 0xd9, 0x59, 0x7b, 0x45, 0x39, 0x6b, 0x3f, - 0x0f, 0x4d, 0x27, 0x14, 0x0a, 0x78, 0xbf, 0x93, 0x66, 0xc6, 0x30, 0x2c, 0x98, 0xc3, 0x28, 0x8b, - 0xbb, 0x2c, 0xde, 0xc5, 0x02, 0x4c, 0x22, 0x74, 0xd3, 0x4e, 0x52, 0x7a, 0xe8, 0xcd, 0xd0, 0xd0, - 0x7b, 0x50, 0xa3, 0x0b, 0x73, 0xe2, 0xbd, 0xcf, 0xb6, 0xd5, 0x77, 0x3c, 0xcc, 0xe5, 0x17, 0x00, - 0x7c, 0xab, 0x9f, 0xbc, 0x96, 0xc4, 0x1b, 0x3d, 0x89, 0xc3, 0xbe, 0x87, 0x7b, 0xf4, 0xae, 0xf8, - 0x5e, 0xc1, 0xef, 0x19, 0xc7, 0x78, 0x1b, 0x74, 0x93, 0x84, 0x3e, 0xf5, 0x42, 0x22, 0x69, 0x5d, - 0x84, 0xd6, 0x4a, 0x1c, 0x04, 0xc4, 0x63, 0x5d, 0x25, 0x4f, 0xe8, 0x64, 0x16, 0xd3, 0xdb, 0xcd, - 0xf4, 0xe2, 0xe9, 0xbf, 0xc4, 0x31, 0xfe, 0x53, 0x85, 0x66, 0xd7, 0xe9, 0x7b, 0x96, 0x6b, 0x92, - 0x03, 0xfd, 0x55, 0x68, 0xe0, 0xce, 0x48, 0x00, 0xb2, 0xec, 0x34, 0x1a, 0x5b, 0xe3, 0x16, 0xd0, - 0x24, 0x07, 0x37, 0x3e, 0x65, 0x0a, 0x19, 0xfd, 0xad, 0xe4, 0x55, 0xd4, 0x3a, 0x9e, 0x74, 0x89, - 0x65, 0xf2, 0xb3, 0xc7, 0x28, 0x11, 0xad, 0x51, 0x97, 0xaa, 0x81, 0x19, 0xd4, 0xe3, 0x95, 0x93, - 0xc8, 0x42, 0xc3, 0x0d, 0xc2, 0x02, 0x4b, 0x18, 0x84, 0x32, 0x4c, 0xda, 0xe2, 0x67, 0x41, 0xa2, - 0x20, 0x18, 0x2e, 0x8d, 0x47, 0x46, 0x42, 0x1a, 0x65, 0x98, 0xf4, 0x5e, 0xec, 0xf5, 0x6f, 0xfb, - 0xe2, 0x88, 0x72, 0xb8, 0xf4, 0x0d, 0xde, 0x4c, 0x48, 0xa3, 0x0c, 0x93, 0x0e, 0xf8, 0x1a, 0xc1, - 0x9d, 0x3e, 0x4a, 0x1a, 0x97, 0x12, 0x21, 0x8d, 0x32, 0xfa, 0xbb, 0xd0, 0x5e, 0x23, 0x91, 0x49, - 0xe9, 0x60, 0xf9, 0x68, 0x4d, 0xdc, 0x10, 0xe1, 0xa3, 0xf5, 0xe7, 0x86, 0xea, 0xc9, 0x0b, 0xa0, - 0xc6, 0x82, 0x9e, 0xe5, 0x26, 0x4c, 0xf8, 0xd6, 0x91, 0x4b, 0x2d, 0xdb, 0xf8, 0x4e, 0x0d, 0x20, - 0x31, 0x22, 0xe4, 0xb5, 0x9a, 0x12, 0xfe, 0x8b, 0xc7, 0x86, 0xdf, 0x77, 0x8f, 0x24, 0x00, 0x74, - 0xcb, 0x01, 0xf0, 0xb9, 0x71, 0x01, 0x80, 0xda, 0x72, 0x10, 0xb8, 0x9a, 0x83, 0xc0, 0xc5, 0x63, - 0x21, 0x20, 0x8c, 0x12, 0x20, 0xb8, 0x9a, 0x03, 0xc1, 0xc5, 0x63, 0x41, 0x20, 0xe4, 0x05, 0x0c, - 0xae, 0xe6, 0x60, 0x70, 0xf1, 0x58, 0x18, 0x08, 0x79, 0x01, 0x84, 0xab, 0x39, 0x20, 0x5c, 0x3c, - 0x16, 0x08, 0x42, 0x5e, 0x40, 0xe1, 0xfd, 0xa1, 0x50, 0x58, 0xba, 0x0f, 0x28, 0xa0, 0xce, 0x91, - 0x60, 0xf8, 0x6b, 0x05, 0x66, 0xd6, 0xd3, 0x67, 0xc4, 0xfc, 0x3a, 0xa6, 0xf0, 0xce, 0x51, 0x2b, - 0x79, 0xe7, 0xa8, 0x3f, 0x07, 0x73, 0xc8, 0x20, 0xd2, 0x1d, 0x14, 0x2e, 0x12, 0xc5, 0x0f, 0xfc, - 0xd6, 0x2d, 0x0e, 0x23, 0x3a, 0x58, 0xb5, 0x22, 0x2b, 0xa9, 0x4e, 0x33, 0x8e, 0x7c, 0x27, 0x5a, - 0x2b, 0xfc, 0x7c, 0x21, 0xa0, 0x74, 0x90, 0x5e, 0x76, 0x0a, 0x8a, 0x49, 0x44, 0xce, 0x80, 0xd0, - 0x38, 0x12, 0x09, 0x2e, 0x21, 0xf1, 0x71, 0x9a, 0xed, 0x58, 0xfc, 0x26, 0x51, 0xbc, 0xdc, 0x4a, - 0x19, 0x3c, 0x27, 0x67, 0x37, 0xa3, 0xe2, 0xe7, 0x05, 0x19, 0x67, 0x8c, 0x5b, 0x4c, 0xfe, 0x4b, - 0x15, 0x27, 0x72, 0xe4, 0x17, 0x5d, 0x75, 0x53, 0xe1, 0x19, 0xff, 0xd4, 0xe0, 0xcc, 0xb6, 0x15, - 0x44, 0x4e, 0xcf, 0xf1, 0x2d, 0x2f, 0xda, 0x24, 0x91, 0xc5, 0xc7, 0xa9, 0xbc, 0xb3, 0xd5, 0xee, - 0xef, 0x9d, 0xed, 0x36, 0xcc, 0xf6, 0xd5, 0x2d, 0xda, 0x7d, 0xee, 0xae, 0xf2, 0xe2, 0xca, 0xa3, - 0xe1, 0xea, 0x7d, 0x3f, 0x1a, 0x36, 0xbe, 0x5d, 0x81, 0xd9, 0xdc, 0xc2, 0x30, 0x72, 0x55, 0xbd, - 0x06, 0x90, 0xbd, 0x58, 0x1f, 0x71, 0x83, 0xa1, 0xe2, 0xd1, 0x94, 0x84, 0xca, 0xae, 0x50, 0xab, - 0x27, 0xbf, 0x42, 0xbd, 0x01, 0x2d, 0x3f, 0x0b, 0xd2, 0x88, 0x0d, 0x64, 0x49, 0x28, 0x4d, 0x59, - 0xd4, 0x78, 0x0f, 0xe6, 0x0a, 0x39, 0x92, 0xdf, 0x6b, 0xd2, 0x7d, 0xe2, 0xa5, 0xf7, 0x9a, 0x8c, - 0x90, 0x00, 0x5d, 0xc9, 0x03, 0xda, 0x75, 0x0e, 0xe5, 0x5f, 0x63, 0x08, 0xd2, 0xf8, 0x5e, 0x05, - 0xe6, 0xcb, 0xd7, 0xce, 0x47, 0xd5, 0xdd, 0x3b, 0xd0, 0x19, 0xb6, 0x96, 0x9c, 0x9a, 0xd7, 0x33, - 0x74, 0xa7, 0x55, 0xc6, 0xa3, 0xea, 0xee, 0x33, 0x09, 0xba, 0xa5, 0xc5, 0xd6, 0xf8, 0x75, 0xea, - 0x9f, 0xb4, 0x8e, 0x7a, 0x44, 0xfd, 0xa3, 0x5f, 0x82, 0x36, 0x0e, 0x53, 0x7a, 0x73, 0x83, 0x65, - 0x79, 0x81, 0x9f, 0x65, 0x0a, 0xa9, 0xf0, 0x38, 0x35, 0xcc, 0xfe, 0x41, 0x4b, 0x62, 0x92, 0x56, - 0xa7, 0x9f, 0xa8, 0x98, 0x64, 0x48, 0x93, 0xca, 0x2a, 0x09, 0x69, 0x69, 0xd5, 0xfc, 0x7f, 0xa4, - 0x1d, 0x8f, 0xb4, 0xd4, 0x97, 0x52, 0x89, 0x69, 0xbc, 0x05, 0x8f, 0x0f, 0xdd, 0x38, 0x8c, 0x74, - 0xaa, 0x54, 0xa1, 0x55, 0x94, 0x0a, 0xcd, 0xf8, 0x87, 0x06, 0x4f, 0x8c, 0xa8, 0x40, 0x73, 0xe1, - 0xd0, 0x4e, 0x12, 0x8e, 0x97, 0x60, 0x9e, 0x7a, 0x2b, 0xd4, 0xf3, 0x48, 0x2f, 0x72, 0xbc, 0x7e, - 0xa1, 0xe2, 0x1c, 0xf2, 0x35, 0x9b, 0x57, 0xd5, 0xf2, 0x79, 0x55, 0x1b, 0x36, 0xaf, 0xea, 0xea, - 0xbc, 0xfa, 0x3a, 0x4c, 0xaf, 0x12, 0x77, 0x33, 0xec, 0x27, 0x4f, 0xa9, 0x4f, 0xf5, 0xf0, 0x20, - 0xff, 0xe0, 0xb4, 0x56, 0x7c, 0x70, 0xba, 0x0c, 0x33, 0xb2, 0x01, 0x27, 0x79, 0x2a, 0xbc, 0x7c, - 0xfe, 0xdd, 0x85, 0x25, 0xf1, 0xef, 0x04, 0x5e, 0x29, 0x78, 0x7f, 0xa7, 0xc1, 0x7f, 0x80, 0xfc, - 0xfc, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x5c, 0xf5, 0x03, 0x91, 0xa7, 0x40, 0x00, 0x00, +var fileDescriptor_ws_28f8f8e2747ce3c8 = []byte{ + // 3613 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcb, 0x6f, 0x24, 0x57, + 0xd5, 0xff, 0xaa, 0xfa, 0x61, 0xf7, 0x69, 0x3f, 0xda, 0x35, 0x13, 0xa7, 0xe3, 0x4c, 0xe6, 0x33, + 0x95, 0x51, 0x12, 0x86, 0xe0, 0x41, 0x13, 0x12, 0x41, 0x1e, 0x83, 0xc6, 0x76, 0xc6, 0x33, 0xc9, + 0xf8, 0x91, 0xea, 0x99, 0x04, 0x25, 0x91, 0x26, 0xe5, 0xae, 0xeb, 0x76, 0xc5, 0xd5, 0x75, 0xcb, + 0xf5, 0xf0, 0x8c, 0xd9, 0x20, 0x81, 0x84, 0x10, 0x1b, 0x36, 0x20, 0x24, 0x96, 0x6c, 0x10, 0x08, + 0x45, 0x08, 0x01, 0x62, 0x81, 0x10, 0x42, 0xec, 0xd8, 0xb0, 0x60, 0xc7, 0x02, 0xc4, 0x9a, 0x7f, + 0x00, 0x81, 0x14, 0x74, 0xef, 0xb9, 0x55, 0x75, 0x6f, 0x55, 0xb5, 0xdd, 0x63, 0x59, 0x99, 0x89, + 0x86, 0x5d, 0x9f, 0x53, 0xf7, 0x9c, 0x7b, 0xee, 0x39, 0xbf, 0x7b, 0xee, 0xb9, 0x8f, 0x86, 0xd9, + 0xc8, 0xd9, 0xbb, 0x73, 0x37, 0xba, 0x74, 0x37, 0x5a, 0x0a, 0x42, 0x1a, 0x53, 0x63, 0x2e, 0x22, + 0xe1, 0x01, 0x09, 0xef, 0xd8, 0x81, 0x7b, 0x27, 0xb0, 0x43, 0x7b, 0x18, 0x2d, 0x3c, 0xbb, 0x19, + 0x10, 0xff, 0xce, 0x8d, 0xf5, 0x4b, 0xc1, 0xde, 0xe0, 0x12, 0x6f, 0x75, 0x29, 0x95, 0x0a, 0xed, + 0x20, 0x20, 0xa1, 0x90, 0x35, 0xff, 0x56, 0x87, 0xd6, 0x5a, 0x48, 0x93, 0xe0, 0x86, 0xbf, 0x43, + 0x8d, 0x2e, 0x4c, 0x0c, 0x38, 0xb1, 0xda, 0xd5, 0x16, 0xb5, 0xe7, 0x5a, 0x56, 0x4a, 0x1a, 0xe7, + 0xa0, 0xc5, 0x7f, 0x6e, 0xd8, 0x43, 0xd2, 0xd5, 0xf9, 0xb7, 0x9c, 0x61, 0x98, 0x30, 0xe5, 0xd3, + 0xd8, 0xdd, 0x71, 0xfb, 0x76, 0xec, 0x52, 0xbf, 0x5b, 0xe3, 0x0d, 0x14, 0x1e, 0x6b, 0xe3, 0xfa, + 0x71, 0x48, 0x9d, 0xa4, 0xcf, 0xdb, 0xd4, 0xb1, 0x8d, 0xcc, 0x63, 0xfd, 0xef, 0xd8, 0x7d, 0x72, + 0xdb, 0xba, 0xd9, 0x6d, 0x60, 0xff, 0x82, 0x34, 0x16, 0xa1, 0x4d, 0xef, 0xfa, 0x24, 0xbc, 0x1d, + 0x91, 0xf0, 0xc6, 0x6a, 0xb7, 0xc9, 0xbf, 0xca, 0x2c, 0xe3, 0x3c, 0x40, 0x3f, 0x24, 0x76, 0x4c, + 0x6e, 0xb9, 0x43, 0xd2, 0x9d, 0x58, 0xd4, 0x9e, 0x9b, 0xb6, 0x24, 0x0e, 0xd3, 0x30, 0x24, 0xc3, + 0x6d, 0x12, 0xae, 0xd0, 0xc4, 0x8f, 0xbb, 0x93, 0xbc, 0x81, 0xcc, 0x32, 0x66, 0x40, 0x27, 0xf7, + 0xba, 0x2d, 0xae, 0x5a, 0x27, 0xf7, 0x8c, 0x79, 0x68, 0x46, 0xb1, 0x1d, 0x27, 0x51, 0x17, 0x16, + 0xb5, 0xe7, 0x1a, 0x96, 0xa0, 0x8c, 0x0b, 0x30, 0xcd, 0xf5, 0xd2, 0xd4, 0x9a, 0x36, 0x17, 0x51, + 0x99, 0x99, 0xc7, 0x6e, 0x1d, 0x06, 0xa4, 0x3b, 0xc5, 0x15, 0xe4, 0x0c, 0xe3, 0x22, 0x74, 0x7c, + 0x42, 0x9c, 0xb7, 0x49, 0x98, 0x7b, 0x6d, 0x9a, 0x37, 0x2a, 0xf1, 0x8d, 0x67, 0x60, 0xc6, 0xa3, + 0x74, 0x6f, 0x9d, 0x9b, 0xca, 0xe2, 0xd4, 0x9d, 0xe1, 0x2d, 0x0b, 0x5c, 0xe3, 0x79, 0x98, 0xb3, + 0x83, 0xc0, 0x3b, 0x44, 0xd6, 0xb5, 0xd0, 0x25, 0xbe, 0xd3, 0x9d, 0xe5, 0x4d, 0xcb, 0x1f, 0x8c, + 0x97, 0x60, 0x5e, 0x8e, 0xcf, 0xed, 0xc0, 0x49, 0x7d, 0xd7, 0xe1, 0xae, 0x19, 0xf1, 0xd5, 0x58, + 0x02, 0x43, 0xf9, 0x82, 0x2e, 0x98, 0xe3, 0x2e, 0xa8, 0xf8, 0x62, 0x7e, 0xaf, 0x06, 0xb3, 0x19, + 0xc2, 0xae, 0xd1, 0xb0, 0x47, 0xe2, 0x87, 0x18, 0x67, 0x88, 0x81, 0x66, 0x86, 0x81, 0xb5, 0x8a, + 0x38, 0x31, 0x6c, 0xb5, 0x2f, 0x3f, 0xb9, 0x34, 0xa0, 0x74, 0xe0, 0x11, 0x9c, 0x48, 0xdb, 0xc9, + 0xce, 0xd2, 0x0d, 0x3f, 0x7e, 0xe1, 0xf2, 0xdb, 0xb6, 0x97, 0x90, 0x8a, 0x20, 0xae, 0x94, 0x82, + 0x38, 0x79, 0xbc, 0x9a, 0x62, 0x84, 0x6f, 0x54, 0x45, 0xb8, 0x75, 0xbc, 0x9e, 0xb2, 0x94, 0xf9, + 0xb1, 0x0e, 0x67, 0x78, 0x58, 0x04, 0x37, 0xf1, 0xbc, 0x63, 0x52, 0xc0, 0x3c, 0x34, 0x13, 0x0c, + 0x36, 0xc6, 0x45, 0x50, 0x2c, 0x64, 0x21, 0xf5, 0xc8, 0x4d, 0x72, 0x40, 0x3c, 0x1e, 0x91, 0x86, + 0x95, 0x33, 0x8c, 0x05, 0x98, 0xfc, 0x90, 0xba, 0x3e, 0x07, 0x56, 0x9d, 0x7f, 0xcc, 0x68, 0xf6, + 0xcd, 0x77, 0xfb, 0x7b, 0x3e, 0x8b, 0x35, 0xc6, 0x21, 0xa3, 0xe5, 0x10, 0x35, 0xd5, 0x10, 0x3d, + 0x03, 0x33, 0x76, 0x10, 0xac, 0xdb, 0xfe, 0x80, 0x84, 0xd8, 0xe9, 0x04, 0x4e, 0x07, 0x95, 0xcb, + 0x12, 0x02, 0xeb, 0xa9, 0x47, 0x93, 0xb0, 0x4f, 0xb8, 0xb7, 0x1b, 0x96, 0xc4, 0x61, 0x7a, 0x68, + 0x40, 0x42, 0x69, 0x1e, 0xe3, 0xd4, 0x2f, 0x70, 0x05, 0x24, 0x20, 0x83, 0x04, 0x4b, 0x24, 0x49, + 0x4c, 0x5e, 0xf7, 0x1d, 0x3e, 0xa8, 0xb6, 0x48, 0x24, 0x39, 0x8b, 0x25, 0x08, 0xd7, 0x3f, 0x70, + 0xe3, 0x2c, 0x5d, 0x4d, 0x61, 0x82, 0x50, 0x98, 0xe6, 0xb7, 0x34, 0x98, 0xd9, 0x4a, 0xb6, 0x3d, + 0xb7, 0xcf, 0x19, 0xcc, 0xf9, 0xb9, 0x8b, 0x35, 0xc5, 0xc5, 0xb2, 0xa3, 0xf4, 0xd1, 0x8e, 0xaa, + 0xa9, 0x8e, 0x9a, 0x87, 0xe6, 0x80, 0xf8, 0x0e, 0x09, 0x85, 0xe3, 0x05, 0x25, 0x06, 0xd4, 0x48, + 0x07, 0x64, 0xfe, 0x41, 0x87, 0xc9, 0x4f, 0xd8, 0x84, 0x45, 0x68, 0x07, 0xbb, 0xd4, 0x27, 0x1b, + 0x09, 0x03, 0x9f, 0xb0, 0x45, 0x66, 0x19, 0x67, 0xa1, 0xb1, 0xed, 0x86, 0xf1, 0x2e, 0x8f, 0xfe, + 0xb4, 0x85, 0x04, 0xe3, 0x92, 0xa1, 0xed, 0x62, 0xc8, 0x5b, 0x16, 0x12, 0x62, 0x40, 0x93, 0x59, + 0x84, 0xd4, 0xa5, 0xa0, 0x55, 0x5a, 0x0a, 0xca, 0x08, 0x82, 0x4a, 0x04, 0x5d, 0x84, 0xce, 0xc0, + 0xa3, 0xdb, 0xb6, 0x67, 0x91, 0xfe, 0xc1, 0x7a, 0x34, 0xd8, 0x0c, 0x62, 0x1e, 0xee, 0x86, 0x55, + 0xe2, 0x9b, 0xff, 0xd2, 0x00, 0x70, 0x6a, 0x71, 0x37, 0x16, 0xd6, 0x2b, 0xad, 0xbc, 0x5e, 0xcd, + 0x43, 0x33, 0x24, 0x43, 0x3b, 0xdc, 0x4b, 0xa7, 0x13, 0x52, 0x05, 0xe3, 0x6b, 0x25, 0xe3, 0x5f, + 0x01, 0xd8, 0xe1, 0xfd, 0x30, 0x3d, 0xdc, 0xad, 0x6c, 0xf2, 0x97, 0x4a, 0x80, 0xa5, 0x34, 0xa2, + 0x96, 0xd4, 0x9c, 0xcd, 0x55, 0xdb, 0x71, 0xc4, 0x94, 0x68, 0xe0, 0x5c, 0xcd, 0x18, 0x15, 0x33, + 0xa2, 0x79, 0xc4, 0x8c, 0x98, 0xc8, 0x00, 0xf4, 0x4f, 0x0d, 0x5a, 0xcb, 0x9e, 0xdd, 0xdf, 0x1b, + 0x73, 0xe8, 0xea, 0x10, 0xf5, 0xd2, 0x10, 0xd7, 0x60, 0x7a, 0x9b, 0xa9, 0x4b, 0x87, 0xc0, 0xbd, + 0xd0, 0xbe, 0xfc, 0x99, 0x8a, 0x51, 0xaa, 0x13, 0xc8, 0x52, 0xe5, 0xd4, 0xe1, 0xd6, 0x8f, 0x1f, + 0x6e, 0xe3, 0x88, 0xe1, 0x66, 0x6b, 0x82, 0xf9, 0x83, 0x1a, 0x4c, 0xf1, 0xd4, 0x69, 0x91, 0xfd, + 0x84, 0x44, 0xb1, 0xf1, 0x1a, 0x4c, 0x26, 0xa9, 0xa9, 0xda, 0xb8, 0xa6, 0x66, 0x22, 0xc6, 0xcb, + 0x62, 0xcd, 0xe3, 0xf2, 0x3a, 0x97, 0x3f, 0x57, 0x21, 0x9f, 0x2d, 0xa2, 0x56, 0xde, 0x9c, 0xad, + 0x76, 0xbb, 0xb6, 0xef, 0x78, 0xc4, 0x22, 0x51, 0xe2, 0xc5, 0x22, 0xff, 0x2a, 0x3c, 0x44, 0xda, + 0xfe, 0x7a, 0x34, 0x10, 0x6b, 0xa1, 0xa0, 0x98, 0x77, 0xb0, 0x1d, 0xfb, 0x84, 0x43, 0xcf, 0x19, + 0x6c, 0x52, 0x87, 0x64, 0x9f, 0x47, 0x08, 0xa7, 0x60, 0x4a, 0xe6, 0x7d, 0x0a, 0xaf, 0x21, 0x10, + 0x14, 0x1e, 0x0b, 0x31, 0xd2, 0x5c, 0x01, 0x16, 0x5b, 0x12, 0xa7, 0x54, 0x6b, 0xa9, 0xc9, 0x1a, + 0x4a, 0xc9, 0xba, 0x94, 0x52, 0xdb, 0x55, 0x29, 0xf5, 0xaf, 0x35, 0x98, 0xc6, 0x49, 0x98, 0x86, + 0xe6, 0x3c, 0x9b, 0x2d, 0x74, 0xa8, 0x60, 0x51, 0xe2, 0xb0, 0xb1, 0x30, 0x6a, 0x43, 0x4d, 0x6d, + 0x0a, 0x8f, 0x01, 0x9a, 0xd1, 0xd7, 0x94, 0x14, 0x27, 0xb3, 0xd2, 0x5e, 0xd6, 0xe4, 0x54, 0x27, + 0x71, 0x58, 0xf2, 0x8c, 0xa9, 0x82, 0xb1, 0x8c, 0x66, 0xb2, 0x31, 0xcd, 0xfa, 0x47, 0x94, 0x49, + 0x1c, 0x16, 0xa5, 0x98, 0xa6, 0x7d, 0xa3, 0xab, 0x73, 0x06, 0x6a, 0x16, 0xfd, 0xe2, 0x12, 0x97, + 0xd1, 0x25, 0x6c, 0xb4, 0x8e, 0xc4, 0x06, 0x28, 0xd8, 0x50, 0xa7, 0x68, 0xbb, 0x34, 0x45, 0x2f, + 0xc0, 0x34, 0xea, 0x29, 0x2c, 0x71, 0x0a, 0x53, 0x45, 0xd8, 0x74, 0x11, 0x61, 0x2a, 0x46, 0x66, + 0x46, 0x60, 0x64, 0x36, 0x9b, 0x77, 0xbf, 0xd0, 0x01, 0x56, 0x49, 0x60, 0x87, 0xf1, 0x90, 0xf8, + 0x31, 0x1b, 0x9e, 0x93, 0x51, 0x59, 0x70, 0x15, 0x9e, 0xbc, 0x32, 0xe9, 0xea, 0xca, 0x64, 0x40, + 0x9d, 0x3b, 0x1c, 0xa3, 0xc9, 0x7f, 0x33, 0x67, 0x06, 0x76, 0x88, 0xda, 0x70, 0xaa, 0x64, 0x34, + 0x5b, 0x79, 0x68, 0xe8, 0x88, 0xb5, 0xaa, 0x61, 0x21, 0xc1, 0x52, 0x48, 0xde, 0x1f, 0xaf, 0xf4, + 0x9b, 0xb8, 0x92, 0xa8, 0xdc, 0x63, 0x37, 0x27, 0x17, 0xa1, 0x13, 0x25, 0xdb, 0xf9, 0xe0, 0x36, + 0x92, 0xa1, 0x98, 0x34, 0x25, 0x3e, 0x73, 0x2a, 0xee, 0x5a, 0x58, 0x23, 0x5c, 0xdc, 0x72, 0x46, + 0xb1, 0x5a, 0x31, 0x7f, 0xa6, 0x43, 0x67, 0x33, 0x1c, 0xd8, 0xbe, 0xfb, 0xb5, 0xac, 0x2a, 0x3f, + 0xd1, 0x22, 0xbf, 0x08, 0x6d, 0xe2, 0x0f, 0x3c, 0x37, 0xda, 0xdd, 0xc8, 0xfd, 0x26, 0xb3, 0x64, + 0x67, 0xd7, 0x47, 0x95, 0x01, 0x0d, 0xa5, 0x0c, 0x98, 0x87, 0xe6, 0x90, 0x6e, 0xbb, 0x5e, 0x8a, + 0x7b, 0x41, 0x71, 0xcc, 0x13, 0x8f, 0xf0, 0x7a, 0x20, 0xc3, 0x7c, 0xca, 0xc8, 0x4b, 0x83, 0xc9, + 0xca, 0xd2, 0xa0, 0x25, 0x97, 0x06, 0xaa, 0xe3, 0xa1, 0xe4, 0x78, 0x74, 0x57, 0x3b, 0x73, 0xd7, + 0xef, 0x35, 0xe8, 0xe4, 0xee, 0xc6, 0xda, 0x78, 0xa4, 0xbb, 0x8a, 0x08, 0xd4, 0x2b, 0x10, 0x98, + 0xe1, 0xa6, 0x26, 0xe3, 0x86, 0x21, 0x8d, 0x46, 0xae, 0xb4, 0x41, 0xc9, 0x68, 0xd6, 0x9b, 0x47, + 0x6c, 0xc9, 0x59, 0x48, 0x49, 0xdb, 0xd1, 0xa6, 0xb2, 0x1d, 0x2d, 0xae, 0xc6, 0xbf, 0xd1, 0xe0, + 0x2c, 0x8b, 0x72, 0x69, 0x18, 0x9b, 0xd0, 0xa1, 0x05, 0x24, 0x88, 0xe5, 0xea, 0xe9, 0x8a, 0xe5, + 0xa6, 0x08, 0x1a, 0xab, 0x24, 0xcc, 0x14, 0x3a, 0x85, 0x4e, 0xc4, 0xfa, 0x55, 0xa5, 0xb0, 0x68, + 0x8f, 0x55, 0x12, 0x36, 0x7f, 0xab, 0x41, 0x07, 0x17, 0x48, 0x69, 0x9e, 0x9f, 0xba, 0xd9, 0xef, + 0xc0, 0xd9, 0x62, 0xcf, 0x37, 0xdd, 0x28, 0xee, 0xea, 0x8b, 0xb5, 0x71, 0x4d, 0xaf, 0x54, 0xc0, + 0xe6, 0xda, 0xe3, 0x5b, 0x89, 0xe7, 0xad, 0x93, 0x28, 0xb2, 0x07, 0x64, 0xf9, 0xb0, 0x47, 0xf6, + 0xd9, 0x07, 0x8b, 0xec, 0x8f, 0xc4, 0x10, 0xab, 0x96, 0x78, 0xb9, 0xe1, 0x52, 0x3f, 0x83, 0x90, + 0xcc, 0x62, 0xd3, 0x2a, 0x42, 0x3d, 0xdd, 0xda, 0x62, 0x8d, 0x2d, 0xc4, 0x82, 0x34, 0x3e, 0x80, + 0x29, 0x5e, 0x09, 0x88, 0x6e, 0xba, 0x75, 0x3e, 0x80, 0x57, 0x2b, 0x6b, 0x8f, 0x4a, 0xab, 0xb0, + 0xa6, 0x10, 0xf4, 0xeb, 0x7e, 0x1c, 0x1e, 0x5a, 0x8a, 0xc6, 0x85, 0xf7, 0x60, 0xae, 0xd4, 0xc4, + 0xe8, 0x40, 0x6d, 0x8f, 0x1c, 0x8a, 0x71, 0xb0, 0x9f, 0xc6, 0x17, 0xa0, 0x71, 0xc0, 0x36, 0x9a, + 0x22, 0xfa, 0x0b, 0x15, 0x16, 0x08, 0x9b, 0x2d, 0x6c, 0xf8, 0xb2, 0xfe, 0x25, 0xcd, 0x7c, 0x3a, + 0x1b, 0x98, 0x3c, 0x46, 0x4d, 0x19, 0xa3, 0xf9, 0x26, 0xb4, 0xd7, 0xa3, 0xc1, 0xaa, 0x1d, 0xdb, + 0xbc, 0xe1, 0xab, 0xd0, 0x1e, 0xe6, 0x24, 0x6f, 0x5c, 0xdd, 0x9f, 0x10, 0xb2, 0xe4, 0xe6, 0xe6, + 0x9f, 0x75, 0xe8, 0x56, 0xbb, 0x22, 0x0a, 0x98, 0x0d, 0x24, 0x0c, 0x57, 0xa8, 0x43, 0xf8, 0xd0, + 0x1a, 0x56, 0x4a, 0xb2, 0xd8, 0x91, 0x30, 0x64, 0x6b, 0x98, 0x28, 0xd5, 0x91, 0x32, 0x96, 0xa0, + 0xee, 0xa5, 0x61, 0x39, 0xda, 0x0a, 0xde, 0xce, 0x18, 0x42, 0x87, 0x7b, 0x57, 0x1a, 0x90, 0x88, + 0xd9, 0xd5, 0xb1, 0x63, 0x16, 0x05, 0x18, 0x34, 0x49, 0x07, 0x06, 0xae, 0xa4, 0x7a, 0xa1, 0x0f, + 0x8f, 0x55, 0x36, 0xad, 0x08, 0xe0, 0x17, 0xd5, 0x00, 0x9e, 0x1f, 0x3d, 0x94, 0x62, 0x10, 0x03, + 0x30, 0xd6, 0x48, 0xbc, 0x6e, 0xdf, 0xbb, 0xea, 0x3b, 0xeb, 0xae, 0xdf, 0x23, 0xfb, 0x0c, 0xed, + 0x8b, 0xd0, 0x16, 0xc7, 0x06, 0x59, 0x98, 0x5a, 0x96, 0xcc, 0x1a, 0x79, 0x9a, 0x50, 0x98, 0x0f, + 0xb5, 0xd2, 0x7c, 0x30, 0xaf, 0xc0, 0x94, 0xdc, 0x1d, 0x5f, 0x44, 0xec, 0x7b, 0x3d, 0xb2, 0xcf, + 0x07, 0x34, 0x6d, 0x09, 0x8a, 0xf3, 0x79, 0x0b, 0xb1, 0xc3, 0x10, 0x94, 0xf9, 0x27, 0x1d, 0xce, + 0x94, 0x4c, 0x8e, 0x82, 0xfb, 0xd5, 0x23, 0xe3, 0xa5, 0x36, 0x0a, 0x2f, 0x75, 0x05, 0x2f, 0x7b, + 0x30, 0x87, 0x41, 0x92, 0xba, 0xee, 0x36, 0x38, 0x00, 0x5e, 0xab, 0x2a, 0xf8, 0xcb, 0x46, 0x8a, + 0xd8, 0x4b, 0x5c, 0x0c, 0x7e, 0x59, 0xef, 0x02, 0x81, 0xf9, 0xea, 0xc6, 0x15, 0xe1, 0x7f, 0x51, + 0x0d, 0xff, 0xff, 0x57, 0x85, 0x5f, 0xb6, 0x44, 0x8a, 0xff, 0x3e, 0xcc, 0xb2, 0xa4, 0xda, 0x23, + 0xbe, 0xb3, 0x1e, 0x0d, 0xb8, 0x23, 0x17, 0xa1, 0x8d, 0xf2, 0xeb, 0xd1, 0x20, 0xdf, 0x00, 0x4a, + 0x2c, 0xd6, 0xa2, 0xef, 0xb9, 0x2c, 0x79, 0xf2, 0x16, 0x22, 0xe9, 0x49, 0x2c, 0xb6, 0x40, 0x46, + 0x44, 0x9c, 0xb0, 0x30, 0xef, 0xd6, 0xac, 0x8c, 0x36, 0x7f, 0xdd, 0x84, 0x09, 0x81, 0x46, 0xbe, + 0x28, 0xb2, 0x3d, 0x77, 0x96, 0x56, 0x91, 0xc2, 0xba, 0xb6, 0x7f, 0x90, 0xc3, 0x0b, 0x29, 0xf9, + 0x78, 0xab, 0xa6, 0x1e, 0x6f, 0x15, 0x6c, 0xaa, 0x97, 0x6d, 0x2a, 0x8c, 0xab, 0x51, 0x1e, 0x17, + 0x2b, 0xe3, 0x78, 0x65, 0xb3, 0xe5, 0xd9, 0xf1, 0x0e, 0x0d, 0x87, 0x62, 0x0b, 0xdd, 0xb0, 0x4a, + 0x7c, 0x56, 0x3a, 0x22, 0x2f, 0xab, 0xfd, 0x71, 0x09, 0x2f, 0x70, 0x59, 0xa5, 0x8d, 0x9c, 0x74, + 0x0f, 0x80, 0xe7, 0x1c, 0x2a, 0x13, 0x6d, 0x8b, 0x22, 0x97, 0xfa, 0xbc, 0x0a, 0xc5, 0x52, 0x5f, + 0x66, 0xb1, 0x91, 0x0f, 0xa3, 0xc1, 0xb5, 0x90, 0x0e, 0xc5, 0xf6, 0x2a, 0x25, 0xf9, 0xc8, 0xa9, + 0x1f, 0xa7, 0x15, 0x2c, 0x9e, 0x70, 0xc8, 0x2c, 0x26, 0x2b, 0x48, 0x5e, 0xe7, 0x4f, 0x59, 0x29, + 0xc9, 0xb0, 0x14, 0x91, 0x7d, 0x51, 0xbc, 0xb3, 0x9f, 0x4a, 0xe4, 0x66, 0xd5, 0xc8, 0x15, 0xaa, + 0xb1, 0x0e, 0xff, 0x2a, 0x57, 0x63, 0x79, 0x89, 0x33, 0xa7, 0x94, 0x38, 0x57, 0x61, 0x82, 0x06, + 0x6c, 0xfa, 0x47, 0x5d, 0x83, 0x4f, 0x97, 0x67, 0x47, 0x27, 0xa8, 0xa5, 0x4d, 0x6c, 0x89, 0x13, + 0x23, 0x95, 0x33, 0x6e, 0xc2, 0x2c, 0xdd, 0xd9, 0xf1, 0x5c, 0x9f, 0x6c, 0x25, 0xd1, 0x2e, 0xdf, + 0x6a, 0x9f, 0xe1, 0x60, 0x37, 0xab, 0x8a, 0x08, 0xb5, 0xa5, 0x55, 0x14, 0x65, 0x95, 0x9f, 0x1d, + 0xe3, 0x26, 0x87, 0x27, 0xb8, 0xb3, 0x3c, 0xc1, 0x29, 0x3c, 0x7e, 0x4e, 0x28, 0x25, 0xfa, 0xc7, + 0xb8, 0xe3, 0x64, 0x16, 0x6a, 0x89, 0xed, 0xfe, 0x2e, 0xe1, 0x87, 0x46, 0xdd, 0x79, 0xac, 0x1f, + 0x65, 0x9e, 0xa8, 0xee, 0x1e, 0x4f, 0xab, 0xbb, 0x85, 0x97, 0x61, 0x4a, 0x1e, 0x60, 0xc5, 0x64, + 0x3e, 0x2b, 0x4f, 0xe6, 0x49, 0x79, 0xae, 0x7e, 0x5f, 0x83, 0xd9, 0xc2, 0xd0, 0x58, 0xeb, 0xd8, + 0x8d, 0x3d, 0x22, 0x34, 0x20, 0xc1, 0x76, 0x47, 0x0e, 0x89, 0xfa, 0x62, 0xf2, 0xf0, 0xdf, 0xc2, + 0x92, 0x5a, 0xb6, 0x65, 0x37, 0x61, 0xca, 0xdd, 0xec, 0x31, 0x45, 0x3d, 0x9a, 0xf8, 0x4e, 0x76, + 0xd0, 0x2e, 0xf1, 0xf8, 0xb6, 0x7d, 0xb3, 0xb7, 0x6c, 0x3b, 0x03, 0x82, 0xd7, 0x2e, 0x0d, 0x6e, + 0x93, 0xca, 0x34, 0x1d, 0x98, 0xbc, 0xe5, 0x06, 0xd1, 0x0a, 0x1d, 0x0e, 0x19, 0x04, 0x1c, 0x12, + 0xb3, 0x3a, 0x5e, 0xe3, 0x0e, 0x13, 0x14, 0xf3, 0xa6, 0x43, 0x76, 0xec, 0xc4, 0x8b, 0x59, 0xd3, + 0x34, 0x65, 0x48, 0x2c, 0x7e, 0x84, 0x10, 0x51, 0x7f, 0x15, 0xa5, 0xd1, 0x4e, 0x89, 0x63, 0xfe, + 0x51, 0x87, 0x0e, 0xcf, 0x88, 0x2b, 0x1c, 0x70, 0x0e, 0x17, 0xba, 0x0c, 0x0d, 0x9e, 0x00, 0x44, + 0x45, 0x79, 0xf4, 0xb9, 0x0b, 0x36, 0x35, 0xae, 0x40, 0x93, 0x06, 0xbc, 0x0c, 0xc5, 0x74, 0xf9, + 0xcc, 0x28, 0x21, 0xf5, 0x68, 0xdd, 0x12, 0x52, 0xc6, 0x35, 0x80, 0x61, 0x5e, 0x75, 0x62, 0xf1, + 0x30, 0xae, 0x0e, 0x49, 0x92, 0x39, 0x37, 0x5b, 0x17, 0xb3, 0xf3, 0xf5, 0x9a, 0xa5, 0x32, 0x8d, + 0x0d, 0x98, 0xe1, 0x66, 0x6f, 0xa6, 0x07, 0x70, 0x3c, 0x06, 0xe3, 0xf7, 0x58, 0x90, 0x36, 0x7f, + 0xa4, 0x09, 0x37, 0xb2, 0xaf, 0x3d, 0x82, 0xbe, 0xcf, 0x5d, 0xa2, 0x9d, 0xc8, 0x25, 0x0b, 0x30, + 0x39, 0x4c, 0xa4, 0xf3, 0xc0, 0x9a, 0x95, 0xd1, 0x79, 0x88, 0x6a, 0x63, 0x87, 0xc8, 0xfc, 0xb1, + 0x06, 0xdd, 0x37, 0xa8, 0xeb, 0xf3, 0x0f, 0x57, 0x83, 0xc0, 0x13, 0xd7, 0x30, 0x27, 0x8e, 0xf9, + 0x57, 0xa0, 0x65, 0xa3, 0x1a, 0x3f, 0x16, 0x61, 0x1f, 0xe3, 0x8c, 0x2f, 0x97, 0x91, 0x0e, 0x5a, + 0x6a, 0xf2, 0x41, 0x8b, 0xf9, 0x91, 0x06, 0x33, 0xe8, 0x94, 0xb7, 0x12, 0x37, 0x3e, 0xb1, 0x7d, + 0xcb, 0x30, 0xb9, 0x9f, 0xb8, 0xf1, 0x09, 0x50, 0x99, 0xc9, 0x95, 0xf1, 0x54, 0xab, 0xc0, 0x93, + 0xf9, 0x73, 0x0d, 0xce, 0x15, 0xdd, 0x7a, 0xb5, 0xdf, 0x27, 0xc1, 0x83, 0x9c, 0x52, 0xca, 0x41, + 0x53, 0xbd, 0x70, 0xd0, 0x54, 0x69, 0xb2, 0x45, 0x3e, 0x24, 0xfd, 0x87, 0xd7, 0xe4, 0x6f, 0xea, + 0xf0, 0xc4, 0x5a, 0x36, 0xf1, 0x6e, 0x85, 0xb6, 0x1f, 0xed, 0x90, 0x30, 0x7c, 0x80, 0xf6, 0xde, + 0x84, 0x69, 0x9f, 0xdc, 0xcd, 0x6d, 0x12, 0xd3, 0x71, 0x5c, 0x35, 0xaa, 0xf0, 0x78, 0xb9, 0xcb, + 0xfc, 0x8f, 0x06, 0x1d, 0xd4, 0xf3, 0xa6, 0xdb, 0xdf, 0x7b, 0x80, 0x83, 0xdf, 0x80, 0x99, 0x3d, + 0x6e, 0x01, 0xa3, 0x4e, 0x90, 0xb6, 0x0b, 0xd2, 0x63, 0x0e, 0xff, 0x63, 0x0d, 0xe6, 0xd2, 0xdb, + 0xdf, 0x03, 0xf7, 0x41, 0x82, 0x75, 0x0b, 0x66, 0xf1, 0xa4, 0xfd, 0xa4, 0x0e, 0x28, 0x8a, 0x8f, + 0xe9, 0x81, 0x5f, 0x69, 0x30, 0x8b, 0x9a, 0x5e, 0xf7, 0x63, 0x12, 0x9e, 0x78, 0xfc, 0xd7, 0xa1, + 0x4d, 0xfc, 0x38, 0xb4, 0xfd, 0x93, 0x64, 0x48, 0x59, 0x74, 0xcc, 0x24, 0xf9, 0x91, 0x06, 0x06, + 0x57, 0xb5, 0xea, 0x46, 0x43, 0x37, 0x8a, 0x1e, 0x60, 0xe8, 0xc6, 0x33, 0xf8, 0x87, 0x3a, 0x9c, + 0x95, 0xb4, 0xac, 0x27, 0xf1, 0xc3, 0x6e, 0xb2, 0xb1, 0x0a, 0x2d, 0x56, 0x23, 0xc8, 0xf7, 0xa0, + 0xe3, 0x76, 0x94, 0x0b, 0xb2, 0x2a, 0x96, 0x13, 0x3d, 0xd2, 0xa7, 0xbe, 0x13, 0xf1, 0xe2, 0x68, + 0xda, 0x52, 0x78, 0x2c, 0x0d, 0x2d, 0x48, 0x6a, 0x56, 0x6c, 0xbf, 0x4f, 0xbc, 0x47, 0xc6, 0x45, + 0xe6, 0x4f, 0x35, 0x98, 0xc1, 0x26, 0x0f, 0xff, 0x90, 0xd9, 0x5a, 0x8f, 0x40, 0xfe, 0xd4, 0x44, + 0x89, 0xc1, 0x6b, 0x5e, 0xd2, 0x22, 0xd7, 0xd5, 0x0f, 0x2f, 0xb4, 0xae, 0x43, 0xbb, 0xbf, 0x6b, + 0xfb, 0x83, 0x13, 0x81, 0x4b, 0x16, 0x35, 0x63, 0x78, 0x5c, 0x3e, 0xb4, 0x5f, 0xc1, 0x4f, 0x7c, + 0xf8, 0x2f, 0x14, 0x86, 0x72, 0xe4, 0x3b, 0x87, 0xfb, 0x73, 0xfa, 0x1e, 0xcc, 0xe1, 0x4d, 0xb1, + 0x54, 0x13, 0x1a, 0x5d, 0x98, 0xb0, 0x1d, 0x3c, 0xba, 0xd0, 0xb8, 0x50, 0x4a, 0xaa, 0x2f, 0x09, + 0xc4, 0xbb, 0xb4, 0xfc, 0x25, 0xc1, 0x79, 0x00, 0xdb, 0x71, 0xde, 0xa1, 0xa1, 0xe3, 0xfa, 0x69, + 0x81, 0x2f, 0x71, 0xcc, 0x37, 0x60, 0xea, 0x5a, 0x48, 0x87, 0xb7, 0xa4, 0x3b, 0xdf, 0x23, 0x6f, + 0xa5, 0xe5, 0xfb, 0x62, 0x5d, 0xbd, 0x2f, 0x36, 0xdf, 0x87, 0xc7, 0x4a, 0x86, 0x73, 0x67, 0xad, + 0xe0, 0x55, 0x76, 0xda, 0x89, 0x80, 0x4c, 0xd5, 0x59, 0x9e, 0x6c, 0x8b, 0xa5, 0x08, 0x99, 0xdf, + 0xd0, 0xe0, 0xa9, 0x92, 0xfa, 0xab, 0x41, 0x10, 0xd2, 0x03, 0x11, 0x93, 0xd3, 0xe8, 0x46, 0x2d, + 0x7e, 0xf5, 0x62, 0xf1, 0x5b, 0x69, 0x84, 0x52, 0xb0, 0x7f, 0x02, 0x46, 0xfc, 0x44, 0x83, 0x59, + 0x61, 0x84, 0xe3, 0x88, 0x6e, 0x5f, 0x84, 0x26, 0x3e, 0xa6, 0x11, 0x1d, 0x3e, 0x55, 0xd9, 0x61, + 0xfa, 0x08, 0xc8, 0x12, 0x8d, 0xcb, 0x88, 0xd4, 0xab, 0x66, 0xd4, 0x97, 0x33, 0xb0, 0x8f, 0xfd, + 0xdc, 0x45, 0x08, 0x98, 0x5f, 0x4d, 0xc1, 0xbc, 0x4a, 0x3c, 0x72, 0x9a, 0x3e, 0x32, 0x6f, 0xc3, + 0x0c, 0x7f, 0xd9, 0x93, 0xfb, 0xe0, 0x54, 0xd4, 0xbe, 0x03, 0x1d, 0xae, 0xf6, 0xd4, 0xed, 0xcd, + 0x66, 0x07, 0xf3, 0x8f, 0x9c, 0x4a, 0x4e, 0x45, 0xfb, 0xe7, 0xe1, 0x4c, 0xea, 0x7b, 0x7c, 0x11, + 0x8b, 0xba, 0x47, 0xdc, 0xed, 0x99, 0x1f, 0xc0, 0xfc, 0x0a, 0xf5, 0x0f, 0x48, 0x18, 0x29, 0x8f, + 0x68, 0x51, 0x42, 0x99, 0xfc, 0x82, 0x32, 0x96, 0xc0, 0xe8, 0x4b, 0x12, 0xe2, 0x74, 0x51, 0xe7, + 0xa7, 0x8b, 0x15, 0x5f, 0xcc, 0x0f, 0x61, 0x41, 0xee, 0xa1, 0x47, 0xe2, 0xad, 0xd0, 0x3d, 0x90, + 0x7a, 0x11, 0x87, 0xe0, 0x9a, 0x72, 0x08, 0x9e, 0x1f, 0x9a, 0xeb, 0xca, 0xa1, 0xf9, 0x39, 0x68, + 0xb9, 0x91, 0x50, 0xc0, 0x41, 0x38, 0x69, 0xe5, 0x0c, 0xd3, 0x86, 0x39, 0x0c, 0x97, 0xb8, 0x94, + 0xe2, 0x5d, 0x2c, 0xc0, 0x24, 0x62, 0x30, 0xeb, 0x24, 0xa3, 0x47, 0x5e, 0xf1, 0x8c, 0xbc, 0xd0, + 0x34, 0x7b, 0x30, 0x27, 0x1e, 0xee, 0x6c, 0xd9, 0x03, 0xd7, 0xc7, 0xa4, 0x7c, 0x1e, 0x20, 0xb0, + 0x07, 0xe9, 0x53, 0x41, 0xbc, 0x9a, 0x93, 0x38, 0xec, 0x7b, 0xb4, 0x4b, 0xef, 0x8a, 0xef, 0x3a, + 0x7e, 0xcf, 0x39, 0xe6, 0xdb, 0x60, 0x58, 0x24, 0x0a, 0xa8, 0x1f, 0x11, 0x49, 0xeb, 0x22, 0xb4, + 0x57, 0x92, 0x30, 0x24, 0x3e, 0xeb, 0x2a, 0x7d, 0x0b, 0x27, 0xb3, 0x98, 0xde, 0x5e, 0xae, 0x17, + 0x8f, 0xf1, 0x25, 0x8e, 0xf9, 0xef, 0x1a, 0xb4, 0x7a, 0xee, 0xc0, 0xb7, 0x3d, 0x8b, 0xec, 0x1b, + 0xaf, 0x42, 0x13, 0xb7, 0x38, 0x02, 0x59, 0x55, 0xc7, 0xca, 0xd8, 0x1a, 0xf7, 0x72, 0x16, 0xd9, + 0xbf, 0xfe, 0x7f, 0x96, 0x90, 0x31, 0xde, 0x4a, 0x9f, 0x37, 0xdd, 0xc0, 0x23, 0x2b, 0xb1, 0xde, + 0x7d, 0xf6, 0x18, 0x25, 0xa2, 0x35, 0xea, 0x52, 0x35, 0x30, 0x83, 0xfa, 0xbc, 0x04, 0x12, 0xe9, + 0x64, 0xb4, 0x41, 0x58, 0x29, 0x09, 0x83, 0x50, 0x86, 0x49, 0xdb, 0xfc, 0x50, 0x47, 0xac, 0xec, + 0xa3, 0xa5, 0xf1, 0xec, 0x47, 0x48, 0xa3, 0x0c, 0x93, 0xde, 0x4d, 0xfc, 0xc1, 0xed, 0x40, 0x9c, + 0x35, 0x8e, 0x96, 0xbe, 0xce, 0x9b, 0x09, 0x69, 0x94, 0x61, 0xd2, 0x21, 0x4f, 0xf6, 0xdc, 0xe9, + 0x47, 0x49, 0xe3, 0x9a, 0x20, 0xa4, 0x51, 0xc6, 0x78, 0x17, 0x3a, 0x6b, 0x24, 0xb6, 0x28, 0x1d, + 0x2e, 0x1f, 0xae, 0x89, 0xab, 0x1e, 0x7c, 0xb1, 0xfd, 0xfc, 0x48, 0x3d, 0x45, 0x01, 0xd4, 0x58, + 0xd2, 0xb3, 0xdc, 0x82, 0x89, 0xc0, 0x3e, 0xf4, 0xa8, 0xed, 0x98, 0xdf, 0xa9, 0x03, 0xa4, 0x46, + 0x44, 0xbc, 0xe8, 0x52, 0xc2, 0x7f, 0xe1, 0xd8, 0xf0, 0x07, 0xde, 0xa1, 0x04, 0x80, 0x5e, 0x35, + 0x00, 0x3e, 0x37, 0x2e, 0x00, 0x50, 0x5b, 0x01, 0x02, 0x57, 0x0a, 0x10, 0xb8, 0x70, 0x2c, 0x04, + 0x84, 0x51, 0x02, 0x04, 0x57, 0x0a, 0x20, 0xb8, 0x70, 0x2c, 0x08, 0x84, 0xbc, 0x80, 0xc1, 0x95, + 0x02, 0x0c, 0x2e, 0x1c, 0x0b, 0x03, 0x21, 0x2f, 0x80, 0x70, 0xa5, 0x00, 0x84, 0x0b, 0xc7, 0x02, + 0x41, 0xc8, 0x0b, 0x28, 0xbc, 0x3f, 0x12, 0x0a, 0x4b, 0xf7, 0x01, 0x05, 0xd4, 0x79, 0x24, 0x18, + 0xfe, 0xa2, 0xc3, 0x0c, 0x0f, 0x08, 0xe6, 0x66, 0x7f, 0x87, 0x96, 0x1f, 0x2c, 0x6a, 0x15, 0x0f, + 0x16, 0x8d, 0xe7, 0x61, 0x0e, 0x19, 0x44, 0xba, 0x4c, 0xc2, 0x74, 0x5f, 0xfe, 0xc0, 0xaf, 0xcf, + 0x92, 0x28, 0xa6, 0xc3, 0x55, 0x3b, 0xb6, 0xd3, 0x32, 0x33, 0xe7, 0xc8, 0x97, 0x9b, 0xf5, 0xd2, + 0xdb, 0xfd, 0x90, 0xd2, 0x61, 0x76, 0x6b, 0x29, 0x28, 0x26, 0x11, 0xbb, 0x43, 0x42, 0x93, 0x58, + 0x24, 0xb8, 0x94, 0xc4, 0x57, 0x66, 0x8e, 0x6b, 0xf3, 0x2b, 0x41, 0xf1, 0x04, 0x2b, 0x63, 0xf0, + 0x9c, 0x9c, 0x5f, 0x71, 0x8a, 0xb7, 0xf5, 0x39, 0x67, 0x8c, 0xeb, 0x48, 0xfe, 0x37, 0x0d, 0x37, + 0x76, 0xe5, 0xa7, 0x59, 0x0d, 0x4b, 0xe1, 0x99, 0xff, 0xd0, 0xe0, 0xcc, 0x96, 0x1d, 0xc6, 0x6e, + 0xdf, 0x0d, 0x6c, 0x3f, 0x5e, 0x27, 0xb1, 0xcd, 0xc7, 0xa9, 0x3c, 0x98, 0xd5, 0xee, 0xef, 0xc1, + 0xec, 0x16, 0xcc, 0x0e, 0xd4, 0xbd, 0xd6, 0x7d, 0x6e, 0x93, 0x8a, 0xe2, 0xca, 0xeb, 0xdf, 0xda, + 0x7d, 0xbf, 0xfe, 0x35, 0xbf, 0xad, 0xc3, 0x6c, 0x61, 0x61, 0x38, 0x72, 0x55, 0xbd, 0x0a, 0xe0, + 0x66, 0x50, 0x3b, 0xe2, 0x2a, 0x42, 0xc5, 0xa3, 0x25, 0x09, 0x55, 0xdd, 0x85, 0xd6, 0x4e, 0x7e, + 0x17, 0x7a, 0x1d, 0xda, 0x41, 0x1e, 0xa4, 0x23, 0x76, 0x82, 0x15, 0xa1, 0xb4, 0x64, 0x51, 0xf3, + 0x3d, 0x98, 0x2b, 0xe5, 0x48, 0x7e, 0x41, 0x49, 0xf7, 0x88, 0x9f, 0x5d, 0x50, 0x32, 0x42, 0x02, + 0xb4, 0x5e, 0x04, 0xb4, 0xe7, 0x1e, 0xc8, 0x7f, 0x45, 0x10, 0xa4, 0xf9, 0x5d, 0x1d, 0xe6, 0xab, + 0xd7, 0xce, 0x47, 0xd5, 0xdd, 0xdb, 0xd0, 0x1d, 0xb5, 0x96, 0x9c, 0x9a, 0xd7, 0x73, 0x74, 0x67, + 0x55, 0xc6, 0xa3, 0xea, 0xee, 0x33, 0x29, 0xba, 0xa5, 0xc5, 0xd6, 0xfc, 0x65, 0xe6, 0x9f, 0xac, + 0x8e, 0x7a, 0x44, 0xfd, 0x63, 0x5c, 0x84, 0x0e, 0x0e, 0x53, 0x7a, 0x3c, 0x83, 0x65, 0x79, 0x89, + 0x9f, 0x67, 0x0a, 0xa9, 0xf0, 0x38, 0x35, 0xcc, 0xfe, 0x4e, 0x4b, 0x63, 0x92, 0x55, 0xa7, 0x9f, + 0xaa, 0x98, 0xe4, 0x48, 0x93, 0xca, 0x2a, 0x09, 0x69, 0x59, 0xd5, 0xfc, 0x3f, 0xa4, 0x1d, 0x8f, + 0xb4, 0xcc, 0x97, 0x52, 0x89, 0x69, 0xbe, 0x05, 0x4f, 0x8c, 0xdc, 0x38, 0x1c, 0xe9, 0x54, 0xa9, + 0x42, 0xd3, 0x95, 0x0a, 0xcd, 0xfc, 0xbb, 0x06, 0x4f, 0x1e, 0x51, 0x81, 0x16, 0xc2, 0xa1, 0x9d, + 0x24, 0x1c, 0x2f, 0xc1, 0x3c, 0xf5, 0x57, 0xa8, 0xef, 0x93, 0x7e, 0xec, 0xfa, 0x83, 0x52, 0xc5, + 0x39, 0xe2, 0x6b, 0x3e, 0xaf, 0x6a, 0xd5, 0xf3, 0xaa, 0x3e, 0x6a, 0x5e, 0x35, 0xd4, 0x79, 0xf5, + 0x75, 0x98, 0x5e, 0x25, 0xde, 0x7a, 0x34, 0x48, 0xdf, 0x44, 0x9f, 0xea, 0xe1, 0x41, 0xf1, 0xe5, + 0x68, 0xbd, 0xfc, 0x72, 0x74, 0x19, 0x66, 0x64, 0x03, 0x4e, 0xf2, 0xe6, 0x77, 0xf9, 0xdc, 0xbb, + 0x0b, 0x4b, 0xe2, 0xbf, 0xf4, 0xaf, 0x94, 0xbc, 0xbf, 0xdd, 0xe4, 0xff, 0xbe, 0x7d, 0xe1, 0xbf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xce, 0x8c, 0x10, 0x95, 0xa4, 0x3f, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 7bcce082e..5ade79c60 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -72,15 +72,9 @@ message UserInfo{ uint32 birth = 6; string email = 7; string ex = 8; - string createIp = 9; - uint32 createTime = 10; - string LastLoginIp =11; - uint32 LastLoginTime = 12; - int32 LoginTimes = 13; - int32 LoginLimit = 14; - int32 appMangerLevel = 15; - int32 globalRecvMsgOpt = 16; - string invitationCode = 17; + uint32 createTime = 9; + int32 appMangerLevel = 10; + int32 globalRecvMsgOpt = 11; } message FriendInfo{ diff --git a/pkg/proto/statistics/statistics.pb.go b/pkg/proto/statistics/statistics.pb.go deleted file mode 100644 index 5fd528d97..000000000 --- a/pkg/proto/statistics/statistics.pb.go +++ /dev/null @@ -1,1498 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.26.0 -// protoc v3.19.3 -// source: statistics/statistics.proto - -package statistics - -import ( - context "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) -) - -type StatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` - To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` -} - -func (x *StatisticsReq) Reset() { - *x = StatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatisticsReq) ProtoMessage() {} - -func (x *StatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_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 StatisticsReq.ProtoReflect.Descriptor instead. -func (*StatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{0} -} - -func (x *StatisticsReq) GetFrom() string { - if x != nil { - return x.From - } - return "" -} - -func (x *StatisticsReq) GetTo() string { - if x != nil { - return x.To - } - return "" -} - -type GetActiveUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetActiveUserReq) Reset() { - *x = GetActiveUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveUserReq) ProtoMessage() {} - -func (x *GetActiveUserReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_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 GetActiveUserReq.ProtoReflect.Descriptor instead. -func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{1} -} - -func (x *GetActiveUserReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetActiveUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type UserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NickName string `protobuf:"bytes,1,opt,name=NickName,proto3" json:"NickName,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"` -} - -func (x *UserResp) Reset() { - *x = UserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserResp) ProtoMessage() {} - -func (x *UserResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[2] - 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 UserResp.ProtoReflect.Descriptor instead. -func (*UserResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{2} -} - -func (x *UserResp) GetNickName() string { - if x != nil { - return x.NickName - } - return "" -} - -func (x *UserResp) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *UserResp) GetMessageNum() int32 { - if x != nil { - return x.MessageNum - } - return 0 -} - -type GetActiveUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Users []*UserResp `protobuf:"bytes,1,rep,name=Users,proto3" json:"Users,omitempty"` -} - -func (x *GetActiveUserResp) Reset() { - *x = GetActiveUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveUserResp) ProtoMessage() {} - -func (x *GetActiveUserResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[3] - 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 GetActiveUserResp.ProtoReflect.Descriptor instead. -func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{3} -} - -func (x *GetActiveUserResp) GetUsers() []*UserResp { - if x != nil { - return x.Users - } - return nil -} - -type GetActiveGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetActiveGroupReq) Reset() { - *x = GetActiveGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveGroupReq) ProtoMessage() {} - -func (x *GetActiveGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[4] - 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 GetActiveGroupReq.ProtoReflect.Descriptor instead. -func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{4} -} - -func (x *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetActiveGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupName string `protobuf:"bytes,1,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - GroupId string `protobuf:"bytes,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"` -} - -func (x *GroupResp) Reset() { - *x = GroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupResp) ProtoMessage() {} - -func (x *GroupResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[5] - 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 GroupResp.ProtoReflect.Descriptor instead. -func (*GroupResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{5} -} - -func (x *GroupResp) GetGroupName() string { - if x != nil { - return x.GroupName - } - return "" -} - -func (x *GroupResp) GetGroupId() string { - if x != nil { - return x.GroupId - } - return "" -} - -func (x *GroupResp) GetMessageNum() int32 { - if x != nil { - return x.MessageNum - } - return 0 -} - -type GetActiveGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups,proto3" json:"Groups,omitempty"` -} - -func (x *GetActiveGroupResp) Reset() { - *x = GetActiveGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveGroupResp) ProtoMessage() {} - -func (x *GetActiveGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[6] - 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 GetActiveGroupResp.ProtoReflect.Descriptor instead. -func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{6} -} - -func (x *GetActiveGroupResp) GetGroups() []*GroupResp { - if x != nil { - return x.Groups - } - return nil -} - -type DateNumList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Date string `protobuf:"bytes,1,opt,name=Date,proto3" json:"Date,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` -} - -func (x *DateNumList) Reset() { - *x = DateNumList{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DateNumList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DateNumList) ProtoMessage() {} - -func (x *DateNumList) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[7] - 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 DateNumList.ProtoReflect.Descriptor instead. -func (*DateNumList) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{7} -} - -func (x *DateNumList) GetDate() string { - if x != nil { - return x.Date - } - return "" -} - -func (x *DateNumList) GetNum() int32 { - if x != nil { - return x.Num - } - return 0 -} - -type GetMessageStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetMessageStatisticsReq) Reset() { - *x = GetMessageStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessageStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessageStatisticsReq) ProtoMessage() {} - -func (x *GetMessageStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[8] - 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 GetMessageStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{8} -} - -func (x *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetMessageStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetMessageStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrivateMessageNum int32 `protobuf:"varint,1,opt,name=PrivateMessageNum,proto3" json:"PrivateMessageNum,omitempty"` - GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum,proto3" json:"GroupMessageNum,omitempty"` - PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList,proto3" json:"PrivateMessageNumList,omitempty"` - GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList,proto3" json:"GroupMessageNumList,omitempty"` -} - -func (x *GetMessageStatisticsResp) Reset() { - *x = GetMessageStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessageStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessageStatisticsResp) ProtoMessage() {} - -func (x *GetMessageStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[9] - 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 GetMessageStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{9} -} - -func (x *GetMessageStatisticsResp) GetPrivateMessageNum() int32 { - if x != nil { - return x.PrivateMessageNum - } - return 0 -} - -func (x *GetMessageStatisticsResp) GetGroupMessageNum() int32 { - if x != nil { - return x.GroupMessageNum - } - return 0 -} - -func (x *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList { - if x != nil { - return x.PrivateMessageNumList - } - return nil -} - -func (x *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList { - if x != nil { - return x.GroupMessageNumList - } - return nil -} - -type GetGroupStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetGroupStatisticsReq) Reset() { - *x = GetGroupStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupStatisticsReq) ProtoMessage() {} - -func (x *GetGroupStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[10] - 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 GetGroupStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{10} -} - -func (x *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetGroupStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetGroupStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncreaseGroupNum int32 `protobuf:"varint,1,opt,name=IncreaseGroupNum,proto3" json:"IncreaseGroupNum,omitempty"` - TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum,proto3" json:"TotalGroupNum,omitempty"` - IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList,proto3" json:"IncreaseGroupNumList,omitempty"` - TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList,proto3" json:"TotalGroupNumList,omitempty"` -} - -func (x *GetGroupStatisticsResp) Reset() { - *x = GetGroupStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupStatisticsResp) ProtoMessage() {} - -func (x *GetGroupStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[11] - 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 GetGroupStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{11} -} - -func (x *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 { - if x != nil { - return x.IncreaseGroupNum - } - return 0 -} - -func (x *GetGroupStatisticsResp) GetTotalGroupNum() int32 { - if x != nil { - return x.TotalGroupNum - } - return 0 -} - -func (x *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList { - if x != nil { - return x.IncreaseGroupNumList - } - return nil -} - -func (x *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList { - if x != nil { - return x.TotalGroupNumList - } - return nil -} - -type GetUserStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetUserStatisticsReq) Reset() { - *x = GetUserStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserStatisticsReq) ProtoMessage() {} - -func (x *GetUserStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[12] - 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 GetUserStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{12} -} - -func (x *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetUserStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetUserStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncreaseUserNum int32 `protobuf:"varint,1,opt,name=IncreaseUserNum,proto3" json:"IncreaseUserNum,omitempty"` - ActiveUserNum int32 `protobuf:"varint,2,opt,name=ActiveUserNum,proto3" json:"ActiveUserNum,omitempty"` - TotalUserNum int32 `protobuf:"varint,3,opt,name=TotalUserNum,proto3" json:"TotalUserNum,omitempty"` - IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList,proto3" json:"IncreaseUserNumList,omitempty"` - ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList,proto3" json:"ActiveUserNumList,omitempty"` - TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList,proto3" json:"TotalUserNumList,omitempty"` -} - -func (x *GetUserStatisticsResp) Reset() { - *x = GetUserStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserStatisticsResp) ProtoMessage() {} - -func (x *GetUserStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[13] - 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 GetUserStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{13} -} - -func (x *GetUserStatisticsResp) GetIncreaseUserNum() int32 { - if x != nil { - return x.IncreaseUserNum - } - return 0 -} - -func (x *GetUserStatisticsResp) GetActiveUserNum() int32 { - if x != nil { - return x.ActiveUserNum - } - return 0 -} - -func (x *GetUserStatisticsResp) GetTotalUserNum() int32 { - if x != nil { - return x.TotalUserNum - } - return 0 -} - -func (x *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList { - if x != nil { - return x.IncreaseUserNumList - } - return nil -} - -func (x *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList { - if x != nil { - return x.ActiveUserNumList - } - return nil -} - -func (x *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList { - if x != nil { - return x.TotalUserNumList - } - return nil -} - -var File_statistics_statistics_proto protoreflect.FileDescriptor - -var file_statistics_statistics_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x33, 0x0a, 0x0d, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x22, 0x75, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x3f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x52, - 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x22, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x63, - 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x22, 0x43, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x06, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x65, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, - 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x7c, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x8c, 0x02, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, - 0x12, 0x4d, 0x0a, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, - 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x49, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7a, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, - 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x75, 0x6d, 0x12, 0x4b, 0x0a, 0x14, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, - 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x14, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x45, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x79, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0xe2, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x12, 0x49, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x32, 0xbf, 0x03, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x12, 0x4c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x1c, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x1d, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x1d, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, - 0x1e, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x58, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x19, 0x5a, 0x17, 0x2e, 0x2f, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_statistics_statistics_proto_rawDescOnce sync.Once - file_statistics_statistics_proto_rawDescData = file_statistics_statistics_proto_rawDesc -) - -func file_statistics_statistics_proto_rawDescGZIP() []byte { - file_statistics_statistics_proto_rawDescOnce.Do(func() { - file_statistics_statistics_proto_rawDescData = protoimpl.X.CompressGZIP(file_statistics_statistics_proto_rawDescData) - }) - return file_statistics_statistics_proto_rawDescData -} - -var file_statistics_statistics_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_statistics_statistics_proto_goTypes = []interface{}{ - (*StatisticsReq)(nil), // 0: statistics.StatisticsReq - (*GetActiveUserReq)(nil), // 1: statistics.GetActiveUserReq - (*UserResp)(nil), // 2: statistics.UserResp - (*GetActiveUserResp)(nil), // 3: statistics.GetActiveUserResp - (*GetActiveGroupReq)(nil), // 4: statistics.GetActiveGroupReq - (*GroupResp)(nil), // 5: statistics.GroupResp - (*GetActiveGroupResp)(nil), // 6: statistics.GetActiveGroupResp - (*DateNumList)(nil), // 7: statistics.DateNumList - (*GetMessageStatisticsReq)(nil), // 8: statistics.GetMessageStatisticsReq - (*GetMessageStatisticsResp)(nil), // 9: statistics.GetMessageStatisticsResp - (*GetGroupStatisticsReq)(nil), // 10: statistics.GetGroupStatisticsReq - (*GetGroupStatisticsResp)(nil), // 11: statistics.GetGroupStatisticsResp - (*GetUserStatisticsReq)(nil), // 12: statistics.GetUserStatisticsReq - (*GetUserStatisticsResp)(nil), // 13: statistics.GetUserStatisticsResp -} -var file_statistics_statistics_proto_depIdxs = []int32{ - 0, // 0: statistics.GetActiveUserReq.StatisticsReq:type_name -> statistics.StatisticsReq - 2, // 1: statistics.GetActiveUserResp.Users:type_name -> statistics.UserResp - 0, // 2: statistics.GetActiveGroupReq.StatisticsReq:type_name -> statistics.StatisticsReq - 5, // 3: statistics.GetActiveGroupResp.Groups:type_name -> statistics.GroupResp - 0, // 4: statistics.GetMessageStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq - 7, // 5: statistics.GetMessageStatisticsResp.PrivateMessageNumList:type_name -> statistics.DateNumList - 7, // 6: statistics.GetMessageStatisticsResp.GroupMessageNumList:type_name -> statistics.DateNumList - 0, // 7: statistics.GetGroupStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq - 7, // 8: statistics.GetGroupStatisticsResp.IncreaseGroupNumList:type_name -> statistics.DateNumList - 7, // 9: statistics.GetGroupStatisticsResp.TotalGroupNumList:type_name -> statistics.DateNumList - 0, // 10: statistics.GetUserStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq - 7, // 11: statistics.GetUserStatisticsResp.IncreaseUserNumList:type_name -> statistics.DateNumList - 7, // 12: statistics.GetUserStatisticsResp.ActiveUserNumList:type_name -> statistics.DateNumList - 7, // 13: statistics.GetUserStatisticsResp.TotalUserNumList:type_name -> statistics.DateNumList - 1, // 14: statistics.user.GetActiveUser:input_type -> statistics.GetActiveUserReq - 4, // 15: statistics.user.GetActiveGroup:input_type -> statistics.GetActiveGroupReq - 8, // 16: statistics.user.GetMessageStatistics:input_type -> statistics.GetMessageStatisticsReq - 10, // 17: statistics.user.GetGroupStatistics:input_type -> statistics.GetGroupStatisticsReq - 12, // 18: statistics.user.GetUserStatistics:input_type -> statistics.GetUserStatisticsReq - 3, // 19: statistics.user.GetActiveUser:output_type -> statistics.GetActiveUserResp - 6, // 20: statistics.user.GetActiveGroup:output_type -> statistics.GetActiveGroupResp - 9, // 21: statistics.user.GetMessageStatistics:output_type -> statistics.GetMessageStatisticsResp - 11, // 22: statistics.user.GetGroupStatistics:output_type -> statistics.GetGroupStatisticsResp - 13, // 23: statistics.user.GetUserStatistics:output_type -> statistics.GetUserStatisticsResp - 19, // [19:24] is the sub-list for method output_type - 14, // [14:19] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name -} - -func init() { file_statistics_statistics_proto_init() } -func file_statistics_statistics_proto_init() { - if File_statistics_statistics_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_statistics_statistics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DateNumList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessageStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessageStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_statistics_statistics_proto_rawDesc, - NumEnums: 0, - NumMessages: 14, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_statistics_statistics_proto_goTypes, - DependencyIndexes: file_statistics_statistics_proto_depIdxs, - MessageInfos: file_statistics_statistics_proto_msgTypes, - }.Build() - File_statistics_statistics_proto = out.File - file_statistics_statistics_proto_rawDesc = nil - file_statistics_statistics_proto_goTypes = nil - file_statistics_statistics_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// 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 - -// UserClient is the client API for User service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type UserClient interface { - GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) - GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) - GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) - GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) - GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) -} - -type userClient struct { - cc grpc.ClientConnInterface -} - -func NewUserClient(cc grpc.ClientConnInterface) UserClient { - return &userClient{cc} -} - -func (c *userClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) { - out := new(GetActiveUserResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetActiveUser", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) { - out := new(GetActiveGroupResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetActiveGroup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) { - out := new(GetMessageStatisticsResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetMessageStatistics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) { - out := new(GetGroupStatisticsResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetGroupStatistics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) { - out := new(GetUserStatisticsResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetUserStatistics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// UserServer is the server API for User service. -type UserServer interface { - GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) - GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) - GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) - GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) - GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) -} - -// UnimplementedUserServer can be embedded to have forward compatible implementations. -type UnimplementedUserServer struct { -} - -func (*UnimplementedUserServer) GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetActiveUser not implemented") -} -func (*UnimplementedUserServer) GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetActiveGroup not implemented") -} -func (*UnimplementedUserServer) GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMessageStatistics not implemented") -} -func (*UnimplementedUserServer) GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupStatistics not implemented") -} -func (*UnimplementedUserServer) GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserStatistics not implemented") -} - -func RegisterUserServer(s *grpc.Server, srv UserServer) { - s.RegisterService(&_User_serviceDesc, srv) -} - -func _User_GetActiveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetActiveUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetActiveUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetActiveUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetActiveUser(ctx, req.(*GetActiveUserReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetActiveGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetActiveGroupReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetActiveGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetActiveGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetActiveGroup(ctx, req.(*GetActiveGroupReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetMessageStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMessageStatisticsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetMessageStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetMessageStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetMessageStatistics(ctx, req.(*GetMessageStatisticsReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetGroupStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGroupStatisticsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetGroupStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetGroupStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetGroupStatistics(ctx, req.(*GetGroupStatisticsReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetUserStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserStatisticsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetUserStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetUserStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetUserStatistics(ctx, req.(*GetUserStatisticsReq)) - } - return interceptor(ctx, in, info, handler) -} - -var _User_serviceDesc = grpc.ServiceDesc{ - ServiceName: "statistics.user", - HandlerType: (*UserServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetActiveUser", - Handler: _User_GetActiveUser_Handler, - }, - { - MethodName: "GetActiveGroup", - Handler: _User_GetActiveGroup_Handler, - }, - { - MethodName: "GetMessageStatistics", - Handler: _User_GetMessageStatistics_Handler, - }, - { - MethodName: "GetGroupStatistics", - Handler: _User_GetGroupStatistics_Handler, - }, - { - MethodName: "GetUserStatistics", - Handler: _User_GetUserStatistics_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "statistics/statistics.proto", -} diff --git a/pkg/proto/statistics/statistics.proto b/pkg/proto/statistics/statistics.proto deleted file mode 100644 index 3c72e4bc5..000000000 --- a/pkg/proto/statistics/statistics.proto +++ /dev/null @@ -1,93 +0,0 @@ -syntax = "proto3"; -// import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -option go_package = "./statistics;statistics"; -package statistics; - -message StatisticsReq { - string from = 1; - string to = 2; -} - -message GetActiveUserReq{ - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - -message UserResp{ - string NickName = 1; - string UserId = 2; - int32 MessageNum = 3; -} - -message GetActiveUserResp { - repeated UserResp Users = 1; -} - -message GetActiveGroupReq{ - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - -message GroupResp { - string GroupName = 1; - string GroupId = 2; - int32 MessageNum = 3; -} - -message GetActiveGroupResp { - repeated GroupResp Groups = 1; -} - -message DateNumList { - string Date = 1; - int32 Num = 2; -} - - -message GetMessageStatisticsReq { - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - - -message GetMessageStatisticsResp { - int32 PrivateMessageNum = 1; - int32 GroupMessageNum = 2; - repeated DateNumList PrivateMessageNumList = 3; - repeated DateNumList GroupMessageNumList = 4; -} - -message GetGroupStatisticsReq { - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - - -message GetGroupStatisticsResp { - int32 IncreaseGroupNum = 1; - int32 TotalGroupNum = 2; - repeated DateNumList IncreaseGroupNumList = 3; - repeated DateNumList TotalGroupNumList = 4; -} - -message GetUserStatisticsReq { - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - -message GetUserStatisticsResp { - int32 IncreaseUserNum = 1; - int32 ActiveUserNum = 2; - int32 TotalUserNum = 3; - repeated DateNumList IncreaseUserNumList = 4; - repeated DateNumList ActiveUserNumList = 5; - repeated DateNumList TotalUserNumList = 6; -} - -service user { - rpc GetActiveUser(GetActiveUserReq) returns(GetActiveUserResp); - rpc GetActiveGroup(GetActiveGroupReq) returns(GetActiveGroupResp); - rpc GetMessageStatistics(GetMessageStatisticsReq) returns(GetMessageStatisticsResp); - rpc GetGroupStatistics(GetGroupStatisticsReq) returns(GetGroupStatisticsResp); - rpc GetUserStatistics(GetUserStatisticsReq) returns(GetUserStatisticsResp); -} \ No newline at end of file diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index dc064a136..331055165 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -37,7 +37,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{0} + return fileDescriptor_user_2773e613441bfdc6, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -71,106 +71,6 @@ func (m *CommonResp) GetErrMsg() string { return "" } -type DeleteUsersReq struct { - DeleteUserIDList []string `protobuf:"bytes,2,rep,name=DeleteUserIDList" json:"DeleteUserIDList,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUsersReq) Reset() { *m = DeleteUsersReq{} } -func (m *DeleteUsersReq) String() string { return proto.CompactTextString(m) } -func (*DeleteUsersReq) ProtoMessage() {} -func (*DeleteUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{1} -} -func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b) -} -func (m *DeleteUsersReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUsersReq.Marshal(b, m, deterministic) -} -func (dst *DeleteUsersReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUsersReq.Merge(dst, src) -} -func (m *DeleteUsersReq) XXX_Size() int { - return xxx_messageInfo_DeleteUsersReq.Size(m) -} -func (m *DeleteUsersReq) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUsersReq.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUsersReq proto.InternalMessageInfo - -func (m *DeleteUsersReq) GetDeleteUserIDList() []string { - if m != nil { - return m.DeleteUserIDList - } - return nil -} - -func (m *DeleteUsersReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *DeleteUsersReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type DeleteUsersResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - FailedUserIDList []string `protobuf:"bytes,2,rep,name=FailedUserIDList" json:"FailedUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUsersResp) Reset() { *m = DeleteUsersResp{} } -func (m *DeleteUsersResp) String() string { return proto.CompactTextString(m) } -func (*DeleteUsersResp) ProtoMessage() {} -func (*DeleteUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{2} -} -func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b) -} -func (m *DeleteUsersResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUsersResp.Marshal(b, m, deterministic) -} -func (dst *DeleteUsersResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUsersResp.Merge(dst, src) -} -func (m *DeleteUsersResp) XXX_Size() int { - return xxx_messageInfo_DeleteUsersResp.Size(m) -} -func (m *DeleteUsersResp) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUsersResp.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUsersResp proto.InternalMessageInfo - -func (m *DeleteUsersResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -func (m *DeleteUsersResp) GetFailedUserIDList() []string { - if m != nil { - return m.FailedUserIDList - } - return nil -} - type GetAllUserIDReq struct { OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` @@ -183,7 +83,7 @@ func (m *GetAllUserIDReq) Reset() { *m = GetAllUserIDReq{} } func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDReq) ProtoMessage() {} func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{3} + return fileDescriptor_user_2773e613441bfdc6, []int{1} } func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b) @@ -229,7 +129,7 @@ func (m *GetAllUserIDResp) Reset() { *m = GetAllUserIDResp{} } func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDResp) ProtoMessage() {} func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{4} + return fileDescriptor_user_2773e613441bfdc6, []int{2} } func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b) @@ -276,7 +176,7 @@ func (m *AccountCheckReq) Reset() { *m = AccountCheckReq{} } func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) } func (*AccountCheckReq) ProtoMessage() {} func (*AccountCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{5} + return fileDescriptor_user_2773e613441bfdc6, []int{3} } func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b) @@ -329,7 +229,7 @@ func (m *AccountCheckResp) Reset() { *m = AccountCheckResp{} } func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp) ProtoMessage() {} func (*AccountCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{6} + return fileDescriptor_user_2773e613441bfdc6, []int{4} } func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b) @@ -375,7 +275,7 @@ func (m *AccountCheckResp_SingleUserStatus) Reset() { *m = AccountCheckR func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{6, 0} + return fileDescriptor_user_2773e613441bfdc6, []int{4, 0} } func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b) @@ -422,7 +322,7 @@ func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} } func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) } func (*GetUserInfoReq) ProtoMessage() {} func (*GetUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{7} + return fileDescriptor_user_2773e613441bfdc6, []int{5} } func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) @@ -475,7 +375,7 @@ func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} } func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) } func (*GetUserInfoResp) ProtoMessage() {} func (*GetUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{8} + return fileDescriptor_user_2773e613441bfdc6, []int{6} } func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) @@ -522,7 +422,7 @@ func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} } func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoReq) ProtoMessage() {} func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{9} + return fileDescriptor_user_2773e613441bfdc6, []int{7} } func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) @@ -574,7 +474,7 @@ func (m *UpdateUserInfoResp) Reset() { *m = UpdateUserInfoResp{} } func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoResp) ProtoMessage() {} func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{10} + return fileDescriptor_user_2773e613441bfdc6, []int{8} } func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b) @@ -614,7 +514,7 @@ func (m *SetGlobalRecvMessageOptReq) Reset() { *m = SetGlobalRecvMessage func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) } func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{11} + return fileDescriptor_user_2773e613441bfdc6, []int{9} } func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b) @@ -666,7 +566,7 @@ func (m *SetGlobalRecvMessageOptResp) Reset() { *m = SetGlobalRecvMessag func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) } func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{12} + return fileDescriptor_user_2773e613441bfdc6, []int{10} } func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b) @@ -706,7 +606,7 @@ func (m *SetConversationReq) Reset() { *m = SetConversationReq{} } func (m *SetConversationReq) String() string { return proto.CompactTextString(m) } func (*SetConversationReq) ProtoMessage() {} func (*SetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{13} + return fileDescriptor_user_2773e613441bfdc6, []int{11} } func (m *SetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationReq.Unmarshal(m, b) @@ -758,7 +658,7 @@ func (m *SetConversationResp) Reset() { *m = SetConversationResp{} } func (m *SetConversationResp) String() string { return proto.CompactTextString(m) } func (*SetConversationResp) ProtoMessage() {} func (*SetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{14} + return fileDescriptor_user_2773e613441bfdc6, []int{12} } func (m *SetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationResp.Unmarshal(m, b) @@ -800,7 +700,7 @@ func (m *SetRecvMsgOptReq) Reset() { *m = SetRecvMsgOptReq{} } func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptReq) ProtoMessage() {} func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{15} + return fileDescriptor_user_2773e613441bfdc6, []int{13} } func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b) @@ -866,7 +766,7 @@ func (m *SetRecvMsgOptResp) Reset() { *m = SetRecvMsgOptResp{} } func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptResp) ProtoMessage() {} func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{16} + return fileDescriptor_user_2773e613441bfdc6, []int{14} } func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b) @@ -906,7 +806,7 @@ func (m *GetConversationReq) Reset() { *m = GetConversationReq{} } func (m *GetConversationReq) String() string { return proto.CompactTextString(m) } func (*GetConversationReq) ProtoMessage() {} func (*GetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{17} + return fileDescriptor_user_2773e613441bfdc6, []int{15} } func (m *GetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationReq.Unmarshal(m, b) @@ -959,7 +859,7 @@ func (m *GetConversationResp) Reset() { *m = GetConversationResp{} } func (m *GetConversationResp) String() string { return proto.CompactTextString(m) } func (*GetConversationResp) ProtoMessage() {} func (*GetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{18} + return fileDescriptor_user_2773e613441bfdc6, []int{16} } func (m *GetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationResp.Unmarshal(m, b) @@ -1006,7 +906,7 @@ func (m *GetConversationsReq) Reset() { *m = GetConversationsReq{} } func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetConversationsReq) ProtoMessage() {} func (*GetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{19} + return fileDescriptor_user_2773e613441bfdc6, []int{17} } func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b) @@ -1059,7 +959,7 @@ func (m *GetConversationsResp) Reset() { *m = GetConversationsResp{} } func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetConversationsResp) ProtoMessage() {} func (*GetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{20} + return fileDescriptor_user_2773e613441bfdc6, []int{18} } func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b) @@ -1105,7 +1005,7 @@ func (m *GetAllConversationsReq) Reset() { *m = GetAllConversationsReq{} func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsReq) ProtoMessage() {} func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{21} + return fileDescriptor_user_2773e613441bfdc6, []int{19} } func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b) @@ -1151,7 +1051,7 @@ func (m *GetAllConversationsResp) Reset() { *m = GetAllConversationsResp func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsResp) ProtoMessage() {} func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{22} + return fileDescriptor_user_2773e613441bfdc6, []int{20} } func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b) @@ -1199,7 +1099,7 @@ func (m *BatchSetConversationsReq) Reset() { *m = BatchSetConversationsR func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsReq) ProtoMessage() {} func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{23} + return fileDescriptor_user_2773e613441bfdc6, []int{21} } func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b) @@ -1260,7 +1160,7 @@ func (m *BatchSetConversationsResp) Reset() { *m = BatchSetConversations func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsResp) ProtoMessage() {} func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{24} + return fileDescriptor_user_2773e613441bfdc6, []int{22} } func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b) @@ -1301,584 +1201,11 @@ func (m *BatchSetConversationsResp) GetFailed() []string { return nil } -type ResignUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResignUserReq) Reset() { *m = ResignUserReq{} } -func (m *ResignUserReq) String() string { return proto.CompactTextString(m) } -func (*ResignUserReq) ProtoMessage() {} -func (*ResignUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{25} -} -func (m *ResignUserReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResignUserReq.Unmarshal(m, b) -} -func (m *ResignUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResignUserReq.Marshal(b, m, deterministic) -} -func (dst *ResignUserReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResignUserReq.Merge(dst, src) -} -func (m *ResignUserReq) XXX_Size() int { - return xxx_messageInfo_ResignUserReq.Size(m) -} -func (m *ResignUserReq) XXX_DiscardUnknown() { - xxx_messageInfo_ResignUserReq.DiscardUnknown(m) -} - -var xxx_messageInfo_ResignUserReq proto.InternalMessageInfo - -func (m *ResignUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *ResignUserReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type ResignUserResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResignUserResp) Reset() { *m = ResignUserResp{} } -func (m *ResignUserResp) String() string { return proto.CompactTextString(m) } -func (*ResignUserResp) ProtoMessage() {} -func (*ResignUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{26} -} -func (m *ResignUserResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResignUserResp.Unmarshal(m, b) -} -func (m *ResignUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResignUserResp.Marshal(b, m, deterministic) -} -func (dst *ResignUserResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResignUserResp.Merge(dst, src) -} -func (m *ResignUserResp) XXX_Size() int { - return xxx_messageInfo_ResignUserResp.Size(m) -} -func (m *ResignUserResp) XXX_DiscardUnknown() { - xxx_messageInfo_ResignUserResp.DiscardUnknown(m) -} - -var xxx_messageInfo_ResignUserResp proto.InternalMessageInfo - -func (m *ResignUserResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -type GetUserByIdReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUserByIdReq) Reset() { *m = GetUserByIdReq{} } -func (m *GetUserByIdReq) String() string { return proto.CompactTextString(m) } -func (*GetUserByIdReq) ProtoMessage() {} -func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{27} -} -func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b) -} -func (m *GetUserByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUserByIdReq.Marshal(b, m, deterministic) -} -func (dst *GetUserByIdReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUserByIdReq.Merge(dst, src) -} -func (m *GetUserByIdReq) XXX_Size() int { - return xxx_messageInfo_GetUserByIdReq.Size(m) -} -func (m *GetUserByIdReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetUserByIdReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUserByIdReq proto.InternalMessageInfo - -func (m *GetUserByIdReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *GetUserByIdReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type User struct { - ProfilePhoto string `protobuf:"bytes,1,opt,name=ProfilePhoto" json:"ProfilePhoto,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=Nickname" json:"Nickname,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=UserId" json:"UserId,omitempty"` - CreateTime string `protobuf:"bytes,4,opt,name=CreateTime" json:"CreateTime,omitempty"` - PhoneNumber string `protobuf:"bytes,5,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - Email string `protobuf:"bytes,6,opt,name=Email" json:"Email,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` - CreateIp string `protobuf:"bytes,8,opt,name=CreateIp" json:"CreateIp,omitempty"` - LastLoginTime string `protobuf:"bytes,9,opt,name=LastLoginTime" json:"LastLoginTime,omitempty"` - LastLoginIp string `protobuf:"bytes,10,opt,name=LastLoginIp" json:"LastLoginIp,omitempty"` - LoginTimes int32 `protobuf:"varint,11,opt,name=LoginTimes" json:"LoginTimes,omitempty"` - Gender int32 `protobuf:"varint,12,opt,name=Gender" json:"Gender,omitempty"` - LoginLimit int32 `protobuf:"varint,13,opt,name=LoginLimit" json:"LoginLimit,omitempty"` - IsBlock bool `protobuf:"varint,14,opt,name=IsBlock" json:"IsBlock,omitempty"` - RegisterIp string `protobuf:"bytes,15,opt,name=RegisterIp" json:"RegisterIp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *User) Reset() { *m = User{} } -func (m *User) String() string { return proto.CompactTextString(m) } -func (*User) ProtoMessage() {} -func (*User) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{28} -} -func (m *User) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_User.Unmarshal(m, b) -} -func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_User.Marshal(b, m, deterministic) -} -func (dst *User) XXX_Merge(src proto.Message) { - xxx_messageInfo_User.Merge(dst, src) -} -func (m *User) XXX_Size() int { - return xxx_messageInfo_User.Size(m) -} -func (m *User) XXX_DiscardUnknown() { - xxx_messageInfo_User.DiscardUnknown(m) -} - -var xxx_messageInfo_User proto.InternalMessageInfo - -func (m *User) GetProfilePhoto() string { - if m != nil { - return m.ProfilePhoto - } - return "" -} - -func (m *User) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *User) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *User) GetCreateTime() string { - if m != nil { - return m.CreateTime - } - return "" -} - -func (m *User) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *User) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *User) GetBirth() string { - if m != nil { - return m.Birth - } - return "" -} - -func (m *User) GetCreateIp() string { - if m != nil { - return m.CreateIp - } - return "" -} - -func (m *User) GetLastLoginTime() string { - if m != nil { - return m.LastLoginTime - } - return "" -} - -func (m *User) GetLastLoginIp() string { - if m != nil { - return m.LastLoginIp - } - return "" -} - -func (m *User) GetLoginTimes() int32 { - if m != nil { - return m.LoginTimes - } - return 0 -} - -func (m *User) GetGender() int32 { - if m != nil { - return m.Gender - } - return 0 -} - -func (m *User) GetLoginLimit() int32 { - if m != nil { - return m.LoginLimit - } - return 0 -} - -func (m *User) GetIsBlock() bool { - if m != nil { - return m.IsBlock - } - return false -} - -func (m *User) GetRegisterIp() string { - if m != nil { - return m.RegisterIp - } - return "" -} - -type GetUserByIdResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUserByIdResp) Reset() { *m = GetUserByIdResp{} } -func (m *GetUserByIdResp) String() string { return proto.CompactTextString(m) } -func (*GetUserByIdResp) ProtoMessage() {} -func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{29} -} -func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b) -} -func (m *GetUserByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUserByIdResp.Marshal(b, m, deterministic) -} -func (dst *GetUserByIdResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUserByIdResp.Merge(dst, src) -} -func (m *GetUserByIdResp) XXX_Size() int { - return xxx_messageInfo_GetUserByIdResp.Size(m) -} -func (m *GetUserByIdResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetUserByIdResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUserByIdResp proto.InternalMessageInfo - -func (m *GetUserByIdResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -func (m *GetUserByIdResp) GetUser() *User { - if m != nil { - return m.User - } - return nil -} - -type GetUsersByNameReq struct { - UserName string `protobuf:"bytes,1,opt,name=UserName" json:"UserName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersByNameReq) Reset() { *m = GetUsersByNameReq{} } -func (m *GetUsersByNameReq) String() string { return proto.CompactTextString(m) } -func (*GetUsersByNameReq) ProtoMessage() {} -func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{30} -} -func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b) -} -func (m *GetUsersByNameReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersByNameReq.Marshal(b, m, deterministic) -} -func (dst *GetUsersByNameReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersByNameReq.Merge(dst, src) -} -func (m *GetUsersByNameReq) XXX_Size() int { - return xxx_messageInfo_GetUsersByNameReq.Size(m) -} -func (m *GetUsersByNameReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersByNameReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersByNameReq proto.InternalMessageInfo - -func (m *GetUsersByNameReq) GetUserName() string { - if m != nil { - return m.UserName - } - return "" -} - -func (m *GetUsersByNameReq) GetPagination() *sdk_ws.RequestPagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetUsersByNameReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetUsersByNameResp struct { - Users []*User `protobuf:"bytes,1,rep,name=users" json:"users,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,3,opt,name=UserNums" json:"UserNums,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersByNameResp) Reset() { *m = GetUsersByNameResp{} } -func (m *GetUsersByNameResp) String() string { return proto.CompactTextString(m) } -func (*GetUsersByNameResp) ProtoMessage() {} -func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{31} -} -func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b) -} -func (m *GetUsersByNameResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersByNameResp.Marshal(b, m, deterministic) -} -func (dst *GetUsersByNameResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersByNameResp.Merge(dst, src) -} -func (m *GetUsersByNameResp) XXX_Size() int { - return xxx_messageInfo_GetUsersByNameResp.Size(m) -} -func (m *GetUsersByNameResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersByNameResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersByNameResp proto.InternalMessageInfo - -func (m *GetUsersByNameResp) GetUsers() []*User { - if m != nil { - return m.Users - } - return nil -} - -func (m *GetUsersByNameResp) GetPagination() *sdk_ws.ResponsePagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetUsersByNameResp) GetUserNums() int32 { - if m != nil { - return m.UserNums - } - return 0 -} - -type AlterUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - PhoneNumber string `protobuf:"bytes,3,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - Nickname string `protobuf:"bytes,4,opt,name=Nickname" json:"Nickname,omitempty"` - Email string `protobuf:"bytes,5,opt,name=Email" json:"Email,omitempty"` - Gender string `protobuf:"bytes,6,opt,name=Gender" json:"Gender,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` - Photo string `protobuf:"bytes,8,opt,name=Photo" json:"Photo,omitempty"` - OpUserId string `protobuf:"bytes,9,opt,name=OpUserId" json:"OpUserId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AlterUserReq) Reset() { *m = AlterUserReq{} } -func (m *AlterUserReq) String() string { return proto.CompactTextString(m) } -func (*AlterUserReq) ProtoMessage() {} -func (*AlterUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{32} -} -func (m *AlterUserReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AlterUserReq.Unmarshal(m, b) -} -func (m *AlterUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AlterUserReq.Marshal(b, m, deterministic) -} -func (dst *AlterUserReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_AlterUserReq.Merge(dst, src) -} -func (m *AlterUserReq) XXX_Size() int { - return xxx_messageInfo_AlterUserReq.Size(m) -} -func (m *AlterUserReq) XXX_DiscardUnknown() { - xxx_messageInfo_AlterUserReq.DiscardUnknown(m) -} - -var xxx_messageInfo_AlterUserReq proto.InternalMessageInfo - -func (m *AlterUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *AlterUserReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *AlterUserReq) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *AlterUserReq) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *AlterUserReq) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *AlterUserReq) GetGender() string { - if m != nil { - return m.Gender - } - return "" -} - -func (m *AlterUserReq) GetBirth() string { - if m != nil { - return m.Birth - } - return "" -} - -func (m *AlterUserReq) GetPhoto() string { - if m != nil { - return m.Photo - } - return "" -} - -func (m *AlterUserReq) GetOpUserId() string { - if m != nil { - return m.OpUserId - } - return "" -} - -type AlterUserResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AlterUserResp) Reset() { *m = AlterUserResp{} } -func (m *AlterUserResp) String() string { return proto.CompactTextString(m) } -func (*AlterUserResp) ProtoMessage() {} -func (*AlterUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{33} -} -func (m *AlterUserResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AlterUserResp.Unmarshal(m, b) -} -func (m *AlterUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AlterUserResp.Marshal(b, m, deterministic) -} -func (dst *AlterUserResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_AlterUserResp.Merge(dst, src) -} -func (m *AlterUserResp) XXX_Size() int { - return xxx_messageInfo_AlterUserResp.Size(m) -} -func (m *AlterUserResp) XXX_DiscardUnknown() { - xxx_messageInfo_AlterUserResp.DiscardUnknown(m) -} - -var xxx_messageInfo_AlterUserResp proto.InternalMessageInfo - -func (m *AlterUserResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - type GetUsersReq 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"` - UserName string `protobuf:"bytes,3,opt,name=UserName" json:"UserName,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + UserName string `protobuf:"bytes,3,opt,name=userName" json:"userName,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1888,7 +1215,7 @@ func (m *GetUsersReq) Reset() { *m = GetUsersReq{} } func (m *GetUsersReq) String() string { return proto.CompactTextString(m) } func (*GetUsersReq) ProtoMessage() {} func (*GetUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{34} + return fileDescriptor_user_2773e613441bfdc6, []int{23} } func (m *GetUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersReq.Unmarshal(m, b) @@ -1929,11 +1256,64 @@ func (m *GetUsersReq) GetUserName() string { return "" } +func (m *GetUsersReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +type CmsUser struct { + User *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"` + IsBlock bool `protobuf:"varint,2,opt,name=isBlock" json:"isBlock,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CmsUser) Reset() { *m = CmsUser{} } +func (m *CmsUser) String() string { return proto.CompactTextString(m) } +func (*CmsUser) ProtoMessage() {} +func (*CmsUser) Descriptor() ([]byte, []int) { + return fileDescriptor_user_2773e613441bfdc6, []int{24} +} +func (m *CmsUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CmsUser.Unmarshal(m, b) +} +func (m *CmsUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CmsUser.Marshal(b, m, deterministic) +} +func (dst *CmsUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_CmsUser.Merge(dst, src) +} +func (m *CmsUser) XXX_Size() int { + return xxx_messageInfo_CmsUser.Size(m) +} +func (m *CmsUser) XXX_DiscardUnknown() { + xxx_messageInfo_CmsUser.DiscardUnknown(m) +} + +var xxx_messageInfo_CmsUser proto.InternalMessageInfo + +func (m *CmsUser) GetUser() *sdk_ws.UserInfo { + if m != nil { + return m.User + } + return nil +} + +func (m *CmsUser) GetIsBlock() bool { + if m != nil { + return m.IsBlock + } + return false +} + type GetUsersResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - User []*User `protobuf:"bytes,2,rep,name=user" json:"user,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + UserList []*CmsUser `protobuf:"bytes,2,rep,name=userList" json:"userList,omitempty"` Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,3,opt,name=Pagination" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,4,opt,name=UserNums" json:"UserNums,omitempty"` + TotalNums int32 `protobuf:"varint,4,opt,name=totalNums" json:"totalNums,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1943,7 +1323,7 @@ func (m *GetUsersResp) Reset() { *m = GetUsersResp{} } func (m *GetUsersResp) String() string { return proto.CompactTextString(m) } func (*GetUsersResp) ProtoMessage() {} func (*GetUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{35} + return fileDescriptor_user_2773e613441bfdc6, []int{25} } func (m *GetUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersResp.Unmarshal(m, b) @@ -1970,9 +1350,9 @@ func (m *GetUsersResp) GetCommonResp() *CommonResp { return nil } -func (m *GetUsersResp) GetUser() []*User { +func (m *GetUsersResp) GetUserList() []*CmsUser { if m != nil { - return m.User + return m.UserList } return nil } @@ -1984,33 +1364,26 @@ func (m *GetUsersResp) GetPagination() *sdk_ws.ResponsePagination { return nil } -func (m *GetUsersResp) GetUserNums() int32 { +func (m *GetUsersResp) GetTotalNums() int32 { if m != nil { - return m.UserNums + return m.TotalNums } return 0 } type AddUserReq struct { - OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` - PhoneNumber string `protobuf:"bytes,2,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=UserId" json:"UserId,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` - Email string `protobuf:"bytes,5,opt,name=Email" json:"Email,omitempty"` - Gender string `protobuf:"bytes,6,opt,name=Gender" json:"Gender,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` - Photo string `protobuf:"bytes,8,opt,name=Photo" json:"Photo,omitempty"` - OpUserId string `protobuf:"bytes,9,opt,name=OpUserId" json:"OpUserId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=userInfo" json:"userInfo,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AddUserReq) Reset() { *m = AddUserReq{} } func (m *AddUserReq) String() string { return proto.CompactTextString(m) } func (*AddUserReq) ProtoMessage() {} func (*AddUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{36} + return fileDescriptor_user_2773e613441bfdc6, []int{26} } func (m *AddUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserReq.Unmarshal(m, b) @@ -2030,6 +1403,13 @@ func (m *AddUserReq) XXX_DiscardUnknown() { var xxx_messageInfo_AddUserReq proto.InternalMessageInfo +func (m *AddUserReq) GetUserInfo() *sdk_ws.UserInfo { + if m != nil { + return m.UserInfo + } + return nil +} + func (m *AddUserReq) GetOperationID() string { if m != nil { return m.OperationID @@ -2037,62 +1417,6 @@ func (m *AddUserReq) GetOperationID() string { return "" } -func (m *AddUserReq) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *AddUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *AddUserReq) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *AddUserReq) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *AddUserReq) GetGender() string { - if m != nil { - return m.Gender - } - return "" -} - -func (m *AddUserReq) GetBirth() string { - if m != nil { - return m.Birth - } - return "" -} - -func (m *AddUserReq) GetPhoto() string { - if m != nil { - return m.Photo - } - return "" -} - -func (m *AddUserReq) GetOpUserId() string { - if m != nil { - return m.OpUserId - } - return "" -} - type AddUserResp struct { CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -2104,7 +1428,7 @@ func (m *AddUserResp) Reset() { *m = AddUserResp{} } func (m *AddUserResp) String() string { return proto.CompactTextString(m) } func (*AddUserResp) ProtoMessage() {} func (*AddUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{37} + return fileDescriptor_user_2773e613441bfdc6, []int{27} } func (m *AddUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserResp.Unmarshal(m, b) @@ -2132,10 +1456,10 @@ func (m *AddUserResp) GetCommonResp() *CommonResp { } type BlockUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - EndDisableTime string `protobuf:"bytes,2,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,4,opt,name=OpUserId" json:"OpUserId,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + EndDisableTime string `protobuf:"bytes,2,opt,name=endDisableTime" json:"endDisableTime,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,4,opt,name=opUserID" json:"opUserID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2145,7 +1469,7 @@ func (m *BlockUserReq) Reset() { *m = BlockUserReq{} } func (m *BlockUserReq) String() string { return proto.CompactTextString(m) } func (*BlockUserReq) ProtoMessage() {} func (*BlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{38} + return fileDescriptor_user_2773e613441bfdc6, []int{28} } func (m *BlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserReq.Unmarshal(m, b) @@ -2165,9 +1489,9 @@ func (m *BlockUserReq) XXX_DiscardUnknown() { var xxx_messageInfo_BlockUserReq proto.InternalMessageInfo -func (m *BlockUserReq) GetUserId() string { +func (m *BlockUserReq) GetUserID() string { if m != nil { - return m.UserId + return m.UserID } return "" } @@ -2186,9 +1510,9 @@ func (m *BlockUserReq) GetOperationID() string { return "" } -func (m *BlockUserReq) GetOpUserId() string { +func (m *BlockUserReq) GetOpUserID() string { if m != nil { - return m.OpUserId + return m.OpUserID } return "" } @@ -2204,7 +1528,7 @@ func (m *BlockUserResp) Reset() { *m = BlockUserResp{} } func (m *BlockUserResp) String() string { return proto.CompactTextString(m) } func (*BlockUserResp) ProtoMessage() {} func (*BlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{39} + return fileDescriptor_user_2773e613441bfdc6, []int{29} } func (m *BlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserResp.Unmarshal(m, b) @@ -2232,9 +1556,9 @@ func (m *BlockUserResp) GetCommonResp() *CommonResp { } type UnBlockUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,3,opt,name=OpUserId" json:"OpUserId,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2244,7 +1568,7 @@ func (m *UnBlockUserReq) Reset() { *m = UnBlockUserReq{} } func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) } func (*UnBlockUserReq) ProtoMessage() {} func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{40} + return fileDescriptor_user_2773e613441bfdc6, []int{30} } func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b) @@ -2264,9 +1588,9 @@ func (m *UnBlockUserReq) XXX_DiscardUnknown() { var xxx_messageInfo_UnBlockUserReq proto.InternalMessageInfo -func (m *UnBlockUserReq) GetUserId() string { +func (m *UnBlockUserReq) GetUserID() string { if m != nil { - return m.UserId + return m.UserID } return "" } @@ -2278,9 +1602,9 @@ func (m *UnBlockUserReq) GetOperationID() string { return "" } -func (m *UnBlockUserReq) GetOpUserId() string { +func (m *UnBlockUserReq) GetOpUserID() string { if m != nil { - return m.OpUserId + return m.OpUserID } return "" } @@ -2296,7 +1620,7 @@ func (m *UnBlockUserResp) Reset() { *m = UnBlockUserResp{} } func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) } func (*UnBlockUserResp) ProtoMessage() {} func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{41} + return fileDescriptor_user_2773e613441bfdc6, []int{31} } func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b) @@ -2324,9 +1648,10 @@ func (m *UnBlockUserResp) GetCommonResp() *CommonResp { } type GetBlockUsersReq struct { - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - BlockUserNum int32 `protobuf:"varint,3,opt,name=BlockUserNum" json:"BlockUserNum,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` + TotalBlockUserNum int32 `protobuf:"varint,4,opt,name=totalBlockUserNum" json:"totalBlockUserNum,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2336,7 +1661,7 @@ func (m *GetBlockUsersReq) Reset() { *m = GetBlockUsersReq{} } func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersReq) ProtoMessage() {} func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{42} + return fileDescriptor_user_2773e613441bfdc6, []int{32} } func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b) @@ -2370,27 +1695,34 @@ func (m *GetBlockUsersReq) GetOperationID() string { return "" } -func (m *GetBlockUsersReq) GetBlockUserNum() int32 { +func (m *GetBlockUsersReq) GetUserID() string { if m != nil { - return m.BlockUserNum + return m.UserID + } + return "" +} + +func (m *GetBlockUsersReq) GetTotalBlockUserNum() int32 { + if m != nil { + return m.TotalBlockUserNum } return 0 } type BlockUser struct { - User *User `protobuf:"bytes,1,opt,name=User" json:"User,omitempty"` - BeginDisableTime string `protobuf:"bytes,2,opt,name=BeginDisableTime" json:"BeginDisableTime,omitempty"` - EndDisableTime string `protobuf:"bytes,3,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=UserInfo" json:"UserInfo,omitempty"` + BeginDisableTime string `protobuf:"bytes,2,opt,name=BeginDisableTime" json:"BeginDisableTime,omitempty"` + EndDisableTime string `protobuf:"bytes,3,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *BlockUser) Reset() { *m = BlockUser{} } func (m *BlockUser) String() string { return proto.CompactTextString(m) } func (*BlockUser) ProtoMessage() {} func (*BlockUser) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{43} + return fileDescriptor_user_2773e613441bfdc6, []int{33} } func (m *BlockUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUser.Unmarshal(m, b) @@ -2410,9 +1742,9 @@ func (m *BlockUser) XXX_DiscardUnknown() { var xxx_messageInfo_BlockUser proto.InternalMessageInfo -func (m *BlockUser) GetUser() *User { +func (m *BlockUser) GetUserInfo() *sdk_ws.UserInfo { if m != nil { - return m.User + return m.UserInfo } return nil } @@ -2445,7 +1777,7 @@ func (m *GetBlockUsersResp) Reset() { *m = GetBlockUsersResp{} } func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersResp) ProtoMessage() {} func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{44} + return fileDescriptor_user_2773e613441bfdc6, []int{34} } func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b) @@ -2493,186 +1825,8 @@ func (m *GetBlockUsersResp) GetUserNums() int32 { return 0 } -type GetBlockUserByIdReq struct { - UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId" json:"User_id,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetBlockUserByIdReq) Reset() { *m = GetBlockUserByIdReq{} } -func (m *GetBlockUserByIdReq) String() string { return proto.CompactTextString(m) } -func (*GetBlockUserByIdReq) ProtoMessage() {} -func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{45} -} -func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b) -} -func (m *GetBlockUserByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBlockUserByIdReq.Marshal(b, m, deterministic) -} -func (dst *GetBlockUserByIdReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBlockUserByIdReq.Merge(dst, src) -} -func (m *GetBlockUserByIdReq) XXX_Size() int { - return xxx_messageInfo_GetBlockUserByIdReq.Size(m) -} -func (m *GetBlockUserByIdReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetBlockUserByIdReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetBlockUserByIdReq proto.InternalMessageInfo - -func (m *GetBlockUserByIdReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *GetBlockUserByIdReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetBlockUserByIdResp struct { - BlockUser *BlockUser `protobuf:"bytes,2,opt,name=BlockUser" json:"BlockUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetBlockUserByIdResp) Reset() { *m = GetBlockUserByIdResp{} } -func (m *GetBlockUserByIdResp) String() string { return proto.CompactTextString(m) } -func (*GetBlockUserByIdResp) ProtoMessage() {} -func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{46} -} -func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b) -} -func (m *GetBlockUserByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBlockUserByIdResp.Marshal(b, m, deterministic) -} -func (dst *GetBlockUserByIdResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBlockUserByIdResp.Merge(dst, src) -} -func (m *GetBlockUserByIdResp) XXX_Size() int { - return xxx_messageInfo_GetBlockUserByIdResp.Size(m) -} -func (m *GetBlockUserByIdResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetBlockUserByIdResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetBlockUserByIdResp proto.InternalMessageInfo - -func (m *GetBlockUserByIdResp) GetBlockUser() *BlockUser { - if m != nil { - return m.BlockUser - } - return nil -} - -type DeleteUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId" json:"User_id,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,3,opt,name=OpUserId" json:"OpUserId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUserReq) Reset() { *m = DeleteUserReq{} } -func (m *DeleteUserReq) String() string { return proto.CompactTextString(m) } -func (*DeleteUserReq) ProtoMessage() {} -func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{47} -} -func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b) -} -func (m *DeleteUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUserReq.Marshal(b, m, deterministic) -} -func (dst *DeleteUserReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUserReq.Merge(dst, src) -} -func (m *DeleteUserReq) XXX_Size() int { - return xxx_messageInfo_DeleteUserReq.Size(m) -} -func (m *DeleteUserReq) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUserReq.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUserReq proto.InternalMessageInfo - -func (m *DeleteUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *DeleteUserReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *DeleteUserReq) GetOpUserId() string { - if m != nil { - return m.OpUserId - } - return "" -} - -type DeleteUserResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUserResp) Reset() { *m = DeleteUserResp{} } -func (m *DeleteUserResp) String() string { return proto.CompactTextString(m) } -func (*DeleteUserResp) ProtoMessage() {} -func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{48} -} -func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b) -} -func (m *DeleteUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUserResp.Marshal(b, m, deterministic) -} -func (dst *DeleteUserResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUserResp.Merge(dst, src) -} -func (m *DeleteUserResp) XXX_Size() int { - return xxx_messageInfo_DeleteUserResp.Size(m) -} -func (m *DeleteUserResp) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUserResp.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUserResp proto.InternalMessageInfo - -func (m *DeleteUserResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - func init() { proto.RegisterType((*CommonResp)(nil), "user.CommonResp") - proto.RegisterType((*DeleteUsersReq)(nil), "user.DeleteUsersReq") - proto.RegisterType((*DeleteUsersResp)(nil), "user.DeleteUsersResp") proto.RegisterType((*GetAllUserIDReq)(nil), "user.GetAllUserIDReq") proto.RegisterType((*GetAllUserIDResp)(nil), "user.GetAllUserIDResp") proto.RegisterType((*AccountCheckReq)(nil), "user.AccountCheckReq") @@ -2696,16 +1850,8 @@ func init() { proto.RegisterType((*GetAllConversationsResp)(nil), "user.GetAllConversationsResp") proto.RegisterType((*BatchSetConversationsReq)(nil), "user.BatchSetConversationsReq") proto.RegisterType((*BatchSetConversationsResp)(nil), "user.BatchSetConversationsResp") - proto.RegisterType((*ResignUserReq)(nil), "user.ResignUserReq") - proto.RegisterType((*ResignUserResp)(nil), "user.ResignUserResp") - proto.RegisterType((*GetUserByIdReq)(nil), "user.GetUserByIdReq") - proto.RegisterType((*User)(nil), "user.User") - proto.RegisterType((*GetUserByIdResp)(nil), "user.GetUserByIdResp") - proto.RegisterType((*GetUsersByNameReq)(nil), "user.GetUsersByNameReq") - proto.RegisterType((*GetUsersByNameResp)(nil), "user.GetUsersByNameResp") - proto.RegisterType((*AlterUserReq)(nil), "user.AlterUserReq") - proto.RegisterType((*AlterUserResp)(nil), "user.AlterUserResp") proto.RegisterType((*GetUsersReq)(nil), "user.GetUsersReq") + proto.RegisterType((*CmsUser)(nil), "user.CmsUser") proto.RegisterType((*GetUsersResp)(nil), "user.GetUsersResp") proto.RegisterType((*AddUserReq)(nil), "user.AddUserReq") proto.RegisterType((*AddUserResp)(nil), "user.AddUserResp") @@ -2716,10 +1862,6 @@ func init() { proto.RegisterType((*GetBlockUsersReq)(nil), "user.GetBlockUsersReq") proto.RegisterType((*BlockUser)(nil), "user.BlockUser") proto.RegisterType((*GetBlockUsersResp)(nil), "user.GetBlockUsersResp") - proto.RegisterType((*GetBlockUserByIdReq)(nil), "user.GetBlockUserByIdReq") - proto.RegisterType((*GetBlockUserByIdResp)(nil), "user.GetBlockUserByIdResp") - proto.RegisterType((*DeleteUserReq)(nil), "user.DeleteUserReq") - proto.RegisterType((*DeleteUserResp)(nil), "user.DeleteUserResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2736,7 +1878,6 @@ type UserClient interface { GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) - DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) GetConversation(ctx context.Context, in *GetConversationReq, opts ...grpc.CallOption) (*GetConversationResp, error) @@ -2745,17 +1886,11 @@ type UserClient interface { BatchSetConversations(ctx context.Context, in *BatchSetConversationsReq, opts ...grpc.CallOption) (*BatchSetConversationsResp, error) SetConversation(ctx context.Context, in *SetConversationReq, opts ...grpc.CallOption) (*SetConversationResp, error) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, opts ...grpc.CallOption) (*SetRecvMsgOptResp, error) - GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) - GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) - ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) - AlterUser(ctx context.Context, in *AlterUserReq, opts ...grpc.CallOption) (*AlterUserResp, error) GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc.CallOption) (*GetUsersResp, error) AddUser(ctx context.Context, in *AddUserReq, opts ...grpc.CallOption) (*AddUserResp, error) BlockUser(ctx context.Context, in *BlockUserReq, opts ...grpc.CallOption) (*BlockUserResp, error) UnBlockUser(ctx context.Context, in *UnBlockUserReq, opts ...grpc.CallOption) (*UnBlockUserResp, error) GetBlockUsers(ctx context.Context, in *GetBlockUsersReq, opts ...grpc.CallOption) (*GetBlockUsersResp, error) - GetBlockUserById(ctx context.Context, in *GetBlockUserByIdReq, opts ...grpc.CallOption) (*GetBlockUserByIdResp, error) - DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) } type userClient struct { @@ -2793,15 +1928,6 @@ func (c *userClient) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalR return out, nil } -func (c *userClient) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) { - out := new(DeleteUsersResp) - err := grpc.Invoke(ctx, "/user.user/DeleteUsers", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *userClient) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) { out := new(GetAllUserIDResp) err := grpc.Invoke(ctx, "/user.user/GetAllUserID", in, out, c.cc, opts...) @@ -2874,42 +2000,6 @@ func (c *userClient) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, op return out, nil } -func (c *userClient) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) { - out := new(GetUserByIdResp) - err := grpc.Invoke(ctx, "/user.user/GetUserById", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) { - out := new(GetUsersByNameResp) - err := grpc.Invoke(ctx, "/user.user/GetUsersByName", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) { - out := new(ResignUserResp) - err := grpc.Invoke(ctx, "/user.user/ResignUser", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) AlterUser(ctx context.Context, in *AlterUserReq, opts ...grpc.CallOption) (*AlterUserResp, error) { - out := new(AlterUserResp) - err := grpc.Invoke(ctx, "/user.user/AlterUser", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *userClient) GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc.CallOption) (*GetUsersResp, error) { out := new(GetUsersResp) err := grpc.Invoke(ctx, "/user.user/GetUsers", in, out, c.cc, opts...) @@ -2955,31 +2045,12 @@ func (c *userClient) GetBlockUsers(ctx context.Context, in *GetBlockUsersReq, op return out, nil } -func (c *userClient) GetBlockUserById(ctx context.Context, in *GetBlockUserByIdReq, opts ...grpc.CallOption) (*GetBlockUserByIdResp, error) { - out := new(GetBlockUserByIdResp) - err := grpc.Invoke(ctx, "/user.user/GetBlockUserById", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) { - out := new(DeleteUserResp) - err := grpc.Invoke(ctx, "/user.user/DeleteUser", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // Server API for User service type UserServer interface { GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) SetGlobalRecvMessageOpt(context.Context, *SetGlobalRecvMessageOptReq) (*SetGlobalRecvMessageOptResp, error) - DeleteUsers(context.Context, *DeleteUsersReq) (*DeleteUsersResp, error) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) GetConversation(context.Context, *GetConversationReq) (*GetConversationResp, error) @@ -2988,17 +2059,11 @@ type UserServer interface { BatchSetConversations(context.Context, *BatchSetConversationsReq) (*BatchSetConversationsResp, error) SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) SetRecvMsgOpt(context.Context, *SetRecvMsgOptReq) (*SetRecvMsgOptResp, error) - GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) - GetUsersByName(context.Context, *GetUsersByNameReq) (*GetUsersByNameResp, error) - ResignUser(context.Context, *ResignUserReq) (*ResignUserResp, error) - AlterUser(context.Context, *AlterUserReq) (*AlterUserResp, error) GetUsers(context.Context, *GetUsersReq) (*GetUsersResp, error) AddUser(context.Context, *AddUserReq) (*AddUserResp, error) BlockUser(context.Context, *BlockUserReq) (*BlockUserResp, error) UnBlockUser(context.Context, *UnBlockUserReq) (*UnBlockUserResp, error) GetBlockUsers(context.Context, *GetBlockUsersReq) (*GetBlockUsersResp, error) - GetBlockUserById(context.Context, *GetBlockUserByIdReq) (*GetBlockUserByIdResp, error) - DeleteUser(context.Context, *DeleteUserReq) (*DeleteUserResp, error) } func RegisterUserServer(s *grpc.Server, srv UserServer) { @@ -3059,24 +2124,6 @@ func _User_SetGlobalRecvMessageOpt_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _User_DeleteUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteUsersReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).DeleteUsers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/DeleteUsers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).DeleteUsers(ctx, req.(*DeleteUsersReq)) - } - return interceptor(ctx, in, info, handler) -} - func _User_GetAllUserID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAllUserIDReq) if err := dec(in); err != nil { @@ -3221,78 +2268,6 @@ func _User_SetRecvMsgOpt_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } -func _User_GetUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserByIdReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetUserById(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetUserById", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetUserById(ctx, req.(*GetUserByIdReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetUsersByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUsersByNameReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetUsersByName(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetUsersByName", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetUsersByName(ctx, req.(*GetUsersByNameReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_ResignUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResignUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).ResignUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/ResignUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).ResignUser(ctx, req.(*ResignUserReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_AlterUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AlterUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).AlterUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/AlterUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).AlterUser(ctx, req.(*AlterUserReq)) - } - return interceptor(ctx, in, info, handler) -} - func _User_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetUsersReq) if err := dec(in); err != nil { @@ -3383,42 +2358,6 @@ func _User_GetBlockUsers_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } -func _User_GetBlockUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetBlockUserByIdReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetBlockUserById(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetBlockUserById", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetBlockUserById(ctx, req.(*GetBlockUserByIdReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).DeleteUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/DeleteUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).DeleteUser(ctx, req.(*DeleteUserReq)) - } - return interceptor(ctx, in, info, handler) -} - var _User_serviceDesc = grpc.ServiceDesc{ ServiceName: "user.user", HandlerType: (*UserServer)(nil), @@ -3435,10 +2374,6 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "SetGlobalRecvMessageOpt", Handler: _User_SetGlobalRecvMessageOpt_Handler, }, - { - MethodName: "DeleteUsers", - Handler: _User_DeleteUsers_Handler, - }, { MethodName: "GetAllUserID", Handler: _User_GetAllUserID_Handler, @@ -3471,22 +2406,6 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "SetRecvMsgOpt", Handler: _User_SetRecvMsgOpt_Handler, }, - { - MethodName: "GetUserById", - Handler: _User_GetUserById_Handler, - }, - { - MethodName: "GetUsersByName", - Handler: _User_GetUsersByName_Handler, - }, - { - MethodName: "ResignUser", - Handler: _User_ResignUser_Handler, - }, - { - MethodName: "AlterUser", - Handler: _User_AlterUser_Handler, - }, { MethodName: "GetUsers", Handler: _User_GetUsers_Handler, @@ -3507,140 +2426,101 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "GetBlockUsers", Handler: _User_GetBlockUsers_Handler, }, - { - MethodName: "GetBlockUserById", - Handler: _User_GetBlockUserById_Handler, - }, - { - MethodName: "DeleteUser", - Handler: _User_DeleteUser_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "user/user.proto", } -func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_862a17c60dc96c16) } +func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_2773e613441bfdc6) } -var fileDescriptor_user_862a17c60dc96c16 = []byte{ - // 1900 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0x23, 0x49, - 0x19, 0x57, 0xc7, 0xf6, 0x24, 0xf9, 0x1c, 0x3f, 0x52, 0x93, 0x9d, 0xf4, 0xf6, 0xc2, 0x90, 0x6d, - 0x2d, 0x4b, 0x34, 0x12, 0x0e, 0x3b, 0x20, 0x8d, 0xb4, 0x88, 0xdd, 0x89, 0x9d, 0x8c, 0x65, 0x34, - 0x33, 0x89, 0xda, 0x3b, 0x12, 0x42, 0x88, 0xa8, 0x63, 0x57, 0x9c, 0x56, 0xec, 0xee, 0xde, 0xae, - 0xf6, 0x8c, 0xc2, 0x65, 0x11, 0x20, 0x21, 0xad, 0xe0, 0xc0, 0x09, 0x71, 0xe1, 0xc0, 0x9f, 0x02, - 0x37, 0xc4, 0x3f, 0xc0, 0x89, 0xff, 0x81, 0x0b, 0x17, 0x0e, 0xa8, 0x1e, 0xdd, 0x5d, 0xd5, 0xd5, - 0x8e, 0x3d, 0x9d, 0x88, 0xb9, 0x24, 0xfe, 0x7e, 0xf5, 0xe8, 0xef, 0xf7, 0xd5, 0xf7, 0xa8, 0x07, - 0xb4, 0xe6, 0x04, 0x47, 0x07, 0xf4, 0x4f, 0x27, 0x8c, 0x82, 0x38, 0x40, 0x55, 0xfa, 0xdb, 0xfa, - 0xf0, 0x24, 0xc4, 0xfe, 0xd9, 0xe0, 0xc5, 0x41, 0x78, 0x35, 0x39, 0x60, 0x0d, 0x07, 0x64, 0x7c, - 0x75, 0xf6, 0x86, 0x1c, 0xbc, 0x21, 0xbc, 0xa3, 0xf5, 0x89, 0xde, 0x65, 0x14, 0xf8, 0xaf, 0x71, - 0x44, 0xdc, 0xd8, 0x0b, 0x7c, 0x45, 0xe0, 0x43, 0xec, 0xcf, 0x00, 0x7a, 0xc1, 0x6c, 0x16, 0xf8, - 0x0e, 0x26, 0x21, 0x32, 0x61, 0x1d, 0x47, 0x51, 0x2f, 0x18, 0x63, 0xd3, 0xd8, 0x33, 0xf6, 0x6b, - 0x4e, 0x22, 0xa2, 0x07, 0x70, 0x0f, 0x47, 0xd1, 0x0b, 0x32, 0x31, 0xd7, 0xf6, 0x8c, 0xfd, 0x4d, - 0x47, 0x48, 0xf6, 0x2f, 0xa0, 0x79, 0x84, 0xa7, 0x38, 0xc6, 0xaf, 0x08, 0x8e, 0x88, 0x83, 0xbf, - 0x44, 0x8f, 0xa0, 0x9d, 0x21, 0x83, 0xa3, 0xe7, 0x1e, 0x89, 0xcd, 0xb5, 0xbd, 0xca, 0xfe, 0xa6, - 0xa3, 0xe1, 0xc8, 0x82, 0x8d, 0x93, 0x90, 0xcb, 0x66, 0x85, 0xcd, 0x9b, 0xca, 0x68, 0x0f, 0xea, - 0x27, 0x21, 0x8e, 0x98, 0xb2, 0x83, 0x23, 0xb3, 0xca, 0x9a, 0x65, 0xc8, 0x0e, 0xa0, 0xa5, 0x7c, - 0x9b, 0x84, 0xe8, 0x7b, 0x32, 0x1d, 0xc6, 0xa1, 0xfe, 0xb8, 0xdd, 0x61, 0xb6, 0xcc, 0x70, 0x47, - 0xa6, 0xfc, 0x08, 0xda, 0xcf, 0x5c, 0x6f, 0x8a, 0xc7, 0xba, 0xba, 0x79, 0xdc, 0x3e, 0x81, 0x56, - 0x1f, 0xc7, 0x87, 0xd3, 0x29, 0xc7, 0x28, 0x5b, 0x0b, 0x36, 0x82, 0x84, 0x81, 0xc1, 0x19, 0x04, - 0x12, 0x83, 0x40, 0x62, 0xc0, 0x0d, 0x27, 0x43, 0xf6, 0x18, 0xda, 0xea, 0x84, 0xa5, 0x28, 0x3c, - 0x04, 0xd0, 0x94, 0x97, 0x10, 0xfb, 0x1a, 0x5a, 0x87, 0xa3, 0x51, 0x30, 0xf7, 0xe3, 0xde, 0x25, - 0x1e, 0x5d, 0x51, 0xb5, 0xf7, 0xa1, 0xc5, 0x7e, 0x4b, 0xe3, 0x0c, 0x36, 0x2e, 0x0f, 0x2b, 0x4b, - 0xb4, 0x76, 0xf3, 0x12, 0x55, 0xf4, 0x25, 0xfa, 0x97, 0x01, 0x6d, 0xf5, 0xdb, 0x9c, 0xe1, 0x68, - 0x05, 0x86, 0x59, 0x1f, 0xd4, 0x07, 0x70, 0x30, 0x99, 0x4f, 0xe3, 0x94, 0x61, 0xfd, 0xf1, 0x77, - 0xf8, 0x88, 0xfc, 0xec, 0x9d, 0xa1, 0xe7, 0x4f, 0xa6, 0xcc, 0x25, 0x86, 0xb1, 0x1b, 0xcf, 0x89, - 0x23, 0x0d, 0xb5, 0x4e, 0xa1, 0x9d, 0x6f, 0xa7, 0xae, 0x3d, 0x97, 0x17, 0x50, 0x48, 0xe8, 0x23, - 0x68, 0xb8, 0x7c, 0x72, 0xde, 0x51, 0xd0, 0x57, 0x41, 0xdb, 0x87, 0x66, 0x1f, 0xc7, 0xcc, 0x20, - 0xfe, 0x45, 0x40, 0x6d, 0xfb, 0x10, 0x60, 0x9e, 0x37, 0xab, 0x84, 0xdc, 0xd2, 0xa2, 0xbf, 0x31, - 0x98, 0x13, 0x66, 0x1f, 0x2c, 0x65, 0xd0, 0xcf, 0x61, 0x2b, 0x99, 0x81, 0x69, 0x59, 0x61, 0x26, - 0xfd, 0xa0, 0x43, 0x70, 0xf4, 0x1a, 0x47, 0x67, 0x6e, 0xe8, 0x9d, 0x85, 0x6e, 0xe4, 0xce, 0x48, - 0x27, 0xfd, 0x90, 0x32, 0xc0, 0xfe, 0xda, 0x80, 0xed, 0x57, 0xe1, 0xd8, 0x15, 0xe1, 0x2c, 0xa8, - 0x3f, 0x81, 0x8d, 0x44, 0x14, 0x6a, 0xdc, 0x38, 0x65, 0xda, 0x79, 0x99, 0x4d, 0x02, 0xdd, 0x26, - 0x72, 0x18, 0x3d, 0x03, 0x94, 0xd7, 0xa5, 0x8c, 0x55, 0xec, 0x5f, 0x19, 0x60, 0x0d, 0x71, 0xdc, - 0x9f, 0x06, 0xe7, 0xee, 0xd4, 0xc1, 0xa3, 0xd7, 0x2f, 0x30, 0x21, 0xee, 0x04, 0x9f, 0x84, 0x31, - 0x65, 0xb7, 0xc8, 0x51, 0x96, 0xc6, 0x39, 0x4d, 0x32, 0x93, 0x6c, 0x52, 0x32, 0x39, 0x09, 0x63, - 0xc6, 0xa3, 0xe6, 0x68, 0xb8, 0x7d, 0x02, 0x1f, 0x2c, 0xd4, 0xa1, 0x14, 0xab, 0xbf, 0x18, 0x80, - 0x86, 0x38, 0xee, 0x49, 0xc9, 0x9f, 0xb2, 0xf9, 0x0c, 0xb6, 0x64, 0x48, 0x4c, 0x65, 0x75, 0x94, - 0x22, 0xa1, 0x0c, 0x52, 0xfa, 0x53, 0x4e, 0x7e, 0x10, 0x7b, 0x17, 0xde, 0x88, 0xc9, 0x5f, 0x5c, - 0x87, 0x98, 0x51, 0xaf, 0x39, 0x1a, 0xbe, 0x82, 0x5b, 0xf7, 0xe1, 0xbe, 0xa6, 0x63, 0x29, 0xb6, - 0x7f, 0x37, 0xa0, 0x3d, 0xc4, 0x71, 0x66, 0x50, 0xca, 0x95, 0x7e, 0xff, 0x8d, 0x8f, 0x23, 0x25, - 0x51, 0xcb, 0x10, 0xfa, 0x18, 0x9a, 0xf2, 0xc7, 0xd3, 0x65, 0xcc, 0xa1, 0x34, 0xb8, 0xb5, 0x35, - 0x94, 0x90, 0x42, 0xab, 0x54, 0x57, 0xb3, 0x4a, 0x4d, 0xb7, 0xca, 0x31, 0x6c, 0xe7, 0xb8, 0x94, - 0xb2, 0xc9, 0x2f, 0x0d, 0x40, 0x7d, 0xdd, 0x03, 0x74, 0xce, 0x46, 0x21, 0xe7, 0x9c, 0xf5, 0xd6, - 0x74, 0xeb, 0x2d, 0x5f, 0xdf, 0xdf, 0x1a, 0x70, 0xbf, 0x7f, 0x17, 0x0b, 0xac, 0xf9, 0xed, 0xda, - 0xdb, 0xf9, 0xad, 0xfd, 0x6b, 0x5d, 0x13, 0xb2, 0x9a, 0x8f, 0xd0, 0xa2, 0xa9, 0x58, 0x86, 0x88, - 0x62, 0x9b, 0x87, 0x57, 0xb0, 0xc7, 0xd7, 0x06, 0xec, 0xe8, 0x5a, 0x94, 0x32, 0xc8, 0x53, 0x68, - 0x28, 0xd3, 0x88, 0xfa, 0x78, 0x93, 0x45, 0xd4, 0x01, 0xf6, 0xcf, 0xe0, 0x01, 0xdf, 0x86, 0x94, - 0x30, 0x4a, 0x8e, 0xea, 0x9a, 0x4e, 0xf5, 0xf7, 0x06, 0xec, 0x16, 0x4e, 0xff, 0x8e, 0xd8, 0xfe, - 0xc3, 0x00, 0xb3, 0xeb, 0xc6, 0xa3, 0xcb, 0x61, 0x81, 0x17, 0x68, 0xd3, 0x1b, 0x6f, 0x39, 0xfd, - 0x0a, 0xd1, 0x52, 0x94, 0x23, 0x2a, 0xab, 0xe5, 0x88, 0x82, 0x5d, 0xf0, 0x57, 0xf0, 0xfe, 0x02, - 0x36, 0xa5, 0xec, 0x6b, 0xc2, 0xfa, 0x70, 0x3e, 0x1a, 0x61, 0x92, 0x38, 0x77, 0x22, 0xd2, 0xf2, - 0xc7, 0x77, 0xc4, 0x6c, 0xb7, 0xb0, 0xe9, 0x08, 0xc9, 0x1e, 0x40, 0xc3, 0xc1, 0xc4, 0x9b, 0xf8, - 0x94, 0x9e, 0xa8, 0x93, 0x8c, 0xe9, 0x38, 0xa9, 0x93, 0x5c, 0x5a, 0xc1, 0x55, 0xba, 0xd0, 0x94, - 0xa7, 0x2a, 0x95, 0xec, 0x7e, 0x9c, 0x6e, 0xc8, 0xba, 0xd7, 0x83, 0xf1, 0xed, 0xf4, 0xf9, 0x6b, - 0x05, 0xaa, 0xb4, 0x33, 0xb2, 0x61, 0xeb, 0x34, 0x0a, 0x2e, 0xbc, 0x29, 0x3e, 0xbd, 0x0c, 0xe2, - 0x40, 0x4c, 0xa4, 0x60, 0x74, 0x0f, 0xf3, 0xd2, 0x1b, 0x5d, 0xf9, 0xee, 0x0c, 0x27, 0x7b, 0x98, - 0x44, 0x96, 0x54, 0xa8, 0x28, 0x2a, 0x3c, 0x04, 0xe8, 0x45, 0xd8, 0x8d, 0xf1, 0x17, 0xde, 0x0c, - 0x8b, 0xd5, 0x95, 0x10, 0xaa, 0xe2, 0xe9, 0x65, 0xe0, 0xe3, 0x97, 0xf3, 0xd9, 0x39, 0x8e, 0x92, - 0x12, 0x21, 0x41, 0x68, 0x07, 0x6a, 0xc7, 0x33, 0xd7, 0x9b, 0x9a, 0xf7, 0x58, 0x1b, 0x17, 0x28, - 0xda, 0xf5, 0xa2, 0xf8, 0xd2, 0x5c, 0xe7, 0x28, 0x13, 0xa8, 0x86, 0x7c, 0xee, 0x41, 0x68, 0x6e, - 0x70, 0x0d, 0x13, 0x99, 0xee, 0x76, 0x9f, 0xbb, 0x24, 0x7e, 0x1e, 0x4c, 0x3c, 0x9f, 0x29, 0xb3, - 0xc9, 0x77, 0xbb, 0x0a, 0x48, 0xf5, 0x49, 0x81, 0x41, 0x68, 0x02, 0xd7, 0x47, 0x82, 0x28, 0xa3, - 0xb4, 0x3b, 0x31, 0xeb, 0xbc, 0x40, 0x66, 0x08, 0xb5, 0x44, 0x1f, 0xfb, 0x63, 0x1c, 0x99, 0x5b, - 0xac, 0x4d, 0x48, 0xe9, 0xb8, 0xe7, 0xde, 0xcc, 0x8b, 0xcd, 0x86, 0x34, 0x8e, 0x21, 0xd4, 0x2f, - 0x07, 0xa4, 0x3b, 0x0d, 0x46, 0x57, 0x66, 0x73, 0xcf, 0xd8, 0xdf, 0x70, 0x12, 0x91, 0x97, 0xe4, - 0x89, 0x47, 0x62, 0x1c, 0x0d, 0x42, 0xb3, 0xc5, 0x6d, 0x98, 0x21, 0xf6, 0x28, 0xdd, 0x30, 0x73, - 0x87, 0x28, 0x79, 0xc6, 0x62, 0xa7, 0x70, 0x51, 0x6d, 0x80, 0xf7, 0x65, 0x5e, 0xca, 0x70, 0xfb, - 0x8f, 0x06, 0x6c, 0x8b, 0xaf, 0x90, 0xee, 0xf5, 0x4b, 0x77, 0x86, 0xc5, 0xe9, 0x90, 0x22, 0x54, - 0x4c, 0x4e, 0x87, 0x89, 0x8c, 0x8e, 0x00, 0x4e, 0xdd, 0x89, 0xe7, 0xcb, 0x55, 0xec, 0xa3, 0x82, - 0xdd, 0xb2, 0x83, 0xbf, 0x9c, 0x63, 0x12, 0x67, 0x7d, 0x1d, 0x69, 0xdc, 0x0a, 0x95, 0xe6, 0x4f, - 0xbc, 0xf8, 0x2b, 0x9a, 0x91, 0x10, 0xed, 0x41, 0x8d, 0x2a, 0x9e, 0x24, 0x38, 0x99, 0x11, 0x6f, - 0x40, 0xc7, 0x05, 0x0a, 0x7e, 0xbb, 0x50, 0x41, 0x12, 0x06, 0x3e, 0xc1, 0x0b, 0x34, 0x4c, 0x6c, - 0x30, 0x9f, 0x11, 0x91, 0xe5, 0x52, 0xd9, 0xfe, 0xaf, 0x01, 0x5b, 0x87, 0xd3, 0x98, 0x67, 0xc6, - 0x5b, 0x85, 0x6a, 0x3e, 0x52, 0x2a, 0x7a, 0xa4, 0xc8, 0xf1, 0x59, 0xcd, 0xc5, 0x67, 0x1a, 0x45, - 0x35, 0x39, 0x8a, 0x32, 0x5f, 0xe5, 0xc1, 0x95, 0xf8, 0x6a, 0x71, 0x74, 0xed, 0x40, 0x8d, 0x27, - 0x07, 0x1e, 0x5a, 0xb5, 0x34, 0x2b, 0x88, 0x93, 0xcc, 0x58, 0x84, 0x54, 0x2a, 0xdb, 0x87, 0xd0, - 0x90, 0xd8, 0x97, 0xf1, 0x4b, 0xfb, 0x0f, 0x06, 0xd4, 0x93, 0xd5, 0x4d, 0x0a, 0xb6, 0x64, 0x28, - 0x43, 0x37, 0xd4, 0xdd, 0xf8, 0x9d, 0xec, 0xd9, 0x15, 0xd5, 0xb3, 0xed, 0xbf, 0x19, 0xb0, 0x95, - 0xe9, 0x74, 0xcb, 0x70, 0xab, 0x14, 0x85, 0x5b, 0xce, 0x37, 0x2b, 0x77, 0xe1, 0x9b, 0xd5, 0x9c, - 0x6f, 0xfe, 0xdb, 0x00, 0x38, 0x1c, 0x8f, 0x13, 0xcf, 0x5c, 0x6e, 0xd8, 0x9c, 0x07, 0xae, 0xe9, - 0x1e, 0xb8, 0xa8, 0x0a, 0x20, 0xa8, 0x4a, 0x5e, 0x59, 0x7d, 0x87, 0x1e, 0xf9, 0x39, 0xd4, 0x53, - 0xce, 0xa5, 0xfc, 0xf1, 0x77, 0x06, 0x6c, 0xb1, 0xb4, 0xbc, 0x2c, 0xa2, 0x3f, 0x86, 0xe6, 0xb1, - 0x3f, 0x3e, 0xf2, 0x88, 0x7b, 0x3e, 0xe5, 0xd5, 0x4f, 0x1c, 0xb8, 0x54, 0x74, 0x79, 0x82, 0x53, - 0xf8, 0x54, 0xf5, 0x08, 0x93, 0xb4, 0x29, 0xc5, 0xe8, 0x02, 0x9a, 0xaf, 0xfc, 0x95, 0x28, 0x2d, - 0x4f, 0x52, 0xb2, 0xaa, 0x95, 0x9c, 0xaa, 0x3d, 0x68, 0x29, 0xdf, 0x29, 0xa5, 0xec, 0x9f, 0x0d, - 0x76, 0xa3, 0x98, 0x4e, 0xc3, 0x72, 0x82, 0x1a, 0xf1, 0xc6, 0xdd, 0x54, 0x9a, 0x02, 0x76, 0xb6, - 0xb4, 0xf4, 0x2f, 0xe7, 0x33, 0x91, 0xed, 0x15, 0xcc, 0xfe, 0x0a, 0x36, 0x53, 0x99, 0x46, 0x39, - 0xfd, 0x2f, 0x54, 0x52, 0xa2, 0x9c, 0xb5, 0x3f, 0x82, 0x76, 0x17, 0x4f, 0x3c, 0x5f, 0xf7, 0x12, - 0x0d, 0x2f, 0xf0, 0xa7, 0x4a, 0x91, 0x3f, 0xd9, 0xff, 0xe4, 0x85, 0x5a, 0xb6, 0x50, 0xa9, 0x0c, - 0x75, 0x00, 0x90, 0xcd, 0x21, 0xf2, 0x54, 0x8b, 0x8f, 0xc8, 0x16, 0x51, 0xea, 0xf2, 0xff, 0x48, - 0x59, 0xa7, 0xec, 0x64, 0x9b, 0x7e, 0x33, 0xd9, 0xff, 0xee, 0xc2, 0x3a, 0x15, 0xcf, 0xbc, 0xb7, - 0xdf, 0x00, 0x1f, 0xb3, 0x53, 0x6a, 0x6e, 0x46, 0x12, 0xa2, 0xef, 0x4a, 0xcb, 0x28, 0x6a, 0x88, - 0x46, 0x3e, 0xeb, 0x61, 0x5f, 0x40, 0x23, 0xbb, 0xa9, 0xbf, 0x9d, 0x4a, 0x37, 0xc6, 0x50, 0x57, - 0x7e, 0x8d, 0x28, 0xb7, 0xb0, 0x8f, 0xff, 0x53, 0xe7, 0xb5, 0x07, 0x7d, 0x9a, 0x56, 0x56, 0x76, - 0x45, 0xb9, 0xc3, 0x47, 0xa9, 0x97, 0xbd, 0xd6, 0x7b, 0x05, 0x28, 0x09, 0x51, 0x0f, 0x9a, 0xea, - 0x8d, 0x24, 0xda, 0x15, 0xde, 0x9d, 0xbf, 0x33, 0xb5, 0xcc, 0xe2, 0x06, 0x12, 0xa2, 0x9f, 0xc3, - 0xee, 0x82, 0x9b, 0x40, 0xb4, 0xc7, 0x07, 0x2d, 0xbe, 0xac, 0xb4, 0x3e, 0x5c, 0xd2, 0x83, 0x84, - 0x94, 0xa0, 0xf4, 0x7e, 0x92, 0x10, 0x54, 0x9f, 0x73, 0x12, 0x82, 0xf9, 0x87, 0x96, 0x1f, 0xb1, - 0x12, 0x9f, 0xbe, 0x5c, 0xa0, 0xcc, 0x0e, 0xf2, 0xf3, 0x88, 0xf5, 0xa0, 0x08, 0xe6, 0xc3, 0xe5, - 0x8b, 0xfb, 0x64, 0x78, 0xee, 0x99, 0x22, 0x19, 0xae, 0xbd, 0x20, 0x3c, 0x63, 0x5b, 0x7a, 0xe5, - 0x3a, 0xd2, 0x4c, 0xbf, 0x94, 0xbb, 0xe6, 0xb2, 0xde, 0x5f, 0xd0, 0x42, 0x42, 0xe4, 0xb0, 0x80, - 0xc9, 0xdf, 0x4c, 0xa0, 0x6f, 0xc8, 0x5a, 0xe7, 0xaf, 0x08, 0xac, 0x6f, 0xde, 0xd0, 0x4a, 0x42, - 0x34, 0x60, 0x19, 0x58, 0x9d, 0xb0, 0x58, 0x05, 0x36, 0x9b, 0xb5, 0xa8, 0x89, 0x84, 0xe8, 0x27, - 0xf0, 0x5e, 0xe1, 0xd1, 0x1e, 0x3d, 0x14, 0xb1, 0xb6, 0xe0, 0x16, 0xc3, 0xfa, 0xd6, 0x8d, 0xed, - 0xdc, 0x80, 0xc3, 0x62, 0x03, 0x0e, 0x17, 0x1a, 0xb0, 0xe8, 0x7e, 0xf6, 0x29, 0x34, 0x94, 0x0b, - 0x4a, 0xf4, 0x20, 0xed, 0xab, 0xdc, 0xc0, 0x5a, 0xbb, 0x85, 0x38, 0x77, 0x42, 0xe9, 0x74, 0x96, - 0x8b, 0x32, 0x91, 0xc1, 0x72, 0x51, 0x96, 0x66, 0xa1, 0x5e, 0x7a, 0xd4, 0x17, 0x27, 0x9b, 0x24, - 0xca, 0xb4, 0x93, 0x98, 0x65, 0x16, 0x37, 0x90, 0x10, 0x3d, 0x61, 0x6f, 0x4b, 0xe2, 0xce, 0x01, - 0xdd, 0xe7, 0xfd, 0x94, 0x0b, 0x0d, 0x6b, 0x47, 0x07, 0x49, 0x88, 0x7e, 0x00, 0x9b, 0xe9, 0xee, - 0x1d, 0x21, 0xe1, 0xa9, 0xd2, 0x61, 0xc6, 0xba, 0xaf, 0x61, 0x24, 0x44, 0x9f, 0xc0, 0x46, 0xa2, - 0x04, 0xda, 0x56, 0x95, 0xa2, 0x63, 0x50, 0x1e, 0x22, 0x21, 0xea, 0xc0, 0xba, 0xd8, 0x94, 0x21, - 0x91, 0xba, 0xb2, 0x7d, 0xa9, 0xb5, 0x9d, 0x43, 0xb8, 0x62, 0x59, 0x8d, 0x45, 0xf9, 0xb4, 0x9c, - 0x29, 0xa6, 0x6e, 0x36, 0x3e, 0x85, 0xba, 0xb4, 0xff, 0x48, 0x16, 0x42, 0xdd, 0xfa, 0x24, 0x0b, - 0x91, 0xdf, 0xa8, 0x3c, 0x85, 0x86, 0x52, 0x53, 0x51, 0x16, 0xf7, 0xca, 0x56, 0xc4, 0xda, 0x2d, - 0xc4, 0xd3, 0xa8, 0x51, 0x0a, 0x8d, 0x14, 0x35, 0xf9, 0x92, 0x26, 0x45, 0x8d, 0x5e, 0x9b, 0x9e, - 0x00, 0x64, 0xd9, 0x2a, 0x59, 0x50, 0xa5, 0xfc, 0x58, 0x3b, 0x3a, 0x48, 0xc2, 0x6e, 0xe3, 0xa7, - 0xf5, 0x0e, 0x7b, 0x77, 0xff, 0x21, 0xfd, 0x73, 0x7e, 0x8f, 0xbd, 0x90, 0x7f, 0xff, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0xb3, 0xba, 0x11, 0x76, 0x90, 0x1f, 0x00, 0x00, +var fileDescriptor_user_2773e613441bfdc6 = []byte{ + // 1397 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xd7, 0xc4, 0x49, 0x13, 0x3f, 0xc7, 0xb1, 0x3d, 0x6d, 0x13, 0x77, 0xdb, 0x6f, 0xbf, 0xe9, + 0xaa, 0x94, 0x50, 0x21, 0x9b, 0x06, 0x24, 0x24, 0x10, 0x6d, 0x13, 0xa7, 0xb5, 0x22, 0x91, 0xb8, + 0x5a, 0x27, 0x12, 0x42, 0x88, 0x68, 0x63, 0x4f, 0xdc, 0x55, 0xec, 0xdd, 0xc9, 0xce, 0x3a, 0x51, + 0x4f, 0x20, 0x40, 0x42, 0xaa, 0xe0, 0xce, 0x99, 0x1b, 0xff, 0x05, 0x37, 0x24, 0xc4, 0x81, 0x2b, + 0x27, 0xfe, 0x15, 0xb4, 0xb3, 0xbf, 0x66, 0x76, 0xd6, 0xb1, 0xb3, 0x54, 0xe2, 0x62, 0x79, 0xde, + 0xcc, 0xbc, 0x79, 0x9f, 0xcf, 0xbe, 0x79, 0x3f, 0x06, 0x2a, 0x63, 0x46, 0xdc, 0xa6, 0xff, 0xd3, + 0xa0, 0xae, 0xe3, 0x39, 0x78, 0xde, 0xff, 0xaf, 0xdd, 0xeb, 0x50, 0x62, 0x1f, 0xed, 0xee, 0x35, + 0xe9, 0xe9, 0xa0, 0xc9, 0x27, 0x9a, 0xac, 0x7f, 0x7a, 0x74, 0xc1, 0x9a, 0x17, 0x2c, 0x58, 0xa8, + 0x3d, 0x52, 0x97, 0xf4, 0x1c, 0xfb, 0x9c, 0xb8, 0xcc, 0xf4, 0x2c, 0xc7, 0x96, 0x06, 0xc1, 0x16, + 0xfd, 0x31, 0x40, 0xcb, 0x19, 0x8d, 0x1c, 0xdb, 0x20, 0x8c, 0xe2, 0x3a, 0x2c, 0x12, 0xd7, 0x6d, + 0x39, 0x7d, 0x52, 0x47, 0xeb, 0x68, 0x63, 0xc1, 0x88, 0x86, 0x78, 0x15, 0xae, 0x11, 0xd7, 0xdd, + 0x63, 0x83, 0xfa, 0xdc, 0x3a, 0xda, 0x28, 0x1a, 0xe1, 0x48, 0xef, 0x40, 0xa5, 0x4d, 0xbc, 0xad, + 0xe1, 0xf0, 0x90, 0x11, 0x77, 0x77, 0xc7, 0x20, 0x67, 0x58, 0x83, 0x25, 0x87, 0x06, 0x43, 0xae, + 0xa5, 0x68, 0xc4, 0x63, 0xbc, 0x0e, 0x25, 0x87, 0x12, 0x97, 0x5b, 0xb0, 0xbb, 0x13, 0xea, 0x12, + 0x45, 0x7a, 0x1f, 0xaa, 0xb2, 0x42, 0x46, 0xf1, 0x7b, 0xa2, 0x91, 0x5c, 0x67, 0x69, 0xb3, 0xda, + 0xe0, 0x0c, 0x25, 0x72, 0x43, 0x04, 0x72, 0x17, 0x20, 0xd8, 0xff, 0xa9, 0xc5, 0xbc, 0xfa, 0xdc, + 0x7a, 0x61, 0xa3, 0x68, 0x08, 0x12, 0xfd, 0x15, 0x54, 0xb6, 0x7a, 0x3d, 0x67, 0x6c, 0x7b, 0xad, + 0x97, 0xa4, 0x77, 0xea, 0x9b, 0xbd, 0x01, 0x15, 0xfe, 0x5f, 0xd8, 0x87, 0xf8, 0xbe, 0xb4, 0xd8, + 0x07, 0xd8, 0x89, 0x00, 0x06, 0x08, 0xe2, 0xb1, 0x0f, 0xb0, 0x23, 0x00, 0x2c, 0x04, 0x00, 0x05, + 0x91, 0xfe, 0x37, 0x82, 0xaa, 0x7c, 0x76, 0x80, 0xb0, 0x37, 0x03, 0xc2, 0x64, 0x0d, 0x6e, 0x03, + 0x18, 0x84, 0x8d, 0x87, 0x5e, 0x8c, 0xb0, 0xb4, 0xf9, 0x76, 0xb0, 0x23, 0xad, 0xbd, 0xd1, 0xb5, + 0xec, 0xc1, 0x90, 0xf8, 0x16, 0x76, 0x3d, 0xd3, 0x1b, 0x33, 0x43, 0xd8, 0xaa, 0xbd, 0x80, 0x6a, + 0x7a, 0xde, 0xff, 0xda, 0x63, 0xf1, 0x03, 0x86, 0x23, 0x7c, 0x1f, 0xca, 0x66, 0xa0, 0x3c, 0x58, + 0x18, 0xc2, 0x97, 0x85, 0xba, 0x0d, 0x2b, 0x6d, 0xe2, 0x71, 0x42, 0xec, 0x13, 0xc7, 0xe7, 0xf6, + 0x2e, 0xc0, 0x38, 0x4d, 0xab, 0x20, 0xf9, 0x97, 0x8c, 0x7e, 0x87, 0xb8, 0x13, 0x26, 0x07, 0xe6, + 0x22, 0xf4, 0x09, 0x2c, 0x47, 0x1a, 0xb8, 0x95, 0x05, 0x4e, 0xe9, 0xed, 0x06, 0x23, 0xee, 0x39, + 0x71, 0x8f, 0x4c, 0x6a, 0x1d, 0x51, 0xd3, 0x35, 0x47, 0xac, 0x11, 0x1f, 0x24, 0x6d, 0xd0, 0x5f, + 0x23, 0xa8, 0x1d, 0xd2, 0xbe, 0xe9, 0x11, 0x11, 0xfa, 0x87, 0xb0, 0x14, 0x0d, 0x43, 0x33, 0x2e, + 0x55, 0x19, 0x2f, 0x9e, 0xc6, 0x89, 0xa3, 0x72, 0x22, 0x5e, 0xa3, 0xe7, 0x80, 0xd3, 0xb6, 0xe4, + 0x61, 0x45, 0xff, 0x06, 0x81, 0xd6, 0x25, 0x5e, 0x7b, 0xe8, 0x1c, 0x9b, 0x43, 0x83, 0xf4, 0xce, + 0xf7, 0x08, 0x63, 0xe6, 0x80, 0x74, 0xa8, 0xe7, 0xa3, 0x9b, 0xe4, 0x28, 0x53, 0xef, 0x39, 0x7e, + 0x08, 0xd5, 0x41, 0xa2, 0x94, 0x0d, 0x3a, 0xd4, 0xe3, 0x38, 0x16, 0x0c, 0x45, 0xae, 0x77, 0xe0, + 0xf6, 0x44, 0x1b, 0x72, 0xa1, 0xfa, 0x19, 0x01, 0xee, 0x12, 0xaf, 0x25, 0xc4, 0x43, 0x1f, 0xcd, + 0x63, 0x58, 0x16, 0x45, 0xa1, 0x2a, 0xad, 0x21, 0xc5, 0x4d, 0x69, 0x93, 0xb4, 0xde, 0xc7, 0x64, + 0x3b, 0x9e, 0x75, 0x62, 0xf5, 0xf8, 0xf8, 0xe0, 0x15, 0x25, 0x1c, 0xfa, 0x82, 0xa1, 0xc8, 0x67, + 0x70, 0xeb, 0x36, 0x5c, 0x57, 0x6c, 0xcc, 0x85, 0xf6, 0x77, 0x04, 0xd5, 0x2e, 0xf1, 0x12, 0x42, + 0x7d, 0xac, 0xfe, 0xf9, 0x17, 0x36, 0x71, 0xa5, 0x40, 0x2d, 0x8a, 0xf0, 0x03, 0x58, 0x11, 0x0f, + 0x8f, 0x3f, 0x63, 0x4a, 0xea, 0x5f, 0x6e, 0xe5, 0x1b, 0x0a, 0x92, 0x4c, 0x56, 0xe6, 0x67, 0x63, + 0x65, 0x41, 0x65, 0xe5, 0x19, 0xd4, 0x52, 0x58, 0x72, 0x71, 0xf2, 0x35, 0x02, 0xdc, 0x56, 0x3d, + 0x40, 0xc5, 0x8c, 0x32, 0x31, 0xa7, 0xd8, 0x9b, 0x53, 0xd9, 0x9b, 0xfe, 0x7d, 0xbf, 0x47, 0x70, + 0xbd, 0xfd, 0x26, 0x3e, 0xb0, 0xe2, 0xb7, 0x73, 0x57, 0xf3, 0x5b, 0xfd, 0x5b, 0xd5, 0x12, 0x36, + 0x9b, 0x8f, 0xf8, 0x49, 0x53, 0x62, 0x86, 0x85, 0xc9, 0x36, 0x2d, 0x9e, 0x81, 0x8f, 0xd7, 0x08, + 0x6e, 0xa8, 0x56, 0xe4, 0x22, 0xe4, 0x29, 0x94, 0x25, 0x35, 0x61, 0x7e, 0xbc, 0x8c, 0x11, 0x79, + 0x83, 0xfe, 0x05, 0xac, 0x06, 0x65, 0x48, 0x0e, 0x52, 0x52, 0x50, 0xe7, 0x54, 0xa8, 0x3f, 0x22, + 0x58, 0xcb, 0x54, 0xff, 0x1f, 0xa1, 0xfd, 0x03, 0x41, 0x7d, 0xdb, 0xf4, 0x7a, 0x2f, 0xbb, 0x19, + 0x5e, 0xa0, 0xa8, 0x47, 0x57, 0x54, 0x3f, 0xc3, 0x6d, 0xc9, 0x8a, 0x11, 0x85, 0xd9, 0x62, 0xc4, + 0xbc, 0x4a, 0xef, 0x57, 0x70, 0x6b, 0x02, 0x9a, 0x5c, 0xfc, 0xd6, 0x61, 0xb1, 0x3b, 0xee, 0xf5, + 0x08, 0x8b, 0x9c, 0x3b, 0x1a, 0xfa, 0xe9, 0xef, 0xb9, 0x69, 0x0d, 0x49, 0x9f, 0x57, 0x0b, 0x45, + 0x23, 0x1c, 0xe9, 0xbf, 0x20, 0x28, 0x85, 0x15, 0x49, 0xe4, 0x33, 0x62, 0x3a, 0x44, 0x6a, 0x3a, + 0xdc, 0x01, 0xa0, 0xe6, 0xc0, 0xb2, 0xc5, 0x0b, 0x7c, 0x3f, 0xa3, 0x50, 0x30, 0xc8, 0xd9, 0x98, + 0x30, 0xef, 0x45, 0xbc, 0xd6, 0x10, 0xf6, 0xf9, 0x35, 0x83, 0x0f, 0x64, 0xdf, 0x1c, 0x91, 0xf0, + 0x86, 0xc5, 0x63, 0x21, 0x55, 0xcf, 0x8b, 0xa9, 0x5a, 0x3f, 0x80, 0xc5, 0xd6, 0x88, 0xf9, 0xa6, + 0xe2, 0x26, 0xf0, 0x56, 0x63, 0x96, 0x3a, 0x85, 0x2f, 0xf4, 0x99, 0xb1, 0xd8, 0xf6, 0xd0, 0xe9, + 0x9d, 0x72, 0x93, 0x97, 0x8c, 0x68, 0xa8, 0xff, 0x89, 0x60, 0x39, 0x61, 0x20, 0x17, 0xed, 0xef, + 0x04, 0x60, 0x84, 0xfa, 0xb6, 0x1c, 0xae, 0x0f, 0xcc, 0x35, 0xe2, 0x69, 0xfc, 0x0c, 0x20, 0x61, + 0x84, 0x23, 0x2f, 0x6d, 0xbe, 0x95, 0xc9, 0x1e, 0xa3, 0x8e, 0xcd, 0x88, 0x48, 0x5f, 0xf2, 0x1f, + 0xdf, 0x81, 0xa2, 0xe7, 0x78, 0xe6, 0x70, 0x7f, 0x3c, 0x62, 0x61, 0x8a, 0x4a, 0x04, 0xfa, 0x00, + 0x60, 0xab, 0xdf, 0xe7, 0x27, 0x07, 0x75, 0xdd, 0xf8, 0x2a, 0x75, 0x5d, 0xb4, 0x78, 0x86, 0x16, + 0xe8, 0x09, 0x94, 0xe2, 0x83, 0xf2, 0x74, 0x3f, 0xfa, 0x0f, 0x08, 0x96, 0xf9, 0x67, 0x88, 0x8c, + 0x9d, 0x54, 0xa6, 0x3d, 0x80, 0x15, 0x62, 0xf7, 0x77, 0x2c, 0x66, 0x1e, 0x0f, 0xc9, 0x81, 0x35, + 0x22, 0x51, 0x8a, 0x97, 0xa5, 0xd3, 0xeb, 0x4d, 0xa9, 0xe9, 0x9b, 0x97, 0x9b, 0x3e, 0x7d, 0x0b, + 0xca, 0x82, 0x35, 0xb9, 0x10, 0x9d, 0xc0, 0xca, 0xa1, 0x3d, 0x13, 0xa4, 0xe9, 0x95, 0xa7, 0x68, + 0x6a, 0x21, 0x65, 0x6a, 0x0b, 0x2a, 0xd2, 0x39, 0xb9, 0x8c, 0xfd, 0x15, 0xf1, 0x1e, 0x36, 0x56, + 0xc3, 0x43, 0x80, 0x7c, 0xc1, 0x51, 0xce, 0x0b, 0x3e, 0x1d, 0x5d, 0xc2, 0x4b, 0x41, 0xe2, 0xe5, + 0x5d, 0xa8, 0x71, 0x57, 0x8e, 0xad, 0xda, 0x1f, 0x8f, 0x42, 0x1f, 0x57, 0x27, 0xf4, 0x9f, 0x10, + 0x14, 0x63, 0x41, 0xfe, 0x1e, 0xe6, 0x21, 0x54, 0xb7, 0xc9, 0xc0, 0xb2, 0x55, 0x0f, 0x53, 0xe4, + 0xbe, 0x2f, 0x3e, 0x93, 0x7d, 0x31, 0x00, 0x90, 0x92, 0xea, 0x7f, 0x21, 0xa8, 0xa5, 0xd8, 0xcd, + 0xf5, 0x44, 0xd0, 0x04, 0x48, 0x74, 0x84, 0x01, 0xa6, 0x12, 0xec, 0x48, 0x1c, 0x40, 0x58, 0xf2, + 0xa6, 0x82, 0x8c, 0x16, 0x90, 0x29, 0xc4, 0x98, 0x78, 0xbc, 0xf9, 0xdb, 0x52, 0x10, 0x81, 0xf1, + 0x47, 0x71, 0xfe, 0xe0, 0x3c, 0xde, 0x08, 0xec, 0x92, 0xbb, 0x6a, 0xed, 0x66, 0x86, 0x94, 0x51, + 0xdc, 0x82, 0x15, 0xb9, 0xf5, 0xc3, 0x6b, 0xc1, 0x42, 0xa5, 0x39, 0xd5, 0xea, 0xd9, 0x13, 0x8c, + 0xe2, 0x2f, 0x61, 0x6d, 0x42, 0xcb, 0x85, 0xd7, 0x83, 0x4d, 0x93, 0xbb, 0x42, 0xed, 0xde, 0x94, + 0x15, 0x8c, 0xe2, 0x4f, 0x78, 0x7a, 0x88, 0x9f, 0x79, 0x70, 0x82, 0x45, 0x7c, 0x4b, 0xd2, 0x56, + 0xb3, 0xc4, 0xc1, 0x76, 0xf1, 0x95, 0x23, 0xda, 0x9e, 0x7a, 0xd3, 0x89, 0xb6, 0x2b, 0xcf, 0x2d, + 0xcf, 0xf9, 0x83, 0x81, 0xd4, 0xbb, 0xd5, 0xe3, 0x93, 0x52, 0x3d, 0x81, 0x76, 0x6b, 0xc2, 0x0c, + 0xa3, 0xd8, 0xe0, 0x75, 0x73, 0xba, 0x8c, 0xc3, 0x77, 0x44, 0xab, 0xd3, 0xf5, 0x94, 0xf6, 0xbf, + 0x4b, 0x66, 0x19, 0xc5, 0xbb, 0x3c, 0x78, 0xc8, 0x0a, 0xb3, 0x4d, 0xe0, 0xda, 0xb4, 0x49, 0x53, + 0x8c, 0xe2, 0xcf, 0xe0, 0x66, 0x66, 0x1d, 0x84, 0xef, 0x86, 0x7e, 0x3e, 0xa1, 0xe4, 0xd3, 0xfe, + 0x7f, 0xe9, 0x7c, 0x40, 0x60, 0x37, 0x9b, 0xc0, 0xee, 0x44, 0x02, 0xb3, 0x9a, 0xd9, 0xa7, 0x50, + 0x96, 0xba, 0x39, 0xbc, 0x1a, 0xaf, 0x95, 0xda, 0x55, 0x6d, 0x2d, 0x53, 0xce, 0x28, 0x7e, 0x04, + 0x4b, 0x51, 0x9d, 0x81, 0x6b, 0xd2, 0x85, 0xe0, 0x48, 0x70, 0x5a, 0xc4, 0x28, 0x6e, 0xc0, 0x62, + 0x98, 0x5f, 0x71, 0x18, 0x22, 0x92, 0xbc, 0xae, 0xd5, 0x52, 0x12, 0x46, 0xf1, 0x07, 0x62, 0x2c, + 0xc4, 0xe9, 0x10, 0x41, 0xce, 0xb4, 0xeb, 0x8a, 0x8c, 0x51, 0xff, 0x0a, 0x0b, 0xa9, 0x24, 0xba, + 0xc2, 0x72, 0x16, 0x8b, 0xae, 0x70, 0x3a, 0xe7, 0x3c, 0x85, 0xb2, 0x14, 0xe2, 0x70, 0x72, 0x0f, + 0xa4, 0xac, 0x12, 0xd1, 0xa2, 0xc4, 0xc3, 0xed, 0xf2, 0xe7, 0xa5, 0x06, 0x7f, 0x43, 0xfe, 0xd8, + 0xff, 0x39, 0xbe, 0xc6, 0x5f, 0x7b, 0xdf, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x87, 0x2d, 0x47, + 0x32, 0x5c, 0x16, 0x00, 0x00, } diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index a404a0c9e..65e6eb3c6 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -9,16 +9,6 @@ message CommonResp{ string errMsg = 2; } -message DeleteUsersReq{ - repeated string DeleteUserIDList = 2; - string OpUserID = 3; - string OperationID = 4; -} - -message DeleteUsersResp{ - CommonResp CommonResp = 1; - repeated string FailedUserIDList = 2; -} message GetAllUserIDReq{ @@ -143,94 +133,29 @@ message BatchSetConversationsResp{ repeated string Failed = 3; } -message ResignUserReq{ - string UserId = 1; - string OperationID = 2; -} - -message ResignUserResp{ - CommonResp commonResp = 1; -} - -message GetUserByIdReq{ - string UserId = 1; - string OperationID = 2; -} - -message User{ - string ProfilePhoto = 1; - string Nickname = 2; - string UserId = 3; - string CreateTime = 4; - string PhoneNumber = 5; - string Email = 6; - string Birth = 7; - string CreateIp = 8; - string LastLoginTime = 9; - string LastLoginIp = 10; - int32 LoginTimes = 11; - int32 Gender = 12; - int32 LoginLimit = 13; - bool IsBlock = 14; - string RegisterIp = 15; -} - -message GetUserByIdResp{ - CommonResp CommonResp = 1; - User user = 2; -} - -message GetUsersByNameReq { - string UserName = 1; - server_api_params.RequestPagination Pagination = 2; - string OperationID = 3; -} - -message GetUsersByNameResp { - repeated User users = 1; - server_api_params.ResponsePagination Pagination = 2; - int32 UserNums = 3; -} - -message AlterUserReq{ - string UserId = 1; - string OperationID = 2; - string PhoneNumber = 3; - string Nickname = 4; - string Email = 5; - string Gender = 6; - string Birth =7; - string Photo = 8; - string OpUserId = 9; -} - -message AlterUserResp{ - CommonResp CommonResp = 1; -} message GetUsersReq { - string OperationID = 1; - server_api_params.RequestPagination Pagination = 2; - string UserName = 3; + string operationID = 1; + server_api_params.RequestPagination pagination = 2; + string userName = 3; + string userID = 4; +} + +message CmsUser { + server_api_params.UserInfo user = 1; + bool isBlock = 2; } message GetUsersResp{ - CommonResp CommonResp = 1; - repeated User user = 2; + CommonResp commonResp = 1; + repeated CmsUser userList = 2; server_api_params.ResponsePagination Pagination = 3; - int32 UserNums = 4; + int32 totalNums = 4; } message AddUserReq{ - string OperationID = 1; - string PhoneNumber = 2; - string UserId = 3; - string name = 4; - string Email = 5; - string Gender = 6; - string Birth =7; - string Photo = 8; - string OpUserId = 9; + server_api_params.UserInfo userInfo = 1; + string operationID = 2; } message AddUserResp{ @@ -239,10 +164,10 @@ message AddUserResp{ message BlockUserReq{ - string UserId = 1; - string EndDisableTime = 2; - string OperationID = 3; - string OpUserId = 4; + string userID = 1; + string endDisableTime = 2; + string operationID = 3; + string opUserID = 4; } message BlockUserResp{ @@ -250,9 +175,9 @@ message BlockUserResp{ } message UnBlockUserReq{ - string UserId = 1; - string OperationID = 2; - string OpUserId = 3; + string userID = 1; + string operationID = 2; + string opUserID = 3; } message UnBlockUserResp{ @@ -260,13 +185,14 @@ message UnBlockUserResp{ } message GetBlockUsersReq{ - server_api_params.RequestPagination Pagination = 1; - string OperationID = 2; - int32 BlockUserNum = 3; + server_api_params.RequestPagination pagination = 1; + string operationID = 2; + string userID = 3; + int32 totalBlockUserNum = 4; } message BlockUser { - User User = 1; + server_api_params.UserInfo UserInfo = 1; string BeginDisableTime = 2; string EndDisableTime = 3; } @@ -278,32 +204,11 @@ message GetBlockUsersResp{ int32 UserNums = 4; } -message GetBlockUserByIdReq { - string User_id = 1; - string OperationID = 2; -} - -message GetBlockUserByIdResp { - BlockUser BlockUser = 2; -} - -message DeleteUserReq { - string User_id = 1; - string OperationID = 2; - string OpUserId = 3; -} - -message DeleteUserResp { - CommonResp CommonResp = 1; -} - - service user { rpc GetUserInfo(GetUserInfoReq) returns(GetUserInfoResp); rpc UpdateUserInfo(UpdateUserInfoReq) returns(UpdateUserInfoResp); rpc SetGlobalRecvMessageOpt(SetGlobalRecvMessageOptReq) returns(SetGlobalRecvMessageOptResp); - rpc DeleteUsers(DeleteUsersReq)returns(DeleteUsersResp); rpc GetAllUserID(GetAllUserIDReq)returns(GetAllUserIDResp); rpc AccountCheck(AccountCheckReq)returns(AccountCheckResp); @@ -314,15 +219,13 @@ service user { rpc SetConversation(SetConversationReq)returns(SetConversationResp); rpc SetRecvMsgOpt(SetRecvMsgOptReq)returns(SetRecvMsgOptResp); - rpc GetUserById(GetUserByIdReq) returns (GetUserByIdResp); - rpc GetUsersByName(GetUsersByNameReq) returns (GetUsersByNameResp); - rpc ResignUser(ResignUserReq) returns (ResignUserResp); - rpc AlterUser(AlterUserReq) returns (AlterUserResp); + rpc GetUsers(GetUsersReq) returns (GetUsersResp); + rpc AddUser(AddUserReq) returns (AddUserResp); + rpc BlockUser(BlockUserReq) returns (BlockUserResp); rpc UnBlockUser(UnBlockUserReq) returns (UnBlockUserResp); rpc GetBlockUsers(GetBlockUsersReq) returns (GetBlockUsersResp); - rpc GetBlockUserById(GetBlockUserByIdReq) returns (GetBlockUserByIdResp); - rpc DeleteUser(DeleteUserReq) returns (DeleteUserResp); } + diff --git a/script/check_all.sh b/script/check_all.sh index 2ec2b8270..76535c79f 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -16,8 +16,6 @@ service_port_name=( openImGroupPort openImAuthPort openImPushPort - openImStatisticsPort - openImMessageCmsPort openImAdminCmsPort openImOfficePort openImOrganizationPort diff --git a/script/path_info.cfg b/script/path_info.cfg index 6562f1d7f..48ba5f96f 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -46,8 +46,6 @@ service_source_root=( ../cmd/rpc/open_im_group/ ../cmd/rpc/open_im_auth/ ../cmd/rpc/open_im_admin_cms/ - ../cmd/rpc/open_im_message_cms/ - ../cmd/rpc/open_im_statistics/ ../cmd/rpc/open_im_office/ ../cmd/rpc/open_im_organization/ ../cmd/rpc/open_im_conversation/ @@ -71,8 +69,6 @@ service_names=( open_im_group open_im_auth open_im_admin_cms - open_im_message_cms - open_im_statistics open_im_office open_im_organization open_im_conversation diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index 351bd2797..1f9a7b30b 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -15,8 +15,6 @@ service_filename=( open_im_group open_im_auth open_im_admin_cms - open_im_message_cms - open_im_statistics ${msg_name} open_im_office open_im_organization @@ -35,8 +33,6 @@ service_port_name=( openImGroupPort openImAuthPort openImAdminCmsPort - openImMessageCmsPort - openImStatisticsPort openImMessagePort openImOfficePort openImOrganizationPort