-
Notifications
You must be signed in to change notification settings - Fork 0
/
mongoBind.proto
175 lines (135 loc) · 4.64 KB
/
mongoBind.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
syntax = "proto3";
package mongoPb;
// protoc -I ./ ./mongoBind.proto --go_out=plugins=grpc:./
// a basic data structure for save date and the message was sent on the date.
message DateAndMessage {
int32 date = 1;
repeated bytes message_list = 2;
}
message DelayMessage {
int64 id = 1;
repeated bytes message_list = 2;
}
message UserChatHistory {
string join_id = 1;
repeated DateAndMessage data = 2;
}
message GroupChatHistory {
int64 id = 1;
repeated DateAndMessage data = 2;
}
message SubscriptionHistory {
int64 id = 1;
repeated DateAndMessage data = 2;
}
message UserFriendsAndBlacklist {
int64 id = 1;
repeated int64 friends = 2;
repeated int64 blacklist = 3;
}
message UserGroupChats {
int64 id = 1;
repeated int64 groups = 2;
}
message UserSubscriptions {
int64 id = 1;
repeated int64 subscriptions = 2;
}
message GroupChatUsers {
int64 id = 1;
repeated int64 users = 2;
int64 manager_id = 3;
}
message SubscriptionUsers {
int64 id = 1;
repeated int64 users = 2;
int64 manager_id = 3;
}
message Id {
int64 value = 1;
}
message IdAndMessage {
int64 id = 1;
bytes message = 2;
}
message IdAndDate {
int64 id = 1;
int32 date = 2;
}
message IdAndDateRange {
int64 id = 1;
int32 start_date = 2;
int32 end_date = 3;
}
message JoinId {
string value = 1;
}
message JoinIdAndMessage {
string join_id = 1;
bytes message = 2;
}
message JoinIdAndDate {
string join_id = 1;
int32 date = 2;
}
message JoinIdAndDateRange {
string join_id = 1;
int32 start_date = 2;
int32 end_date = 3;
}
message DoubleId {
int64 main_id = 1;
int64 other_id = 2;
}
message XAndManagerAndUserId {
int64 id = 1;
int64 manager_id = 2;
int64 user_id = 3;
}
message EmptyResult {
}
service MongoBindService {
// methods for delay messages
rpc PutSaveDelayMessage (IdAndMessage) returns (EmptyResult);
rpc GetDelayMessage (Id) returns (DelayMessage);
// methods for user chat history
rpc PutSaveUserChatHistory (JoinIdAndMessage) returns (EmptyResult);
rpc GetAllUserChatHistory (JoinId) returns (UserChatHistory);
rpc GetUserChatHistoryByDate (JoinIdAndDate) returns (UserChatHistory);
rpc GetUserChatHistoryByDateRange (JoinIdAndDateRange) returns (UserChatHistory);
// methods for group chat history
rpc PutSaveGroupChatHistory (IdAndMessage) returns (EmptyResult);
rpc GetAllGroupChatHistory (Id) returns (GroupChatHistory);
rpc GetGroupChatHistoryByDate (IdAndDate) returns (GroupChatHistory);
rpc GetGroupChatHistoryByDateRange (IdAndDateRange) returns (GroupChatHistory);
// methods for subscription messages history
rpc PutSaveSubscriptionHistory (IdAndMessage) returns (EmptyResult);
rpc GetAllSubscriptionHistory (Id) returns (SubscriptionHistory);
rpc GetSubscriptionHistoryByDate (IdAndDate) returns (SubscriptionHistory);
rpc GetSubscriptionHistoryByDateRange (IdAndDateRange) returns (SubscriptionHistory);
// methods for user's friends, blacklist cache data
rpc PutUserFriendsAdd (DoubleId) returns (EmptyResult);
rpc PutUserFriendsDel (DoubleId) returns (EmptyResult);
rpc PutUserBlacklistAdd (DoubleId) returns (EmptyResult);
rpc PutUserBlacklistDel (DoubleId) returns (EmptyResult);
rpc GetUserFriendsAndBlacklist (Id) returns (UserFriendsAndBlacklist);
rpc PutMoveFriendIntoBlacklistPlus (DoubleId) returns (EmptyResult);
rpc PutMoveFriendOutFromBlacklistPlus (DoubleId) returns (EmptyResult);
// methods for the user-group-chat and user-subscription relationship cache data
rpc PutUserGroupChatsAdd (DoubleId) returns (EmptyResult);
rpc PutUserGroupChatsDel (DoubleId) returns (EmptyResult);
rpc GetUserGroupChats (Id) returns (UserGroupChats);
rpc PutUserSubscriptionsAdd (DoubleId) returns (EmptyResult);
rpc PutUserSubscriptionsDel (DoubleId) returns (EmptyResult);
rpc GetUserSubscriptions (Id) returns (UserSubscriptions);
rpc PutGroupChatUsersAdd (XAndManagerAndUserId) returns (EmptyResult);
rpc PutGroupChatUsersDel (DoubleId) returns (EmptyResult);
rpc GetGroupChatUsers (Id) returns (GroupChatUsers);
rpc PutSubscriptionUsersAdd (XAndManagerAndUserId) returns (EmptyResult);
rpc PutSubscriptionUsersDel (DoubleId) returns (EmptyResult);
rpc GetSubscriptionUsers (Id) returns (SubscriptionUsers);
rpc PutUserJoinGroupChatPlus (DoubleId) returns (EmptyResult);
rpc PutUserQuitGroupChatPlus (DoubleId) returns (EmptyResult);
rpc PutUserFollowSubscriptionPlus (DoubleId) returns (EmptyResult);
rpc PutUserUnFollowSubscriptionPlus (DoubleId) returns (EmptyResult);
}