Merge remote-tracking branch 'origin/tuoyun' into tuoyun

This commit is contained in:
skiffer-git 2022-04-18 21:16:56 +08:00
commit fc688dca99
11 changed files with 678 additions and 221 deletions

View File

@ -145,6 +145,7 @@ func main() {
officeGroup.POST("/delete_one_work_moment", office.DeleteOneWorkMoment) officeGroup.POST("/delete_one_work_moment", office.DeleteOneWorkMoment)
officeGroup.POST("/like_one_work_moment", office.LikeOneWorkMoment) officeGroup.POST("/like_one_work_moment", office.LikeOneWorkMoment)
officeGroup.POST("/comment_one_work_moment", office.CommentOneWorkMoment) officeGroup.POST("/comment_one_work_moment", office.CommentOneWorkMoment)
officeGroup.POST("/get_work_moment_by_id", office.GetWorkMomentByID)
officeGroup.POST("/get_user_work_moments", office.GetUserWorkMoments) officeGroup.POST("/get_user_work_moments", office.GetUserWorkMoments)
officeGroup.POST("/get_user_friend_work_moments", office.GetUserFriendWorkMoments) officeGroup.POST("/get_user_friend_work_moments", office.GetUserFriendWorkMoments)
officeGroup.POST("/get_user_work_moments_comments_msg", office.GetUserWorkMomentsCommentsMsg) officeGroup.POST("/get_user_work_moments_comments_msg", office.GetUserWorkMomentsCommentsMsg)

View File

@ -167,6 +167,44 @@ func CommentOneWorkMoment(c *gin.Context) {
c.JSON(http.StatusOK, resp) c.JSON(http.StatusOK, resp)
} }
func GetWorkMomentByID(c *gin.Context) {
var (
req apiStruct.GetWorkMomentByIDReq
resp apiStruct.GetWorkMomentByIDResp
reqPb pbOffice.GetWorkMomentByIDReq
respPb *pbOffice.GetWorkMomentByIDResp
)
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.OpUserID = userID
reqPb.WorkMomentID = req.WorkMomentID
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName)
client := pbOffice.NewOfficeServiceClient(etcdConn)
respPb, err := client.GetWorkMomentByID(context.Background(), &reqPb)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserWorkMoments rpc failed", err.Error())
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserWorkMoments 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())
}
resp.Data.WorkMoment = respPb.WorkMoment
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
c.JSON(http.StatusOK, resp)
}
func GetUserWorkMoments(c *gin.Context) { func GetUserWorkMoments(c *gin.Context) {
var ( var (
req apiStruct.GetUserWorkMomentsReq req apiStruct.GetUserWorkMomentsReq

View File

@ -0,0 +1,47 @@
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"
"Open_IM/pkg/utils"
"context"
"encoding/json"
"strings"
)
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)
if err != nil {
log.NewError(operationID, utils.GetSelfFuncName(), "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
}
if respPb.ErrCode != 0 {
log.NewError(operationID, utils.GetSelfFuncName(), "send tag msg failed ", respPb)
}
}

View File

@ -287,6 +287,18 @@ func (s *officeServer) CreateOneWorkMoment(_ context.Context, req *pbOffice.Crea
func (s *officeServer) DeleteOneWorkMoment(_ context.Context, req *pbOffice.DeleteOneWorkMomentReq) (resp *pbOffice.DeleteOneWorkMomentResp, err error) { func (s *officeServer) DeleteOneWorkMoment(_ context.Context, req *pbOffice.DeleteOneWorkMomentReq) (resp *pbOffice.DeleteOneWorkMomentResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.DeleteOneWorkMomentResp{} resp = &pbOffice.DeleteOneWorkMomentResp{}
workMoment, err := db.DB.GetWorkMomentByID(req.WorkMomentID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetWorkMomentByID failed", err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
return resp, nil
}
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)
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}
return resp, nil
}
err = db.DB.DeleteOneWorkMoment(req.WorkMomentID) err = db.DB.DeleteOneWorkMoment(req.WorkMomentID)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "DeleteOneWorkMoment", err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "DeleteOneWorkMoment", err.Error())
@ -297,20 +309,24 @@ func (s *officeServer) DeleteOneWorkMoment(_ context.Context, req *pbOffice.Dele
return resp, nil return resp, nil
} }
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) {
return true
}
if workMoment.IsPrivate {
return false
}
}
return true
}
func (s *officeServer) LikeOneWorkMoment(_ context.Context, req *pbOffice.LikeOneWorkMomentReq) (resp *pbOffice.LikeOneWorkMomentResp, err error) { func (s *officeServer) LikeOneWorkMoment(_ context.Context, req *pbOffice.LikeOneWorkMomentReq) (resp *pbOffice.LikeOneWorkMomentResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.LikeOneWorkMomentResp{} resp = &pbOffice.LikeOneWorkMomentResp{}
workMoment, err := db.DB.GetWorkMomentByID(req.WorkMomentID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetWorkMomentByID failed", err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
return resp, nil
}
if workMoment.UserID != req.WorkMomentID {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "workMoment.UserID != req.WorkMomentID ", workMoment, req.WorkMomentID)
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}
return resp, nil
}
if err = db.DB.LikeOneWorkMoment(req.UserID, req.WorkMomentID); err != nil { if err = db.DB.LikeOneWorkMoment(req.UserID, req.WorkMomentID); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "LikeOneWorkMoment failed ", err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "LikeOneWorkMoment failed ", err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
@ -323,9 +339,11 @@ func (s *officeServer) LikeOneWorkMoment(_ context.Context, req *pbOffice.LikeOn
func (s *officeServer) CommentOneWorkMoment(_ context.Context, req *pbOffice.CommentOneWorkMomentReq) (resp *pbOffice.CommentOneWorkMomentResp, err error) { func (s *officeServer) CommentOneWorkMoment(_ context.Context, req *pbOffice.CommentOneWorkMomentReq) (resp *pbOffice.CommentOneWorkMomentResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.CommentOneWorkMomentResp{} resp = &pbOffice.CommentOneWorkMomentResp{}
commentUserName, err := imdb.GetUserNameByUserID(req.UserID) commentUser, err := imdb.GetUserByUserID(req.UserID)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserNameByUserID commentUserName failed", req.UserID, err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserNameByUserID commentUserName failed", req.UserID, err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
return resp, nil
} }
var replyUserName string var replyUserName string
if req.ReplyUserID != "" { if req.ReplyUserID != "" {
@ -338,18 +356,45 @@ func (s *officeServer) CommentOneWorkMoment(_ context.Context, req *pbOffice.Com
} }
comment := db.Comment{ comment := db.Comment{
UserID: req.UserID, UserID: req.UserID,
UserName: commentUserName, UserName: commentUser.Nickname,
ReplyUserID: req.ReplyUserID, ReplyUserID: req.ReplyUserID,
ReplyUserName: replyUserName, ReplyUserName: replyUserName,
ContentID: "",
Content: req.Content, Content: req.Content,
CreateTime: int32(time.Now().Unix()), CreateTime: int32(time.Now().Unix()),
} }
if err = db.DB.CommentOneWorkMoment(comment, req.WorkMomentID); err != nil { workMoment, err := db.DB.CommentOneWorkMoment(comment, req.WorkMomentID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "CommentOneWorkMoment failed", err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "CommentOneWorkMoment failed", err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
return resp, nil return resp, nil
} }
commentMsg := db.CommentMsg{
Comment: comment,
WorkMomentID: workMoment.WorkMomentID,
WorkMomentContent: workMoment.Content,
}
msg.CommentOneWorkMomentNotification(req.OperationID, workMoment.UserID, commentMsg, *commentUser)
if req.ReplyUserID != "" {
msg.CommentOneWorkMomentNotification(req.OperationID, req.ReplyUserID, commentMsg, *commentUser)
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
return resp, nil
}
func (s *officeServer) GetWorkMomentByID(_ context.Context, req *pbOffice.GetWorkMomentByIDReq) (resp *pbOffice.GetWorkMomentByIDResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.GetWorkMomentByIDResp{}
workMoment, err := db.DB.GetWorkMomentByID(req.WorkMomentID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetWorkMomentByID failed", err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
return resp, nil
}
canSee := isUserCanSeeWorkMoment(req.OpUserID, *workMoment)
log.Debug(req.OperationID, utils.GetSelfFuncName(), canSee, req.OpUserID, workMoment)
if err := utils.CopyStructFields(resp.WorkMoment, workMoment); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error())
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
return resp, nil return resp, nil
} }
@ -357,6 +402,7 @@ func (s *officeServer) CommentOneWorkMoment(_ context.Context, req *pbOffice.Com
func (s *officeServer) GetUserWorkMoments(_ context.Context, req *pbOffice.GetUserWorkMomentsReq) (resp *pbOffice.GetUserWorkMomentsResp, err error) { func (s *officeServer) GetUserWorkMoments(_ context.Context, req *pbOffice.GetUserWorkMomentsReq) (resp *pbOffice.GetUserWorkMomentsResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.GetUserWorkMomentsResp{} resp = &pbOffice.GetUserWorkMomentsResp{}
resp.WorkMoments = make([]*pbOffice.WorkMoment, req.Pagination.ShowNumber)
workMoments, err := db.DB.GetUserWorkMoments(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber) workMoments, err := db.DB.GetUserWorkMoments(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), err) log.NewError(req.OperationID, utils.GetSelfFuncName(), err)
@ -374,6 +420,7 @@ func (s *officeServer) GetUserWorkMoments(_ context.Context, req *pbOffice.GetUs
func (s *officeServer) GetUserFriendWorkMoments(_ context.Context, req *pbOffice.GetUserFriendWorkMomentsReq) (resp *pbOffice.GetUserFriendWorkMomentsResp, err error) { func (s *officeServer) GetUserFriendWorkMoments(_ context.Context, req *pbOffice.GetUserFriendWorkMomentsReq) (resp *pbOffice.GetUserFriendWorkMomentsResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.GetUserFriendWorkMomentsResp{} resp = &pbOffice.GetUserFriendWorkMomentsResp{}
resp.WorkMoments = make([]*pbOffice.WorkMoment, req.Pagination.ShowNumber)
friendIDList, err := imdb.GetFriendIDListByUserID(req.UserID) friendIDList, err := imdb.GetFriendIDListByUserID(req.UserID)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetFriendIDListByUserID", err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetFriendIDListByUserID", err.Error())
@ -381,7 +428,7 @@ func (s *officeServer) GetUserFriendWorkMoments(_ context.Context, req *pbOffice
return resp, nil return resp, nil
} }
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "friendIDList: ", friendIDList) log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "friendIDList: ", friendIDList)
workMoments, err := db.DB.GetUserFriendWorkMoments(friendIDList, req.Pagination.ShowNumber, req.Pagination.PageNumber) workMoments, err := db.DB.GetUserFriendWorkMoments(friendIDList, req.Pagination.ShowNumber, req.Pagination.PageNumber, req.UserID)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserFriendWorkMoments", err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserFriendWorkMoments", err.Error())
resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} resp.CommonResp = &pbOffice.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
@ -397,7 +444,8 @@ func (s *officeServer) GetUserFriendWorkMoments(_ context.Context, req *pbOffice
func (s *officeServer) GetUserWorkMomentsCommentsMsg(_ context.Context, req *pbOffice.GetUserWorkMomentsCommentsMsgReq) (resp *pbOffice.GetUserWorkMomentsCommentsMsgResp, err error) { func (s *officeServer) GetUserWorkMomentsCommentsMsg(_ context.Context, req *pbOffice.GetUserWorkMomentsCommentsMsgReq) (resp *pbOffice.GetUserWorkMomentsCommentsMsgResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbOffice.GetUserWorkMomentsCommentsMsgResp{CommentsMsgs: []*pbOffice.CommentsMsg{}} resp = &pbOffice.GetUserWorkMomentsCommentsMsgResp{}
resp.CommentsMsgs = make([]*pbOffice.CommentsMsg, req.Pagination.ShowNumber)
workMomentsCommentMsgs, err := db.DB.GetUserWorkMomentsCommentsMsg(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber) workMomentsCommentMsgs, err := db.DB.GetUserWorkMomentsCommentsMsg(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserWorkMomentsCommentsMsg", err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserWorkMomentsCommentsMsg", err.Error())

View File

@ -206,10 +206,23 @@ func (s *userServer) GetConversations(ctx context.Context, req *pbUser.GetConver
func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConversationReq) (*pbUser.SetConversationResp, error) { func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConversationReq) (*pbUser.SetConversationResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp := &pbUser.SetConversationResp{}
if req.NotificationType == 0 { if req.NotificationType == 0 {
req.NotificationType = constant.ConversationOptChangeNotification req.NotificationType = constant.ConversationOptChangeNotification
} }
resp := &pbUser.SetConversationResp{} if req.Conversation.ConversationType == constant.GroupChatType {
groupInfo, err := imdb.GetGroupInfoByGroupID(req.Conversation.GroupID)
if err != nil {
log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", req.Conversation.GroupID, err.Error())
resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}
return resp, nil
}
if groupInfo.Status == constant.GroupStatusDismissed {
errMsg := "group status is dismissed"
resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}
return resp, nil
}
}
var conversation db.Conversation var conversation db.Conversation
if err := utils.CopyStructFields(&conversation, req.Conversation); err != nil { if err := utils.CopyStructFields(&conversation, req.Conversation); err != nil {
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", *req.Conversation, err.Error()) log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", *req.Conversation, err.Error())

View File

@ -41,6 +41,17 @@ type WorkMomentsUserCommonReq struct {
UserID string `json:"UserID" binding:"required"` UserID string `json:"UserID" binding:"required"`
} }
type GetWorkMomentByIDReq struct {
office.GetWorkMomentByIDReq
}
type GetWorkMomentByIDResp struct {
CommResp
Data struct {
WorkMoment *office.WorkMoment `json:"workMoment"`
} `json:"data"`
}
type GetUserWorkMomentsReq struct { type GetUserWorkMomentsReq struct {
WorkMomentsUserCommonReq WorkMomentsUserCommonReq
} }

View File

@ -91,6 +91,9 @@ const (
OrganizationChangedNotification = 1801 OrganizationChangedNotification = 1801
WorkMomentNotificationStart = 1900
WorkMomentNewCommentNotification = 1901
NotificationEnd = 2000 NotificationEnd = 2000
//status //status

View File

@ -2,6 +2,8 @@ package db
import ( import (
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"go.mongodb.org/mongo-driver/bson"
//"Open_IM/pkg/common/log" //"Open_IM/pkg/common/log"
"Open_IM/pkg/utils" "Open_IM/pkg/utils"
"fmt" "fmt"
@ -34,7 +36,6 @@ func key(dbAddress, dbName string) string {
func init() { func init() {
//log.NewPrivateLog(constant.LogFileName) //log.NewPrivateLog(constant.LogFileName)
//var mgoSession *mgo.Session
var mongoClient *mongo.Client var mongoClient *mongo.Client
var err1 error var err1 error
//mysql init //mysql init
@ -66,39 +67,67 @@ func init() {
} }
} }
fmt.Println("0", utils.GetSelfFuncName(), "mongo driver client init success: ", uri) fmt.Println("0", utils.GetSelfFuncName(), "mongo driver client init success: ", uri)
// mongodb create index
opts := options.CreateIndexes().SetMaxTime(10 * time.Second)
dataBase := mongoClient.Database(config.Config.Mongo.DBDatabase)
cCommentMsgModels := []mongo.IndexModel{
{
Keys: bson.M{"create_time": -1, "user_id": -1},
},
}
result, err := dataBase.Collection(cCommentMsg).Indexes().CreateMany(context.Background(), cCommentMsgModels, opts)
if err != nil {
fmt.Println("mongodb create cCommentMsgModels failed", result, err.Error())
}
cSendLogModels := []mongo.IndexModel{
{
Keys: bson.M{"user_id": -1, "send_time": -1},
},
}
result, err = dataBase.Collection(cSendLog).Indexes().CreateMany(context.Background(), cSendLogModels, opts)
if err != nil {
fmt.Println("mongodb create cSendLogModels failed", result, err.Error())
}
cChatModels := []mongo.IndexModel{
{
Keys: bson.M{"uid": -1},
},
}
result, err = dataBase.Collection(cChat).Indexes().CreateMany(context.Background(), cChatModels, opts)
if err != nil {
fmt.Println("mongodb create cChatModels failed", result, err.Error())
}
cWorkMomentModels := []mongo.IndexModel{
{
Keys: bson.M{"work_moment_id": -1},
},
{
Keys: bson.M{"user_id": -1, "create_time": -1},
},
}
result, err = dataBase.Collection(cWorkMoment).Indexes().CreateMany(context.Background(), cWorkMomentModels, opts)
if err != nil {
fmt.Println("mongodb create cWorkMomentModels failed", result, err.Error())
}
cTagModels := []mongo.IndexModel{
{
Keys: bson.M{"tag_id": -1},
},
{
Keys: bson.M{"user_id": -1, "tag_id": -1},
},
}
result, err = dataBase.Collection(cTag).Indexes().CreateMany(context.Background(), cTagModels, opts)
if err != nil {
fmt.Println("mongodb create cTagModels failed", result, err.Error())
}
DB.mongoClient = mongoClient DB.mongoClient = mongoClient
//mgoDailInfo := &mgo.DialInfo{
// Addrs: config.Config.Mongo.DBAddress,
// Direct: config.Config.Mongo.DBDirect,
// Timeout: time.Second * time.Duration(config.Config.Mongo.DBTimeout),
// Database: config.Config.Mongo.DBDatabase,
// Source: config.Config.Mongo.DBSource,
// Username: config.Config.Mongo.DBUserName,
// Password: config.Config.Mongo.DBPassword,
// PoolLimit: config.Config.Mongo.DBMaxPoolSize,
//}
//mgoSession, err = mgo.DialWithInfo(mgoDailInfo)
//
//if err != nil {
//
// mgoSession, err1 = mgo.DialWithInfo(mgoDailInfo)
// if err1 != nil {
// log.NewError(" mongo.Connect failed, panic", err.Error())
// panic(err1.Error())
// }
//}
//DB.mgoSession = mgoSession
//DB.mgoSession.SetMode(mgo.Monotonic, true)
//c := DB.mgoSession.DB(config.Config.Mongo.DBDatabase).C(cChat)
//err = c.EnsureIndexKey("uid")
//if err != nil {
// panic(err.Error())
//}
//
// redis pool init // redis pool init
DB.redisPool = &redis.Pool{ DB.redisPool = &redis.Pool{
MaxIdle: config.Config.Redis.DBMaxIdle, MaxIdle: config.Config.Redis.DBMaxIdle,

View File

@ -26,6 +26,8 @@ const cChat = "msg"
const cGroup = "group" const cGroup = "group"
const cTag = "tag" const cTag = "tag"
const cSendLog = "send_log" const cSendLog = "send_log"
const cWorkMoment = "work_moment"
const cCommentMsg = "comment_msg"
const singleGocMsgNum = 5000 const singleGocMsgNum = 5000
type MsgInfo struct { type MsgInfo struct {
@ -571,39 +573,68 @@ type WorkMoment struct {
Comments []*Comment `bson:"comments"` Comments []*Comment `bson:"comments"`
WhoCanSeeUserIDList []string `bson:"who_can_see_user_id_list"` WhoCanSeeUserIDList []string `bson:"who_can_see_user_id_list"`
WhoCantSeeUserIDList []string `bson:"who_cant_see_user_id_list"` WhoCantSeeUserIDList []string `bson:"who_cant_see_user_id_list"`
IsPrivate bool IsPrivate bool `bson:"is_private"`
IsPublic bool CreateTime int32 `bson:"create_time"`
CreateTime int32
} }
type LikeUser struct { type LikeUser struct {
UserID string UserID string `bson:"user_id"`
UserName string UserName string `bson:"user_name"`
} }
type Comment struct { type Comment struct {
UserID string UserID string `bson:"user_id" json:"user_id"`
UserName string UserName string `bson:"user_id" json:"user_name"`
ReplyUserID string ReplyUserID string `bson:"reply_user_id" json:"reply_user_id"`
ReplyUserName string ReplyUserName string `bson:"reply_user_name" json:"reply_user_name"`
ContentID string ContentID string `bson:"content_id" json:"content_id"`
Content string Content string `bson:"content" json:"content"`
CreateTime int32 CreateTime int32 `bson:"create_time" json:"create_time"`
} }
func (d *DataBases) CreateOneWorkMoment(workMoment *WorkMoment) error { func (d *DataBases) CreateOneWorkMoment(workMoment *WorkMoment) error {
return nil ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
workMomentID := generateWorkMomentID(workMoment.UserID)
workMoment.WorkMomentID = workMomentID
workMoment.CreateTime = int32(time.Now().Unix())
_, err := c.InsertOne(ctx, workMoment)
return err
} }
func (d *DataBases) DeleteOneWorkMoment(workMomentID string) error { func (d *DataBases) DeleteOneWorkMoment(workMomentID string) error {
return nil 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.DeleteOne(ctx, bson.M{"work_moment_id": workMomentID})
return err
} }
func (d *DataBases) GetWorkMomentByID(workMomentID string) (*WorkMoment, error) { func (d *DataBases) GetWorkMomentByID(workMomentID string) (*WorkMoment, error) {
return nil, nil ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
workMoment := &WorkMoment{}
err := c.FindOne(ctx, bson.M{"work_moment_id": workMomentID}).Decode(workMoment)
return workMoment, err
} }
func (d *DataBases) LikeOneWorkMoment(likeUserID, workMomentID string) error { func (d *DataBases) LikeOneWorkMoment(likeUserID, workMomentID string) error {
workMoment, err := d.GetWorkMomentByID(workMomentID)
if err != nil {
return err
}
for i, user := range workMoment.LikeUsers {
if likeUserID == user.UserID {
workMoment.LikeUsers = append(workMoment.LikeUsers[0:i], workMoment.LikeUsers[i+1:]...)
return nil
}
}
workMoment.LikeUsers = append(workMoment.LikeUsers, &LikeUser{UserID: likeUserID})
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_id": workMomentID}, bson.M{"$set": bson.M{"like_users": workMoment.LikeUsers}})
if err != nil {
return err
}
return nil return nil
} }
@ -611,30 +642,124 @@ func (d *DataBases) SetUserWorkMomentsLevel(userID string, level int32) error {
return nil 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 { func (d *DataBases) ClearUserWorkMomentsCommentsMsg(userID string) error {
return nil 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 { type CommentMsg struct {
WorkMomentID string `bson:"workMoment"` WorkMomentID string `bson:"work_moment" json:"work_moment"`
CommentContent string `bson:"content"` WorkMomentContent string `bson:"work_moment_content" json:"work_moment_content"`
Comment Comment
} }
func (d *DataBases) GetUserWorkMomentsCommentsMsg(userID string, showNumber, pageNumber int32) ([]CommentMsg, error) { func (d *DataBases) GetUserWorkMomentsCommentsMsg(userID string, showNumber, pageNumber int32) ([]CommentMsg, error) {
return nil, nil 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) error { func (d *DataBases) CommentOneWorkMoment(comment Comment, workMomentID string) (WorkMoment, error) {
return nil 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)
var workMoment WorkMoment
err := c.FindOneAndUpdate(ctx, bson.M{"work_moment_id": workMomentID}, bson.M{"$push": bson.M{"comments": comment}}).Decode(&workMoment)
return workMoment, err
} }
func (d *DataBases) GetUserWorkMoments(userID string, showNumber, pageNumber int32) ([]WorkMoment, error) { func (d *DataBases) GetUserWorkMoments(userID string, showNumber, pageNumber int32) ([]WorkMoment, error) {
return nil, nil ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
var workMomentList []WorkMoment
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 workMomentList, nil
}
err = result.All(ctx, &workMomentList)
return workMomentList, err
} }
func (d *DataBases) GetUserFriendWorkMoments(friendIDList []string, showNumber, pageNumber int32) ([]WorkMoment, error) { // recursion
return nil, nil func (d *DataBases) GetUserFriendWorkMomentsRecursion(friendIDList []string, showNumber, pageNumber int32, userID string) ([]WorkMoment, error) {
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
var workMomentList []WorkMoment
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": friendIDList, "is_private": false, "who_can_see_user_id_list": bson.M{"$elemMatch": bson.M{"$eq": userID}}, "who_cant_see_user_id_list": ""}, findOpts)
if err != nil {
return workMomentList, nil
}
err = result.All(ctx, &workMomentList)
//if len(workMomentList) == 0 {
// return workMomentList, nil
//}
//for i, workMoment := range workMomentList {
// if workMoment.IsPrivate {
// workMomentList = append(workMomentList[0:i], workMomentList[i+1:]...)
// continue
// }
//
// var isContain bool
// for _, WhoCanSeeUserID := range workMoment.WhoCanSeeUserIDList {
// if WhoCanSeeUserID == userID {
// isContain = true
// break
// }
// }
// if !isContain {
// workMomentList = append(workMomentList[0:i], workMomentList[i+1:]...)
// continue
// }
//
// for _, whoCantSeeUserID := range workMoment.WhoCantSeeUserIDList {
// if whoCantSeeUserID == userID {
// workMomentList = append(workMomentList[0:i], workMomentList[i+1:]...)
// break
// }
// }
//}
//
//if len(workMomentList) < int(pageNumber) {
// workMomentListWorkMomentList, err := d.GetUserFriendWorkMomentsRecursion(friendIDList, showNumber, pageNumber, userID)
// workMomentList = append(workMomentList, workMomentListWorkMomentList...)
// if err != nil {
// return workMomentList, err
// }
//}
return workMomentList, err
}
func (d *DataBases) GetUserFriendWorkMoments(friendIDList []string, showNumber, pageNumber int32, userID string) ([]WorkMoment, error) {
ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second)
c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cWorkMoment)
var workMomentList []WorkMoment
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": friendIDList, "is_private": false, "$or": bson.M{"who_can_see_user_id_list": bson.M{"$elemMatch": bson.M{"$eq": userID}},
"who_cant_see_user_id_list": bson.M{"$nin": userID}},
}, findOpts)
if err != nil {
return workMomentList, nil
}
err = result.All(ctx, &workMomentList)
return workMomentList, err
} }
func generateTagID(tagName, userID string) string { func generateTagID(tagName, userID string) string {
@ -645,6 +770,10 @@ func generateWorkMomentID(userID string) string {
return utils.Md5(userID + strconv.Itoa(rand.Int()) + time.Now().String()) return utils.Md5(userID + strconv.Itoa(rand.Int()) + time.Now().String())
} }
func generateWorkMomentCommentID(workMomentID string) string {
return utils.Md5(workMomentID + strconv.Itoa(rand.Int()) + time.Now().String())
}
func getCurrentTimestampByMill() int64 { func getCurrentTimestampByMill() int64 {
return time.Now().UnixNano() / 1e6 return time.Now().UnixNano() / 1e6
} }
@ -666,9 +795,7 @@ func getMsgIndex(seq uint32) int {
} }
func isContainInt32(target uint32, List []uint32) bool { func isContainInt32(target uint32, List []uint32) bool {
for _, element := range List { for _, element := range List {
if target == element { if target == element {
return true return true
} }

View File

@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (m *CommonResp) String() string { return proto.CompactTextString(m) }
func (*CommonResp) ProtoMessage() {} func (*CommonResp) ProtoMessage() {}
func (*CommonResp) Descriptor() ([]byte, []int) { func (*CommonResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{0} return fileDescriptor_office_7066d9c5c43d9815, []int{0}
} }
func (m *CommonResp) XXX_Unmarshal(b []byte) error { func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b) return xxx_messageInfo_CommonResp.Unmarshal(m, b)
@ -82,7 +82,7 @@ func (m *TagUser) Reset() { *m = TagUser{} }
func (m *TagUser) String() string { return proto.CompactTextString(m) } func (m *TagUser) String() string { return proto.CompactTextString(m) }
func (*TagUser) ProtoMessage() {} func (*TagUser) ProtoMessage() {}
func (*TagUser) Descriptor() ([]byte, []int) { func (*TagUser) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{1} return fileDescriptor_office_7066d9c5c43d9815, []int{1}
} }
func (m *TagUser) XXX_Unmarshal(b []byte) error { func (m *TagUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TagUser.Unmarshal(m, b) return xxx_messageInfo_TagUser.Unmarshal(m, b)
@ -129,7 +129,7 @@ func (m *Tag) Reset() { *m = Tag{} }
func (m *Tag) String() string { return proto.CompactTextString(m) } func (m *Tag) String() string { return proto.CompactTextString(m) }
func (*Tag) ProtoMessage() {} func (*Tag) ProtoMessage() {}
func (*Tag) Descriptor() ([]byte, []int) { func (*Tag) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{2} return fileDescriptor_office_7066d9c5c43d9815, []int{2}
} }
func (m *Tag) XXX_Unmarshal(b []byte) error { func (m *Tag) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Tag.Unmarshal(m, b) return xxx_messageInfo_Tag.Unmarshal(m, b)
@ -182,7 +182,7 @@ func (m *GetUserTagsReq) Reset() { *m = GetUserTagsReq{} }
func (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) } func (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) }
func (*GetUserTagsReq) ProtoMessage() {} func (*GetUserTagsReq) ProtoMessage() {}
func (*GetUserTagsReq) Descriptor() ([]byte, []int) { func (*GetUserTagsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{3} return fileDescriptor_office_7066d9c5c43d9815, []int{3}
} }
func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error { func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b) return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b)
@ -228,7 +228,7 @@ func (m *GetUserTagsResp) Reset() { *m = GetUserTagsResp{} }
func (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) } func (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) }
func (*GetUserTagsResp) ProtoMessage() {} func (*GetUserTagsResp) ProtoMessage() {}
func (*GetUserTagsResp) Descriptor() ([]byte, []int) { func (*GetUserTagsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{4} return fileDescriptor_office_7066d9c5c43d9815, []int{4}
} }
func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error { func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b) return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b)
@ -276,7 +276,7 @@ func (m *CreateTagReq) Reset() { *m = CreateTagReq{} }
func (m *CreateTagReq) String() string { return proto.CompactTextString(m) } func (m *CreateTagReq) String() string { return proto.CompactTextString(m) }
func (*CreateTagReq) ProtoMessage() {} func (*CreateTagReq) ProtoMessage() {}
func (*CreateTagReq) Descriptor() ([]byte, []int) { func (*CreateTagReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{5} return fileDescriptor_office_7066d9c5c43d9815, []int{5}
} }
func (m *CreateTagReq) XXX_Unmarshal(b []byte) error { func (m *CreateTagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTagReq.Unmarshal(m, b) return xxx_messageInfo_CreateTagReq.Unmarshal(m, b)
@ -335,7 +335,7 @@ func (m *CreateTagResp) Reset() { *m = CreateTagResp{} }
func (m *CreateTagResp) String() string { return proto.CompactTextString(m) } func (m *CreateTagResp) String() string { return proto.CompactTextString(m) }
func (*CreateTagResp) ProtoMessage() {} func (*CreateTagResp) ProtoMessage() {}
func (*CreateTagResp) Descriptor() ([]byte, []int) { func (*CreateTagResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{6} return fileDescriptor_office_7066d9c5c43d9815, []int{6}
} }
func (m *CreateTagResp) XXX_Unmarshal(b []byte) error { func (m *CreateTagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTagResp.Unmarshal(m, b) return xxx_messageInfo_CreateTagResp.Unmarshal(m, b)
@ -375,7 +375,7 @@ func (m *DeleteTagReq) Reset() { *m = DeleteTagReq{} }
func (m *DeleteTagReq) String() string { return proto.CompactTextString(m) } func (m *DeleteTagReq) String() string { return proto.CompactTextString(m) }
func (*DeleteTagReq) ProtoMessage() {} func (*DeleteTagReq) ProtoMessage() {}
func (*DeleteTagReq) Descriptor() ([]byte, []int) { func (*DeleteTagReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{7} return fileDescriptor_office_7066d9c5c43d9815, []int{7}
} }
func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error { func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b) return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b)
@ -427,7 +427,7 @@ func (m *DeleteTagResp) Reset() { *m = DeleteTagResp{} }
func (m *DeleteTagResp) String() string { return proto.CompactTextString(m) } func (m *DeleteTagResp) String() string { return proto.CompactTextString(m) }
func (*DeleteTagResp) ProtoMessage() {} func (*DeleteTagResp) ProtoMessage() {}
func (*DeleteTagResp) Descriptor() ([]byte, []int) { func (*DeleteTagResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{8} return fileDescriptor_office_7066d9c5c43d9815, []int{8}
} }
func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error { func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b) return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b)
@ -470,7 +470,7 @@ func (m *SetTagReq) Reset() { *m = SetTagReq{} }
func (m *SetTagReq) String() string { return proto.CompactTextString(m) } func (m *SetTagReq) String() string { return proto.CompactTextString(m) }
func (*SetTagReq) ProtoMessage() {} func (*SetTagReq) ProtoMessage() {}
func (*SetTagReq) Descriptor() ([]byte, []int) { func (*SetTagReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{9} return fileDescriptor_office_7066d9c5c43d9815, []int{9}
} }
func (m *SetTagReq) XXX_Unmarshal(b []byte) error { func (m *SetTagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetTagReq.Unmarshal(m, b) return xxx_messageInfo_SetTagReq.Unmarshal(m, b)
@ -543,7 +543,7 @@ func (m *SetTagResp) Reset() { *m = SetTagResp{} }
func (m *SetTagResp) String() string { return proto.CompactTextString(m) } func (m *SetTagResp) String() string { return proto.CompactTextString(m) }
func (*SetTagResp) ProtoMessage() {} func (*SetTagResp) ProtoMessage() {}
func (*SetTagResp) Descriptor() ([]byte, []int) { func (*SetTagResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{10} return fileDescriptor_office_7066d9c5c43d9815, []int{10}
} }
func (m *SetTagResp) XXX_Unmarshal(b []byte) error { func (m *SetTagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetTagResp.Unmarshal(m, b) return xxx_messageInfo_SetTagResp.Unmarshal(m, b)
@ -587,7 +587,7 @@ func (m *SendMsg2TagReq) Reset() { *m = SendMsg2TagReq{} }
func (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) } func (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) }
func (*SendMsg2TagReq) ProtoMessage() {} func (*SendMsg2TagReq) ProtoMessage() {}
func (*SendMsg2TagReq) Descriptor() ([]byte, []int) { func (*SendMsg2TagReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{11} return fileDescriptor_office_7066d9c5c43d9815, []int{11}
} }
func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error { func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b) return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b)
@ -667,7 +667,7 @@ func (m *SendMsg2TagResp) Reset() { *m = SendMsg2TagResp{} }
func (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) } func (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) }
func (*SendMsg2TagResp) ProtoMessage() {} func (*SendMsg2TagResp) ProtoMessage() {}
func (*SendMsg2TagResp) Descriptor() ([]byte, []int) { func (*SendMsg2TagResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{12} return fileDescriptor_office_7066d9c5c43d9815, []int{12}
} }
func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error { func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b) return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b)
@ -707,7 +707,7 @@ func (m *GetTagSendLogsReq) Reset() { *m = GetTagSendLogsReq{} }
func (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) } func (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) }
func (*GetTagSendLogsReq) ProtoMessage() {} func (*GetTagSendLogsReq) ProtoMessage() {}
func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) { func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{13} return fileDescriptor_office_7066d9c5c43d9815, []int{13}
} }
func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error { func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b) return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b)
@ -761,7 +761,7 @@ func (m *TagSendLog) Reset() { *m = TagSendLog{} }
func (m *TagSendLog) String() string { return proto.CompactTextString(m) } func (m *TagSendLog) String() string { return proto.CompactTextString(m) }
func (*TagSendLog) ProtoMessage() {} func (*TagSendLog) ProtoMessage() {}
func (*TagSendLog) Descriptor() ([]byte, []int) { func (*TagSendLog) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{14} return fileDescriptor_office_7066d9c5c43d9815, []int{14}
} }
func (m *TagSendLog) XXX_Unmarshal(b []byte) error { func (m *TagSendLog) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TagSendLog.Unmarshal(m, b) return xxx_messageInfo_TagSendLog.Unmarshal(m, b)
@ -815,7 +815,7 @@ func (m *GetTagSendLogsResp) Reset() { *m = GetTagSendLogsResp{} }
func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) } func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) }
func (*GetTagSendLogsResp) ProtoMessage() {} func (*GetTagSendLogsResp) ProtoMessage() {}
func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) { func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{15} return fileDescriptor_office_7066d9c5c43d9815, []int{15}
} }
func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error { func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b) return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b)
@ -869,7 +869,7 @@ func (m *GetUserTagByIDReq) Reset() { *m = GetUserTagByIDReq{} }
func (m *GetUserTagByIDReq) String() string { return proto.CompactTextString(m) } func (m *GetUserTagByIDReq) String() string { return proto.CompactTextString(m) }
func (*GetUserTagByIDReq) ProtoMessage() {} func (*GetUserTagByIDReq) ProtoMessage() {}
func (*GetUserTagByIDReq) Descriptor() ([]byte, []int) { func (*GetUserTagByIDReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{16} return fileDescriptor_office_7066d9c5c43d9815, []int{16}
} }
func (m *GetUserTagByIDReq) XXX_Unmarshal(b []byte) error { func (m *GetUserTagByIDReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserTagByIDReq.Unmarshal(m, b) return xxx_messageInfo_GetUserTagByIDReq.Unmarshal(m, b)
@ -922,7 +922,7 @@ func (m *GetUserTagByIDResp) Reset() { *m = GetUserTagByIDResp{} }
func (m *GetUserTagByIDResp) String() string { return proto.CompactTextString(m) } func (m *GetUserTagByIDResp) String() string { return proto.CompactTextString(m) }
func (*GetUserTagByIDResp) ProtoMessage() {} func (*GetUserTagByIDResp) ProtoMessage() {}
func (*GetUserTagByIDResp) Descriptor() ([]byte, []int) { func (*GetUserTagByIDResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{17} return fileDescriptor_office_7066d9c5c43d9815, []int{17}
} }
func (m *GetUserTagByIDResp) XXX_Unmarshal(b []byte) error { func (m *GetUserTagByIDResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserTagByIDResp.Unmarshal(m, b) return xxx_messageInfo_GetUserTagByIDResp.Unmarshal(m, b)
@ -968,7 +968,7 @@ func (m *LikeUser) Reset() { *m = LikeUser{} }
func (m *LikeUser) String() string { return proto.CompactTextString(m) } func (m *LikeUser) String() string { return proto.CompactTextString(m) }
func (*LikeUser) ProtoMessage() {} func (*LikeUser) ProtoMessage() {}
func (*LikeUser) Descriptor() ([]byte, []int) { func (*LikeUser) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{18} return fileDescriptor_office_7066d9c5c43d9815, []int{18}
} }
func (m *LikeUser) XXX_Unmarshal(b []byte) error { func (m *LikeUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LikeUser.Unmarshal(m, b) return xxx_messageInfo_LikeUser.Unmarshal(m, b)
@ -1019,7 +1019,7 @@ func (m *Comment) Reset() { *m = Comment{} }
func (m *Comment) String() string { return proto.CompactTextString(m) } func (m *Comment) String() string { return proto.CompactTextString(m) }
func (*Comment) ProtoMessage() {} func (*Comment) ProtoMessage() {}
func (*Comment) Descriptor() ([]byte, []int) { func (*Comment) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{19} return fileDescriptor_office_7066d9c5c43d9815, []int{19}
} }
func (m *Comment) XXX_Unmarshal(b []byte) error { func (m *Comment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Comment.Unmarshal(m, b) return xxx_messageInfo_Comment.Unmarshal(m, b)
@ -1097,7 +1097,6 @@ type WorkMoment struct {
WhoCanSeeUserIDList []string `protobuf:"bytes,6,rep,name=whoCanSeeUserIDList" json:"whoCanSeeUserIDList,omitempty"` WhoCanSeeUserIDList []string `protobuf:"bytes,6,rep,name=whoCanSeeUserIDList" json:"whoCanSeeUserIDList,omitempty"`
WhoCantSeeUserIDList []string `protobuf:"bytes,7,rep,name=whoCantSeeUserIDList" json:"whoCantSeeUserIDList,omitempty"` WhoCantSeeUserIDList []string `protobuf:"bytes,7,rep,name=whoCantSeeUserIDList" json:"whoCantSeeUserIDList,omitempty"`
IsPrivate bool `protobuf:"varint,8,opt,name=isPrivate" json:"isPrivate,omitempty"` IsPrivate bool `protobuf:"varint,8,opt,name=isPrivate" json:"isPrivate,omitempty"`
IsPublic bool `protobuf:"varint,9,opt,name=isPublic" json:"isPublic,omitempty"`
CreateTime int32 `protobuf:"varint,10,opt,name=CreateTime" json:"CreateTime,omitempty"` CreateTime int32 `protobuf:"varint,10,opt,name=CreateTime" json:"CreateTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
@ -1108,7 +1107,7 @@ func (m *WorkMoment) Reset() { *m = WorkMoment{} }
func (m *WorkMoment) String() string { return proto.CompactTextString(m) } func (m *WorkMoment) String() string { return proto.CompactTextString(m) }
func (*WorkMoment) ProtoMessage() {} func (*WorkMoment) ProtoMessage() {}
func (*WorkMoment) Descriptor() ([]byte, []int) { func (*WorkMoment) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{20} return fileDescriptor_office_7066d9c5c43d9815, []int{20}
} }
func (m *WorkMoment) XXX_Unmarshal(b []byte) error { func (m *WorkMoment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WorkMoment.Unmarshal(m, b) return xxx_messageInfo_WorkMoment.Unmarshal(m, b)
@ -1184,13 +1183,6 @@ func (m *WorkMoment) GetIsPrivate() bool {
return false return false
} }
func (m *WorkMoment) GetIsPublic() bool {
if m != nil {
return m.IsPublic
}
return false
}
func (m *WorkMoment) GetCreateTime() int32 { func (m *WorkMoment) GetCreateTime() int32 {
if m != nil { if m != nil {
return m.CreateTime return m.CreateTime
@ -1211,7 +1203,7 @@ func (m *CreateOneWorkMomentReq) Reset() { *m = CreateOneWorkMomentReq{}
func (m *CreateOneWorkMomentReq) String() string { return proto.CompactTextString(m) } func (m *CreateOneWorkMomentReq) String() string { return proto.CompactTextString(m) }
func (*CreateOneWorkMomentReq) ProtoMessage() {} func (*CreateOneWorkMomentReq) ProtoMessage() {}
func (*CreateOneWorkMomentReq) Descriptor() ([]byte, []int) { func (*CreateOneWorkMomentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{21} return fileDescriptor_office_7066d9c5c43d9815, []int{21}
} }
func (m *CreateOneWorkMomentReq) XXX_Unmarshal(b []byte) error { func (m *CreateOneWorkMomentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOneWorkMomentReq.Unmarshal(m, b) return xxx_messageInfo_CreateOneWorkMomentReq.Unmarshal(m, b)
@ -1263,7 +1255,7 @@ func (m *CreateOneWorkMomentResp) Reset() { *m = CreateOneWorkMomentResp
func (m *CreateOneWorkMomentResp) String() string { return proto.CompactTextString(m) } func (m *CreateOneWorkMomentResp) String() string { return proto.CompactTextString(m) }
func (*CreateOneWorkMomentResp) ProtoMessage() {} func (*CreateOneWorkMomentResp) ProtoMessage() {}
func (*CreateOneWorkMomentResp) Descriptor() ([]byte, []int) { func (*CreateOneWorkMomentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{22} return fileDescriptor_office_7066d9c5c43d9815, []int{22}
} }
func (m *CreateOneWorkMomentResp) XXX_Unmarshal(b []byte) error { func (m *CreateOneWorkMomentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOneWorkMomentResp.Unmarshal(m, b) return xxx_messageInfo_CreateOneWorkMomentResp.Unmarshal(m, b)
@ -1303,7 +1295,7 @@ func (m *DeleteOneWorkMomentReq) Reset() { *m = DeleteOneWorkMomentReq{}
func (m *DeleteOneWorkMomentReq) String() string { return proto.CompactTextString(m) } func (m *DeleteOneWorkMomentReq) String() string { return proto.CompactTextString(m) }
func (*DeleteOneWorkMomentReq) ProtoMessage() {} func (*DeleteOneWorkMomentReq) ProtoMessage() {}
func (*DeleteOneWorkMomentReq) Descriptor() ([]byte, []int) { func (*DeleteOneWorkMomentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{23} return fileDescriptor_office_7066d9c5c43d9815, []int{23}
} }
func (m *DeleteOneWorkMomentReq) XXX_Unmarshal(b []byte) error { func (m *DeleteOneWorkMomentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteOneWorkMomentReq.Unmarshal(m, b) return xxx_messageInfo_DeleteOneWorkMomentReq.Unmarshal(m, b)
@ -1355,7 +1347,7 @@ func (m *DeleteOneWorkMomentResp) Reset() { *m = DeleteOneWorkMomentResp
func (m *DeleteOneWorkMomentResp) String() string { return proto.CompactTextString(m) } func (m *DeleteOneWorkMomentResp) String() string { return proto.CompactTextString(m) }
func (*DeleteOneWorkMomentResp) ProtoMessage() {} func (*DeleteOneWorkMomentResp) ProtoMessage() {}
func (*DeleteOneWorkMomentResp) Descriptor() ([]byte, []int) { func (*DeleteOneWorkMomentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{24} return fileDescriptor_office_7066d9c5c43d9815, []int{24}
} }
func (m *DeleteOneWorkMomentResp) XXX_Unmarshal(b []byte) error { func (m *DeleteOneWorkMomentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteOneWorkMomentResp.Unmarshal(m, b) return xxx_messageInfo_DeleteOneWorkMomentResp.Unmarshal(m, b)
@ -1395,7 +1387,7 @@ func (m *LikeOneWorkMomentReq) Reset() { *m = LikeOneWorkMomentReq{} }
func (m *LikeOneWorkMomentReq) String() string { return proto.CompactTextString(m) } func (m *LikeOneWorkMomentReq) String() string { return proto.CompactTextString(m) }
func (*LikeOneWorkMomentReq) ProtoMessage() {} func (*LikeOneWorkMomentReq) ProtoMessage() {}
func (*LikeOneWorkMomentReq) Descriptor() ([]byte, []int) { func (*LikeOneWorkMomentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{25} return fileDescriptor_office_7066d9c5c43d9815, []int{25}
} }
func (m *LikeOneWorkMomentReq) XXX_Unmarshal(b []byte) error { func (m *LikeOneWorkMomentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LikeOneWorkMomentReq.Unmarshal(m, b) return xxx_messageInfo_LikeOneWorkMomentReq.Unmarshal(m, b)
@ -1447,7 +1439,7 @@ func (m *LikeOneWorkMomentResp) Reset() { *m = LikeOneWorkMomentResp{} }
func (m *LikeOneWorkMomentResp) String() string { return proto.CompactTextString(m) } func (m *LikeOneWorkMomentResp) String() string { return proto.CompactTextString(m) }
func (*LikeOneWorkMomentResp) ProtoMessage() {} func (*LikeOneWorkMomentResp) ProtoMessage() {}
func (*LikeOneWorkMomentResp) Descriptor() ([]byte, []int) { func (*LikeOneWorkMomentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{26} return fileDescriptor_office_7066d9c5c43d9815, []int{26}
} }
func (m *LikeOneWorkMomentResp) XXX_Unmarshal(b []byte) error { func (m *LikeOneWorkMomentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LikeOneWorkMomentResp.Unmarshal(m, b) return xxx_messageInfo_LikeOneWorkMomentResp.Unmarshal(m, b)
@ -1489,7 +1481,7 @@ func (m *CommentOneWorkMomentReq) Reset() { *m = CommentOneWorkMomentReq
func (m *CommentOneWorkMomentReq) String() string { return proto.CompactTextString(m) } func (m *CommentOneWorkMomentReq) String() string { return proto.CompactTextString(m) }
func (*CommentOneWorkMomentReq) ProtoMessage() {} func (*CommentOneWorkMomentReq) ProtoMessage() {}
func (*CommentOneWorkMomentReq) Descriptor() ([]byte, []int) { func (*CommentOneWorkMomentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{27} return fileDescriptor_office_7066d9c5c43d9815, []int{27}
} }
func (m *CommentOneWorkMomentReq) XXX_Unmarshal(b []byte) error { func (m *CommentOneWorkMomentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommentOneWorkMomentReq.Unmarshal(m, b) return xxx_messageInfo_CommentOneWorkMomentReq.Unmarshal(m, b)
@ -1555,7 +1547,7 @@ func (m *CommentOneWorkMomentResp) Reset() { *m = CommentOneWorkMomentRe
func (m *CommentOneWorkMomentResp) String() string { return proto.CompactTextString(m) } func (m *CommentOneWorkMomentResp) String() string { return proto.CompactTextString(m) }
func (*CommentOneWorkMomentResp) ProtoMessage() {} func (*CommentOneWorkMomentResp) ProtoMessage() {}
func (*CommentOneWorkMomentResp) Descriptor() ([]byte, []int) { func (*CommentOneWorkMomentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{28} return fileDescriptor_office_7066d9c5c43d9815, []int{28}
} }
func (m *CommentOneWorkMomentResp) XXX_Unmarshal(b []byte) error { func (m *CommentOneWorkMomentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommentOneWorkMomentResp.Unmarshal(m, b) return xxx_messageInfo_CommentOneWorkMomentResp.Unmarshal(m, b)
@ -1582,6 +1574,106 @@ func (m *CommentOneWorkMomentResp) GetCommonResp() *CommonResp {
return nil return nil
} }
type GetWorkMomentByIDReq struct {
WorkMomentID string `protobuf:"bytes,1,opt,name=workMomentID" json:"workMomentID,omitempty"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,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 *GetWorkMomentByIDReq) Reset() { *m = GetWorkMomentByIDReq{} }
func (m *GetWorkMomentByIDReq) String() string { return proto.CompactTextString(m) }
func (*GetWorkMomentByIDReq) ProtoMessage() {}
func (*GetWorkMomentByIDReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_7066d9c5c43d9815, []int{29}
}
func (m *GetWorkMomentByIDReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWorkMomentByIDReq.Unmarshal(m, b)
}
func (m *GetWorkMomentByIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetWorkMomentByIDReq.Marshal(b, m, deterministic)
}
func (dst *GetWorkMomentByIDReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetWorkMomentByIDReq.Merge(dst, src)
}
func (m *GetWorkMomentByIDReq) XXX_Size() int {
return xxx_messageInfo_GetWorkMomentByIDReq.Size(m)
}
func (m *GetWorkMomentByIDReq) XXX_DiscardUnknown() {
xxx_messageInfo_GetWorkMomentByIDReq.DiscardUnknown(m)
}
var xxx_messageInfo_GetWorkMomentByIDReq proto.InternalMessageInfo
func (m *GetWorkMomentByIDReq) GetWorkMomentID() string {
if m != nil {
return m.WorkMomentID
}
return ""
}
func (m *GetWorkMomentByIDReq) GetOpUserID() string {
if m != nil {
return m.OpUserID
}
return ""
}
func (m *GetWorkMomentByIDReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
type GetWorkMomentByIDResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
WorkMoment *WorkMoment `protobuf:"bytes,2,opt,name=workMoment" json:"workMoment,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetWorkMomentByIDResp) Reset() { *m = GetWorkMomentByIDResp{} }
func (m *GetWorkMomentByIDResp) String() string { return proto.CompactTextString(m) }
func (*GetWorkMomentByIDResp) ProtoMessage() {}
func (*GetWorkMomentByIDResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_7066d9c5c43d9815, []int{30}
}
func (m *GetWorkMomentByIDResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWorkMomentByIDResp.Unmarshal(m, b)
}
func (m *GetWorkMomentByIDResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetWorkMomentByIDResp.Marshal(b, m, deterministic)
}
func (dst *GetWorkMomentByIDResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetWorkMomentByIDResp.Merge(dst, src)
}
func (m *GetWorkMomentByIDResp) XXX_Size() int {
return xxx_messageInfo_GetWorkMomentByIDResp.Size(m)
}
func (m *GetWorkMomentByIDResp) XXX_DiscardUnknown() {
xxx_messageInfo_GetWorkMomentByIDResp.DiscardUnknown(m)
}
var xxx_messageInfo_GetWorkMomentByIDResp proto.InternalMessageInfo
func (m *GetWorkMomentByIDResp) GetCommonResp() *CommonResp {
if m != nil {
return m.CommonResp
}
return nil
}
func (m *GetWorkMomentByIDResp) GetWorkMoment() *WorkMoment {
if m != nil {
return m.WorkMoment
}
return nil
}
type GetUserWorkMomentsReq struct { type GetUserWorkMomentsReq struct {
UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,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"`
@ -1595,7 +1687,7 @@ func (m *GetUserWorkMomentsReq) Reset() { *m = GetUserWorkMomentsReq{} }
func (m *GetUserWorkMomentsReq) String() string { return proto.CompactTextString(m) } func (m *GetUserWorkMomentsReq) String() string { return proto.CompactTextString(m) }
func (*GetUserWorkMomentsReq) ProtoMessage() {} func (*GetUserWorkMomentsReq) ProtoMessage() {}
func (*GetUserWorkMomentsReq) Descriptor() ([]byte, []int) { func (*GetUserWorkMomentsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{29} return fileDescriptor_office_7066d9c5c43d9815, []int{31}
} }
func (m *GetUserWorkMomentsReq) XXX_Unmarshal(b []byte) error { func (m *GetUserWorkMomentsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserWorkMomentsReq.Unmarshal(m, b) return xxx_messageInfo_GetUserWorkMomentsReq.Unmarshal(m, b)
@ -1649,7 +1741,7 @@ func (m *GetUserWorkMomentsResp) Reset() { *m = GetUserWorkMomentsResp{}
func (m *GetUserWorkMomentsResp) String() string { return proto.CompactTextString(m) } func (m *GetUserWorkMomentsResp) String() string { return proto.CompactTextString(m) }
func (*GetUserWorkMomentsResp) ProtoMessage() {} func (*GetUserWorkMomentsResp) ProtoMessage() {}
func (*GetUserWorkMomentsResp) Descriptor() ([]byte, []int) { func (*GetUserWorkMomentsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{30} return fileDescriptor_office_7066d9c5c43d9815, []int{32}
} }
func (m *GetUserWorkMomentsResp) XXX_Unmarshal(b []byte) error { func (m *GetUserWorkMomentsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserWorkMomentsResp.Unmarshal(m, b) return xxx_messageInfo_GetUserWorkMomentsResp.Unmarshal(m, b)
@ -1703,7 +1795,7 @@ func (m *GetUserFriendWorkMomentsReq) Reset() { *m = GetUserFriendWorkMo
func (m *GetUserFriendWorkMomentsReq) String() string { return proto.CompactTextString(m) } func (m *GetUserFriendWorkMomentsReq) String() string { return proto.CompactTextString(m) }
func (*GetUserFriendWorkMomentsReq) ProtoMessage() {} func (*GetUserFriendWorkMomentsReq) ProtoMessage() {}
func (*GetUserFriendWorkMomentsReq) Descriptor() ([]byte, []int) { func (*GetUserFriendWorkMomentsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{31} return fileDescriptor_office_7066d9c5c43d9815, []int{33}
} }
func (m *GetUserFriendWorkMomentsReq) XXX_Unmarshal(b []byte) error { func (m *GetUserFriendWorkMomentsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserFriendWorkMomentsReq.Unmarshal(m, b) return xxx_messageInfo_GetUserFriendWorkMomentsReq.Unmarshal(m, b)
@ -1757,7 +1849,7 @@ func (m *GetUserFriendWorkMomentsResp) Reset() { *m = GetUserFriendWorkM
func (m *GetUserFriendWorkMomentsResp) String() string { return proto.CompactTextString(m) } func (m *GetUserFriendWorkMomentsResp) String() string { return proto.CompactTextString(m) }
func (*GetUserFriendWorkMomentsResp) ProtoMessage() {} func (*GetUserFriendWorkMomentsResp) ProtoMessage() {}
func (*GetUserFriendWorkMomentsResp) Descriptor() ([]byte, []int) { func (*GetUserFriendWorkMomentsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{32} return fileDescriptor_office_7066d9c5c43d9815, []int{34}
} }
func (m *GetUserFriendWorkMomentsResp) XXX_Unmarshal(b []byte) error { func (m *GetUserFriendWorkMomentsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserFriendWorkMomentsResp.Unmarshal(m, b) return xxx_messageInfo_GetUserFriendWorkMomentsResp.Unmarshal(m, b)
@ -1811,7 +1903,7 @@ func (m *CommentsMsg) Reset() { *m = CommentsMsg{} }
func (m *CommentsMsg) String() string { return proto.CompactTextString(m) } func (m *CommentsMsg) String() string { return proto.CompactTextString(m) }
func (*CommentsMsg) ProtoMessage() {} func (*CommentsMsg) ProtoMessage() {}
func (*CommentsMsg) Descriptor() ([]byte, []int) { func (*CommentsMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{33} return fileDescriptor_office_7066d9c5c43d9815, []int{35}
} }
func (m *CommentsMsg) XXX_Unmarshal(b []byte) error { func (m *CommentsMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommentsMsg.Unmarshal(m, b) return xxx_messageInfo_CommentsMsg.Unmarshal(m, b)
@ -1865,7 +1957,7 @@ func (m *GetUserWorkMomentsCommentsMsgReq) Reset() { *m = GetUserWorkMom
func (m *GetUserWorkMomentsCommentsMsgReq) String() string { return proto.CompactTextString(m) } func (m *GetUserWorkMomentsCommentsMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetUserWorkMomentsCommentsMsgReq) ProtoMessage() {} func (*GetUserWorkMomentsCommentsMsgReq) ProtoMessage() {}
func (*GetUserWorkMomentsCommentsMsgReq) Descriptor() ([]byte, []int) { func (*GetUserWorkMomentsCommentsMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{34} return fileDescriptor_office_7066d9c5c43d9815, []int{36}
} }
func (m *GetUserWorkMomentsCommentsMsgReq) XXX_Unmarshal(b []byte) error { func (m *GetUserWorkMomentsCommentsMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserWorkMomentsCommentsMsgReq.Unmarshal(m, b) return xxx_messageInfo_GetUserWorkMomentsCommentsMsgReq.Unmarshal(m, b)
@ -1919,7 +2011,7 @@ func (m *GetUserWorkMomentsCommentsMsgResp) Reset() { *m = GetUserWorkMo
func (m *GetUserWorkMomentsCommentsMsgResp) String() string { return proto.CompactTextString(m) } func (m *GetUserWorkMomentsCommentsMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetUserWorkMomentsCommentsMsgResp) ProtoMessage() {} func (*GetUserWorkMomentsCommentsMsgResp) ProtoMessage() {}
func (*GetUserWorkMomentsCommentsMsgResp) Descriptor() ([]byte, []int) { func (*GetUserWorkMomentsCommentsMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{35} return fileDescriptor_office_7066d9c5c43d9815, []int{37}
} }
func (m *GetUserWorkMomentsCommentsMsgResp) XXX_Unmarshal(b []byte) error { func (m *GetUserWorkMomentsCommentsMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserWorkMomentsCommentsMsgResp.Unmarshal(m, b) return xxx_messageInfo_GetUserWorkMomentsCommentsMsgResp.Unmarshal(m, b)
@ -1972,7 +2064,7 @@ func (m *ClearUserWorkMomentsCommentsMsgReq) Reset() { *m = ClearUserWor
func (m *ClearUserWorkMomentsCommentsMsgReq) String() string { return proto.CompactTextString(m) } func (m *ClearUserWorkMomentsCommentsMsgReq) String() string { return proto.CompactTextString(m) }
func (*ClearUserWorkMomentsCommentsMsgReq) ProtoMessage() {} func (*ClearUserWorkMomentsCommentsMsgReq) ProtoMessage() {}
func (*ClearUserWorkMomentsCommentsMsgReq) Descriptor() ([]byte, []int) { func (*ClearUserWorkMomentsCommentsMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{36} return fileDescriptor_office_7066d9c5c43d9815, []int{38}
} }
func (m *ClearUserWorkMomentsCommentsMsgReq) XXX_Unmarshal(b []byte) error { func (m *ClearUserWorkMomentsCommentsMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearUserWorkMomentsCommentsMsgReq.Unmarshal(m, b) return xxx_messageInfo_ClearUserWorkMomentsCommentsMsgReq.Unmarshal(m, b)
@ -2017,7 +2109,7 @@ func (m *ClearUserWorkMomentsCommentsMsgResp) Reset() { *m = ClearUserWo
func (m *ClearUserWorkMomentsCommentsMsgResp) String() string { return proto.CompactTextString(m) } func (m *ClearUserWorkMomentsCommentsMsgResp) String() string { return proto.CompactTextString(m) }
func (*ClearUserWorkMomentsCommentsMsgResp) ProtoMessage() {} func (*ClearUserWorkMomentsCommentsMsgResp) ProtoMessage() {}
func (*ClearUserWorkMomentsCommentsMsgResp) Descriptor() ([]byte, []int) { func (*ClearUserWorkMomentsCommentsMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{37} return fileDescriptor_office_7066d9c5c43d9815, []int{39}
} }
func (m *ClearUserWorkMomentsCommentsMsgResp) XXX_Unmarshal(b []byte) error { func (m *ClearUserWorkMomentsCommentsMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearUserWorkMomentsCommentsMsgResp.Unmarshal(m, b) return xxx_messageInfo_ClearUserWorkMomentsCommentsMsgResp.Unmarshal(m, b)
@ -2057,7 +2149,7 @@ func (m *SetUserWorkMomentsLevelReq) Reset() { *m = SetUserWorkMomentsLe
func (m *SetUserWorkMomentsLevelReq) String() string { return proto.CompactTextString(m) } func (m *SetUserWorkMomentsLevelReq) String() string { return proto.CompactTextString(m) }
func (*SetUserWorkMomentsLevelReq) ProtoMessage() {} func (*SetUserWorkMomentsLevelReq) ProtoMessage() {}
func (*SetUserWorkMomentsLevelReq) Descriptor() ([]byte, []int) { func (*SetUserWorkMomentsLevelReq) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{38} return fileDescriptor_office_7066d9c5c43d9815, []int{40}
} }
func (m *SetUserWorkMomentsLevelReq) XXX_Unmarshal(b []byte) error { func (m *SetUserWorkMomentsLevelReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetUserWorkMomentsLevelReq.Unmarshal(m, b) return xxx_messageInfo_SetUserWorkMomentsLevelReq.Unmarshal(m, b)
@ -2109,7 +2201,7 @@ func (m *SetUserWorkMomentsLevelResp) Reset() { *m = SetUserWorkMomentsL
func (m *SetUserWorkMomentsLevelResp) String() string { return proto.CompactTextString(m) } func (m *SetUserWorkMomentsLevelResp) String() string { return proto.CompactTextString(m) }
func (*SetUserWorkMomentsLevelResp) ProtoMessage() {} func (*SetUserWorkMomentsLevelResp) ProtoMessage() {}
func (*SetUserWorkMomentsLevelResp) Descriptor() ([]byte, []int) { func (*SetUserWorkMomentsLevelResp) Descriptor() ([]byte, []int) {
return fileDescriptor_office_8a5f7d4f1783db20, []int{39} return fileDescriptor_office_7066d9c5c43d9815, []int{41}
} }
func (m *SetUserWorkMomentsLevelResp) XXX_Unmarshal(b []byte) error { func (m *SetUserWorkMomentsLevelResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetUserWorkMomentsLevelResp.Unmarshal(m, b) return xxx_messageInfo_SetUserWorkMomentsLevelResp.Unmarshal(m, b)
@ -2166,6 +2258,8 @@ func init() {
proto.RegisterType((*LikeOneWorkMomentResp)(nil), "office.LikeOneWorkMomentResp") proto.RegisterType((*LikeOneWorkMomentResp)(nil), "office.LikeOneWorkMomentResp")
proto.RegisterType((*CommentOneWorkMomentReq)(nil), "office.CommentOneWorkMomentReq") proto.RegisterType((*CommentOneWorkMomentReq)(nil), "office.CommentOneWorkMomentReq")
proto.RegisterType((*CommentOneWorkMomentResp)(nil), "office.CommentOneWorkMomentResp") proto.RegisterType((*CommentOneWorkMomentResp)(nil), "office.CommentOneWorkMomentResp")
proto.RegisterType((*GetWorkMomentByIDReq)(nil), "office.GetWorkMomentByIDReq")
proto.RegisterType((*GetWorkMomentByIDResp)(nil), "office.GetWorkMomentByIDResp")
proto.RegisterType((*GetUserWorkMomentsReq)(nil), "office.GetUserWorkMomentsReq") proto.RegisterType((*GetUserWorkMomentsReq)(nil), "office.GetUserWorkMomentsReq")
proto.RegisterType((*GetUserWorkMomentsResp)(nil), "office.GetUserWorkMomentsResp") proto.RegisterType((*GetUserWorkMomentsResp)(nil), "office.GetUserWorkMomentsResp")
proto.RegisterType((*GetUserFriendWorkMomentsReq)(nil), "office.GetUserFriendWorkMomentsReq") proto.RegisterType((*GetUserFriendWorkMomentsReq)(nil), "office.GetUserFriendWorkMomentsReq")
@ -2201,6 +2295,7 @@ type OfficeServiceClient interface {
DeleteOneWorkMoment(ctx context.Context, in *DeleteOneWorkMomentReq, opts ...grpc.CallOption) (*DeleteOneWorkMomentResp, error) DeleteOneWorkMoment(ctx context.Context, in *DeleteOneWorkMomentReq, opts ...grpc.CallOption) (*DeleteOneWorkMomentResp, error)
LikeOneWorkMoment(ctx context.Context, in *LikeOneWorkMomentReq, opts ...grpc.CallOption) (*LikeOneWorkMomentResp, error) LikeOneWorkMoment(ctx context.Context, in *LikeOneWorkMomentReq, opts ...grpc.CallOption) (*LikeOneWorkMomentResp, error)
CommentOneWorkMoment(ctx context.Context, in *CommentOneWorkMomentReq, opts ...grpc.CallOption) (*CommentOneWorkMomentResp, error) CommentOneWorkMoment(ctx context.Context, in *CommentOneWorkMomentReq, opts ...grpc.CallOption) (*CommentOneWorkMomentResp, error)
GetWorkMomentByID(ctx context.Context, in *GetWorkMomentByIDReq, opts ...grpc.CallOption) (*GetWorkMomentByIDResp, error)
// / user self // / user self
GetUserWorkMoments(ctx context.Context, in *GetUserWorkMomentsReq, opts ...grpc.CallOption) (*GetUserWorkMomentsResp, error) GetUserWorkMoments(ctx context.Context, in *GetUserWorkMomentsReq, opts ...grpc.CallOption) (*GetUserWorkMomentsResp, error)
// / users friend // / users friend
@ -2317,6 +2412,15 @@ func (c *officeServiceClient) CommentOneWorkMoment(ctx context.Context, in *Comm
return out, nil return out, nil
} }
func (c *officeServiceClient) GetWorkMomentByID(ctx context.Context, in *GetWorkMomentByIDReq, opts ...grpc.CallOption) (*GetWorkMomentByIDResp, error) {
out := new(GetWorkMomentByIDResp)
err := grpc.Invoke(ctx, "/office.OfficeService/GetWorkMomentByID", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *officeServiceClient) GetUserWorkMoments(ctx context.Context, in *GetUserWorkMomentsReq, opts ...grpc.CallOption) (*GetUserWorkMomentsResp, error) { func (c *officeServiceClient) GetUserWorkMoments(ctx context.Context, in *GetUserWorkMomentsReq, opts ...grpc.CallOption) (*GetUserWorkMomentsResp, error) {
out := new(GetUserWorkMomentsResp) out := new(GetUserWorkMomentsResp)
err := grpc.Invoke(ctx, "/office.OfficeService/GetUserWorkMoments", in, out, c.cc, opts...) err := grpc.Invoke(ctx, "/office.OfficeService/GetUserWorkMoments", in, out, c.cc, opts...)
@ -2376,6 +2480,7 @@ type OfficeServiceServer interface {
DeleteOneWorkMoment(context.Context, *DeleteOneWorkMomentReq) (*DeleteOneWorkMomentResp, error) DeleteOneWorkMoment(context.Context, *DeleteOneWorkMomentReq) (*DeleteOneWorkMomentResp, error)
LikeOneWorkMoment(context.Context, *LikeOneWorkMomentReq) (*LikeOneWorkMomentResp, error) LikeOneWorkMoment(context.Context, *LikeOneWorkMomentReq) (*LikeOneWorkMomentResp, error)
CommentOneWorkMoment(context.Context, *CommentOneWorkMomentReq) (*CommentOneWorkMomentResp, error) CommentOneWorkMoment(context.Context, *CommentOneWorkMomentReq) (*CommentOneWorkMomentResp, error)
GetWorkMomentByID(context.Context, *GetWorkMomentByIDReq) (*GetWorkMomentByIDResp, error)
// / user self // / user self
GetUserWorkMoments(context.Context, *GetUserWorkMomentsReq) (*GetUserWorkMomentsResp, error) GetUserWorkMoments(context.Context, *GetUserWorkMomentsReq) (*GetUserWorkMomentsResp, error)
// / users friend // / users friend
@ -2587,6 +2692,24 @@ func _OfficeService_CommentOneWorkMoment_Handler(srv interface{}, ctx context.Co
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _OfficeService_GetWorkMomentByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetWorkMomentByIDReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OfficeServiceServer).GetWorkMomentByID(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/office.OfficeService/GetWorkMomentByID",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OfficeServiceServer).GetWorkMomentByID(ctx, req.(*GetWorkMomentByIDReq))
}
return interceptor(ctx, in, info, handler)
}
func _OfficeService_GetUserWorkMoments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _OfficeService_GetUserWorkMoments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUserWorkMomentsReq) in := new(GetUserWorkMomentsReq)
if err := dec(in); err != nil { if err := dec(in); err != nil {
@ -2725,6 +2848,10 @@ var _OfficeService_serviceDesc = grpc.ServiceDesc{
MethodName: "CommentOneWorkMoment", MethodName: "CommentOneWorkMoment",
Handler: _OfficeService_CommentOneWorkMoment_Handler, Handler: _OfficeService_CommentOneWorkMoment_Handler,
}, },
{
MethodName: "GetWorkMomentByID",
Handler: _OfficeService_GetWorkMomentByID_Handler,
},
{ {
MethodName: "GetUserWorkMoments", MethodName: "GetUserWorkMoments",
Handler: _OfficeService_GetUserWorkMoments_Handler, Handler: _OfficeService_GetUserWorkMoments_Handler,
@ -2750,102 +2877,104 @@ var _OfficeService_serviceDesc = grpc.ServiceDesc{
Metadata: "office/office.proto", Metadata: "office/office.proto",
} }
func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_8a5f7d4f1783db20) } func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_7066d9c5c43d9815) }
var fileDescriptor_office_8a5f7d4f1783db20 = []byte{ var fileDescriptor_office_7066d9c5c43d9815 = []byte{
// 1494 bytes of a gzipped FileDescriptorProto // 1531 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xcf, 0x6f, 0x1b, 0xc5,
0x13, 0x07, 0x25, 0x4b, 0xb2, 0x46, 0x4e, 0x1c, 0xaf, 0x1d, 0x5b, 0x7f, 0x26, 0xb6, 0x15, 0x26, 0x17, 0xd7, 0xda, 0x49, 0x1c, 0x3f, 0xa7, 0x4d, 0x33, 0x49, 0x13, 0x7f, 0xb7, 0x4d, 0xe2, 0x6e,
0x7f, 0xc0, 0x49, 0x00, 0xa9, 0x50, 0x03, 0xb4, 0x40, 0xd1, 0xa0, 0x88, 0x94, 0x1a, 0x6e, 0xad, 0xfb, 0x95, 0xd2, 0x56, 0x72, 0x90, 0xa9, 0x04, 0x12, 0xa2, 0x42, 0xb5, 0x4b, 0x14, 0x48, 0xda,
0xc4, 0xa5, 0x9c, 0x06, 0xe9, 0x21, 0x06, 0x2d, 0xad, 0x59, 0xc2, 0x12, 0xc9, 0x70, 0x69, 0x09, 0xb0, 0x4e, 0xa8, 0xca, 0xa1, 0xd1, 0xd6, 0x9e, 0x2c, 0xab, 0xd8, 0xbb, 0xdb, 0x9d, 0x8d, 0x4d,
0xe9, 0xb1, 0x87, 0xbe, 0x40, 0x0f, 0x3d, 0xf5, 0xd2, 0x57, 0x28, 0xfa, 0x08, 0x3d, 0xf4, 0x54, 0xb9, 0x20, 0x71, 0x80, 0x3f, 0x80, 0x03, 0x27, 0x2e, 0xfc, 0x0b, 0xfc, 0x0d, 0x1c, 0x38, 0x21,
0xf4, 0xd4, 0x53, 0x6f, 0x7d, 0x8f, 0x16, 0xbb, 0xfc, 0xda, 0xe5, 0x87, 0xa4, 0xd0, 0x0d, 0xd0, 0x4e, 0x9c, 0x38, 0xc1, 0x1f, 0x82, 0x66, 0xf6, 0xc7, 0xcc, 0xec, 0x0f, 0xdb, 0xdd, 0x52, 0x09,
0x9e, 0xc4, 0x99, 0x9d, 0x9d, 0x9d, 0xf9, 0xcd, 0xee, 0xcc, 0xee, 0x08, 0xd6, 0xad, 0xb3, 0x33, 0x4e, 0xf1, 0x7b, 0xf3, 0xe6, 0xcd, 0xe7, 0x7d, 0xde, 0xcc, 0x9b, 0xb7, 0x13, 0x58, 0x75, 0xce,
0x63, 0x80, 0x5b, 0xde, 0x4f, 0xd3, 0x76, 0x2c, 0xd7, 0x42, 0x65, 0x8f, 0x92, 0x6f, 0x3d, 0xb5, 0xce, 0xac, 0x1e, 0xde, 0x0d, 0xfe, 0x34, 0x5d, 0xcf, 0xf1, 0x1d, 0xb4, 0x10, 0x48, 0xea, 0x8d,
0xb1, 0x79, 0x72, 0xd0, 0x6b, 0xd9, 0xe7, 0x7a, 0x8b, 0x0d, 0xb5, 0xc8, 0xf0, 0xfc, 0x64, 0x4a, 0xc7, 0x2e, 0xb6, 0x4f, 0xf7, 0x0f, 0x77, 0xdd, 0x73, 0x73, 0x97, 0x0d, 0xed, 0x92, 0xfe, 0xf9,
0x5a, 0x53, 0xe2, 0x89, 0x2a, 0x0f, 0x01, 0x3a, 0xd6, 0x78, 0x6c, 0x99, 0x2a, 0x26, 0x36, 0xaa, 0xe9, 0x98, 0xec, 0x8e, 0x49, 0x60, 0xaa, 0xdd, 0x07, 0x68, 0x3b, 0xc3, 0xa1, 0x63, 0xeb, 0x98,
0x43, 0x05, 0x3b, 0x4e, 0xc7, 0x1a, 0xe2, 0xba, 0xd4, 0x90, 0xf6, 0x4a, 0x6a, 0x40, 0xa2, 0x4d, 0xb8, 0xa8, 0x0e, 0x15, 0xec, 0x79, 0x6d, 0xa7, 0x8f, 0xeb, 0x4a, 0x43, 0xd9, 0x99, 0xd7, 0x23,
0x28, 0x63, 0xc7, 0xe9, 0x11, 0xbd, 0x5e, 0x68, 0x48, 0x7b, 0x55, 0xd5, 0xa7, 0x94, 0x0f, 0xa1, 0x11, 0xad, 0xc3, 0x02, 0xf6, 0xbc, 0x43, 0x62, 0xd6, 0x4b, 0x0d, 0x65, 0xa7, 0xaa, 0x87, 0x92,
0x72, 0xac, 0xe9, 0xcf, 0x08, 0x76, 0xa8, 0xc8, 0x05, 0xc1, 0xce, 0x41, 0x97, 0xcd, 0xad, 0xaa, 0xf6, 0x3e, 0x54, 0x8e, 0x0d, 0xf3, 0x84, 0x60, 0x8f, 0x9a, 0x5c, 0x10, 0xec, 0xed, 0x77, 0xd8,
0x3e, 0x85, 0x64, 0x58, 0xa6, 0x5f, 0x4f, 0xb4, 0x31, 0xf6, 0x27, 0x87, 0xb4, 0x72, 0x0a, 0xc5, 0xdc, 0xaa, 0x1e, 0x4a, 0x48, 0x85, 0x45, 0xfa, 0xeb, 0x91, 0x31, 0xc4, 0xe1, 0xe4, 0x58, 0xd6,
0x63, 0x4d, 0x47, 0x1b, 0x50, 0x72, 0x35, 0x3d, 0x9c, 0xe9, 0x11, 0xd4, 0x1a, 0x57, 0xd3, 0xb9, 0x9e, 0x43, 0xf9, 0xd8, 0x30, 0xd1, 0x1a, 0xcc, 0xfb, 0x86, 0x19, 0xcf, 0x0c, 0x04, 0x8a, 0xc6,
0x79, 0x01, 0x89, 0xee, 0x7b, 0x2a, 0x0f, 0x0d, 0xe2, 0xd6, 0x8b, 0x8d, 0xe2, 0x5e, 0xad, 0xbd, 0x37, 0x4c, 0x61, 0x5e, 0x24, 0xa2, 0xbb, 0x81, 0xcb, 0x03, 0x8b, 0xf8, 0xf5, 0x72, 0xa3, 0xbc,
0xda, 0xf4, 0x11, 0xf0, 0xad, 0x51, 0x43, 0x01, 0xe5, 0x13, 0xb8, 0xba, 0x8f, 0x5d, 0xca, 0x3c, 0x53, 0x6b, 0x2d, 0x37, 0x43, 0x06, 0x42, 0x34, 0x7a, 0x6c, 0xa0, 0x7d, 0x04, 0x97, 0xf7, 0xb0,
0xd6, 0x74, 0xa2, 0xe2, 0x57, 0x99, 0x96, 0x36, 0xa0, 0x66, 0xd9, 0xd8, 0xd1, 0x5c, 0xc3, 0x32, 0x4f, 0x95, 0xc7, 0x86, 0x49, 0x74, 0xfc, 0x22, 0x17, 0x69, 0x03, 0x6a, 0x8e, 0x8b, 0x3d, 0xc3,
0x0f, 0xba, 0xfe, 0xa2, 0x3c, 0x4b, 0x39, 0x83, 0x55, 0x41, 0x17, 0xb1, 0x51, 0x1b, 0x60, 0x10, 0xb7, 0x1c, 0x7b, 0xbf, 0x13, 0x2e, 0x2a, 0xaa, 0xb4, 0x33, 0x58, 0x96, 0x7c, 0x11, 0x17, 0xb5,
0x22, 0xc8, 0x14, 0xd6, 0xda, 0x28, 0xb0, 0x26, 0xc2, 0x56, 0xe5, 0xa4, 0xd0, 0x2e, 0x2c, 0xb9, 0x00, 0x7a, 0x31, 0x83, 0xcc, 0x61, 0xad, 0x85, 0x22, 0x34, 0x9c, 0x5b, 0x5d, 0xb0, 0x42, 0xdb,
0x9a, 0x4e, 0xea, 0x05, 0x66, 0x7b, 0x8d, 0xb3, 0x5d, 0x65, 0x03, 0xca, 0xd7, 0x12, 0xac, 0x74, 0x30, 0xe7, 0x1b, 0x26, 0xa9, 0x97, 0x18, 0xf6, 0x9a, 0x80, 0x5d, 0x67, 0x03, 0xda, 0xd7, 0x0a,
0x1c, 0xac, 0xb9, 0x98, 0xf2, 0xf0, 0x2b, 0x1e, 0x0b, 0x49, 0xc4, 0x22, 0x72, 0xa6, 0x20, 0x38, 0x2c, 0xb5, 0x3d, 0x6c, 0xf8, 0x98, 0xea, 0xf0, 0x0b, 0x91, 0x0b, 0x45, 0xe6, 0x82, 0x07, 0x53,
0xb3, 0x03, 0xe0, 0x7d, 0x85, 0x28, 0x55, 0x55, 0x8e, 0x13, 0x77, 0x76, 0x29, 0xe9, 0x6c, 0x07, 0x92, 0x82, 0xd9, 0x02, 0x08, 0x7e, 0xc5, 0x2c, 0x55, 0x75, 0x41, 0x93, 0x0c, 0x76, 0x2e, 0x1d,
0xae, 0x70, 0x36, 0xe4, 0x73, 0x55, 0x79, 0x09, 0x2b, 0x5d, 0x3c, 0xc2, 0xa1, 0x23, 0x59, 0xd8, 0x6c, 0x1b, 0x2e, 0x09, 0x18, 0x8a, 0x85, 0xaa, 0x3d, 0x83, 0xa5, 0x0e, 0x1e, 0xe0, 0x38, 0x90,
0x87, 0x5b, 0xa0, 0xc0, 0x6f, 0x81, 0x98, 0x91, 0xc5, 0x54, 0x23, 0x39, 0xfd, 0x39, 0x8d, 0xfc, 0x3c, 0xee, 0xe3, 0x2d, 0x50, 0x12, 0xb7, 0x40, 0x02, 0x64, 0x39, 0x13, 0xa4, 0xe0, 0xbf, 0x20,
0x4d, 0x82, 0x6a, 0x1f, 0xbb, 0xb9, 0x4c, 0xac, 0x43, 0xc5, 0xc4, 0x53, 0x16, 0x19, 0xcf, 0xbc, 0xc8, 0xdf, 0x14, 0xa8, 0x76, 0xb1, 0x5f, 0x08, 0x62, 0x1d, 0x2a, 0x36, 0x1e, 0xb3, 0xcc, 0x04,
0x80, 0x44, 0x4d, 0x40, 0x86, 0x39, 0x70, 0xb0, 0x46, 0xf0, 0xb3, 0x28, 0x12, 0x4b, 0x2c, 0x12, 0xf0, 0x22, 0x11, 0x35, 0x01, 0x59, 0x76, 0xcf, 0xc3, 0x06, 0xc1, 0x27, 0x3c, 0x13, 0x73, 0x2c,
0x29, 0x23, 0xe8, 0x1e, 0x5c, 0x73, 0xf0, 0xf0, 0x62, 0xc0, 0x4b, 0x97, 0x98, 0x74, 0x82, 0x1f, 0x13, 0x19, 0x23, 0xe8, 0x0e, 0x5c, 0xf1, 0x70, 0xff, 0xa2, 0x27, 0x5a, 0xcf, 0x33, 0xeb, 0x94,
0x07, 0xa6, 0x9c, 0x04, 0xe6, 0x23, 0x80, 0xc0, 0xa5, 0x9c, 0xa8, 0xfc, 0x29, 0xc1, 0xd5, 0x3e, 0x3e, 0x49, 0xcc, 0x42, 0x9a, 0x98, 0x0f, 0x00, 0xa2, 0x90, 0x0a, 0xb2, 0xf2, 0x97, 0x02, 0x97,
0x36, 0x87, 0x3d, 0xa2, 0xb7, 0x85, 0x6d, 0xc8, 0x2c, 0x93, 0x98, 0x65, 0x01, 0x49, 0x4f, 0xf9, 0xbb, 0xd8, 0xee, 0x1f, 0x12, 0xb3, 0x25, 0x6d, 0x43, 0x86, 0x4c, 0x61, 0xc8, 0x22, 0x91, 0x9e,
0xb3, 0xe0, 0x48, 0x16, 0xd8, 0x50, 0x48, 0xa3, 0x9b, 0x50, 0xdd, 0x77, 0xac, 0x0b, 0x9b, 0xdb, 0xf2, 0x93, 0xe8, 0x48, 0x96, 0xd8, 0x50, 0x2c, 0xa3, 0xeb, 0x50, 0xdd, 0xf3, 0x9c, 0x0b, 0x57,
0x89, 0x11, 0x83, 0xc2, 0x4d, 0xb0, 0x39, 0x0c, 0xf7, 0xa0, 0x4f, 0x51, 0x38, 0xe8, 0x17, 0x76, 0xd8, 0x89, 0x5c, 0x41, 0xe9, 0x26, 0xd8, 0xee, 0xc7, 0x7b, 0x30, 0x94, 0x28, 0x1d, 0xf4, 0x17,
0x8e, 0x46, 0x9a, 0x7b, 0x66, 0x39, 0xe3, 0x83, 0x6e, 0xbd, 0xc4, 0xb2, 0x52, 0x82, 0x4f, 0xed, 0xf6, 0x8e, 0x06, 0x86, 0x7f, 0xe6, 0x78, 0xc3, 0xfd, 0x4e, 0x7d, 0x9e, 0x55, 0xa5, 0x94, 0x9e,
0x1a, 0x58, 0xa6, 0x8b, 0x4d, 0xd7, 0x87, 0x22, 0x20, 0xe3, 0x40, 0x55, 0x92, 0x40, 0x3d, 0x86, 0xe2, 0xea, 0x39, 0xb6, 0x8f, 0x6d, 0x3f, 0xa4, 0x22, 0x12, 0x93, 0x44, 0x55, 0xd2, 0x44, 0x3d,
0x55, 0xc1, 0xcb, 0x9c, 0x68, 0x7d, 0x2b, 0xc1, 0xda, 0x3e, 0x03, 0x9c, 0x6a, 0x3b, 0xb4, 0xbc, 0x84, 0x65, 0x29, 0xca, 0x82, 0x6c, 0x7d, 0xa7, 0xc0, 0xca, 0x1e, 0x23, 0x9c, 0x7a, 0x3b, 0x70,
0x54, 0xd3, 0x05, 0x38, 0xd2, 0x74, 0xc3, 0x64, 0x8b, 0xf9, 0x9a, 0xee, 0x34, 0x09, 0x76, 0x26, 0x82, 0x52, 0xd3, 0x01, 0x38, 0x32, 0x4c, 0xcb, 0x66, 0x8b, 0x85, 0x9e, 0x6e, 0x35, 0x09, 0xf6,
0xd8, 0x39, 0xd1, 0x6c, 0xe3, 0xc4, 0xd6, 0x1c, 0x6d, 0x4c, 0x9a, 0x2a, 0x7e, 0x75, 0x81, 0x89, 0x46, 0xd8, 0x3b, 0x35, 0x5c, 0xeb, 0xd4, 0x35, 0x3c, 0x63, 0x48, 0x9a, 0x3a, 0x7e, 0x71, 0x81,
0x1b, 0xc9, 0xaa, 0xdc, 0xbc, 0xcc, 0x33, 0x3e, 0xff, 0x78, 0x58, 0x00, 0x91, 0x45, 0x42, 0xde, 0x89, 0xcf, 0x6d, 0x75, 0x61, 0x5e, 0xee, 0x19, 0x9f, 0x7e, 0x3c, 0x1c, 0x00, 0x8e, 0x48, 0xaa,
0x94, 0xe6, 0xe4, 0x4d, 0x1e, 0xd3, 0x82, 0x88, 0xa9, 0x0c, 0xcb, 0x34, 0x02, 0xc7, 0x86, 0xbf, 0x9b, 0xca, 0x94, 0xba, 0x29, 0x72, 0x5a, 0x92, 0x39, 0x55, 0x61, 0x91, 0x66, 0xe0, 0xd8, 0x0a,
0xe7, 0x8b, 0x6a, 0x48, 0x2b, 0x3f, 0x4b, 0x80, 0xe2, 0x30, 0xe4, 0xcc, 0x92, 0x8f, 0x05, 0xec, 0xf7, 0x7c, 0x59, 0x8f, 0x65, 0xed, 0x67, 0x05, 0x50, 0x92, 0x86, 0x82, 0x55, 0xf2, 0xa1, 0xc4,
0x0a, 0x6c, 0xce, 0xff, 0x53, 0xb1, 0x23, 0xb6, 0x65, 0x12, 0x9c, 0x01, 0xde, 0x03, 0xa8, 0xb9, 0x5d, 0x89, 0xcd, 0xf9, 0x7f, 0x26, 0x77, 0xc4, 0x75, 0x6c, 0x82, 0x73, 0xc8, 0xbb, 0x07, 0x35,
0x91, 0x35, 0x7e, 0xbd, 0x40, 0x9c, 0xdf, 0xfe, 0x90, 0xca, 0x8b, 0x29, 0x03, 0x16, 0x4d, 0x3f, 0x9f, 0xa3, 0x09, 0xef, 0x0b, 0x24, 0xc4, 0x1d, 0x0e, 0xe9, 0xa2, 0x99, 0xd6, 0x63, 0xd9, 0x0c,
0xd3, 0x3f, 0x7a, 0x7d, 0xd0, 0x7d, 0x1b, 0xc9, 0x4b, 0x67, 0x58, 0x09, 0x8b, 0xe4, 0xc4, 0x6a, 0x2b, 0xfd, 0x83, 0x97, 0xfb, 0x9d, 0x37, 0x51, 0xbc, 0x4c, 0xc6, 0x95, 0xb4, 0x48, 0x41, 0xae,
0x1b, 0x8a, 0xae, 0xa6, 0xfb, 0x20, 0x09, 0x05, 0x85, 0xf2, 0x95, 0x87, 0xb0, 0x7c, 0x68, 0x9c, 0x36, 0xa1, 0xec, 0x1b, 0x66, 0x48, 0x92, 0x74, 0xa1, 0x50, 0xbd, 0x76, 0x1f, 0x16, 0x0f, 0xac,
0xe3, 0xdc, 0x75, 0xfa, 0x0f, 0x09, 0x2a, 0x74, 0x65, 0x1a, 0xfd, 0x1c, 0xf3, 0x29, 0x14, 0x0e, 0x73, 0x5c, 0xf8, 0x9e, 0xfe, 0x43, 0x81, 0x0a, 0x5d, 0x99, 0x66, 0xbf, 0xc0, 0x7c, 0x4a, 0x85,
0xb6, 0x47, 0xaf, 0xbd, 0x0c, 0x16, 0x40, 0xc1, 0xb1, 0xd0, 0x1d, 0xb8, 0x12, 0x92, 0x4c, 0x85, 0x87, 0xdd, 0xc1, 0xcb, 0xa0, 0x82, 0x45, 0x54, 0x08, 0x2a, 0x74, 0x0b, 0x2e, 0xc5, 0x22, 0x73,
0x97, 0x0c, 0x44, 0x26, 0xcd, 0x24, 0xfe, 0x26, 0xf4, 0x93, 0x41, 0x55, 0x8d, 0x18, 0x33, 0xb2, 0x11, 0x14, 0x03, 0x59, 0x49, 0x2b, 0x49, 0xb8, 0x09, 0xc3, 0x62, 0x50, 0xd5, 0xb9, 0x62, 0x42,
0xc0, 0x0e, 0xc0, 0xc0, 0x2b, 0x65, 0x74, 0xcf, 0x56, 0x58, 0x16, 0xe1, 0x38, 0xca, 0x5f, 0x05, 0x15, 0xd8, 0x02, 0xe8, 0x05, 0x57, 0x19, 0xdd, 0xb3, 0x15, 0x56, 0x45, 0x04, 0x8d, 0xf6, 0x67,
0x80, 0xe7, 0x96, 0x73, 0xde, 0xb3, 0x98, 0x8b, 0x0a, 0xac, 0x4c, 0x43, 0x2a, 0x74, 0x54, 0xe0, 0x09, 0xe0, 0x89, 0xe3, 0x9d, 0x1f, 0x3a, 0x2c, 0x44, 0x0d, 0x96, 0xc6, 0xb1, 0x14, 0x07, 0x2a,
0x65, 0x9e, 0x49, 0xce, 0x88, 0xa2, 0x68, 0x44, 0x13, 0xaa, 0x23, 0x3f, 0x08, 0x84, 0x95, 0x81, 0xe9, 0x72, 0xcf, 0xa4, 0x00, 0xa2, 0x2c, 0x83, 0x68, 0x42, 0x75, 0x10, 0x26, 0x81, 0xb0, 0x6b,
0x5a, 0xfb, 0x5a, 0x10, 0xa9, 0x20, 0x3a, 0x6a, 0x24, 0x42, 0x4f, 0xeb, 0xc0, 0xc3, 0x9c, 0xb0, 0xa0, 0xd6, 0xba, 0x12, 0x65, 0x2a, 0xca, 0x8e, 0xce, 0x4d, 0xe8, 0x69, 0xed, 0x05, 0x9c, 0x13,
0x3a, 0xc0, 0x9d, 0x56, 0x3f, 0x16, 0x6a, 0x28, 0x80, 0xde, 0x81, 0xf5, 0xe9, 0x97, 0x56, 0x47, 0x76, 0x0f, 0x08, 0xa7, 0x35, 0xcc, 0x85, 0x1e, 0x1b, 0xa0, 0xb7, 0x60, 0x75, 0xfc, 0xb9, 0xd3,
0x33, 0xfb, 0x98, 0xaf, 0x1f, 0x65, 0x96, 0x6d, 0xd3, 0x86, 0x50, 0x1b, 0x36, 0x3c, 0xb6, 0x2b, 0x36, 0xec, 0x2e, 0x16, 0xef, 0x8f, 0x05, 0x56, 0x6d, 0xb3, 0x86, 0x50, 0x0b, 0xd6, 0x02, 0xb5,
0x4e, 0xa9, 0xb0, 0x29, 0xa9, 0x63, 0x14, 0x7f, 0x83, 0x1c, 0x39, 0xc6, 0x44, 0x73, 0x71, 0x7d, 0x2f, 0x4f, 0xa9, 0xb0, 0x29, 0x99, 0x63, 0x94, 0x7f, 0x8b, 0x1c, 0x79, 0xd6, 0xc8, 0xf0, 0x71,
0xb9, 0x21, 0xed, 0x2d, 0xab, 0x11, 0x83, 0xee, 0x00, 0x83, 0x1c, 0x5d, 0x9c, 0x8e, 0x8c, 0x41, 0x7d, 0xb1, 0xa1, 0xec, 0x2c, 0xea, 0x5c, 0x41, 0x59, 0x6e, 0x73, 0x96, 0x21, 0x60, 0x99, 0x6b,
0xbd, 0xca, 0x06, 0x43, 0x9a, 0x46, 0xa0, 0x13, 0x45, 0x00, 0xbc, 0x08, 0x44, 0x1c, 0xe5, 0x1b, 0xb4, 0x6f, 0x14, 0x58, 0x0f, 0xc4, 0xc7, 0x36, 0xe6, 0x74, 0xd3, 0x93, 0xd5, 0x02, 0xe0, 0xec,
0x09, 0x36, 0x3d, 0xf2, 0xa9, 0x89, 0xa3, 0x50, 0xd0, 0x53, 0xd7, 0x06, 0x88, 0x90, 0x8f, 0x9f, 0x26, 0xf7, 0xbc, 0x60, 0x2a, 0x58, 0xbd, 0x46, 0x55, 0x3c, 0x84, 0x8d, 0x4c, 0x1c, 0x05, 0x4b,
0x07, 0x4e, 0x94, 0x93, 0xba, 0x44, 0xc6, 0xec, 0xc1, 0x56, 0xaa, 0x1d, 0x39, 0xcb, 0xc2, 0x04, 0xff, 0x08, 0xd6, 0x83, 0x1e, 0x24, 0x15, 0xd6, 0xeb, 0x6c, 0xa4, 0x99, 0xc2, 0xc8, 0x5c, 0xb7,
0x36, 0xbd, 0xfb, 0x49, 0xc2, 0xad, 0xcb, 0x6c, 0xb2, 0x85, 0xdc, 0x48, 0x5d, 0x37, 0xa7, 0x1b, 0x60, 0x18, 0x3e, 0xac, 0xd1, 0x6d, 0x98, 0x0a, 0x22, 0xef, 0xc0, 0x6b, 0xb0, 0xf4, 0x44, 0x0c,
0x2e, 0x6c, 0xd0, 0x2d, 0x9a, 0x70, 0x22, 0x2b, 0x19, 0x28, 0xb0, 0xf2, 0x9c, 0x77, 0xce, 0x33, 0x2e, 0x80, 0x2f, 0xe9, 0x66, 0x08, 0xe2, 0x63, 0xb8, 0x9a, 0xb1, 0x6a, 0xc1, 0x10, 0x7e, 0x52,
0x5f, 0xe0, 0x2d, 0xe0, 0xc4, 0xa7, 0x70, 0x3d, 0x65, 0xd5, 0x9c, 0x2e, 0xfc, 0x28, 0xc1, 0x96, 0x60, 0x23, 0x3c, 0x1b, 0xaf, 0x12, 0xc6, 0x38, 0x23, 0x8c, 0x71, 0x22, 0x8c, 0x29, 0xf5, 0x4b,
0x7f, 0x6e, 0xde, 0xc4, 0x8d, 0x69, 0x8a, 0x1b, 0xd3, 0x98, 0x1b, 0x73, 0x72, 0x1b, 0x97, 0x12, 0x38, 0xf6, 0x73, 0x13, 0x3b, 0x90, 0xf9, 0x34, 0x05, 0x8f, 0xa0, 0x9e, 0x0d, 0xba, 0x20, 0x0b,
0x96, 0x66, 0xde, 0x4e, 0x4a, 0x49, 0x08, 0x9e, 0x40, 0x3d, 0xdd, 0xe8, 0x9c, 0x28, 0x7c, 0x27, 0x5f, 0xc0, 0xda, 0x1e, 0xf6, 0xb9, 0xa3, 0xe8, 0xfa, 0x9a, 0x65, 0x37, 0xaa, 0xb0, 0xe8, 0xb8,
0xc1, 0x75, 0xbf, 0xe6, 0x44, 0xda, 0x66, 0xbe, 0x8a, 0xba, 0x29, 0x65, 0xf8, 0xcd, 0xaf, 0x30, 0x27, 0xe2, 0x7e, 0x8c, 0xe5, 0x19, 0x92, 0xf9, 0x15, 0x5c, 0xcd, 0x58, 0xb9, 0xe0, 0x9d, 0x26,
0xf3, 0x83, 0xfd, 0x8b, 0x04, 0x9b, 0x69, 0x96, 0xe5, 0xac, 0x88, 0x0f, 0xa0, 0x16, 0x85, 0x29, 0xd7, 0x84, 0xd2, 0x2c, 0x35, 0x41, 0xfb, 0x5e, 0x61, 0x08, 0x28, 0x60, 0x6e, 0x31, 0xf1, 0xa3,
0x78, 0x6a, 0xa5, 0xa5, 0x0d, 0x5e, 0x2c, 0x76, 0xe7, 0x28, 0xe6, 0xbc, 0x73, 0x28, 0xdf, 0x4b, 0xaf, 0x93, 0xd1, 0x65, 0xbc, 0x7a, 0x87, 0x36, 0x9d, 0x9a, 0x5f, 0x14, 0x58, 0xcf, 0x42, 0x56,
0x70, 0xc3, 0xf7, 0xe5, 0x63, 0xc7, 0xc0, 0xe6, 0xf0, 0x5f, 0x86, 0xf5, 0xaf, 0x12, 0xdc, 0xcc, 0x90, 0x9c, 0x7b, 0x50, 0xe3, 0x61, 0x47, 0x5f, 0x92, 0x59, 0xec, 0x88, 0x66, 0x89, 0x96, 0xaa,
0xb6, 0xef, 0xbf, 0x88, 0xf8, 0x04, 0x6a, 0xfe, 0x39, 0x21, 0x3d, 0xa2, 0xa3, 0xbb, 0xf4, 0xc8, 0x5c, 0xb0, 0xa5, 0xd2, 0x7e, 0x50, 0xe0, 0x5a, 0x18, 0xcb, 0x87, 0x9e, 0x85, 0xed, 0xfe, 0xbf,
0x8d, 0xb9, 0x82, 0x91, 0x28, 0x9d, 0xc1, 0xf8, 0x42, 0x67, 0x3c, 0xb3, 0xa8, 0x2b, 0x3f, 0x48, 0x8c, 0xeb, 0x5f, 0x15, 0xb8, 0x9e, 0x8f, 0xef, 0xbf, 0xc8, 0xf8, 0x08, 0x6a, 0x61, 0x89, 0x20,
0xd0, 0x48, 0xee, 0x5a, 0xce, 0x94, 0x4b, 0x35, 0x1c, 0x62, 0x1b, 0xa2, 0x98, 0x6f, 0x43, 0x28, 0x87, 0xc4, 0x44, 0xb7, 0x69, 0xb5, 0x19, 0x0a, 0x77, 0x65, 0xaa, 0x33, 0x88, 0xc6, 0x67, 0x2a,
0xbf, 0x4b, 0x70, 0x6b, 0x8e, 0x91, 0x39, 0x63, 0xfe, 0x1e, 0xac, 0x0c, 0x22, 0x35, 0x41, 0xd0, 0x6f, 0xb9, 0x3d, 0x8b, 0xf6, 0xa3, 0x02, 0x8d, 0xf4, 0xae, 0x15, 0xa0, 0xbc, 0xd6, 0x7b, 0x4a,
0xd7, 0x63, 0x60, 0xb3, 0x25, 0x04, 0xc1, 0x7f, 0x2a, 0xec, 0x2f, 0x41, 0xe9, 0x8c, 0xb0, 0xe6, 0x62, 0x43, 0x94, 0x8b, 0x6d, 0x08, 0xed, 0x77, 0x05, 0x6e, 0x4c, 0x01, 0x59, 0x30, 0xe7, 0xef,
0xbc, 0x25, 0xfc, 0x95, 0x17, 0x70, 0x7b, 0xae, 0xfe, 0x9c, 0x99, 0x78, 0x04, 0x72, 0x3f, 0x11, 0xc0, 0x52, 0x8f, 0xbb, 0x89, 0x92, 0xbe, 0x9a, 0x20, 0x9b, 0x2d, 0x21, 0x19, 0xfe, 0x53, 0x69,
0x93, 0x43, 0x3c, 0xc1, 0xa3, 0x39, 0x4f, 0x8d, 0x11, 0x95, 0x61, 0xc6, 0x96, 0x54, 0x8f, 0x58, 0x7f, 0x06, 0x5a, 0x7b, 0x80, 0x0d, 0xef, 0x0d, 0xf1, 0xaf, 0x3d, 0x85, 0x9b, 0x53, 0xfd, 0x17,
0xe0, 0xc4, 0x7f, 0x06, 0x37, 0x32, 0x57, 0xcb, 0xe7, 0x40, 0xfb, 0x27, 0x80, 0x2b, 0x4f, 0x99, 0xbc, 0x84, 0x06, 0xa0, 0x76, 0x53, 0x39, 0x39, 0xc0, 0x23, 0x3c, 0x98, 0xf2, 0x25, 0x35, 0xa0,
0x44, 0x1f, 0x3b, 0x13, 0x63, 0x80, 0xd1, 0x43, 0xa8, 0x71, 0xed, 0x31, 0xb4, 0x19, 0x28, 0x10, 0x36, 0x0c, 0xec, 0xbc, 0x1e, 0x08, 0x33, 0x9c, 0xf8, 0x4f, 0xe0, 0x5a, 0xee, 0x6a, 0xc5, 0x02,
0xfb, 0x6f, 0xf2, 0x56, 0x2a, 0x9f, 0xd8, 0xe8, 0x7d, 0xa8, 0x86, 0x1d, 0x27, 0xb4, 0x11, 0x2e, 0x68, 0x7d, 0x5b, 0x83, 0x4b, 0x8f, 0x99, 0x45, 0x17, 0x7b, 0x23, 0xab, 0x87, 0xd1, 0x7d, 0xa8,
0xcf, 0x35, 0xc2, 0xe4, 0xeb, 0x29, 0x5c, 0x6f, 0x66, 0xd8, 0x06, 0x8a, 0x66, 0xf2, 0x9d, 0xa7, 0x09, 0xaf, 0x7f, 0x68, 0x3d, 0x72, 0x20, 0x3f, 0x2f, 0xaa, 0x1b, 0x99, 0x7a, 0xe2, 0xa2, 0x77,
0x68, 0xa6, 0xd8, 0x2f, 0x6a, 0x41, 0xd9, 0xeb, 0x93, 0xa0, 0xb5, 0x40, 0x20, 0x6c, 0x05, 0xc9, 0xa1, 0x1a, 0x3f, 0xa8, 0xa1, 0xb5, 0x78, 0x79, 0xe1, 0x9d, 0x4f, 0xbd, 0x9a, 0xa1, 0x0d, 0x66,
0x28, 0xce, 0x22, 0x36, 0x75, 0x92, 0xeb, 0x17, 0x44, 0x4e, 0x8a, 0xad, 0x92, 0xc8, 0xc9, 0x78, 0xc6, 0xaf, 0x5c, 0x7c, 0xa6, 0xf8, 0xb0, 0xc6, 0x67, 0xca, 0xcf, 0x61, 0xbb, 0xb0, 0x10, 0x3c,
0x73, 0x61, 0x9f, 0xf5, 0x23, 0xb9, 0x07, 0x32, 0xfa, 0x1f, 0x87, 0x87, 0xd8, 0x3f, 0x90, 0xe5, 0x03, 0xa1, 0x95, 0xc8, 0x20, 0x7e, 0xe9, 0x52, 0x51, 0x52, 0x45, 0x5c, 0x1a, 0xa4, 0xf0, 0x1c,
0xac, 0xa1, 0x50, 0x11, 0xf7, 0x7a, 0x14, 0x14, 0x89, 0x4f, 0x57, 0x41, 0x51, 0xfc, 0xc1, 0xf9, 0xc2, 0x83, 0x94, 0x5f, 0x82, 0x78, 0x90, 0xc9, 0xb7, 0x93, 0x3d, 0xf6, 0xdc, 0x2a, 0x7c, 0xff,
0x39, 0xac, 0xa7, 0x5c, 0x79, 0xd1, 0x8e, 0x08, 0x75, 0xfc, 0xd2, 0x24, 0xef, 0xce, 0x1c, 0xf7, 0xa3, 0xff, 0x09, 0x7c, 0xc8, 0xcf, 0x23, 0xaa, 0x9a, 0x37, 0x14, 0x3b, 0x12, 0x3e, 0x8e, 0x25,
0xf4, 0xa6, 0xdc, 0x41, 0x23, 0xbd, 0xe9, 0x17, 0xe3, 0x48, 0x6f, 0xd6, 0x05, 0xf6, 0x08, 0xd6, 0x47, 0xf2, 0x97, 0xb9, 0xe4, 0x28, 0xf9, 0x3d, 0xfd, 0x29, 0xac, 0x66, 0x74, 0xfb, 0x68, 0x4b,
0x12, 0xd7, 0x42, 0x74, 0x93, 0x7f, 0x4a, 0x25, 0x74, 0x6e, 0xcf, 0x18, 0x25, 0x36, 0x7a, 0x01, 0xa6, 0x3a, 0xd9, 0x2f, 0xaa, 0xdb, 0x13, 0xc7, 0x03, 0xbf, 0x19, 0xed, 0x37, 0xf7, 0x9b, 0xfd,
0x1b, 0x69, 0xb7, 0x2c, 0xb4, 0x1b, 0x4b, 0x64, 0x09, 0xbd, 0x8d, 0xd9, 0x02, 0xc4, 0x46, 0xfd, 0x4d, 0xc0, 0xfd, 0xe6, 0xf5, 0xee, 0x47, 0xb0, 0x92, 0xea, 0x88, 0xd1, 0x75, 0xf1, 0x4b, 0x31,
0xf0, 0x8d, 0xcf, 0x1d, 0x3c, 0xb4, 0x1d, 0x0b, 0x87, 0x78, 0x3f, 0x90, 0x77, 0x66, 0x0d, 0x13, 0xe5, 0x73, 0x73, 0xc2, 0x28, 0x71, 0xd1, 0x53, 0x58, 0xcb, 0x6a, 0x30, 0xd1, 0x76, 0xa2, 0x90,
0x1b, 0x61, 0xa8, 0x67, 0x95, 0x6f, 0x74, 0x3b, 0x36, 0x37, 0xed, 0x02, 0x22, 0xdf, 0x99, 0x2f, 0xa5, 0xfc, 0x36, 0x26, 0x1b, 0x04, 0x60, 0x53, 0x1d, 0x1f, 0x07, 0x9b, 0xd5, 0x86, 0x72, 0xb0,
0x44, 0x6c, 0xe4, 0xc2, 0xf6, 0xcc, 0xb2, 0x81, 0xf6, 0xb2, 0xed, 0x14, 0x53, 0xb0, 0x7c, 0x77, 0xd9, 0xad, 0x62, 0x37, 0x7e, 0x14, 0x11, 0x8e, 0x32, 0xda, 0x4c, 0x24, 0x58, 0xee, 0x38, 0xd4,
0x41, 0x49, 0x62, 0xa3, 0xaf, 0x60, 0x77, 0x4e, 0xce, 0x45, 0xf7, 0x42, 0xd8, 0xe7, 0x26, 0x7f, 0xad, 0x49, 0xc3, 0xc4, 0x45, 0x18, 0xea, 0x79, 0x0d, 0x01, 0xba, 0x99, 0x98, 0x9b, 0xd5, 0xd2,
0xf9, 0xfe, 0xc2, 0xb2, 0xc4, 0x46, 0xa7, 0xb0, 0x95, 0x91, 0x26, 0x91, 0xc2, 0xe5, 0x82, 0x8c, 0xa8, 0xb7, 0xa6, 0x1b, 0x11, 0x17, 0xf9, 0xb0, 0x39, 0xf1, 0x22, 0x42, 0x3b, 0xf9, 0x38, 0xe5,
0xac, 0x2d, 0xdf, 0x9e, 0x2b, 0x43, 0xec, 0x47, 0x6b, 0x5f, 0xac, 0x36, 0xfd, 0x3f, 0x6c, 0x3e, 0xa2, 0xae, 0xde, 0x9e, 0xd1, 0x92, 0xb8, 0xe8, 0x4b, 0xd8, 0x9e, 0x52, 0xc5, 0xd1, 0x9d, 0x38,
0xf0, 0x7e, 0x4e, 0xcb, 0xec, 0xdf, 0x98, 0x77, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xb2, 0xc1, 0x91, 0x53, 0xaf, 0x13, 0xf5, 0xee, 0xcc, 0xb6, 0xc4, 0x45, 0xcf, 0x61, 0x23, 0xa7, 0xf0, 0x22,
0x31, 0xd6, 0xcf, 0x19, 0x00, 0x00, 0x4d, 0xa8, 0x2e, 0x39, 0xf7, 0x80, 0x7a, 0x73, 0xaa, 0x0d, 0x71, 0x1f, 0xac, 0x7c, 0xb6, 0xdc,
0x0c, 0xff, 0xc3, 0xf5, 0x5e, 0xf0, 0xe7, 0xf9, 0x02, 0xfb, 0xf7, 0xd5, 0xdb, 0x7f, 0x07, 0x00,
0x00, 0xff, 0xff, 0xc0, 0xa8, 0x93, 0x9b, 0x00, 0x1b, 0x00, 0x00,
} }

View File

@ -132,7 +132,6 @@ message WorkMoment {
repeated string whoCanSeeUserIDList = 6; repeated string whoCanSeeUserIDList = 6;
repeated string whoCantSeeUserIDList = 7; repeated string whoCantSeeUserIDList = 7;
bool isPrivate = 8; bool isPrivate = 8;
bool isPublic = 9;
int32 CreateTime = 10; int32 CreateTime = 10;
} }
@ -178,6 +177,17 @@ message CommentOneWorkMomentResp {
CommonResp commonResp = 1; CommonResp commonResp = 1;
} }
message GetWorkMomentByIDReq {
string workMomentID = 1;
string opUserID = 2;
string operationID = 3;
}
message GetWorkMomentByIDResp {
CommonResp commonResp = 1;
WorkMoment workMoment = 2;
}
message GetUserWorkMomentsReq { message GetUserWorkMomentsReq {
string userID = 1; string userID = 1;
server_api_params.RequestPagination Pagination = 2; server_api_params.RequestPagination Pagination = 2;
@ -252,6 +262,7 @@ service OfficeService {
rpc DeleteOneWorkMoment(DeleteOneWorkMomentReq) returns(DeleteOneWorkMomentResp); rpc DeleteOneWorkMoment(DeleteOneWorkMomentReq) returns(DeleteOneWorkMomentResp);
rpc LikeOneWorkMoment(LikeOneWorkMomentReq) returns(LikeOneWorkMomentResp); rpc LikeOneWorkMoment(LikeOneWorkMomentReq) returns(LikeOneWorkMomentResp);
rpc CommentOneWorkMoment(CommentOneWorkMomentReq) returns(CommentOneWorkMomentResp); rpc CommentOneWorkMoment(CommentOneWorkMomentReq) returns(CommentOneWorkMomentResp);
rpc GetWorkMomentByID(GetWorkMomentByIDReq) returns(GetWorkMomentByIDResp);
/// user self /// user self
rpc GetUserWorkMoments(GetUserWorkMomentsReq) returns(GetUserWorkMomentsResp); rpc GetUserWorkMoments(GetUserWorkMomentsReq) returns(GetUserWorkMomentsResp);
/// users friend /// users friend