Skip to content

Commit be30886

Browse files
Fil Majseratch
andauthored
Add conversations.requestSharedInvite.list API support (#1382)
Co-authored-by: Kazuhiro Sera <[email protected]>
1 parent 11e46d0 commit be30886

File tree

14 files changed

+423
-3
lines changed

14 files changed

+423
-3
lines changed
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
{
2+
"ok": false,
3+
"invite_requests": [
4+
{
5+
"id": "I00000000",
6+
"date_created": 12345,
7+
"expires_at": 12345,
8+
"inviting_team": {
9+
"id": "",
10+
"name": "",
11+
"icon": {
12+
"image_default": false,
13+
"image_34": "https://www.example.com/",
14+
"image_44": "https://www.example.com/",
15+
"image_68": "https://www.example.com/",
16+
"image_88": "https://www.example.com/",
17+
"image_102": "https://www.example.com/",
18+
"image_230": "https://www.example.com/",
19+
"image_132": "https://www.example.com/"
20+
},
21+
"avatar_base_url": "https://www.example.com/",
22+
"is_verified": false,
23+
"domain": "",
24+
"date_created": 12345,
25+
"requires_sponsorship": false
26+
},
27+
"inviting_user": {
28+
"id": "",
29+
"team_id": "12345",
30+
"name": "",
31+
"updated": 12345,
32+
"who_can_share_contact_card": "",
33+
"profile": {
34+
"real_name": "",
35+
"display_name": "",
36+
"real_name_normalized": "",
37+
"display_name_normalized": "",
38+
"team": "",
39+
"avatar_hash": "",
40+
"email": "",
41+
"image_24": "https://www.example.com/",
42+
"image_32": "https://www.example.com/",
43+
"image_48": "https://www.example.com/",
44+
"image_72": "https://www.example.com/",
45+
"image_192": "https://www.example.com/",
46+
"image_512": "https://www.example.com/"
47+
}
48+
},
49+
"channel": {
50+
"id": "C00000000",
51+
"is_im": false,
52+
"is_private": false,
53+
"date_created": 12345,
54+
"name": "",
55+
"connections": [
56+
{
57+
"team": {
58+
"id": "",
59+
"name": "",
60+
"icon": {
61+
"image_default": false,
62+
"image_34": "https://www.example.com/",
63+
"image_44": "https://www.example.com/",
64+
"image_68": "https://www.example.com/",
65+
"image_88": "https://www.example.com/",
66+
"image_102": "https://www.example.com/",
67+
"image_230": "https://www.example.com/",
68+
"image_132": "https://www.example.com/"
69+
},
70+
"avatar_base_url": "https://www.example.com/",
71+
"is_verified": false,
72+
"domain": "",
73+
"date_created": 12345,
74+
"requires_sponsorship": false
75+
},
76+
"is_private": false
77+
}
78+
],
79+
"pending_connections": [
80+
{
81+
"team": {
82+
"id": "",
83+
"name": "",
84+
"icon": {
85+
"image_default": false,
86+
"image_34": "https://www.example.com/",
87+
"image_44": "https://www.example.com/",
88+
"image_68": "https://www.example.com/",
89+
"image_88": "https://www.example.com/",
90+
"image_102": "https://www.example.com/",
91+
"image_230": "https://www.example.com/",
92+
"image_132": "https://www.example.com/"
93+
},
94+
"avatar_base_url": "https://www.example.com/",
95+
"is_verified": false,
96+
"domain": "",
97+
"date_created": 12345,
98+
"requires_sponsorship": false
99+
},
100+
"is_private": false
101+
}
102+
],
103+
"previous_connections": [
104+
{
105+
"team": {
106+
"id": "",
107+
"name": "",
108+
"icon": {
109+
"image_default": false,
110+
"image_34": "https://www.example.com/",
111+
"image_44": "https://www.example.com/",
112+
"image_68": "https://www.example.com/",
113+
"image_88": "https://www.example.com/",
114+
"image_102": "https://www.example.com/",
115+
"image_230": "https://www.example.com/",
116+
"image_132": "https://www.example.com/"
117+
},
118+
"avatar_base_url": "https://www.example.com/",
119+
"is_verified": false,
120+
"domain": "",
121+
"date_created": 12345,
122+
"requires_sponsorship": false
123+
},
124+
"is_private": false
125+
}
126+
]
127+
},
128+
"is_external_limited": false,
129+
"date_last_updated": 12345,
130+
"target_user": {
131+
"recipient_email": ""
132+
}
133+
}
134+
],
135+
"error": "",
136+
"needed": "",
137+
"provided": ""
138+
}

metadata/web-api/rate_limit_tiers.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
"conversations.replies": "Tier3",
185185
"conversations.requestSharedInvite.approve": "Tier2",
186186
"conversations.requestSharedInvite.deny": "Tier2",
187+
"conversations.requestSharedInvite.list": "Tier2",
187188
"conversations.setPurpose": "Tier2",
188189
"conversations.setTopic": "Tier2",
189190
"conversations.unarchive": "Tier2",

slack-api-client/src/main/java/com/slack/api/methods/AsyncMethodsClient.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
import com.slack.api.methods.request.conversations.canvases.ConversationsCanvasesCreateRequest;
7373
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveRequest;
7474
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyRequest;
75+
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteListRequest;
7576
import com.slack.api.methods.request.dialog.DialogOpenRequest;
7677
import com.slack.api.methods.request.dnd.*;
7778
import com.slack.api.methods.request.emoji.EmojiListRequest;
@@ -192,6 +193,7 @@
192193
import com.slack.api.methods.response.conversations.canvases.ConversationsCanvasesCreateResponse;
193194
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveResponse;
194195
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyResponse;
196+
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteListResponse;
195197
import com.slack.api.methods.response.dialog.DialogOpenResponse;
196198
import com.slack.api.methods.response.dnd.*;
197199
import com.slack.api.methods.response.emoji.EmojiListResponse;
@@ -1096,6 +1098,11 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>
10961098

10971099
CompletableFuture<ConversationsRequestSharedInviteDenyResponse> conversationsRequestSharedInviteDeny(RequestConfigurator<ConversationsRequestSharedInviteDenyRequest.ConversationsRequestSharedInviteDenyRequestBuilder> req);
10981100

1101+
CompletableFuture<ConversationsRequestSharedInviteListResponse> conversationsRequestSharedInviteList(ConversationsRequestSharedInviteListRequest req);
1102+
1103+
CompletableFuture<ConversationsRequestSharedInviteListResponse> conversationsRequestSharedInviteList(RequestConfigurator<ConversationsRequestSharedInviteListRequest.ConversationsRequestSharedInviteListRequestBuilder> req);
1104+
1105+
10991106
// ------------------------------
11001107
// dialog
11011108
// ------------------------------

slack-api-client/src/main/java/com/slack/api/methods/Methods.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ private Methods() {
429429

430430
public static final String CONVERSATIONS_REQUEST_SHARED_INVITE_APPROVE = "conversations.requestSharedInvite.approve";
431431
public static final String CONVERSATIONS_REQUEST_SHARED_INVITE_DENY = "conversations.requestSharedInvite.deny";
432+
public static final String CONVERSATIONS_REQUEST_SHARED_INVITE_LIST = "conversations.requestSharedInvite.list";
432433

433434
// ------------------------------
434435
// dialog

slack-api-client/src/main/java/com/slack/api/methods/MethodsClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
import com.slack.api.methods.request.conversations.canvases.ConversationsCanvasesCreateRequest;
8080
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveRequest;
8181
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyRequest;
82+
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteListRequest;
8283
import com.slack.api.methods.request.dialog.DialogOpenRequest;
8384
import com.slack.api.methods.request.dnd.*;
8485
import com.slack.api.methods.request.emoji.EmojiListRequest;
@@ -212,6 +213,7 @@
212213
import com.slack.api.methods.response.conversations.canvases.ConversationsCanvasesCreateResponse;
213214
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveResponse;
214215
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyResponse;
216+
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteListResponse;
215217
import com.slack.api.methods.response.dialog.DialogOpenResponse;
216218
import com.slack.api.methods.response.dnd.*;
217219
import com.slack.api.methods.response.emoji.EmojiListResponse;
@@ -1382,6 +1384,10 @@ AdminUsergroupsRemoveChannelsResponse adminUsergroupsRemoveChannels(
13821384

13831385
ConversationsRequestSharedInviteDenyResponse conversationsRequestSharedInviteDeny(RequestConfigurator<ConversationsRequestSharedInviteDenyRequest.ConversationsRequestSharedInviteDenyRequestBuilder> req) throws IOException, SlackApiException;
13841386

1387+
ConversationsRequestSharedInviteListResponse conversationsRequestSharedInviteList(ConversationsRequestSharedInviteListRequest req) throws IOException, SlackApiException;
1388+
1389+
ConversationsRequestSharedInviteListResponse conversationsRequestSharedInviteList(RequestConfigurator<ConversationsRequestSharedInviteListRequest.ConversationsRequestSharedInviteListRequestBuilder> req) throws IOException, SlackApiException;
1390+
13851391
// ------------------------------
13861392
// dialog
13871393
// ------------------------------

slack-api-client/src/main/java/com/slack/api/methods/MethodsRateLimits.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier
356356

357357
setRateLimitTier(CONVERSATIONS_REQUEST_SHARED_INVITE_APPROVE, Tier2);
358358
setRateLimitTier(CONVERSATIONS_REQUEST_SHARED_INVITE_DENY, Tier2);
359+
setRateLimitTier(CONVERSATIONS_REQUEST_SHARED_INVITE_LIST, Tier2);
359360

360361
setRateLimitTier(DIALOG_OPEN, Tier4);
361362

slack-api-client/src/main/java/com/slack/api/methods/RequestFormBuilder.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
import com.slack.api.methods.request.conversations.canvases.ConversationsCanvasesCreateRequest;
8080
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveRequest;
8181
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyRequest;
82+
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteListRequest;
8283
import com.slack.api.methods.request.dialog.DialogOpenRequest;
8384
import com.slack.api.methods.request.dnd.*;
8485
import com.slack.api.methods.request.emoji.EmojiListRequest;
@@ -1909,6 +1910,20 @@ public static FormBody.Builder toForm(ConversationsRequestSharedInviteDenyReques
19091910
return form;
19101911
}
19111912

1913+
public static FormBody.Builder toForm(ConversationsRequestSharedInviteListRequest req) {
1914+
FormBody.Builder form = new FormBody.Builder();
1915+
setIfNotNull("cursor", req.getCursor(), form);
1916+
setIfNotNull("include_approved", req.getIncludeApproved(), form);
1917+
setIfNotNull("include_denied", req.getIncludeDenied(), form);
1918+
setIfNotNull("include_expired", req.getIncludeExpired(), form);
1919+
if (req.getInviteIds() != null) {
1920+
setIfNotNull("invite_ids", String.join(",", req.getInviteIds()), form);
1921+
}
1922+
setIfNotNull("limit", req.getLimit(), form);
1923+
setIfNotNull("user_id", req.getUserId(), form);
1924+
return form;
1925+
}
1926+
19121927
public static FormBody.Builder toForm(ConversationsCanvasesCreateRequest req) {
19131928
FormBody.Builder form = new FormBody.Builder();
19141929
setIfNotNull("channel_id", req.getChannelId(), form);

slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncMethodsClientImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
import com.slack.api.methods.request.conversations.canvases.ConversationsCanvasesCreateRequest;
7777
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveRequest;
7878
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyRequest;
79+
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteListRequest;
7980
import com.slack.api.methods.request.dialog.DialogOpenRequest;
8081
import com.slack.api.methods.request.dnd.*;
8182
import com.slack.api.methods.request.emoji.EmojiListRequest;
@@ -196,6 +197,7 @@
196197
import com.slack.api.methods.response.conversations.canvases.ConversationsCanvasesCreateResponse;
197198
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveResponse;
198199
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyResponse;
200+
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteListResponse;
199201
import com.slack.api.methods.response.dialog.DialogOpenResponse;
200202
import com.slack.api.methods.response.dnd.*;
201203
import com.slack.api.methods.response.emoji.EmojiListResponse;
@@ -1962,6 +1964,16 @@ public CompletableFuture<ConversationsRequestSharedInviteDenyResponse> conversat
19621964
return conversationsRequestSharedInviteDeny(req.configure(ConversationsRequestSharedInviteDenyRequest.builder()).build());
19631965
}
19641966

1967+
@Override
1968+
public CompletableFuture<ConversationsRequestSharedInviteListResponse> conversationsRequestSharedInviteList(ConversationsRequestSharedInviteListRequest req) {
1969+
return executor.execute(CONVERSATIONS_REQUEST_SHARED_INVITE_LIST, toMap(req), () -> methods.conversationsRequestSharedInviteList(req));
1970+
}
1971+
1972+
@Override
1973+
public CompletableFuture<ConversationsRequestSharedInviteListResponse> conversationsRequestSharedInviteList(RequestConfigurator<ConversationsRequestSharedInviteListRequest.ConversationsRequestSharedInviteListRequestBuilder> req) {
1974+
return conversationsRequestSharedInviteList(req.configure(ConversationsRequestSharedInviteListRequest.builder()).build());
1975+
}
1976+
19651977
@Override
19661978
public CompletableFuture<DialogOpenResponse> dialogOpen(DialogOpenRequest req) {
19671979
return executor.execute(DIALOG_OPEN, toMap(req), () -> methods.dialogOpen(req));

slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
import com.slack.api.methods.request.conversations.canvases.ConversationsCanvasesCreateRequest;
8282
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveRequest;
8383
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyRequest;
84+
import com.slack.api.methods.request.conversations.request_shared_invite.ConversationsRequestSharedInviteListRequest;
8485
import com.slack.api.methods.request.dialog.DialogOpenRequest;
8586
import com.slack.api.methods.request.dnd.*;
8687
import com.slack.api.methods.request.emoji.EmojiListRequest;
@@ -214,6 +215,7 @@
214215
import com.slack.api.methods.response.conversations.canvases.ConversationsCanvasesCreateResponse;
215216
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteApproveResponse;
216217
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteDenyResponse;
218+
import com.slack.api.methods.response.conversations.request_shared_invite.ConversationsRequestSharedInviteListResponse;
217219
import com.slack.api.methods.response.dialog.DialogOpenResponse;
218220
import com.slack.api.methods.response.dnd.*;
219221
import com.slack.api.methods.response.emoji.EmojiListResponse;
@@ -2225,6 +2227,16 @@ public ConversationsRequestSharedInviteDenyResponse conversationsRequestSharedIn
22252227
return conversationsRequestSharedInviteDeny(req.configure(ConversationsRequestSharedInviteDenyRequest.builder()).build());
22262228
}
22272229

2230+
@Override
2231+
public ConversationsRequestSharedInviteListResponse conversationsRequestSharedInviteList(ConversationsRequestSharedInviteListRequest req) throws IOException, SlackApiException {
2232+
return postFormWithTokenAndParseResponse(toForm(req), Methods.CONVERSATIONS_REQUEST_SHARED_INVITE_LIST, getToken(req), ConversationsRequestSharedInviteListResponse.class);
2233+
}
2234+
2235+
@Override
2236+
public ConversationsRequestSharedInviteListResponse conversationsRequestSharedInviteList(RequestConfigurator<ConversationsRequestSharedInviteListRequest.ConversationsRequestSharedInviteListRequestBuilder> req) throws IOException, SlackApiException {
2237+
return conversationsRequestSharedInviteList(req.configure(ConversationsRequestSharedInviteListRequest.builder()).build());
2238+
}
2239+
22282240
@Override
22292241
public DialogOpenResponse dialogOpen(DialogOpenRequest req)
22302242
throws IOException, SlackApiException {
@@ -3873,4 +3885,4 @@ private static Map<String, List<String>> toLowerCasedKeyMap(Headers headers) {
38733885
return converted;
38743886
}
38753887

3876-
}
3888+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.slack.api.methods.request.conversations.request_shared_invite;
2+
3+
import com.slack.api.methods.SlackApiRequest;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Builder;
6+
import lombok.Data;
7+
import lombok.NoArgsConstructor;
8+
import java.util.List;
9+
10+
/**
11+
* https://api.slack.com/methods/conversations.requestSharedInvite.list
12+
*/
13+
@Data
14+
@Builder
15+
public class ConversationsRequestSharedInviteListRequest implements SlackApiRequest {
16+
private String token;
17+
18+
/**
19+
* Paginate through collections of data by setting the cursor parameter to
20+
* a next_cursor attribute returned by a previous request's response_metadata.
21+
* Default value fetches the first "page" of the collection.
22+
*/
23+
private String cursor;
24+
25+
/**
26+
* When true approved invitation requests will be returned, otherwise they will be excluded
27+
*/
28+
private Boolean includeApproved;
29+
30+
/**
31+
* When true denied invitation requests will be returned, otherwise they will be excluded
32+
*/
33+
private Boolean includeDenied;
34+
35+
/**
36+
* When true expired invitation requests will be returned, otherwise they will be excluded
37+
*/
38+
private Boolean includeExpired;
39+
40+
/**
41+
* An optional list of invitation ids to look up.
42+
*/
43+
private List<String> inviteIds;
44+
45+
/**
46+
* The number of items to return. Must be between 1 - 1000 (inclusive). Defaults to 200.
47+
*/
48+
private Integer limit;
49+
50+
/**
51+
* Optional filter to return invitation requests for the inviting user.
52+
*/
53+
private String userId;
54+
}

0 commit comments

Comments
 (0)