mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-25 19:22:46 +08:00
Merge remote-tracking branch 'origin/tuoyun' into tuoyun
This commit is contained in:
commit
4594c15de7
@ -148,8 +148,6 @@ func main() {
|
||||
officeGroup.POST("/get_work_moment_by_id", office.GetWorkMomentByID)
|
||||
officeGroup.POST("/get_user_work_moments", office.GetUserWorkMoments)
|
||||
officeGroup.POST("/get_user_friend_work_moments", office.GetUserFriendWorkMoments)
|
||||
officeGroup.POST("/get_user_work_moments_comments_msg", office.GetUserWorkMomentsCommentsMsg)
|
||||
officeGroup.POST("/clear_user_work_moments_comments_msg", office.ClearUserWorkMomentsCommentsMsg)
|
||||
officeGroup.POST("/set_user_work_moments_level", office.SetUserWorkMomentsLevel)
|
||||
}
|
||||
|
||||
|
@ -201,7 +201,10 @@ func GetWorkMomentByID(c *gin.Context) {
|
||||
if err := utils.CopyStructFields(&resp, respPb.CommonResp); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
resp.Data.WorkMoment = respPb.WorkMoment
|
||||
//resp.Data.WorkMoment = respPb.WorkMoment
|
||||
if err := utils.CopyStructFields(&resp.Data.WorkMoment, respPb.WorkMoment); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
|
||||
c.JSON(http.StatusOK, resp)
|
||||
}
|
||||
@ -242,7 +245,9 @@ func GetUserWorkMoments(c *gin.Context) {
|
||||
if err := utils.CopyStructFields(&resp, respPb.CommonResp); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
resp.Data.WorkMoments = respPb.WorkMoments
|
||||
if err := utils.CopyStructFields(&resp.Data.WorkMoments, respPb.WorkMoments); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
resp.Data.ShowNumber = respPb.Pagination.ShowNumber
|
||||
resp.Data.CurrentPage = respPb.Pagination.CurrentPage
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
|
||||
@ -285,52 +290,11 @@ func GetUserFriendWorkMoments(c *gin.Context) {
|
||||
if err := utils.CopyStructFields(&resp, respPb.CommonResp); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
resp.Data.WorkMoments = respPb.WorkMoments
|
||||
resp.Data.ShowNumber = respPb.Pagination.ShowNumber
|
||||
resp.Data.CurrentPage = respPb.Pagination.CurrentPage
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
|
||||
c.JSON(http.StatusOK, resp)
|
||||
}
|
||||
|
||||
func GetUserWorkMomentsCommentsMsg(c *gin.Context) {
|
||||
var (
|
||||
req apiStruct.GetUserWorkMomentsCommentsMsgReq
|
||||
resp apiStruct.GetUserWorkMomentsCommentsMsgResp
|
||||
reqPb pbOffice.GetUserWorkMomentsCommentsMsgReq
|
||||
respPb *pbOffice.GetUserWorkMomentsCommentsMsgResp
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error())
|
||||
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()})
|
||||
return
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||
ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID)
|
||||
if !ok {
|
||||
log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token"))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"})
|
||||
return
|
||||
}
|
||||
reqPb.OperationID = req.OperationID
|
||||
reqPb.Pagination = &pbCommon.RequestPagination{
|
||||
PageNumber: req.PageNumber,
|
||||
ShowNumber: req.ShowNumber,
|
||||
}
|
||||
reqPb.UserID = userID
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName)
|
||||
client := pbOffice.NewOfficeServiceClient(etcdConn)
|
||||
respPb, err := client.GetUserWorkMomentsCommentsMsg(context.Background(), &reqPb)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserWorkMomentsCommentsMsg rpc failed", err.Error())
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserWorkMomentsCommentsMsg rpc server failed" + err.Error()})
|
||||
return
|
||||
}
|
||||
if err := utils.CopyStructFields(&resp, respPb.CommonResp); err != nil {
|
||||
if err := utils.CopyStructFields(&resp.Data.WorkMoments, respPb.WorkMoments); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
resp.Data.CurrentPage = respPb.Pagination.CurrentPage
|
||||
resp.Data.ShowNumber = respPb.Pagination.ShowNumber
|
||||
resp.Data.CommentMsgs = respPb.CommentsMsgs
|
||||
resp.Data.CurrentPage = respPb.Pagination.CurrentPage
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
|
||||
c.JSON(http.StatusOK, resp)
|
||||
}
|
||||
@ -372,39 +336,3 @@ func SetUserWorkMomentsLevel(c *gin.Context) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
|
||||
c.JSON(http.StatusOK, resp)
|
||||
}
|
||||
|
||||
func ClearUserWorkMomentsCommentsMsg(c *gin.Context) {
|
||||
var (
|
||||
req apiStruct.ClearUserWorkMomentsCommentsMsgReq
|
||||
resp apiStruct.ClearUserWorkMomentsCommentsMsgResp
|
||||
reqPb pbOffice.ClearUserWorkMomentsCommentsMsgReq
|
||||
respPb *pbOffice.ClearUserWorkMomentsCommentsMsgResp
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error())
|
||||
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()})
|
||||
return
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||
ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID)
|
||||
if !ok {
|
||||
log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token"))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"})
|
||||
return
|
||||
}
|
||||
reqPb.UserID = userID
|
||||
reqPb.OperationID = req.OperationID
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName)
|
||||
client := pbOffice.NewOfficeServiceClient(etcdConn)
|
||||
respPb, err := client.ClearUserWorkMomentsCommentsMsg(context.Background(), &reqPb)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "ClearUserWorkMomentsCommentsMsg rpc failed", err.Error())
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "ClearUserWorkMomentsCommentsMsg rpc server failed" + err.Error()})
|
||||
return
|
||||
}
|
||||
if err := utils.CopyStructFields(&resp, respPb.CommonResp); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
|
||||
c.JSON(http.StatusOK, resp)
|
||||
}
|
||||
|
@ -1,47 +1,31 @@
|
||||
package msg
|
||||
|
||||
import (
|
||||
"Open_IM/pkg/common/config"
|
||||
"Open_IM/pkg/common/constant"
|
||||
"Open_IM/pkg/common/db"
|
||||
"Open_IM/pkg/common/log"
|
||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||
pbChat "Open_IM/pkg/proto/chat"
|
||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||
pbOffice "Open_IM/pkg/proto/office"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"strings"
|
||||
"github.com/golang/protobuf/proto"
|
||||
)
|
||||
|
||||
func CommentOneWorkMomentNotification(operationID, recvID string, comment db.CommentMsg, user db.User) {
|
||||
log.NewInfo(operationID, utils.GetSelfFuncName(), "args: ", recvID, user, comment)
|
||||
var req pbChat.SendMsgReq
|
||||
var msgData pbCommon.MsgData
|
||||
msgData.SendID = user.UserID
|
||||
msgData.RecvID = recvID
|
||||
msgData.ContentType = constant.WorkMomentNewCommentNotification
|
||||
msgData.SessionType = constant.SingleChatType
|
||||
msgData.MsgFrom = constant.UserMsgType
|
||||
bytes, err := json.Marshal(comment)
|
||||
func WorkMomentSendNotification(operationID, sendID, recvID string, notificationMsg *pbOffice.WorkMomentNotificationMsg) {
|
||||
log.NewInfo(operationID, utils.GetSelfFuncName(), recvID)
|
||||
bytes, err := proto.Marshal(notificationMsg)
|
||||
if err != nil {
|
||||
log.NewError(operationID, utils.GetSelfFuncName(), "marshal failed", err.Error())
|
||||
log.NewError(operationID, utils.GetSelfFuncName(), "proto marshal failed", err.Error())
|
||||
}
|
||||
msgData.Content = bytes
|
||||
msgData.SenderFaceURL = user.FaceURL
|
||||
msgData.SenderNickname = user.Nickname
|
||||
msgData.CreateTime = utils.GetCurrentTimestampByMill()
|
||||
msgData.ClientMsgID = utils.GetMsgID(user.UserID)
|
||||
req.MsgData = &msgData
|
||||
req.OperationID = operationID
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName)
|
||||
client := pbChat.NewChatClient(etcdConn)
|
||||
respPb, err := client.SendMsg(context.Background(), &req)
|
||||
if err != nil {
|
||||
log.NewError(operationID, utils.GetSelfFuncName(), "send msg failed", err.Error())
|
||||
return
|
||||
WorkMomentNotification(operationID, sendID, recvID, bytes)
|
||||
}
|
||||
if respPb.ErrCode != 0 {
|
||||
log.NewError(operationID, utils.GetSelfFuncName(), "send tag msg failed ", respPb)
|
||||
|
||||
func WorkMomentNotification(operationID, sendID, recvID string, content []byte) {
|
||||
n := &NotificationMsg{
|
||||
SendID: sendID,
|
||||
RecvID: recvID,
|
||||
Content: content,
|
||||
MsgFrom: constant.UserMsgType,
|
||||
ContentType: constant.WorkMomentNotification,
|
||||
SessionType: constant.UserMsgType,
|
||||
OperationID: operationID,
|
||||
}
|
||||
Notification(n)
|
||||
}
|
||||
|
@ -270,20 +270,73 @@ func (s *officeServer) GetUserTagByID(_ context.Context, req *pbOffice.GetUserTa
|
||||
func (s *officeServer) CreateOneWorkMoment(_ context.Context, req *pbOffice.CreateOneWorkMomentReq) (resp *pbOffice.CreateOneWorkMomentResp, err error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp = &pbOffice.CreateOneWorkMomentResp{CommonResp: &pbOffice.CommonResp{}}
|
||||
workMoment := db.WorkMoment{Comments: []*db.Comment{}, LikeUsers: []*db.LikeUser{}}
|
||||
workMoment := db.WorkMoment{
|
||||
Comments: []*db.Comment{},
|
||||
LikeUserList: []*db.LikeUser{},
|
||||
}
|
||||
createUser, err := imdb.GetUserByUserID(req.WorkMoment.UserID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID", err.Error())
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
workMoment.UserName = createUser.Nickname
|
||||
workMoment.FaceURL = createUser.FaceURL
|
||||
if err := utils.CopyStructFields(&workMoment, req.WorkMoment); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error())
|
||||
}
|
||||
workMoment.PermissionUserIDList = s.getPermissionUserIDList(req.OperationID, req.WorkMoment.PermissionGroupIDList, req.WorkMoment.PermissionUserIDList)
|
||||
for _, userID := range req.WorkMoment.AtUserIDList {
|
||||
userName, err := imdb.GetUserNameByUserID(userID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserNameByUserID failed", userID, err.Error())
|
||||
continue
|
||||
}
|
||||
workMoment.AtUserList = append(workMoment.AtUserList, &db.AtUser{
|
||||
UserID: userID,
|
||||
UserName: userName,
|
||||
})
|
||||
}
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "workMoment to create", workMoment)
|
||||
err = db.DB.CreateOneWorkMoment(&workMoment)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "CreateOneWorkMoment", err.Error())
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
// send notification to at users
|
||||
for _, atUser := range req.WorkMoment.AtUserIDList {
|
||||
workMomentNotificationMsg := &pbOffice.WorkMomentNotificationMsg{
|
||||
NotificationMsgType: constant.WorkMomentAtUserNotification,
|
||||
WorkMomentID: workMoment.WorkMomentID,
|
||||
WorkMomentContent: workMoment.Content,
|
||||
UserID: workMoment.UserID,
|
||||
FaceURL: createUser.FaceURL,
|
||||
UserName: createUser.Nickname,
|
||||
}
|
||||
msg.WorkMomentSendNotification(req.OperationID, workMoment.UserID, atUser, workMomentNotificationMsg)
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
// count and distinct permission users
|
||||
func (s *officeServer) getPermissionUserIDList(operationID string, groupIDList, userIDList []string) []string {
|
||||
var permissionUserIDList []string
|
||||
for _, groupID := range groupIDList {
|
||||
GroupMemberIDList, err := imdb.GetGroupMemberIDListByGroupID(groupID)
|
||||
if err != nil {
|
||||
log.NewError(operationID, utils.GetSelfFuncName(), "GetGroupMemberIDListByGroupID failed", groupID, err.Error())
|
||||
continue
|
||||
}
|
||||
permissionUserIDList = append(permissionUserIDList, GroupMemberIDList...)
|
||||
}
|
||||
permissionUserIDList = append(permissionUserIDList, userIDList...)
|
||||
permissionUserIDList = utils.RemoveRepeatedStringInList(permissionUserIDList)
|
||||
return permissionUserIDList
|
||||
}
|
||||
|
||||
func (s *officeServer) DeleteOneWorkMoment(_ context.Context, req *pbOffice.DeleteOneWorkMomentReq) (resp *pbOffice.DeleteOneWorkMomentResp, err error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp = &pbOffice.DeleteOneWorkMomentResp{CommonResp: &pbOffice.CommonResp{}}
|
||||
@ -295,7 +348,7 @@ func (s *officeServer) DeleteOneWorkMoment(_ context.Context, req *pbOffice.Dele
|
||||
}
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "workMoment", workMoment)
|
||||
if workMoment.UserID != req.UserID {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "workMoment.UserID != req.WorkMomentID ", workMoment, req.WorkMomentID)
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "workMoment.UserID != req.WorkMomentID, delete failed", workMoment, req.WorkMomentID)
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
@ -311,15 +364,17 @@ func (s *officeServer) DeleteOneWorkMoment(_ context.Context, req *pbOffice.Dele
|
||||
|
||||
func isUserCanSeeWorkMoment(userID string, workMoment db.WorkMoment) bool {
|
||||
if userID != workMoment.UserID {
|
||||
if utils.IsContain(userID, workMoment.WhoCantSeeUserIDList) {
|
||||
return false
|
||||
}
|
||||
if utils.IsContain(userID, workMoment.WhoCanSeeUserIDList) {
|
||||
switch workMoment.Permission {
|
||||
case constant.WorkMomentPublic:
|
||||
return true
|
||||
}
|
||||
if workMoment.IsPrivate {
|
||||
case constant.WorkMomentPrivate:
|
||||
return false
|
||||
case constant.WorkMomentPermissionCanSee:
|
||||
return utils.IsContain(userID, workMoment.PermissionUserIDList)
|
||||
case constant.WorkMomentPermissionCantSee:
|
||||
return !utils.IsContain(userID, workMoment.PermissionUserIDList)
|
||||
}
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
@ -333,11 +388,20 @@ func (s *officeServer) LikeOneWorkMoment(_ context.Context, req *pbOffice.LikeOn
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
if err = db.DB.LikeOneWorkMoment(req.UserID, userName, req.WorkMomentID); err != nil {
|
||||
workMoment, err := db.DB.LikeOneWorkMoment(req.UserID, userName, req.WorkMomentID)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "LikeOneWorkMoment failed ", err.Error())
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
workMomentNotificationMsg := &pbOffice.WorkMomentNotificationMsg{
|
||||
NotificationMsgType: constant.WorkMomentLikeNotification,
|
||||
WorkMomentID: workMoment.WorkMomentID,
|
||||
WorkMomentContent: workMoment.Content,
|
||||
UserID: workMoment.UserID,
|
||||
}
|
||||
// send notification
|
||||
msg.WorkMomentSendNotification(req.OperationID, req.UserID, workMoment.UserID, workMomentNotificationMsg)
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
|
||||
return resp, nil
|
||||
}
|
||||
@ -360,7 +424,7 @@ func (s *officeServer) CommentOneWorkMoment(_ context.Context, req *pbOffice.Com
|
||||
return resp, nil
|
||||
}
|
||||
}
|
||||
comment := db.Comment{
|
||||
comment := &db.Comment{
|
||||
UserID: req.UserID,
|
||||
UserName: commentUser.Nickname,
|
||||
ReplyUserID: req.ReplyUserID,
|
||||
@ -374,18 +438,25 @@ func (s *officeServer) CommentOneWorkMoment(_ context.Context, req *pbOffice.Com
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
commentMsg := db.CommentMsg{
|
||||
Comment: comment,
|
||||
UserID: workMoment.UserID,
|
||||
workMomentNotificationMsg := &pbOffice.WorkMomentNotificationMsg{
|
||||
NotificationMsgType: constant.WorkMomentCommentNotification,
|
||||
WorkMomentID: workMoment.WorkMomentID,
|
||||
WorkMomentContent: workMoment.Content,
|
||||
UserID: workMoment.UserID,
|
||||
Comment: &pbOffice.Comment{
|
||||
UserID: comment.UserID,
|
||||
UserName: comment.UserName,
|
||||
FaceURL: commentUser.FaceURL,
|
||||
ReplyUserID: comment.ReplyUserID,
|
||||
ReplyUserName: comment.ReplyUserName,
|
||||
ContentID: comment.ContentID,
|
||||
Content: comment.Content,
|
||||
CreateTime: comment.CreateTime,
|
||||
},
|
||||
}
|
||||
if err = db.DB.CreateUserWorkMomentsCommentsMsg(commentMsg); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
|
||||
}
|
||||
msg.CommentOneWorkMomentNotification(req.OperationID, workMoment.UserID, commentMsg, *commentUser)
|
||||
msg.WorkMomentSendNotification(req.OperationID, req.UserID, workMoment.UserID, workMomentNotificationMsg)
|
||||
if req.ReplyUserID != "" {
|
||||
msg.CommentOneWorkMomentNotification(req.OperationID, req.ReplyUserID, commentMsg, *commentUser)
|
||||
msg.WorkMomentSendNotification(req.OperationID, req.UserID, req.ReplyUserID, workMomentNotificationMsg)
|
||||
}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
|
||||
return resp, nil
|
||||
@ -405,6 +476,9 @@ func (s *officeServer) GetWorkMomentByID(_ context.Context, req *pbOffice.GetWor
|
||||
}
|
||||
canSee := isUserCanSeeWorkMoment(req.OpUserID, *workMoment)
|
||||
log.Debug(req.OperationID, utils.GetSelfFuncName(), canSee, req.OpUserID, *workMoment)
|
||||
if !canSee {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "workMoments not access to user", canSee, workMoment, req.OpUserID)
|
||||
}
|
||||
if err := utils.CopyStructFields(resp.WorkMoment, workMoment); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error())
|
||||
}
|
||||
@ -455,34 +529,6 @@ func (s *officeServer) GetUserFriendWorkMoments(_ context.Context, req *pbOffice
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *officeServer) GetUserWorkMomentsCommentsMsg(_ context.Context, req *pbOffice.GetUserWorkMomentsCommentsMsgReq) (resp *pbOffice.GetUserWorkMomentsCommentsMsgResp, err error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp = &pbOffice.GetUserWorkMomentsCommentsMsgResp{CommonResp: &pbOffice.CommonResp{}}
|
||||
resp.CommentsMsgs = make([]*pbOffice.CommentsMsg, 0)
|
||||
workMomentsCommentMsgs, err := db.DB.GetUserWorkMomentsCommentsMsg(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber)
|
||||
if err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserWorkMomentsCommentsMsg", err.Error())
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "workMomentsCommentMsgs: ", workMomentsCommentMsgs)
|
||||
for _, commentMsg := range workMomentsCommentMsgs {
|
||||
comment := pbOffice.Comment{}
|
||||
if err := utils.CopyStructFields(&comment, commentMsg); err != nil {
|
||||
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), err.Error())
|
||||
}
|
||||
resp.CommentsMsgs = append(resp.CommentsMsgs, &pbOffice.CommentsMsg{
|
||||
Comment: &comment,
|
||||
WorkMomentID: commentMsg.WorkMomentID,
|
||||
Content: commentMsg.WorkMomentContent,
|
||||
UserID: req.UserID,
|
||||
})
|
||||
}
|
||||
resp.Pagination = &pbCommon.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *officeServer) SetUserWorkMomentsLevel(_ context.Context, req *pbOffice.SetUserWorkMomentsLevelReq) (resp *pbOffice.SetUserWorkMomentsLevelResp, err error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp = &pbOffice.SetUserWorkMomentsLevelResp{CommonResp: &pbOffice.CommonResp{}}
|
||||
@ -495,14 +541,9 @@ func (s *officeServer) SetUserWorkMomentsLevel(_ context.Context, req *pbOffice.
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *officeServer) ClearUserWorkMomentsCommentsMsg(_ context.Context, req *pbOffice.ClearUserWorkMomentsCommentsMsgReq) (resp *pbOffice.ClearUserWorkMomentsCommentsMsgResp, err error) {
|
||||
func (s *officeServer) ChangeWorkMomentPermission(_ context.Context, req *pbOffice.ChangeWorkMomentPermissionReq) (resp *pbOffice.ChangeWorkMomentPermissionResp, err error) {
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||
resp = &pbOffice.ClearUserWorkMomentsCommentsMsgResp{CommonResp: &pbOffice.CommonResp{}}
|
||||
if err := db.DB.ClearUserWorkMomentsCommentsMsg(req.UserID); err != nil {
|
||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "ClearUserWorkMomentsCommentsMsg", err.Error())
|
||||
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
|
||||
return resp, nil
|
||||
}
|
||||
resp = &pbOffice.ChangeWorkMomentPermissionResp{CommonResp: &pbOffice.CommonResp{}}
|
||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
@ -44,10 +44,38 @@ type GetWorkMomentByIDReq struct {
|
||||
office.GetWorkMomentByIDReq
|
||||
}
|
||||
|
||||
type WorkMoment struct {
|
||||
WorkMomentID string `json:"workMomentID"`
|
||||
UserID string `json:"userID"`
|
||||
Content string `json:"content"`
|
||||
LikeUsers []*LikeUser `json:"likeUsers"`
|
||||
Comments []*Comment `json:"comments"`
|
||||
Permission int32 `json:"permission"`
|
||||
PermissionUserIDList []string `json:"permissionUserIDList"`
|
||||
PermissionGroupIDList []string `json:"permissionGroupIDList"`
|
||||
AtUserIDList []string `json:"atUserIDList"`
|
||||
CreateTime int32 `json:"createTime,omitempty"`
|
||||
}
|
||||
|
||||
type LikeUser struct {
|
||||
UserID string `json:"userID"`
|
||||
UserName string `json:"userName"`
|
||||
}
|
||||
|
||||
type Comment struct {
|
||||
UserID string `json:"userID"`
|
||||
UserName string `json:"userName"`
|
||||
ReplyUserID string `json:"replyUserID"`
|
||||
ReplyUserName string `json:"replyUserName"`
|
||||
ContentID string `json:"contentID"`
|
||||
Content string `json:"content"`
|
||||
CreateTime int32 `json:"createTime"`
|
||||
}
|
||||
|
||||
type GetWorkMomentByIDResp struct {
|
||||
CommResp
|
||||
Data struct {
|
||||
WorkMoment *office.WorkMoment `json:"workMoment"`
|
||||
WorkMoment *WorkMoment `json:"workMoment"`
|
||||
} `json:"data"`
|
||||
}
|
||||
|
||||
@ -58,7 +86,7 @@ type GetUserWorkMomentsReq struct {
|
||||
type GetUserWorkMomentsResp struct {
|
||||
CommResp
|
||||
Data struct {
|
||||
WorkMoments []*office.WorkMoment `json:"workMoments"`
|
||||
WorkMoments []*WorkMoment `json:"workMoments"`
|
||||
CurrentPage int32 `json:"currentPage"`
|
||||
ShowNumber int32 `json:"showNumber"`
|
||||
} `json:"data"`
|
||||
@ -71,20 +99,7 @@ type GetUserFriendWorkMomentsReq struct {
|
||||
type GetUserFriendWorkMomentsResp struct {
|
||||
CommResp
|
||||
Data struct {
|
||||
WorkMoments []*office.WorkMoment `json:"workMoments"`
|
||||
CurrentPage int32 `json:"currentPage"`
|
||||
ShowNumber int32 `json:"showNumber"`
|
||||
} `json:"data"`
|
||||
}
|
||||
|
||||
type GetUserWorkMomentsCommentsMsgReq struct {
|
||||
WorkMomentsUserCommonReq
|
||||
}
|
||||
|
||||
type GetUserWorkMomentsCommentsMsgResp struct {
|
||||
CommResp
|
||||
Data struct {
|
||||
CommentMsgs []*office.CommentsMsg `json:"comments"`
|
||||
WorkMoments []*WorkMoment `json:"workMoments"`
|
||||
CurrentPage int32 `json:"currentPage"`
|
||||
ShowNumber int32 `json:"showNumber"`
|
||||
} `json:"data"`
|
||||
@ -97,11 +112,3 @@ type SetUserWorkMomentsLevelReq struct {
|
||||
type SetUserWorkMomentsLevelResp struct {
|
||||
CommResp
|
||||
}
|
||||
|
||||
type ClearUserWorkMomentsCommentsMsgReq struct {
|
||||
office.ClearUserWorkMomentsCommentsMsgReq
|
||||
}
|
||||
|
||||
type ClearUserWorkMomentsCommentsMsgResp struct {
|
||||
CommResp
|
||||
}
|
||||
|
@ -91,8 +91,8 @@ const (
|
||||
|
||||
OrganizationChangedNotification = 1801
|
||||
|
||||
WorkMomentNotificationStart = 1900
|
||||
WorkMomentNewCommentNotification = 1901
|
||||
WorkMomentNotificationBegin = 1900
|
||||
WorkMomentNotification = 1901
|
||||
|
||||
NotificationEnd = 2000
|
||||
|
||||
@ -183,6 +183,17 @@ const (
|
||||
OtherType = 1
|
||||
VideoType = 2
|
||||
ImageType = 3
|
||||
|
||||
// workMoment permission
|
||||
WorkMomentPublic = 0
|
||||
WorkMomentPrivate = 1
|
||||
WorkMomentPermissionCanSee = 2
|
||||
WorkMomentPermissionCantSee = 3
|
||||
|
||||
// workMoment sdk notification type
|
||||
WorkMomentCommentNotification = 0
|
||||
WorkMomentLikeNotification = 1
|
||||
WorkMomentAtUserNotification = 2
|
||||
)
|
||||
|
||||
var ContentType2PushContent = map[int64]string{
|
||||
|
@ -568,15 +568,22 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32)
|
||||
type WorkMoment struct {
|
||||
WorkMomentID string `bson:"work_moment_id"`
|
||||
UserID string `bson:"user_id"`
|
||||
UserName string `bson:"user_name"`
|
||||
FaceURL string `bson:"face_url"`
|
||||
Content string `bson:"content"`
|
||||
LikeUsers []*LikeUser `bson:"like_users"`
|
||||
LikeUserList []*LikeUser `bson:"like_user_list"`
|
||||
AtUserList []*AtUser `bson:"at_user_list"`
|
||||
Comments []*Comment `bson:"comments"`
|
||||
WhoCanSeeUserIDList []string `bson:"who_can_see_user_id_list"`
|
||||
WhoCantSeeUserIDList []string `bson:"who_cant_see_user_id_list"`
|
||||
IsPrivate bool `bson:"is_private"`
|
||||
PermissionUserIDList []string `bson:"permission_user_id_list"`
|
||||
Permission int32 `bson:"is_private"`
|
||||
CreateTime int32 `bson:"create_time"`
|
||||
}
|
||||
|
||||
type AtUser struct {
|
||||
UserID string `bson:"user_id"`
|
||||
UserName string `bson:"user_name"`
|
||||
}
|
||||
|
||||
type LikeUser struct {
|
||||
UserID string `bson:"user_id"`
|
||||
UserName string `bson:"user_name"`
|
||||
@ -617,67 +624,33 @@ func (d *DataBases) GetWorkMomentByID(workMomentID string) (*WorkMoment, error)
|
||||
return workMoment, err
|
||||
}
|
||||
|
||||
func (d *DataBases) LikeOneWorkMoment(likeUserID, userName, workMomentID string) error {
|
||||
func (d *DataBases) LikeOneWorkMoment(likeUserID, userName, workMomentID string) (*WorkMoment, error) {
|
||||
workMoment, err := d.GetWorkMomentByID(workMomentID)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
var isAlreadyLike bool
|
||||
for i, user := range workMoment.LikeUsers {
|
||||
for i, user := range workMoment.LikeUserList {
|
||||
if likeUserID == user.UserID {
|
||||
isAlreadyLike = true
|
||||
workMoment.LikeUsers = append(workMoment.LikeUsers[0:i], workMoment.LikeUsers[i+1:]...)
|
||||
workMoment.LikeUserList = append(workMoment.LikeUserList[0:i], workMoment.LikeUserList[i+1:]...)
|
||||
}
|
||||
}
|
||||
if !isAlreadyLike {
|
||||
workMoment.LikeUsers = append(workMoment.LikeUsers, &LikeUser{UserID: likeUserID, UserName: userName})
|
||||
workMoment.LikeUserList = append(workMoment.LikeUserList, &LikeUser{UserID: likeUserID, UserName: userName})
|
||||
}
|
||||
log.Info("", utils.GetSelfFuncName(), workMoment)
|
||||
log.NewDebug("", utils.GetSelfFuncName(), workMoment)
|
||||
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
|
||||
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
|
||||
_, err = c.UpdateOne(ctx, bson.M{"work_moment_id": workMomentID}, bson.M{"$set": bson.M{"like_users": workMoment.LikeUsers}})
|
||||
return err
|
||||
_, err = c.UpdateOne(ctx, bson.M{"work_moment_id": workMomentID}, bson.M{"$set": bson.M{"like_users": workMoment.LikeUserList}})
|
||||
return workMoment, err
|
||||
}
|
||||
|
||||
func (d *DataBases) SetUserWorkMomentsLevel(userID string, level int32) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *DataBases) CreateUserWorkMomentsCommentsMsg(msg CommentMsg) error {
|
||||
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
|
||||
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cCommentMsg)
|
||||
_, err := c.InsertOne(ctx, msg)
|
||||
return err
|
||||
}
|
||||
|
||||
func (d *DataBases) ClearUserWorkMomentsCommentsMsg(userID string) error {
|
||||
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
|
||||
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cCommentMsg)
|
||||
_, err := c.DeleteOne(ctx, bson.M{"user_id": userID})
|
||||
return err
|
||||
}
|
||||
|
||||
type CommentMsg struct {
|
||||
WorkMomentID string `bson:"work_moment" json:"work_moment"`
|
||||
WorkMomentContent string `bson:"work_moment_content" json:"work_moment_content"`
|
||||
UserID string `bson:"user_id" json:"user_id"`
|
||||
Comment
|
||||
}
|
||||
|
||||
func (d *DataBases) GetUserWorkMomentsCommentsMsg(userID string, showNumber, pageNumber int32) ([]CommentMsg, error) {
|
||||
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
|
||||
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cCommentMsg)
|
||||
var commentMsgList []CommentMsg
|
||||
findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)).SetSort(bson.M{"create_time": -1})
|
||||
result, err := c.Find(ctx, bson.M{"user_id": userID}, findOpts)
|
||||
if err != nil {
|
||||
return commentMsgList, err
|
||||
}
|
||||
err = result.All(ctx, &commentMsgList)
|
||||
return commentMsgList, err
|
||||
}
|
||||
|
||||
func (d *DataBases) CommentOneWorkMoment(comment Comment, workMomentID string) (WorkMoment, error) {
|
||||
func (d *DataBases) CommentOneWorkMoment(comment *Comment, workMomentID string) (WorkMoment, error) {
|
||||
comment.ContentID = generateWorkMomentCommentID(workMomentID)
|
||||
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
|
||||
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -113,26 +113,35 @@ message LikeUser {
|
||||
string userName = 2;
|
||||
}
|
||||
|
||||
message NotificationUser {
|
||||
string userID = 1;
|
||||
string userName = 2;
|
||||
}
|
||||
|
||||
message Comment {
|
||||
string userID = 1;
|
||||
string userName = 2;
|
||||
string replyUserID = 3;
|
||||
string replyUserName = 4;
|
||||
string contentID = 5;
|
||||
string content = 6;
|
||||
int32 createTime = 7;
|
||||
string faceURL = 3;
|
||||
string replyUserID = 4;
|
||||
string replyUserName = 5;
|
||||
string contentID = 6;
|
||||
string content = 7;
|
||||
int32 createTime = 8;
|
||||
}
|
||||
|
||||
message WorkMoment {
|
||||
string workMomentID = 1;
|
||||
string userID = 2;
|
||||
string content = 3;
|
||||
repeated LikeUser likeUsers = 4;
|
||||
repeated Comment comments = 5;
|
||||
repeated string whoCanSeeUserIDList = 6;
|
||||
repeated string whoCantSeeUserIDList = 7;
|
||||
bool isPrivate = 8;
|
||||
int32 CreateTime = 10;
|
||||
string userName = 3;
|
||||
string faceURL = 4;
|
||||
string content = 5;
|
||||
repeated LikeUser likeUsers = 6;
|
||||
repeated Comment comments = 7;
|
||||
int32 permission = 8;
|
||||
repeated string permissionUserIDList = 9;
|
||||
repeated string permissionGroupIDList = 10;
|
||||
repeated string atUserIDList = 11;
|
||||
int32 createTime = 12;
|
||||
}
|
||||
|
||||
message CreateOneWorkMomentReq {
|
||||
@ -187,6 +196,18 @@ message GetWorkMomentByIDResp {
|
||||
WorkMoment workMoment = 2;
|
||||
}
|
||||
|
||||
message ChangeWorkMomentPermissionReq {
|
||||
string workMomentID = 1;
|
||||
string opUserID = 2;
|
||||
int32 permission = 3;
|
||||
repeated string permissionUserIDList = 4;
|
||||
string operationID = 5;
|
||||
}
|
||||
|
||||
message ChangeWorkMomentPermissionResp {
|
||||
CommonResp commonResp = 1;
|
||||
}
|
||||
|
||||
message GetUserWorkMomentsReq {
|
||||
string userID = 1;
|
||||
server_api_params.RequestPagination Pagination = 2;
|
||||
@ -211,32 +232,14 @@ message GetUserFriendWorkMomentsResp {
|
||||
server_api_params.ResponsePagination Pagination = 3;
|
||||
}
|
||||
|
||||
message CommentsMsg {
|
||||
Comment comment = 1;
|
||||
string workMomentID = 2;
|
||||
string userID = 3;
|
||||
string content = 4;
|
||||
}
|
||||
|
||||
message GetUserWorkMomentsCommentsMsgReq {
|
||||
string userID = 1;
|
||||
string operationID = 2;
|
||||
server_api_params.RequestPagination Pagination = 3;
|
||||
}
|
||||
|
||||
message GetUserWorkMomentsCommentsMsgResp {
|
||||
CommonResp commonResp = 1;
|
||||
repeated CommentsMsg commentsMsgs = 2;
|
||||
server_api_params.ResponsePagination Pagination = 3;
|
||||
}
|
||||
|
||||
message ClearUserWorkMomentsCommentsMsgReq {
|
||||
string userID = 1;
|
||||
string operationID = 2;
|
||||
}
|
||||
|
||||
message ClearUserWorkMomentsCommentsMsgResp {
|
||||
CommonResp commonResp = 1;
|
||||
message WorkMomentNotificationMsg {
|
||||
int32 notificationMsgType = 1;
|
||||
Comment comment = 2;
|
||||
string workMomentID = 3;
|
||||
string userID = 4;
|
||||
string userName = 5;
|
||||
string faceURL = 6;
|
||||
string workMomentContent = 7;
|
||||
}
|
||||
|
||||
message SetUserWorkMomentsLevelReq {
|
||||
@ -263,12 +266,11 @@ service OfficeService {
|
||||
rpc LikeOneWorkMoment(LikeOneWorkMomentReq) returns(LikeOneWorkMomentResp);
|
||||
rpc CommentOneWorkMoment(CommentOneWorkMomentReq) returns(CommentOneWorkMomentResp);
|
||||
rpc GetWorkMomentByID(GetWorkMomentByIDReq) returns(GetWorkMomentByIDResp);
|
||||
rpc ChangeWorkMomentPermission(ChangeWorkMomentPermissionReq) returns(ChangeWorkMomentPermissionResp);
|
||||
/// user self
|
||||
rpc GetUserWorkMoments(GetUserWorkMomentsReq) returns(GetUserWorkMomentsResp);
|
||||
/// users friend
|
||||
rpc GetUserFriendWorkMoments(GetUserFriendWorkMomentsReq) returns(GetUserFriendWorkMomentsResp);
|
||||
rpc GetUserWorkMomentsCommentsMsg(GetUserWorkMomentsCommentsMsgReq) returns(GetUserWorkMomentsCommentsMsgResp);
|
||||
rpc ClearUserWorkMomentsCommentsMsg(ClearUserWorkMomentsCommentsMsgReq) returns(ClearUserWorkMomentsCommentsMsgResp);
|
||||
rpc SetUserWorkMomentsLevel(SetUserWorkMomentsLevelReq) returns(SetUserWorkMomentsLevelResp);
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,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_6133bd34462fbb1a, []int{0}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{0}
|
||||
}
|
||||
func (m *CommonResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_CommonResp.Unmarshal(m, b)
|
||||
@ -83,7 +83,7 @@ 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_6133bd34462fbb1a, []int{1}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{1}
|
||||
}
|
||||
func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b)
|
||||
@ -136,7 +136,7 @@ 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_6133bd34462fbb1a, []int{2}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{2}
|
||||
}
|
||||
func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b)
|
||||
@ -182,7 +182,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_6133bd34462fbb1a, []int{3}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{3}
|
||||
}
|
||||
func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b)
|
||||
@ -228,7 +228,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_6133bd34462fbb1a, []int{4}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{4}
|
||||
}
|
||||
func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b)
|
||||
@ -275,7 +275,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_6133bd34462fbb1a, []int{5}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{5}
|
||||
}
|
||||
func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b)
|
||||
@ -328,7 +328,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_6133bd34462fbb1a, []int{6}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{6}
|
||||
}
|
||||
func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b)
|
||||
@ -374,7 +374,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_6133bd34462fbb1a, []int{6, 0}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{6, 0}
|
||||
}
|
||||
func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b)
|
||||
@ -421,7 +421,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_6133bd34462fbb1a, []int{7}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{7}
|
||||
}
|
||||
func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b)
|
||||
@ -474,7 +474,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_6133bd34462fbb1a, []int{8}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{8}
|
||||
}
|
||||
func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b)
|
||||
@ -521,7 +521,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_6133bd34462fbb1a, []int{9}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{9}
|
||||
}
|
||||
func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b)
|
||||
@ -573,7 +573,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_6133bd34462fbb1a, []int{10}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{10}
|
||||
}
|
||||
func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b)
|
||||
@ -612,7 +612,9 @@ type Conversation struct {
|
||||
IsPinned bool `protobuf:"varint,9,opt,name=IsPinned" json:"IsPinned,omitempty"`
|
||||
AttachedInfo string `protobuf:"bytes,10,opt,name=AttachedInfo" json:"AttachedInfo,omitempty"`
|
||||
IsPrivateChat bool `protobuf:"varint,11,opt,name=IsPrivateChat" json:"IsPrivateChat,omitempty"`
|
||||
Ex string `protobuf:"bytes,12,opt,name=Ex" json:"Ex,omitempty"`
|
||||
GroupAtType int32 `protobuf:"varint,12,opt,name=GroupAtType" json:"GroupAtType,omitempty"`
|
||||
IsNotInGroup bool `protobuf:"varint,13,opt,name=IsNotInGroup" json:"IsNotInGroup,omitempty"`
|
||||
Ex string `protobuf:"bytes,14,opt,name=Ex" json:"Ex,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@ -622,7 +624,7 @@ func (m *Conversation) Reset() { *m = Conversation{} }
|
||||
func (m *Conversation) String() string { return proto.CompactTextString(m) }
|
||||
func (*Conversation) ProtoMessage() {}
|
||||
func (*Conversation) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_user_6133bd34462fbb1a, []int{11}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{11}
|
||||
}
|
||||
func (m *Conversation) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_Conversation.Unmarshal(m, b)
|
||||
@ -719,6 +721,20 @@ func (m *Conversation) GetIsPrivateChat() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *Conversation) GetGroupAtType() int32 {
|
||||
if m != nil {
|
||||
return m.GroupAtType
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *Conversation) GetIsNotInGroup() bool {
|
||||
if m != nil {
|
||||
return m.IsNotInGroup
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *Conversation) GetEx() string {
|
||||
if m != nil {
|
||||
return m.Ex
|
||||
@ -739,7 +755,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_6133bd34462fbb1a, []int{12}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{12}
|
||||
}
|
||||
func (m *SetConversationReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SetConversationReq.Unmarshal(m, b)
|
||||
@ -791,7 +807,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_6133bd34462fbb1a, []int{13}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{13}
|
||||
}
|
||||
func (m *SetConversationResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SetConversationResp.Unmarshal(m, b)
|
||||
@ -833,7 +849,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_6133bd34462fbb1a, []int{14}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{14}
|
||||
}
|
||||
func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b)
|
||||
@ -899,7 +915,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_6133bd34462fbb1a, []int{15}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{15}
|
||||
}
|
||||
func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b)
|
||||
@ -939,7 +955,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_6133bd34462fbb1a, []int{16}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{16}
|
||||
}
|
||||
func (m *GetConversationReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetConversationReq.Unmarshal(m, b)
|
||||
@ -992,7 +1008,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_6133bd34462fbb1a, []int{17}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{17}
|
||||
}
|
||||
func (m *GetConversationResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetConversationResp.Unmarshal(m, b)
|
||||
@ -1039,7 +1055,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_6133bd34462fbb1a, []int{18}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{18}
|
||||
}
|
||||
func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b)
|
||||
@ -1092,7 +1108,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_6133bd34462fbb1a, []int{19}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{19}
|
||||
}
|
||||
func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b)
|
||||
@ -1138,7 +1154,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_6133bd34462fbb1a, []int{20}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{20}
|
||||
}
|
||||
func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b)
|
||||
@ -1184,7 +1200,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_6133bd34462fbb1a, []int{21}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{21}
|
||||
}
|
||||
func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b)
|
||||
@ -1232,7 +1248,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_6133bd34462fbb1a, []int{22}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{22}
|
||||
}
|
||||
func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b)
|
||||
@ -1293,7 +1309,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_6133bd34462fbb1a, []int{23}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{23}
|
||||
}
|
||||
func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b)
|
||||
@ -1346,7 +1362,7 @@ 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_6133bd34462fbb1a, []int{24}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{24}
|
||||
}
|
||||
func (m *ResignUserReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_ResignUserReq.Unmarshal(m, b)
|
||||
@ -1391,7 +1407,7 @@ 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_6133bd34462fbb1a, []int{25}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{25}
|
||||
}
|
||||
func (m *ResignUserResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_ResignUserResp.Unmarshal(m, b)
|
||||
@ -1430,7 +1446,7 @@ 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_6133bd34462fbb1a, []int{26}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{26}
|
||||
}
|
||||
func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b)
|
||||
@ -1479,7 +1495,7 @@ 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_6133bd34462fbb1a, []int{27}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{27}
|
||||
}
|
||||
func (m *User) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_User.Unmarshal(m, b)
|
||||
@ -1546,7 +1562,7 @@ 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_6133bd34462fbb1a, []int{28}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{28}
|
||||
}
|
||||
func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b)
|
||||
@ -1593,7 +1609,7 @@ 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_6133bd34462fbb1a, []int{29}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{29}
|
||||
}
|
||||
func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b)
|
||||
@ -1647,7 +1663,7 @@ 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_6133bd34462fbb1a, []int{30}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{30}
|
||||
}
|
||||
func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b)
|
||||
@ -1704,7 +1720,7 @@ 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_6133bd34462fbb1a, []int{31}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{31}
|
||||
}
|
||||
func (m *AlterUserReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AlterUserReq.Unmarshal(m, b)
|
||||
@ -1777,7 +1793,7 @@ 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_6133bd34462fbb1a, []int{32}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{32}
|
||||
}
|
||||
func (m *AlterUserResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AlterUserResp.Unmarshal(m, b)
|
||||
@ -1817,7 +1833,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_6133bd34462fbb1a, []int{33}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{33}
|
||||
}
|
||||
func (m *GetUsersReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersReq.Unmarshal(m, b)
|
||||
@ -1872,7 +1888,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_6133bd34462fbb1a, []int{34}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{34}
|
||||
}
|
||||
func (m *GetUsersResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersResp.Unmarshal(m, b)
|
||||
@ -1935,7 +1951,7 @@ 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_6133bd34462fbb1a, []int{35}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{35}
|
||||
}
|
||||
func (m *AddUserReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AddUserReq.Unmarshal(m, b)
|
||||
@ -2001,7 +2017,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_6133bd34462fbb1a, []int{36}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{36}
|
||||
}
|
||||
func (m *AddUserResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AddUserResp.Unmarshal(m, b)
|
||||
@ -2042,7 +2058,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_6133bd34462fbb1a, []int{37}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{37}
|
||||
}
|
||||
func (m *BlockUserReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_BlockUserReq.Unmarshal(m, b)
|
||||
@ -2101,7 +2117,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_6133bd34462fbb1a, []int{38}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{38}
|
||||
}
|
||||
func (m *BlockUserResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_BlockUserResp.Unmarshal(m, b)
|
||||
@ -2141,7 +2157,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_6133bd34462fbb1a, []int{39}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{39}
|
||||
}
|
||||
func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b)
|
||||
@ -2193,7 +2209,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_6133bd34462fbb1a, []int{40}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{40}
|
||||
}
|
||||
func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b)
|
||||
@ -2233,7 +2249,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_6133bd34462fbb1a, []int{41}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{41}
|
||||
}
|
||||
func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b)
|
||||
@ -2287,7 +2303,7 @@ 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_6133bd34462fbb1a, []int{42}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{42}
|
||||
}
|
||||
func (m *BlockUser) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_BlockUser.Unmarshal(m, b)
|
||||
@ -2342,7 +2358,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_6133bd34462fbb1a, []int{43}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{43}
|
||||
}
|
||||
func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b)
|
||||
@ -2402,7 +2418,7 @@ 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_6133bd34462fbb1a, []int{44}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{44}
|
||||
}
|
||||
func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b)
|
||||
@ -2447,7 +2463,7 @@ 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_6133bd34462fbb1a, []int{45}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{45}
|
||||
}
|
||||
func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b)
|
||||
@ -2487,7 +2503,7 @@ 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_6133bd34462fbb1a, []int{46}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{46}
|
||||
}
|
||||
func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b)
|
||||
@ -2539,7 +2555,7 @@ 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_6133bd34462fbb1a, []int{47}
|
||||
return fileDescriptor_user_e11c6a5241e13fcd, []int{47}
|
||||
}
|
||||
func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b)
|
||||
@ -3383,123 +3399,125 @@ var _User_serviceDesc = grpc.ServiceDesc{
|
||||
Metadata: "user/user.proto",
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_6133bd34462fbb1a) }
|
||||
func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_e11c6a5241e13fcd) }
|
||||
|
||||
var fileDescriptor_user_6133bd34462fbb1a = []byte{
|
||||
// 1835 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0x5f, 0x6f, 0xdc, 0xc6,
|
||||
0x11, 0x07, 0xef, 0x8f, 0x25, 0xcd, 0xe9, 0x4e, 0xa7, 0x95, 0x2c, 0xd1, 0x6c, 0xab, 0xaa, 0x84,
|
||||
0xeb, 0x0a, 0x02, 0x2a, 0xb5, 0x6e, 0x51, 0x17, 0x2e, 0x5a, 0x5b, 0x77, 0x92, 0x85, 0x2b, 0x62,
|
||||
0xe9, 0xc0, 0xb3, 0x80, 0x20, 0x08, 0x20, 0xd0, 0x77, 0x2b, 0x89, 0xd0, 0x1d, 0x49, 0x73, 0x79,
|
||||
0xb2, 0x95, 0x17, 0x07, 0xf9, 0xf3, 0x12, 0xe4, 0x25, 0x40, 0x00, 0x3b, 0x79, 0xc8, 0xe7, 0xc8,
|
||||
0x7b, 0xf2, 0x94, 0x6f, 0x90, 0xa7, 0x7c, 0x95, 0x60, 0x97, 0x4b, 0x72, 0x77, 0x49, 0x49, 0x17,
|
||||
0x4a, 0xf0, 0x8b, 0xad, 0x9d, 0xdd, 0x1d, 0xfe, 0x66, 0xe6, 0x37, 0xb3, 0xb3, 0x7b, 0x30, 0x37,
|
||||
0x26, 0x38, 0xd8, 0xa4, 0xff, 0x6c, 0xf8, 0x81, 0x17, 0x7a, 0xa8, 0x42, 0xff, 0x36, 0xfe, 0xb4,
|
||||
0xef, 0x63, 0xf7, 0xb0, 0xf3, 0x74, 0xd3, 0x3f, 0x3d, 0xde, 0x64, 0x13, 0x9b, 0x64, 0x70, 0x7a,
|
||||
0xf8, 0x92, 0x6c, 0xbe, 0x24, 0xd1, 0x42, 0xf3, 0x7f, 0x00, 0x6d, 0x6f, 0x34, 0xf2, 0x5c, 0x0b,
|
||||
0x13, 0x1f, 0xe9, 0x30, 0x85, 0x83, 0xa0, 0xed, 0x0d, 0xb0, 0xae, 0xad, 0x6a, 0x6b, 0x55, 0x2b,
|
||||
0x1e, 0xa2, 0x25, 0xb8, 0x85, 0x83, 0xe0, 0x29, 0x39, 0xd6, 0x4b, 0xab, 0xda, 0xda, 0x8c, 0xc5,
|
||||
0x47, 0xe6, 0x47, 0xd0, 0xd8, 0xc6, 0x43, 0x1c, 0xe2, 0x03, 0x82, 0x03, 0x62, 0xe1, 0x17, 0x68,
|
||||
0x1d, 0x9a, 0xa9, 0xa4, 0xb3, 0xfd, 0x9e, 0x43, 0x42, 0xbd, 0xb4, 0x5a, 0x5e, 0x9b, 0xb1, 0x32,
|
||||
0x72, 0x64, 0xc0, 0xf4, 0xbe, 0x1f, 0x8d, 0xf5, 0x32, 0xd3, 0x9b, 0x8c, 0xd1, 0x2a, 0xd4, 0xf6,
|
||||
0x7d, 0x1c, 0xd8, 0xa1, 0xe3, 0xb9, 0x9d, 0x6d, 0xbd, 0xc2, 0xa6, 0x45, 0x91, 0xe9, 0xc1, 0x9c,
|
||||
0xf4, 0x6d, 0xe2, 0xa3, 0xbf, 0x89, 0xe6, 0x30, 0x1b, 0x6a, 0xf7, 0x9b, 0x1b, 0xcc, 0x31, 0xa9,
|
||||
0xdc, 0x12, 0x4d, 0x5e, 0x87, 0xe6, 0x13, 0xdb, 0x19, 0xe2, 0x41, 0x16, 0xae, 0x2a, 0x37, 0xf7,
|
||||
0x61, 0x6e, 0x17, 0x87, 0x5b, 0xc3, 0x61, 0x24, 0xa3, 0xd6, 0x1a, 0x30, 0xed, 0xc5, 0x16, 0x68,
|
||||
0x91, 0x05, 0x9e, 0x60, 0x81, 0x27, 0x58, 0x10, 0x39, 0x4e, 0x14, 0x99, 0x03, 0x68, 0xca, 0x0a,
|
||||
0x0b, 0x99, 0xb0, 0x02, 0x90, 0x01, 0x2f, 0x48, 0xcc, 0x73, 0x98, 0xdb, 0xea, 0xf7, 0xbd, 0xb1,
|
||||
0x1b, 0xb6, 0x4f, 0x70, 0xff, 0x94, 0xc2, 0x5e, 0x83, 0x39, 0xf6, 0xb7, 0xb0, 0x4f, 0x63, 0xfb,
|
||||
0x54, 0xb1, 0x14, 0xa2, 0xd2, 0xe5, 0x21, 0x2a, 0x67, 0x43, 0xf4, 0x8b, 0x06, 0x4d, 0xf9, 0xdb,
|
||||
0x91, 0x85, 0xfd, 0x09, 0x2c, 0x4c, 0xd7, 0xa0, 0x5d, 0x00, 0x0b, 0x93, 0xf1, 0x30, 0x4c, 0x2c,
|
||||
0xac, 0xdd, 0xff, 0x4b, 0xb4, 0x43, 0xd5, 0xbe, 0xd1, 0x73, 0xdc, 0xe3, 0x21, 0xa3, 0x44, 0x2f,
|
||||
0xb4, 0xc3, 0x31, 0xb1, 0x84, 0xad, 0x46, 0x17, 0x9a, 0xea, 0x3c, 0xa5, 0xf6, 0x58, 0x0c, 0x20,
|
||||
0x1f, 0xa1, 0xbb, 0x50, 0xb7, 0x23, 0xe5, 0xd1, 0x42, 0x6e, 0xbe, 0x2c, 0x34, 0x5d, 0x68, 0xec,
|
||||
0xe2, 0x90, 0x39, 0xc4, 0x3d, 0xf2, 0xa8, 0x6f, 0x57, 0x00, 0xc6, 0xaa, 0x5b, 0x05, 0xc9, 0x35,
|
||||
0x3d, 0xfa, 0x99, 0xc6, 0x48, 0x98, 0x7e, 0xb0, 0x90, 0x43, 0x1f, 0xc1, 0x6c, 0xac, 0x81, 0xa1,
|
||||
0x2c, 0x33, 0x97, 0xfe, 0x6e, 0x83, 0xe0, 0xe0, 0x0c, 0x07, 0x87, 0xb6, 0xef, 0x1c, 0xfa, 0x76,
|
||||
0x60, 0x8f, 0xc8, 0x46, 0xf2, 0x21, 0x69, 0x83, 0xf9, 0x85, 0x06, 0xf3, 0x07, 0xfe, 0xc0, 0xe6,
|
||||
0xe9, 0xcc, 0x4d, 0x7f, 0x00, 0xd3, 0xf1, 0x90, 0xc3, 0xb8, 0x54, 0x65, 0xb2, 0xf8, 0x2a, 0x9f,
|
||||
0x78, 0x59, 0x9f, 0x88, 0x69, 0xf4, 0x04, 0x90, 0x8a, 0xa5, 0x88, 0x57, 0xcc, 0xaf, 0xcb, 0x30,
|
||||
0xdb, 0xf6, 0xdc, 0x33, 0x1c, 0x10, 0xa6, 0x9a, 0x85, 0xe3, 0xa5, 0x8b, 0x03, 0x29, 0xc1, 0x45,
|
||||
0x11, 0xba, 0x07, 0x0d, 0x71, 0x47, 0x02, 0x5f, 0x91, 0x52, 0x52, 0x58, 0xb8, 0x7f, 0xf6, 0x94,
|
||||
0x1c, 0xef, 0xfb, 0x21, 0xb3, 0xa1, 0x6a, 0x09, 0x12, 0x5a, 0x86, 0xc4, 0x1d, 0xcf, 0xce, 0x7d,
|
||||
0xcc, 0x4a, 0x5e, 0xd5, 0xca, 0xc8, 0x29, 0x61, 0x39, 0xa0, 0x6a, 0x44, 0x58, 0x8e, 0x45, 0x87,
|
||||
0xa9, 0xdd, 0xc0, 0x1b, 0xfb, 0x9d, 0x6d, 0xfd, 0x16, 0x9b, 0x88, 0x87, 0xd4, 0x8e, 0x03, 0x37,
|
||||
0xc0, 0xf6, 0xa0, 0x4d, 0x99, 0xab, 0x4f, 0x31, 0xc5, 0xa2, 0x88, 0x92, 0x7d, 0x3b, 0xb0, 0x8f,
|
||||
0xc2, 0x67, 0xf8, 0x55, 0xf8, 0xcc, 0x19, 0x61, 0x7d, 0x7a, 0x55, 0x5b, 0x2b, 0x5b, 0xb2, 0x90,
|
||||
0x86, 0xa9, 0x43, 0xba, 0x8e, 0xeb, 0xe2, 0x81, 0x3e, 0xb3, 0xaa, 0xad, 0x4d, 0x5b, 0xc9, 0x18,
|
||||
0x99, 0x30, 0xbb, 0x15, 0x86, 0x76, 0xff, 0x04, 0x0f, 0x58, 0xfc, 0x81, 0x41, 0x90, 0x64, 0xf4,
|
||||
0x2b, 0x1d, 0xd2, 0x0d, 0x9c, 0x33, 0x3b, 0xc4, 0xed, 0x13, 0x3b, 0xd4, 0x6b, 0x4c, 0x89, 0x2c,
|
||||
0x44, 0x0d, 0x28, 0xed, 0xbc, 0xd2, 0x67, 0xd9, 0xfe, 0xd2, 0xce, 0x2b, 0xf3, 0x5b, 0x0d, 0x50,
|
||||
0x0f, 0x87, 0xa2, 0x1f, 0x28, 0xd9, 0xfe, 0x25, 0x07, 0x8b, 0x47, 0x18, 0xc5, 0x11, 0x16, 0x16,
|
||||
0xcb, 0x41, 0x5d, 0x87, 0xa6, 0xeb, 0x85, 0xce, 0x91, 0xd3, 0x4f, 0x5d, 0x5d, 0x8a, 0x5c, 0xad,
|
||||
0xca, 0x27, 0xc8, 0xc7, 0x5d, 0x58, 0xc8, 0x60, 0x2b, 0x44, 0xbe, 0x9f, 0x34, 0x68, 0xf6, 0x70,
|
||||
0x98, 0x72, 0x82, 0xda, 0xf8, 0x4e, 0x09, 0x98, 0xf1, 0x4a, 0x65, 0x32, 0xaf, 0x54, 0xb3, 0x5e,
|
||||
0xd9, 0x81, 0x79, 0xc5, 0x96, 0x42, 0x3e, 0xf9, 0x58, 0x03, 0xb4, 0x9b, 0x8d, 0x7c, 0xd6, 0x66,
|
||||
0x2d, 0xd7, 0x66, 0xc5, 0x7b, 0xa5, 0xac, 0xf7, 0xae, 0x8e, 0xef, 0x6b, 0x58, 0xd8, 0xbd, 0x89,
|
||||
0xf8, 0x66, 0xe8, 0x5a, 0x9a, 0x8c, 0xae, 0xe6, 0xa7, 0x5a, 0x06, 0x01, 0x99, 0x8c, 0x1a, 0xf4,
|
||||
0x90, 0x97, 0x1c, 0x42, 0x78, 0x73, 0xa0, 0x8a, 0x27, 0x70, 0xc3, 0x27, 0x1a, 0x2c, 0x66, 0x51,
|
||||
0x14, 0x72, 0xc4, 0xbf, 0xa1, 0x2e, 0xa9, 0xe1, 0xe7, 0x79, 0x9e, 0x27, 0xe4, 0x85, 0xe6, 0x87,
|
||||
0xb0, 0x14, 0xb5, 0x4b, 0x05, 0x9c, 0xa1, 0x98, 0x58, 0xca, 0x9a, 0xf8, 0xb9, 0x06, 0xcb, 0xb9,
|
||||
0xea, 0xdf, 0xb1, 0x95, 0x3f, 0x6a, 0xa0, 0xb7, 0xec, 0xb0, 0x7f, 0xd2, 0xcb, 0x89, 0x7a, 0x46,
|
||||
0xad, 0x36, 0xa1, 0xda, 0x09, 0x92, 0x21, 0xaf, 0x04, 0x94, 0x27, 0x2b, 0x01, 0x95, 0xbc, 0xc4,
|
||||
0xb9, 0x73, 0x81, 0x15, 0x85, 0xfc, 0xa9, 0xc3, 0x54, 0x6f, 0xdc, 0xef, 0x63, 0x12, 0x93, 0x38,
|
||||
0x1e, 0xd2, 0xe3, 0x30, 0xea, 0xd4, 0x59, 0x17, 0x33, 0x63, 0xf1, 0x91, 0xd9, 0x81, 0xba, 0x85,
|
||||
0x89, 0x73, 0xec, 0x52, 0xf3, 0xa8, 0xef, 0xe2, 0x73, 0x73, 0x10, 0x37, 0x7a, 0xd1, 0x68, 0x02,
|
||||
0x6a, 0xb4, 0xa0, 0x21, 0xaa, 0x2a, 0x54, 0xcb, 0xfe, 0x9f, 0x34, 0x8a, 0xad, 0xf3, 0xce, 0xe0,
|
||||
0x7a, 0x78, 0xde, 0x6a, 0x50, 0xa1, 0x8b, 0xe9, 0xa1, 0xdb, 0x0d, 0xbc, 0x23, 0x67, 0x88, 0xbb,
|
||||
0x27, 0x5e, 0xe8, 0x71, 0x45, 0x92, 0x8c, 0x1e, 0xda, 0x7b, 0x4e, 0xff, 0xd4, 0xb5, 0x47, 0x38,
|
||||
0xee, 0xad, 0xe2, 0xb1, 0x00, 0xa1, 0x2c, 0x41, 0x58, 0x01, 0x68, 0x07, 0xd8, 0x0e, 0x31, 0xeb,
|
||||
0x05, 0xa2, 0xe8, 0x0a, 0x12, 0x1a, 0x8d, 0x0e, 0x69, 0x0d, 0xbd, 0xfe, 0x29, 0xab, 0xfe, 0xd3,
|
||||
0x56, 0x3c, 0x34, 0xfb, 0x49, 0x7b, 0x1a, 0x99, 0x59, 0xf0, 0x46, 0xc3, 0x2e, 0xb0, 0xbc, 0x46,
|
||||
0x42, 0xb4, 0x96, 0xf9, 0x9e, 0xc9, 0xcd, 0x37, 0x1a, 0xcc, 0xf3, 0xaf, 0x90, 0xd6, 0xf9, 0x9e,
|
||||
0x3d, 0xc2, 0xfc, 0x2e, 0x46, 0x25, 0x74, 0x18, 0xdf, 0xc5, 0xe2, 0x31, 0xda, 0x06, 0xe8, 0xda,
|
||||
0xc7, 0x8e, 0x2b, 0xd6, 0xde, 0xbb, 0x39, 0xbd, 0xa9, 0x85, 0x5f, 0x8c, 0x31, 0x09, 0xd3, 0xb5,
|
||||
0x96, 0xb0, 0x6f, 0x82, 0x3a, 0xf9, 0x4d, 0x74, 0x62, 0x49, 0xc8, 0x88, 0x8f, 0x56, 0xa1, 0x4a,
|
||||
0x81, 0xc7, 0xe9, 0x2a, 0x5a, 0x14, 0x4d, 0xa0, 0x9d, 0x1c, 0x80, 0x7f, 0xce, 0x05, 0x48, 0x7c,
|
||||
0xcf, 0x25, 0xf8, 0x02, 0x84, 0xb1, 0x0f, 0xc6, 0x23, 0xc2, 0x73, 0x37, 0x19, 0x9b, 0xdf, 0x6b,
|
||||
0x30, 0xbb, 0x35, 0x0c, 0xa3, 0x7c, 0xbf, 0x16, 0x01, 0xe9, 0x8a, 0xee, 0x89, 0xe7, 0xe2, 0xbd,
|
||||
0xf1, 0xe8, 0x39, 0x0e, 0xd8, 0x97, 0xca, 0x96, 0x28, 0x92, 0x58, 0x57, 0x51, 0x58, 0xb7, 0x08,
|
||||
0xd5, 0x9d, 0x91, 0xed, 0x0c, 0x79, 0xe7, 0x10, 0x0d, 0x84, 0x3b, 0xc0, 0x80, 0xf7, 0xaf, 0xc9,
|
||||
0xd8, 0xdc, 0x82, 0xba, 0x80, 0xbc, 0x08, 0xa7, 0xcc, 0xaf, 0x34, 0xa8, 0xc5, 0x91, 0x89, 0x8f,
|
||||
0x0c, 0xc1, 0x48, 0x2d, 0x6b, 0xe4, 0xcd, 0x70, 0x46, 0x64, 0x65, 0x59, 0x66, 0xa5, 0xf9, 0x83,
|
||||
0x06, 0xb3, 0x29, 0xa6, 0x6b, 0xa6, 0x4a, 0x39, 0x2f, 0x55, 0x14, 0x5e, 0x95, 0x6f, 0x82, 0x57,
|
||||
0x15, 0x85, 0x57, 0x6f, 0x35, 0x80, 0xad, 0xc1, 0x20, 0x66, 0xd5, 0xd5, 0x8e, 0x55, 0xd8, 0xc3,
|
||||
0xf9, 0x25, 0xb2, 0xe7, 0xa2, 0xba, 0x84, 0xa0, 0x22, 0x30, 0x8a, 0xfd, 0x2d, 0xf1, 0xa6, 0xaa,
|
||||
0xf0, 0xe6, 0x11, 0xd4, 0x12, 0x64, 0x85, 0x58, 0xf3, 0xa5, 0x06, 0xb3, 0xac, 0xb0, 0x5d, 0x95,
|
||||
0x33, 0xf7, 0xa0, 0xb1, 0xe3, 0x0e, 0xb6, 0x1d, 0x62, 0x3f, 0x1f, 0x46, 0x55, 0x93, 0xf7, 0xe1,
|
||||
0xb2, 0xf4, 0xea, 0x12, 0x22, 0xd9, 0x53, 0xc9, 0xe6, 0x81, 0x80, 0xa6, 0x90, 0x45, 0x47, 0xd0,
|
||||
0x38, 0x70, 0x27, 0x32, 0xe9, 0xea, 0x32, 0x20, 0x42, 0x2d, 0x2b, 0x50, 0xdb, 0x30, 0x27, 0x7d,
|
||||
0xa7, 0x10, 0xd8, 0xef, 0x34, 0xf6, 0x42, 0x96, 0xa8, 0x61, 0x99, 0x2b, 0xe7, 0xa5, 0x76, 0x33,
|
||||
0xb5, 0x3c, 0xc7, 0x3a, 0x53, 0x08, 0xfd, 0xde, 0x78, 0xc4, 0xeb, 0xa9, 0x24, 0x33, 0x5f, 0xc3,
|
||||
0x4c, 0x32, 0xa6, 0xb9, 0x48, 0xff, 0xe7, 0x90, 0xa4, 0x5c, 0x64, 0xf3, 0xeb, 0xd0, 0x6c, 0xe1,
|
||||
0x63, 0xc7, 0xcd, 0xb2, 0x24, 0x23, 0xcf, 0xe1, 0x53, 0x39, 0x8f, 0x4f, 0xe6, 0xcf, 0xd1, 0x51,
|
||||
0x28, 0x7a, 0xa8, 0x50, 0x1d, 0xd9, 0x04, 0x48, 0x75, 0xf0, 0x6a, 0x32, 0x17, 0xed, 0x48, 0x83,
|
||||
0x28, 0x2c, 0x79, 0x17, 0x85, 0xa5, 0xcb, 0x6e, 0x3e, 0xc9, 0x37, 0xe3, 0xbe, 0x69, 0x19, 0xa6,
|
||||
0xe8, 0xf0, 0xd0, 0xf9, 0xed, 0x8d, 0xd3, 0x0e, 0xbb, 0xc5, 0x28, 0x1a, 0x89, 0x8f, 0xfe, 0x2a,
|
||||
0x84, 0x91, 0x57, 0xfa, 0x8c, 0xf1, 0xe9, 0x0a, 0xf3, 0x08, 0xea, 0xe9, 0xcb, 0xf3, 0xf5, 0x20,
|
||||
0x5d, 0x9a, 0x43, 0x2d, 0xf1, 0x75, 0xbd, 0x58, 0x60, 0xef, 0xbf, 0xa9, 0x45, 0x27, 0x04, 0x7a,
|
||||
0x98, 0x9c, 0x7f, 0xec, 0x2d, 0x66, 0x31, 0xda, 0x25, 0x3f, 0x5e, 0x1a, 0xb7, 0x73, 0xa4, 0xc4,
|
||||
0x47, 0x6d, 0x68, 0xc8, 0x2f, 0x6c, 0x68, 0x99, 0xb3, 0x5b, 0x7d, 0x03, 0x34, 0xf4, 0xfc, 0x09,
|
||||
0xe2, 0x53, 0x00, 0xc2, 0x7b, 0x7d, 0x0c, 0x40, 0xfe, 0xf9, 0x20, 0x06, 0xa0, 0x3e, 0xec, 0xff,
|
||||
0x97, 0x1d, 0x94, 0xc9, 0x4b, 0x39, 0x4a, 0x71, 0x8a, 0xcf, 0xf1, 0xc6, 0x52, 0x9e, 0x38, 0xda,
|
||||
0x2e, 0x3e, 0x14, 0xc7, 0xdb, 0x95, 0x67, 0xf1, 0x78, 0x7b, 0xe6, 0xc5, 0xfa, 0x09, 0x6b, 0x6a,
|
||||
0xa5, 0x57, 0x24, 0x3d, 0xf9, 0x92, 0xf2, 0x3a, 0x61, 0xdc, 0xb9, 0x60, 0x86, 0xf8, 0xc8, 0x62,
|
||||
0x84, 0x56, 0x6f, 0x98, 0xe8, 0xf7, 0x22, 0x6a, 0xf5, 0xca, 0x67, 0xfc, 0xe1, 0x92, 0x59, 0xe2,
|
||||
0xa3, 0x0e, 0xab, 0x90, 0xb2, 0xc2, 0x7c, 0x08, 0x4c, 0x9b, 0x71, 0xd1, 0x14, 0xf1, 0xd1, 0xfb,
|
||||
0x70, 0x3b, 0xf7, 0xca, 0x86, 0x56, 0x78, 0x2e, 0x5c, 0x70, 0x2b, 0x35, 0xfe, 0x78, 0xe9, 0x7c,
|
||||
0xe4, 0xc0, 0x5e, 0xbe, 0x03, 0x7b, 0x17, 0x3a, 0x30, 0xef, 0x59, 0xed, 0x31, 0xd4, 0xa5, 0x77,
|
||||
0x25, 0xb4, 0x94, 0xac, 0x95, 0x1e, 0xce, 0x8c, 0xe5, 0x5c, 0x79, 0x44, 0x42, 0xe1, 0x7e, 0xa2,
|
||||
0x64, 0x01, 0xaf, 0x30, 0x4a, 0x16, 0x24, 0x55, 0xa2, 0x9d, 0x5c, 0xe1, 0x78, 0x6f, 0x1f, 0x67,
|
||||
0x41, 0xe6, 0x2e, 0x62, 0xe8, 0xf9, 0x13, 0xc4, 0x47, 0x0f, 0xd8, 0x6f, 0x19, 0xfc, 0x2e, 0x89,
|
||||
0x16, 0xa2, 0x75, 0xd2, 0x45, 0xd5, 0x58, 0xcc, 0x0a, 0x89, 0x8f, 0xfe, 0x09, 0x33, 0x49, 0x0f,
|
||||
0x8c, 0xf8, 0x85, 0x5f, 0x6c, 0xe7, 0x8d, 0x85, 0x8c, 0x8c, 0xf8, 0xe8, 0xef, 0x30, 0x1d, 0x83,
|
||||
0x40, 0xf3, 0x32, 0x28, 0xba, 0x07, 0xa9, 0x22, 0xe2, 0xa3, 0x0d, 0x98, 0xe2, 0x4d, 0x13, 0xe2,
|
||||
0xa5, 0x25, 0xed, 0xee, 0x8c, 0x79, 0x45, 0x12, 0x01, 0x4b, 0xcf, 0x40, 0xa4, 0x96, 0xcd, 0x14,
|
||||
0x98, 0xdc, 0x0c, 0x3c, 0x84, 0x9a, 0xd0, 0x1f, 0xc4, 0x81, 0x90, 0x5b, 0x93, 0x38, 0x10, 0x6a,
|
||||
0x23, 0xf1, 0x18, 0xea, 0xd2, 0x99, 0x87, 0xd2, 0xbc, 0x97, 0x5a, 0x05, 0x63, 0x39, 0x57, 0x9e,
|
||||
0x64, 0x8d, 0x74, 0x10, 0x08, 0x59, 0xa3, 0x1e, 0x39, 0x42, 0xd6, 0x64, 0xcf, 0x8e, 0x07, 0x00,
|
||||
0x69, 0xb5, 0x8a, 0x03, 0x2a, 0x1d, 0x0f, 0xc6, 0x62, 0x56, 0x48, 0xfc, 0x56, 0xfd, 0x83, 0xda,
|
||||
0x06, 0xfb, 0xd1, 0xf6, 0x3f, 0xf4, 0x9f, 0xe7, 0xb7, 0xd8, 0x2f, 0xb2, 0xff, 0xf8, 0x35, 0x00,
|
||||
0x00, 0xff, 0xff, 0x10, 0x04, 0x45, 0x5d, 0xcd, 0x1d, 0x00, 0x00,
|
||||
var fileDescriptor_user_e11c6a5241e13fcd = []byte{
|
||||
// 1857 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xdd, 0x4f, 0x24, 0x4b,
|
||||
0x15, 0x4f, 0xcf, 0xc7, 0x02, 0x67, 0x98, 0x61, 0x28, 0xb8, 0xd0, 0xb7, 0x55, 0xc4, 0xce, 0xf5,
|
||||
0x4a, 0x48, 0x04, 0x5d, 0x8d, 0x6b, 0xd6, 0xe8, 0x2e, 0x33, 0xb0, 0x64, 0x8c, 0x0b, 0x93, 0x9e,
|
||||
0x25, 0x31, 0xc6, 0x84, 0xf4, 0xce, 0x14, 0xd0, 0x61, 0xa6, 0xbb, 0xb7, 0xab, 0x87, 0x5d, 0x7c,
|
||||
0x59, 0xe3, 0xc7, 0x8b, 0xf1, 0xc5, 0xa7, 0x5d, 0x7d, 0xf0, 0xef, 0xf0, 0x5d, 0x9f, 0xfc, 0x0f,
|
||||
0xf4, 0xc5, 0x7f, 0xc5, 0xd4, 0x47, 0x77, 0x57, 0x55, 0x37, 0x30, 0xb7, 0x21, 0xfb, 0x02, 0x53,
|
||||
0xa7, 0xbe, 0x7e, 0xe7, 0x9c, 0xdf, 0x39, 0x75, 0xaa, 0x1a, 0x96, 0xa6, 0x04, 0x47, 0xbb, 0xf4,
|
||||
0xcf, 0x4e, 0x18, 0x05, 0x71, 0x80, 0x6a, 0xf4, 0xb7, 0xf5, 0xad, 0xe3, 0x10, 0xfb, 0xa7, 0xbd,
|
||||
0x97, 0xbb, 0xe1, 0xe5, 0xf9, 0x2e, 0xeb, 0xd8, 0x25, 0xa3, 0xcb, 0xd3, 0xb7, 0x64, 0xf7, 0x2d,
|
||||
0xe1, 0x03, 0xed, 0x9f, 0x01, 0x74, 0x83, 0xc9, 0x24, 0xf0, 0x1d, 0x4c, 0x42, 0x64, 0xc2, 0x1c,
|
||||
0x8e, 0xa2, 0x6e, 0x30, 0xc2, 0xa6, 0xb1, 0x69, 0x6c, 0xd5, 0x9d, 0xa4, 0x89, 0xd6, 0xe0, 0x11,
|
||||
0x8e, 0xa2, 0x97, 0xe4, 0xdc, 0xac, 0x6c, 0x1a, 0x5b, 0x0b, 0x8e, 0x68, 0xd9, 0xbf, 0x81, 0xd6,
|
||||
0x3e, 0x1e, 0xe3, 0x18, 0x9f, 0x10, 0x1c, 0x11, 0x07, 0xbf, 0x41, 0xdb, 0xd0, 0xce, 0x24, 0xbd,
|
||||
0xfd, 0x5f, 0x78, 0x24, 0x36, 0x2b, 0x9b, 0xd5, 0xad, 0x05, 0x27, 0x27, 0x47, 0x16, 0xcc, 0x1f,
|
||||
0x87, 0xbc, 0x6d, 0x56, 0xd9, 0xba, 0x69, 0x1b, 0x6d, 0x42, 0xe3, 0x38, 0xc4, 0x91, 0x1b, 0x7b,
|
||||
0x81, 0xdf, 0xdb, 0x37, 0x6b, 0xac, 0x5b, 0x16, 0xd9, 0x01, 0x2c, 0x29, 0x7b, 0x93, 0x10, 0x7d,
|
||||
0x4f, 0x56, 0x87, 0xe9, 0xd0, 0x78, 0xdc, 0xde, 0x61, 0x86, 0xc9, 0xe4, 0x8e, 0xac, 0xf2, 0x36,
|
||||
0xb4, 0x5f, 0xb8, 0xde, 0x18, 0x8f, 0xf2, 0x70, 0x75, 0xb9, 0x7d, 0x0c, 0x4b, 0x87, 0x38, 0xde,
|
||||
0x1b, 0x8f, 0xb9, 0x8c, 0x6a, 0x6b, 0xc1, 0x7c, 0x90, 0x68, 0x60, 0x70, 0x0d, 0x02, 0x49, 0x83,
|
||||
0x40, 0xd2, 0x80, 0x1b, 0x4e, 0x16, 0xd9, 0x23, 0x68, 0xab, 0x0b, 0x96, 0x52, 0x61, 0x03, 0x20,
|
||||
0x07, 0x5e, 0x92, 0xd8, 0xd7, 0xb0, 0xb4, 0x37, 0x1c, 0x06, 0x53, 0x3f, 0xee, 0x5e, 0xe0, 0xe1,
|
||||
0x25, 0x85, 0xbd, 0x05, 0x4b, 0xec, 0xb7, 0x34, 0xcf, 0x60, 0xf3, 0x74, 0xb1, 0xe2, 0xa2, 0xca,
|
||||
0xed, 0x2e, 0xaa, 0xe6, 0x5d, 0xf4, 0x3f, 0x03, 0xda, 0xea, 0xde, 0x5c, 0xc3, 0xe1, 0x0c, 0x1a,
|
||||
0x66, 0x63, 0xd0, 0x21, 0x80, 0x83, 0xc9, 0x74, 0x1c, 0xa7, 0x1a, 0x36, 0x1e, 0x7f, 0x87, 0xcf,
|
||||
0xd0, 0x57, 0xdf, 0x19, 0x78, 0xfe, 0xf9, 0x98, 0x51, 0x62, 0x10, 0xbb, 0xf1, 0x94, 0x38, 0xd2,
|
||||
0x54, 0xab, 0x0f, 0x6d, 0xbd, 0x9f, 0x52, 0x7b, 0x2a, 0x3b, 0x50, 0xb4, 0xd0, 0x17, 0xd0, 0x74,
|
||||
0xf9, 0xe2, 0x7c, 0xa0, 0x50, 0x5f, 0x15, 0xda, 0x3e, 0xb4, 0x0e, 0x71, 0xcc, 0x0c, 0xe2, 0x9f,
|
||||
0x05, 0xd4, 0xb6, 0x1b, 0x00, 0x53, 0xdd, 0xac, 0x92, 0xe4, 0x9e, 0x16, 0xfd, 0x83, 0xc1, 0x48,
|
||||
0x98, 0x6d, 0x58, 0xca, 0xa0, 0xcf, 0x60, 0x31, 0x59, 0x81, 0xa1, 0xac, 0x32, 0x93, 0x7e, 0x6d,
|
||||
0x87, 0xe0, 0xe8, 0x0a, 0x47, 0xa7, 0x6e, 0xe8, 0x9d, 0x86, 0x6e, 0xe4, 0x4e, 0xc8, 0x4e, 0xba,
|
||||
0x91, 0x32, 0xc1, 0xfe, 0x93, 0x01, 0xcb, 0x27, 0xe1, 0xc8, 0x15, 0xe1, 0x2c, 0x54, 0x7f, 0x02,
|
||||
0xf3, 0x49, 0x53, 0xc0, 0xb8, 0x75, 0xc9, 0x74, 0xf0, 0x5d, 0x36, 0x09, 0xf2, 0x36, 0x91, 0xc3,
|
||||
0xe8, 0x05, 0x20, 0x1d, 0x4b, 0x19, 0xab, 0xd8, 0xff, 0xad, 0xc2, 0x62, 0x37, 0xf0, 0xaf, 0x70,
|
||||
0x44, 0xd8, 0xd2, 0xcc, 0x1d, 0x6f, 0x7d, 0x1c, 0x29, 0x01, 0x2e, 0x8b, 0xd0, 0x97, 0xd0, 0x92,
|
||||
0x67, 0xa4, 0xf0, 0x35, 0x29, 0x25, 0x85, 0x83, 0x87, 0x57, 0x2f, 0xc9, 0xf9, 0x71, 0x18, 0x33,
|
||||
0x1d, 0xea, 0x8e, 0x24, 0xa1, 0x69, 0x48, 0x9e, 0xf1, 0xea, 0x3a, 0xc4, 0x2c, 0xe5, 0xd5, 0x9d,
|
||||
0x9c, 0x9c, 0x12, 0x56, 0x00, 0xaa, 0x73, 0xc2, 0x0a, 0x2c, 0x26, 0xcc, 0x1d, 0x46, 0xc1, 0x34,
|
||||
0xec, 0xed, 0x9b, 0x8f, 0x58, 0x47, 0xd2, 0xa4, 0x7a, 0x9c, 0xf8, 0x11, 0x76, 0x47, 0x5d, 0xca,
|
||||
0x5c, 0x73, 0x8e, 0x2d, 0x2c, 0x8b, 0x28, 0xd9, 0xf7, 0x23, 0xf7, 0x2c, 0x7e, 0x85, 0xdf, 0xc5,
|
||||
0xaf, 0xbc, 0x09, 0x36, 0xe7, 0x37, 0x8d, 0xad, 0xaa, 0xa3, 0x0a, 0xa9, 0x9b, 0x7a, 0xa4, 0xef,
|
||||
0xf9, 0x3e, 0x1e, 0x99, 0x0b, 0x9b, 0xc6, 0xd6, 0xbc, 0x93, 0xb6, 0x91, 0x0d, 0x8b, 0x7b, 0x71,
|
||||
0xec, 0x0e, 0x2f, 0xf0, 0x88, 0xf9, 0x1f, 0x18, 0x04, 0x45, 0x46, 0x77, 0xe9, 0x91, 0x7e, 0xe4,
|
||||
0x5d, 0xb9, 0x31, 0xee, 0x5e, 0xb8, 0xb1, 0xd9, 0x60, 0x8b, 0xa8, 0x42, 0x8a, 0x96, 0x01, 0xdf,
|
||||
0x8b, 0x99, 0x19, 0x16, 0x39, 0x5a, 0x49, 0x44, 0xf7, 0xea, 0x91, 0xa3, 0x20, 0xee, 0xf9, 0x4c,
|
||||
0x6a, 0x36, 0xd9, 0x32, 0x8a, 0x0c, 0xb5, 0xa0, 0x72, 0xf0, 0xce, 0x6c, 0x31, 0x14, 0x95, 0x83,
|
||||
0x77, 0xf6, 0xdf, 0x0c, 0x40, 0x03, 0x1c, 0xcb, 0xd6, 0xa4, 0x94, 0xfd, 0x91, 0xea, 0x72, 0xc1,
|
||||
0x13, 0x94, 0xf0, 0x44, 0x1a, 0xac, 0x52, 0x63, 0x1b, 0xda, 0x7e, 0x10, 0x7b, 0x67, 0xde, 0x30,
|
||||
0x73, 0x58, 0x85, 0x3b, 0x4c, 0x97, 0xcf, 0x10, 0xd5, 0x87, 0xb0, 0x92, 0xc3, 0x56, 0x8a, 0xc2,
|
||||
0xff, 0x36, 0xa0, 0x3d, 0xc0, 0x71, 0xc6, 0x2c, 0xaa, 0xe3, 0x27, 0xa5, 0x71, 0xce, 0x2a, 0xb5,
|
||||
0xd9, 0xac, 0x52, 0xcf, 0x5b, 0xe5, 0x00, 0x96, 0x35, 0x5d, 0x4a, 0xd9, 0xe4, 0xb7, 0x06, 0xa0,
|
||||
0xc3, 0xbc, 0xe7, 0xf3, 0x3a, 0x1b, 0x85, 0x3a, 0x6b, 0xd6, 0xab, 0xe4, 0xad, 0x77, 0xb7, 0x7f,
|
||||
0xdf, 0xc3, 0xca, 0xe1, 0x43, 0xf8, 0x37, 0x47, 0xd7, 0xca, 0x6c, 0x74, 0xb5, 0x7f, 0x6f, 0xe4,
|
||||
0x10, 0x90, 0xd9, 0xa8, 0x41, 0x4b, 0x05, 0xc5, 0x20, 0x44, 0x94, 0x18, 0xba, 0x78, 0x06, 0x33,
|
||||
0xfc, 0xce, 0x80, 0xd5, 0x3c, 0x8a, 0x52, 0x86, 0xf8, 0x31, 0x34, 0x95, 0x65, 0x44, 0x55, 0x50,
|
||||
0x64, 0x09, 0x75, 0xa0, 0xfd, 0x6b, 0x58, 0xe3, 0x45, 0x57, 0x09, 0x63, 0x68, 0x2a, 0x56, 0xf2,
|
||||
0x2a, 0xfe, 0xd1, 0x80, 0xf5, 0xc2, 0xe5, 0x3f, 0xb1, 0x96, 0xff, 0x32, 0xc0, 0xec, 0xb8, 0xf1,
|
||||
0xf0, 0x62, 0x50, 0xe0, 0xf5, 0xdc, 0xb2, 0xc6, 0x8c, 0xcb, 0xce, 0x10, 0x0c, 0x45, 0x29, 0xa0,
|
||||
0x3a, 0x5b, 0x0a, 0xa8, 0x15, 0x05, 0xce, 0xe7, 0x37, 0x68, 0x51, 0xca, 0x9e, 0x26, 0xcc, 0x0d,
|
||||
0xa6, 0xc3, 0x21, 0x26, 0x09, 0x89, 0x93, 0x26, 0x3d, 0x54, 0x79, 0xbd, 0xcf, 0x6a, 0xa1, 0x05,
|
||||
0x47, 0xb4, 0xec, 0x1e, 0x34, 0x1d, 0x4c, 0xbc, 0x73, 0x9f, 0xaa, 0x47, 0x6d, 0x97, 0x9c, 0xbe,
|
||||
0xa3, 0xa4, 0x5c, 0xe4, 0xad, 0x19, 0xa8, 0xd1, 0x81, 0x96, 0xbc, 0x54, 0xa9, 0x5c, 0xf6, 0xf3,
|
||||
0xb4, 0xdc, 0xec, 0x5c, 0xf7, 0x46, 0xf7, 0xc3, 0xf3, 0xd1, 0x80, 0x1a, 0x1d, 0x4c, 0x8f, 0xd3,
|
||||
0x7e, 0x14, 0x9c, 0x79, 0x63, 0xdc, 0xbf, 0x08, 0xe2, 0x40, 0x2c, 0xa4, 0xc8, 0xe8, 0xd1, 0x7f,
|
||||
0xe4, 0x0d, 0x2f, 0x7d, 0x77, 0x82, 0x93, 0x0a, 0x2d, 0x69, 0x4b, 0x10, 0xaa, 0x0a, 0x84, 0x0d,
|
||||
0x80, 0x6e, 0x84, 0xdd, 0x18, 0xb3, 0x8a, 0x82, 0x7b, 0x57, 0x92, 0x50, 0x6f, 0xf4, 0x48, 0x67,
|
||||
0x1c, 0x0c, 0x2f, 0x59, 0xf6, 0x9f, 0x77, 0x92, 0xa6, 0x3d, 0x4c, 0x8b, 0x5c, 0xae, 0x66, 0xc9,
|
||||
0x7b, 0x11, 0xbb, 0x06, 0x8b, 0x1c, 0x09, 0x7c, 0x2c, 0xb3, 0x3d, 0x93, 0xdb, 0x1f, 0x0c, 0x58,
|
||||
0x16, 0xbb, 0x90, 0xce, 0xf5, 0x91, 0x3b, 0xc1, 0xe2, 0x46, 0x47, 0x25, 0xb4, 0x99, 0xdc, 0xe8,
|
||||
0x92, 0x36, 0xda, 0x07, 0xe8, 0xbb, 0xe7, 0x9e, 0x2f, 0xe7, 0xde, 0x2f, 0x0a, 0x2a, 0x5c, 0x07,
|
||||
0xbf, 0x99, 0x62, 0x12, 0x67, 0x63, 0x1d, 0x69, 0xde, 0x0c, 0x79, 0xf2, 0xaf, 0xfc, 0xc4, 0x52,
|
||||
0x90, 0x91, 0x10, 0x6d, 0x42, 0x9d, 0x02, 0x4f, 0xc2, 0x55, 0xd6, 0x88, 0x77, 0xa0, 0x83, 0x02,
|
||||
0x80, 0xdf, 0x2e, 0x04, 0x48, 0xc2, 0xc0, 0x27, 0xf8, 0x06, 0x84, 0x89, 0x0d, 0xa6, 0x13, 0x22,
|
||||
0x62, 0x37, 0x6d, 0xdb, 0xff, 0x30, 0x60, 0x71, 0x6f, 0x1c, 0xf3, 0x78, 0xbf, 0x17, 0x01, 0xe9,
|
||||
0x88, 0xfe, 0x45, 0xe0, 0xe3, 0xa3, 0xe9, 0xe4, 0x35, 0x8e, 0xd8, 0x4e, 0x55, 0x47, 0x16, 0x29,
|
||||
0xac, 0xab, 0x69, 0xac, 0x5b, 0x85, 0xfa, 0xc1, 0xc4, 0xf5, 0xc6, 0xa2, 0x72, 0xe0, 0x0d, 0xe9,
|
||||
0x26, 0x31, 0x12, 0x55, 0x70, 0xda, 0xb6, 0xf7, 0xa0, 0x29, 0x21, 0x2f, 0xc3, 0x29, 0xfb, 0x2f,
|
||||
0x06, 0x34, 0x12, 0xcf, 0x24, 0x47, 0x86, 0xa4, 0xa4, 0x91, 0x57, 0xf2, 0x61, 0x38, 0x23, 0xb3,
|
||||
0xb2, 0xaa, 0xb2, 0xd2, 0xfe, 0xa7, 0x01, 0x8b, 0x19, 0xa6, 0x7b, 0x86, 0x4a, 0xb5, 0x28, 0x54,
|
||||
0x34, 0x5e, 0x55, 0x1f, 0x82, 0x57, 0x35, 0x8d, 0x57, 0x1f, 0x0d, 0x80, 0xbd, 0xd1, 0x28, 0x61,
|
||||
0xd5, 0xdd, 0x86, 0xd5, 0xd8, 0x23, 0xf8, 0x25, 0xb3, 0xe7, 0xa6, 0xbc, 0x84, 0xa0, 0x26, 0x31,
|
||||
0x8a, 0xfd, 0x56, 0x78, 0x53, 0xd7, 0x78, 0xf3, 0x0c, 0x1a, 0x29, 0xb2, 0x52, 0xac, 0xf9, 0xb3,
|
||||
0x01, 0x8b, 0x2c, 0xb1, 0xdd, 0x15, 0x33, 0x5f, 0x42, 0xeb, 0xc0, 0x1f, 0xed, 0x7b, 0xc4, 0x7d,
|
||||
0x3d, 0xe6, 0x59, 0x53, 0xd4, 0xe1, 0xaa, 0xf4, 0xee, 0x14, 0xa2, 0xe8, 0x53, 0xcb, 0xc7, 0x81,
|
||||
0x84, 0xa6, 0x94, 0x46, 0x67, 0xd0, 0x3a, 0xf1, 0x67, 0x52, 0xe9, 0xee, 0x34, 0x20, 0x43, 0xad,
|
||||
0x6a, 0x50, 0xbb, 0xb0, 0xa4, 0xec, 0x53, 0x0a, 0xec, 0xdf, 0x0d, 0xf6, 0xce, 0x96, 0x2e, 0xc3,
|
||||
0x22, 0x57, 0x8d, 0x4b, 0xe3, 0x61, 0x72, 0x79, 0x81, 0x76, 0xb6, 0xe4, 0xfa, 0xa3, 0xe9, 0x44,
|
||||
0xe4, 0x53, 0x45, 0x66, 0xbf, 0x87, 0x85, 0xb4, 0x4d, 0x63, 0x91, 0xfe, 0x17, 0x90, 0x94, 0x58,
|
||||
0x64, 0xfd, 0xdb, 0xd0, 0xee, 0xe0, 0x73, 0xcf, 0xcf, 0xb3, 0x24, 0x27, 0x2f, 0xe0, 0x53, 0xb5,
|
||||
0x88, 0x4f, 0xf6, 0x7f, 0xf8, 0x51, 0x28, 0x5b, 0xa8, 0x54, 0x1e, 0xd9, 0x05, 0xc8, 0xd6, 0x10,
|
||||
0xd9, 0x64, 0x89, 0xcf, 0xc8, 0x9c, 0x28, 0x0d, 0xf9, 0x14, 0x89, 0xa5, 0xcf, 0x6e, 0x3e, 0xe9,
|
||||
0x9e, 0x49, 0xdd, 0xb4, 0x0e, 0x73, 0xb4, 0x79, 0xea, 0x7d, 0xf5, 0xc2, 0xe9, 0x80, 0xdd, 0x62,
|
||||
0xb4, 0x15, 0x49, 0x88, 0xbe, 0x2b, 0xb9, 0x51, 0x64, 0xfa, 0x9c, 0xf2, 0xd9, 0x08, 0xfb, 0x0c,
|
||||
0x9a, 0xd9, 0xfb, 0xf5, 0xfd, 0x20, 0xdd, 0x1a, 0x43, 0x1d, 0xf9, 0x8d, 0xbe, 0x9c, 0x63, 0x1f,
|
||||
0x7f, 0x68, 0xf0, 0x13, 0x02, 0x3d, 0x4d, 0xcf, 0x3f, 0xf6, 0xa2, 0xb3, 0xca, 0x67, 0xa9, 0x4f,
|
||||
0xa0, 0xd6, 0x67, 0x05, 0x52, 0x12, 0xa2, 0x2e, 0xb4, 0xd4, 0x77, 0x3a, 0xb4, 0x2e, 0xd8, 0xad,
|
||||
0xbf, 0x24, 0x5a, 0x66, 0x71, 0x07, 0x09, 0x29, 0x00, 0xe9, 0xd5, 0x3f, 0x01, 0xa0, 0x7e, 0x84,
|
||||
0x48, 0x00, 0xe8, 0x9f, 0x07, 0x7e, 0xca, 0x0e, 0xca, 0xf4, 0xbd, 0x1d, 0x65, 0x38, 0xe5, 0x47,
|
||||
0x7d, 0x6b, 0xad, 0x48, 0xcc, 0xa7, 0xcb, 0xcf, 0xcd, 0xc9, 0x74, 0xed, 0x71, 0x3d, 0x99, 0x9e,
|
||||
0x7b, 0xf7, 0x7e, 0xc1, 0x8a, 0x5a, 0xe5, 0x15, 0xc9, 0x4c, 0x77, 0xd2, 0x5e, 0x27, 0xac, 0xcf,
|
||||
0x6f, 0xe8, 0x21, 0x21, 0x72, 0x18, 0xa1, 0xf5, 0x1b, 0x26, 0xfa, 0xba, 0x8c, 0x5a, 0xbf, 0xf2,
|
||||
0x59, 0xdf, 0xb8, 0xa5, 0x97, 0x84, 0xa8, 0xc7, 0x32, 0xa4, 0xba, 0x60, 0x31, 0x04, 0xb6, 0x9a,
|
||||
0x75, 0x53, 0x17, 0x09, 0xd1, 0x2f, 0xe1, 0xb3, 0xc2, 0x2b, 0x1b, 0xda, 0x10, 0xb1, 0x70, 0xc3,
|
||||
0xad, 0xd4, 0xfa, 0xe6, 0xad, 0xfd, 0xdc, 0x80, 0x83, 0x62, 0x03, 0x0e, 0x6e, 0x34, 0x60, 0xd1,
|
||||
0xb3, 0xda, 0x73, 0x68, 0x2a, 0xef, 0x4a, 0x68, 0x2d, 0x1d, 0xab, 0x3c, 0x9c, 0x59, 0xeb, 0x85,
|
||||
0x72, 0x4e, 0x42, 0xe9, 0x7e, 0xa2, 0x45, 0x81, 0xc8, 0x30, 0x5a, 0x14, 0xa4, 0x59, 0xa2, 0x9b,
|
||||
0x5e, 0xe1, 0x44, 0x6d, 0x9f, 0x44, 0x41, 0xee, 0x2e, 0x62, 0x99, 0xc5, 0x1d, 0x24, 0x44, 0x4f,
|
||||
0xd8, 0x17, 0x11, 0x71, 0x97, 0x44, 0x2b, 0x7c, 0x9c, 0x72, 0x51, 0xb5, 0x56, 0xf3, 0x42, 0x12,
|
||||
0xa2, 0x1f, 0xc2, 0x42, 0x5a, 0x03, 0x23, 0x71, 0xe1, 0x97, 0xcb, 0x79, 0x6b, 0x25, 0x27, 0x23,
|
||||
0x21, 0xfa, 0x3e, 0xcc, 0x27, 0x20, 0xd0, 0xb2, 0x0a, 0x8a, 0xce, 0x41, 0xba, 0x88, 0x84, 0x68,
|
||||
0x07, 0xe6, 0x44, 0xd1, 0x84, 0x44, 0x6a, 0xc9, 0xaa, 0x3b, 0x6b, 0x59, 0x93, 0x70, 0x60, 0xd9,
|
||||
0x19, 0x88, 0xf4, 0xb4, 0x99, 0x01, 0x53, 0x8b, 0x81, 0xa7, 0xd0, 0x90, 0xea, 0x83, 0xc4, 0x11,
|
||||
0x6a, 0x69, 0x92, 0x38, 0x42, 0x2f, 0x24, 0x9e, 0x43, 0x53, 0x39, 0xf3, 0x50, 0x16, 0xf7, 0x4a,
|
||||
0xa9, 0x60, 0xad, 0x17, 0xca, 0xd3, 0xa8, 0x51, 0x0e, 0x02, 0x29, 0x6a, 0xf4, 0x23, 0x47, 0x8a,
|
||||
0x9a, 0xfc, 0xd9, 0xf1, 0x04, 0x20, 0xcb, 0x56, 0x89, 0x43, 0x95, 0xe3, 0xc1, 0x5a, 0xcd, 0x0b,
|
||||
0x49, 0xd8, 0x69, 0xfe, 0xaa, 0xb1, 0xc3, 0x3e, 0xfd, 0xfe, 0x84, 0xfe, 0x79, 0xfd, 0x88, 0x7d,
|
||||
0xd7, 0xfd, 0xc1, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x34, 0x9a, 0x78, 0xde, 0x13, 0x1e, 0x00,
|
||||
0x00,
|
||||
}
|
||||
|
@ -79,7 +79,9 @@ message Conversation{
|
||||
bool IsPinned = 9;
|
||||
string AttachedInfo = 10;
|
||||
bool IsPrivateChat = 11;
|
||||
string Ex = 12;
|
||||
int32 GroupAtType = 12;
|
||||
bool IsNotInGroup = 13;
|
||||
string Ex = 14;
|
||||
}
|
||||
|
||||
message SetConversationReq{
|
||||
|
Loading…
x
Reference in New Issue
Block a user