Skip to content

Commit cd892cb

Browse files
committed
refactor: new service is v3, original one is v1
1 parent 97447a5 commit cd892cb

File tree

4 files changed

+263
-111
lines changed

4 files changed

+263
-111
lines changed
Lines changed: 94 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,35 @@
11
syntax = "proto3";
22
package decentraland.social_service.v1;
33

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+
}
914

10-
message InternalServerError {}
15+
message FriendshipEventResponses {
16+
repeated FriendshipEventResponse responses = 1;
17+
}
1118

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+
}
1328

1429
message User { string address = 1; }
1530

31+
message Users { repeated User users = 1; }
32+
1633
message RequestResponse {
1734
User user = 1;
1835
int64 created_at = 2;
@@ -25,7 +42,13 @@ message RequestPayload {
2542
}
2643

2744
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
2952
}
3053

3154
message AcceptResponse { User user = 1; }
@@ -44,69 +67,96 @@ message CancelResponse { User user = 1; }
4467

4568
message CancelPayload { User user = 1; }
4669

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;
5574
}
5675

5776
message MutualFriendsPayload {
5877
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;
59101
}
60102

61103
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+
}
63112
}
64113

65-
message FriendshipRequestsResponse {
114+
message RequestEventsResponse {
66115
oneof response {
67-
Requests requests = 1;
116+
RequestEvents events = 1;
68117
InternalServerError internal_server_error = 2;
118+
UnauthorizedError unauthorized_error = 3;
119+
ForbiddenError forbidden_error = 4;
120+
TooManyRequestsError too_many_requests_error = 5;
69121
}
70122
}
71123

72-
message UpsertFriendshipResponse {
73-
message Accepted {}
124+
message UpdateFriendshipResponse {
74125
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;
78132
}
79133
}
80134

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;
88142
}
89143
}
90144

91-
// @deprecated
92-
service SocialService {
145+
service FriendshipsService {
93146
// 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) {}
95148

96149
// Get the list of mutual friends between the authenticated user and the one in the parameter
97150
rpc GetMutualFriends(MutualFriendsPayload) returns (stream UsersResponse) {}
98151

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) {}
104154

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) {}
108158

109159
// 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) {}
112162
}

proto/decentraland/social_service/v2/social_service.proto

Lines changed: 9 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ message InternalServerError {}
1313

1414
message User { string address = 1; }
1515

16-
message Pagination {
17-
int32 limit = 1;
18-
int32 offset = 2;
19-
}
20-
2116
message RequestResponse {
2217
User user = 1;
2318
int64 created_at = 2;
@@ -49,21 +44,6 @@ message CancelResponse { User user = 1; }
4944

5045
message CancelPayload { User user = 1; }
5146

52-
enum ConnectivityStatus {
53-
ONLINE = 0;
54-
OFFLINE = 1;
55-
AWAY = 2;
56-
}
57-
58-
message GetFriendsPayload {
59-
optional Pagination pagination = 1;
60-
optional ConnectivityStatus status = 2;
61-
}
62-
63-
message GetFriendshipRequestsPayload {
64-
optional Pagination pagination = 1;
65-
}
66-
6747
message UpsertFriendshipPayload {
6848
oneof action {
6949
RequestPayload request = 1;
@@ -74,34 +54,23 @@ message UpsertFriendshipPayload {
7454
}
7555
}
7656

77-
message GetMutualFriendsPayload {
57+
message MutualFriendsPayload {
7858
User user = 1;
79-
optional Pagination pagination = 2;
80-
}
81-
82-
message PaginatedResponse {
83-
int32 total = 1;
84-
int32 page = 2;
8559
}
8660

87-
message PaginatedUsersResponse {
61+
message UsersResponse {
8862
repeated User users = 1;
89-
PaginatedResponse pagination_data = 2;
9063
}
9164

92-
message PaginatedFriendshipRequestsResponse {
65+
message FriendshipRequestsResponse {
9366
oneof response {
9467
Requests requests = 1;
9568
InternalServerError internal_server_error = 2;
9669
}
97-
optional PaginatedResponse pagination_data = 3;
9870
}
9971

10072
message UpsertFriendshipResponse {
101-
message Accepted {
102-
string id = 1;
103-
int64 created_at = 2;
104-
}
73+
message Accepted {}
10574
oneof response {
10675
Accepted accepted = 1;
10776
InvalidFriendshipAction invalid_friendship_action = 2;
@@ -119,43 +88,19 @@ message FriendshipUpdate {
11988
}
12089
}
12190

122-
message GetFriendshipStatusPayload {
123-
User user = 1;
124-
}
125-
126-
enum FriendshipStatus {
127-
REQUEST_SENT = 0;
128-
REQUEST_RECEIVED = 1;
129-
CANCELED = 2;
130-
ACCEPTED = 3;
131-
REJECTED = 4;
132-
DELETED = 5;
133-
BLOCKED = 6;
134-
}
135-
136-
message GetFriendshipStatusResponse {
137-
message Ok {
138-
FriendshipStatus status = 1;
139-
optional string message = 2;
140-
}
141-
oneof response {
142-
Ok accepted = 1;
143-
InternalServerError internal_server_error = 2;
144-
}
145-
}
146-
91+
// @deprecated
14792
service SocialService {
14893
// Get the list of friends for the authenticated user
149-
rpc GetFriends(GetFriendsPayload) returns (stream PaginatedUsersResponse) {}
94+
rpc GetFriends(google.protobuf.Empty) returns (stream UsersResponse) {}
15095

15196
// Get the list of mutual friends between the authenticated user and the one in the parameter
152-
rpc GetMutualFriends(GetMutualFriendsPayload) returns (stream PaginatedUsersResponse) {}
97+
rpc GetMutualFriends(MutualFriendsPayload) returns (stream UsersResponse) {}
15398

15499
// Get the pending friendship requests for the authenticated user
155-
rpc GetPendingFriendshipRequests(GetFriendshipRequestsPayload) returns (PaginatedFriendshipRequestsResponse) {}
100+
rpc GetPendingFriendshipRequests(google.protobuf.Empty) returns (FriendshipRequestsResponse) {}
156101

157102
// Get the sent friendship requests for the authenticated user
158-
rpc GetSentFriendshipRequests(GetFriendshipRequestsPayload) returns (PaginatedFriendshipRequestsResponse) {}
103+
rpc GetSentFriendshipRequests(google.protobuf.Empty) returns (FriendshipRequestsResponse) {}
159104

160105
// Create or update friendship status: REQUEST, ACCEPT, REJECT, CANCEL, DELETE
161106
rpc UpsertFriendship(UpsertFriendshipPayload)
@@ -164,6 +109,4 @@ service SocialService {
164109
// Subscribe to updates of friendship status: REQUEST, ACCEPT, REJECT, CANCEL, DELETE
165110
rpc SubscribeToFriendshipUpdates(google.protobuf.Empty)
166111
returns (stream FriendshipUpdate) {}
167-
168-
rpc GetFriendshipStatus(GetFriendshipStatusPayload) returns (GetFriendshipStatusResponse) {}
169112
}

0 commit comments

Comments
 (0)