syntax = "proto3"; package OpenIMServer.office; import "sdkws/sdkws.proto"; option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/office"; message TagUser { string userID = 1; string userName = 2; } message Tag { string tagID = 1; string tagName = 2; repeated TagUser userList = 3; } message GetUserTagsReq{ string userID = 1; string operationID = 2; } message GetUserTagsResp{ repeated Tag tags = 1; } message CreateTagReq { string tagName = 1; string userID = 2; repeated string userIDList = 3; string operationID = 4; } message CreateTagResp { } message DeleteTagReq { string userID = 1; string tagID = 2; string operationID = 3; } message DeleteTagResp { } message SetTagReq { string userID = 1; string tagID = 2; string newName = 3; repeated string increaseUserIDList = 4; repeated string reduceUserIDList = 5; string operationID = 6; } message SetTagResp { } message SendMsg2TagReq { repeated string tagList = 1; repeated string UserList = 2; repeated string GroupList = 3; string sendID = 4; int32 senderPlatformID = 5; string content = 6; string operationID = 7; } message SendMsg2TagResp { } message GetTagSendLogsReq { sdkws.RequestPagination Pagination = 1; string userID = 2; string operationID = 3; } message TagSendLog { repeated TagUser userList = 1; string content = 2; int64 sendTime = 3; } message GetTagSendLogsResp { repeated TagSendLog tagSendLogs = 1; } message GetUserTagByIDReq { string userID = 1; string tagID = 2; string operationID = 3; } message GetUserTagByIDResp { Tag tag = 1; } /// WorkMoment message LikeUser { string userID = 1; string userName = 2; } message NotificationUser { string userID = 1; string userName = 2; } message Comment { string userID = 1; string userName = 2; string faceURL = 3; string replyUserID = 4; string replyUserName = 5; string contentID = 6; string content = 7; int32 createTime = 8; } message PermissionGroup { string groupName = 1; string groupID = 2; } message WorkMomentUser { string userID = 1; string userName = 2; } message WorkMoment { string workMomentID = 1; string userID = 2; string userName = 3; string faceURL = 4; string content = 5; repeated WorkMomentUser likeUserList = 6; repeated Comment comments = 7; int32 permission = 8; repeated WorkMomentUser permissionUserList = 9; repeated PermissionGroup permissionGroupList = 10; repeated WorkMomentUser atUserList = 11; int32 createTime = 12; } message CreateOneWorkMomentReq { WorkMoment workMoment = 1; string operationID = 2; } message CreateOneWorkMomentResp { } message DeleteOneWorkMomentReq { string workMomentID = 1; string userID = 2; string operationID = 3; } message DeleteOneWorkMomentResp { } message LikeOneWorkMomentReq { string userID = 1; string WorkMomentID = 2; string operationID = 3; } message LikeOneWorkMomentResp { } message CommentOneWorkMomentReq { string userID = 1; string workMomentID = 2; string replyUserID = 3; string content = 4; string operationID = 5; } message CommentOneWorkMomentResp { } message DeleteCommentReq { string workMomentID = 1; string contentID = 2; string opUserID = 3; string operationID = 4; } message DeleteCommentResp { } message GetWorkMomentByIDReq { string workMomentID = 1; string opUserID = 2; string operationID = 3; } message GetWorkMomentByIDResp { WorkMoment workMoment = 2; } message ChangeWorkMomentPermissionReq { string workMomentID = 1; string opUserID = 2; int32 permission = 3; repeated string permissionUserIDList = 4; string operationID = 5; } message ChangeWorkMomentPermissionResp { } message GetUserWorkMomentsReq { string userID = 1; string opUserID = 2; sdkws.RequestPagination Pagination = 3; string operationID = 4; } message GetUserWorkMomentsResp { repeated WorkMoment workMoments = 1; } message GetUserFriendWorkMomentsReq { string userID = 1; sdkws.RequestPagination Pagination = 2; string operationID = 3; } message GetUserFriendWorkMomentsResp { repeated WorkMoment workMoments = 1; } message WorkMomentNotificationMsg { int32 notificationMsgType = 1; string replyUserName = 2; string replyUserID = 3; string content = 4; string contentID = 5; string workMomentID = 6; string userID = 7; string userName = 8; string faceURL = 9; string workMomentContent = 10; int32 createTime = 11; } message SetUserWorkMomentsLevelReq { string userID = 1; int32 level = 2; string operationID = 3; } message SetUserWorkMomentsLevelResp { } service Office { rpc GetUserTags(GetUserTagsReq) returns(GetUserTagsResp); rpc CreateTag(CreateTagReq) returns(CreateTagResp); rpc DeleteTag(DeleteTagReq) returns(DeleteTagResp); rpc SetTag(SetTagReq) returns(SetTagResp); rpc SendMsg2Tag(SendMsg2TagReq) returns(SendMsg2TagResp); rpc GetTagSendLogs(GetTagSendLogsReq) returns(GetTagSendLogsResp); rpc GetUserTagByID(GetUserTagByIDReq) returns(GetUserTagByIDResp); rpc CreateOneWorkMoment(CreateOneWorkMomentReq) returns(CreateOneWorkMomentResp); rpc DeleteOneWorkMoment(DeleteOneWorkMomentReq) returns(DeleteOneWorkMomentResp); rpc LikeOneWorkMoment(LikeOneWorkMomentReq) returns(LikeOneWorkMomentResp); rpc CommentOneWorkMoment(CommentOneWorkMomentReq) returns(CommentOneWorkMomentResp); rpc DeleteComment(DeleteCommentReq) returns(DeleteCommentResp); rpc GetWorkMomentByID(GetWorkMomentByIDReq) returns(GetWorkMomentByIDResp); rpc ChangeWorkMomentPermission(ChangeWorkMomentPermissionReq) returns(ChangeWorkMomentPermissionResp); /// user self rpc GetUserWorkMoments(GetUserWorkMomentsReq) returns(GetUserWorkMomentsResp); /// users friend rpc GetUserFriendWorkMoments(GetUserFriendWorkMomentsReq) returns(GetUserFriendWorkMomentsResp); rpc SetUserWorkMomentsLevel(SetUserWorkMomentsLevelReq) returns(SetUserWorkMomentsLevelResp); }