1
1
syntax = "proto3" ;
2
2
package decentraland.social_service.v1 ;
3
3
4
- import "google/protobuf/empty.proto" ;
5
-
6
- // Errors
7
-
8
- message InvalidFriendshipAction {}
4
+ // This message is a response that is sent from the server to the client
5
+ message FriendshipEventResponse {
6
+ oneof body {
7
+ RequestResponse request = 1 ;
8
+ AcceptResponse accept = 2 ;
9
+ RejectResponse reject = 4 ;
10
+ DeleteResponse delete = 5 ;
11
+ CancelResponse cancel = 6 ;
12
+ }
13
+ }
9
14
10
- message InternalServerError {}
15
+ message FriendshipEventResponses {
16
+ repeated FriendshipEventResponse responses = 1 ;
17
+ }
11
18
12
- // Types
19
+ message FriendshipEventPayload {
20
+ oneof body {
21
+ RequestPayload request = 1 ;
22
+ AcceptPayload accept = 2 ;
23
+ RejectPayload reject = 4 ;
24
+ DeletePayload delete = 5 ;
25
+ CancelPayload cancel = 6 ;
26
+ }
27
+ }
13
28
14
29
message User { string address = 1 ; }
15
30
31
+ message Users { repeated User users = 1 ; }
32
+
16
33
message RequestResponse {
17
34
User user = 1 ;
18
35
int64 created_at = 2 ;
@@ -25,7 +42,13 @@ message RequestPayload {
25
42
}
26
43
27
44
message Requests {
28
- repeated RequestResponse requests = 1 ;
45
+ int64 total = 1 ; // Total amount of friendship requests
46
+ repeated RequestResponse items = 2 ;
47
+ }
48
+
49
+ message RequestEvents {
50
+ Requests outgoing = 1 ; // Requests the authed user have sent to users
51
+ Requests incoming = 2 ; // Requests the authed user have received from users
29
52
}
30
53
31
54
message AcceptResponse { User user = 1 ; }
@@ -44,69 +67,96 @@ message CancelResponse { User user = 1; }
44
67
45
68
message CancelPayload { User user = 1 ; }
46
69
47
- message UpsertFriendshipPayload {
48
- oneof action {
49
- RequestPayload request = 1 ;
50
- AcceptPayload accept = 2 ;
51
- RejectPayload reject = 4 ;
52
- DeletePayload delete = 5 ;
53
- CancelPayload cancel = 6 ;
54
- }
70
+ message UpdateFriendshipPayload {
71
+ FriendshipEventPayload event = 1 ;
72
+ // For internal use only, subject to change.
73
+ optional Payload auth_token = 2 ;
55
74
}
56
75
57
76
message MutualFriendsPayload {
58
77
User user = 1 ;
78
+ // For internal use only, subject to change.
79
+ optional Payload auth_token = 2 ;
80
+ }
81
+
82
+ message Payload {
83
+ // For internal use only, subject to change.
84
+ optional string synapse_token = 1 ;
85
+ }
86
+
87
+ message BadRequestError {
88
+ string message = 1 ;
89
+ }
90
+ message UnauthorizedError {
91
+ string message = 1 ;
92
+ }
93
+ message ForbiddenError {
94
+ string message = 1 ;
95
+ }
96
+ message TooManyRequestsError {
97
+ string message = 1 ;
98
+ }
99
+ message InternalServerError {
100
+ string message = 1 ;
59
101
}
60
102
61
103
message UsersResponse {
62
- repeated User users = 1 ;
104
+ oneof response {
105
+ Users users = 1 ;
106
+ InternalServerError internal_server_error = 2 ;
107
+ UnauthorizedError unauthorized_error = 3 ;
108
+ ForbiddenError forbidden_error = 4 ;
109
+ TooManyRequestsError too_many_requests_error = 5 ;
110
+ BadRequestError bad_request_error = 6 ;
111
+ }
63
112
}
64
113
65
- message FriendshipRequestsResponse {
114
+ message RequestEventsResponse {
66
115
oneof response {
67
- Requests requests = 1 ;
116
+ RequestEvents events = 1 ;
68
117
InternalServerError internal_server_error = 2 ;
118
+ UnauthorizedError unauthorized_error = 3 ;
119
+ ForbiddenError forbidden_error = 4 ;
120
+ TooManyRequestsError too_many_requests_error = 5 ;
69
121
}
70
122
}
71
123
72
- message UpsertFriendshipResponse {
73
- message Accepted {}
124
+ message UpdateFriendshipResponse {
74
125
oneof response {
75
- Accepted accepted = 1 ;
76
- InvalidFriendshipAction invalid_friendship_action = 2 ;
77
- InternalServerError internal_server_error = 3 ;
126
+ FriendshipEventResponse event = 1 ;
127
+ InternalServerError internal_server_error = 2 ;
128
+ UnauthorizedError unauthorized_error = 3 ;
129
+ ForbiddenError forbidden_error = 4 ;
130
+ TooManyRequestsError too_many_requests_error = 5 ;
131
+ BadRequestError bad_request_error = 6 ;
78
132
}
79
133
}
80
134
81
- message FriendshipUpdate {
82
- oneof update {
83
- RequestResponse request = 1 ;
84
- AcceptResponse accept = 2 ;
85
- RejectResponse reject = 4 ;
86
- DeleteResponse delete = 5 ;
87
- CancelResponse cancel = 6 ;
135
+ message SubscribeFriendshipEventsUpdatesResponse {
136
+ oneof response {
137
+ FriendshipEventResponses events = 1 ;
138
+ InternalServerError internal_server_error = 2 ;
139
+ UnauthorizedError unauthorized_error = 3 ;
140
+ ForbiddenError forbidden_error = 4 ;
141
+ TooManyRequestsError too_many_requests_error = 5 ;
88
142
}
89
143
}
90
144
91
- // @deprecated
92
- service SocialService {
145
+ service FriendshipsService {
93
146
// Get the list of friends for the authenticated user
94
- rpc GetFriends (google . protobuf . Empty ) returns (stream UsersResponse ) {}
147
+ rpc GetFriends (Payload ) returns (stream UsersResponse ) {}
95
148
96
149
// Get the list of mutual friends between the authenticated user and the one in the parameter
97
150
rpc GetMutualFriends (MutualFriendsPayload ) returns (stream UsersResponse ) {}
98
151
99
- // Get the pending friendship requests for the authenticated user
100
- rpc GetPendingFriendshipRequests (google .protobuf .Empty ) returns (FriendshipRequestsResponse ) {}
101
-
102
- // Get the sent friendship requests for the authenticated user
103
- rpc GetSentFriendshipRequests (google .protobuf .Empty ) returns (FriendshipRequestsResponse ) {}
152
+ // Get the list of request events for the authenticated user
153
+ rpc GetRequestEvents (Payload ) returns (RequestEventsResponse ) {}
104
154
105
- // Create or update friendship status: REQUEST, ACCEPT, REJECT, CANCEL, DELETE
106
- rpc UpsertFriendship ( UpsertFriendshipPayload )
107
- returns (UpsertFriendshipResponse ) {}
155
+ // Update friendship status: REQUEST, ACCEPT, REJECT, CANCEL, DELETE
156
+ rpc UpdateFriendshipEvent ( UpdateFriendshipPayload )
157
+ returns (UpdateFriendshipResponse ) {}
108
158
109
159
// Subscribe to updates of friendship status: REQUEST, ACCEPT, REJECT, CANCEL, DELETE
110
- rpc SubscribeToFriendshipUpdates ( google . protobuf . Empty )
111
- returns (stream FriendshipUpdate ) {}
160
+ rpc SubscribeFriendshipEventsUpdates ( Payload )
161
+ returns (stream SubscribeFriendshipEventsUpdatesResponse ) {}
112
162
}
0 commit comments