Skip to content

Commit 31a1f97

Browse files
authored
Add conversations.externalInvitePermissions.set API support (#1330)
1 parent 1b6030e commit 31a1f97

File tree

14 files changed

+134
-5
lines changed

14 files changed

+134
-5
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"ok": false,
3+
"error": "",
4+
"needed": "",
5+
"provided": ""
6+
}

metadata/web-api/rate_limit_tiers.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@
164164
"conversations.close": "Tier2",
165165
"conversations.create": "Tier2",
166166
"conversations.declineSharedInvite": "Tier1",
167+
"conversations.externalInvitePermissions.set": "Tier2",
167168
"conversations.history": "Tier3",
168169
"conversations.info": "Tier3",
169170
"conversations.invite": "Tier3",

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,6 +1033,10 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>
10331033

10341034
CompletableFuture<ConversationsCanvasesCreateResponse> conversationsCanvasesCreate(RequestConfigurator<ConversationsCanvasesCreateRequest.ConversationsCanvasesCreateRequestBuilder> req);
10351035

1036+
CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req);
1037+
1038+
CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req);
1039+
10361040
// -------------
10371041
// Slack Connect
10381042

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
@@ -417,6 +417,7 @@ private Methods() {
417417
public static final String CONVERSATIONS_LIST_CONNECT_INVITES = "conversations.listConnectInvites";
418418

419419
public static final String CONVERSATIONS_CANVASES_CREATE = "conversations.canvases.create";
420+
public static final String CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET = "conversations.externalInvitePermissions.set";
420421

421422
// ------------------------------
422423
// dialog

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,10 @@ AdminUsergroupsRemoveChannelsResponse adminUsergroupsRemoveChannels(
13151315

13161316
ConversationsUnarchiveResponse conversationsUnarchive(RequestConfigurator<ConversationsUnarchiveRequest.ConversationsUnarchiveRequestBuilder> req) throws IOException, SlackApiException;
13171317

1318+
ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req) throws IOException, SlackApiException;
1319+
1320+
ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req) throws IOException, SlackApiException;
1321+
13181322
// -------------
13191323
// Slack Connect
13201324

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
@@ -348,6 +348,7 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier
348348
setRateLimitTier(CONVERSATIONS_APPROVE_SHARED_INVITE, Tier1);
349349
setRateLimitTier(CONVERSATIONS_DECLINE_SHARED_INVITE, Tier1);
350350
setRateLimitTier(CONVERSATIONS_LIST_CONNECT_INVITES, Tier1);
351+
setRateLimitTier(CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET, Tier2);
351352

352353
setRateLimitTier(DIALOG_OPEN, Tier4);
353354

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1806,6 +1806,14 @@ public static FormBody.Builder toForm(ConversationsUnarchiveRequest req) {
18061806
return form;
18071807
}
18081808

1809+
public static FormBody.Builder toForm(ConversationsExternalInvitePermissionsSetRequest req) {
1810+
FormBody.Builder form = new FormBody.Builder();
1811+
setIfNotNull("action", req.getAction(), form);
1812+
setIfNotNull("channel", req.getChannel(), form);
1813+
setIfNotNull("target_team", req.getTargetTeam(), form);
1814+
return form;
1815+
}
1816+
18091817
public static FormBody.Builder toForm(ConversationsInviteSharedRequest req) {
18101818
FormBody.Builder form = new FormBody.Builder();
18111819
setIfNotNull("channel", req.getChannel(), form);

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1840,6 +1840,16 @@ public CompletableFuture<ConversationsCanvasesCreateResponse> conversationsCanva
18401840
return conversationsCanvasesCreate(req.configure(ConversationsCanvasesCreateRequest.builder()).build());
18411841
}
18421842

1843+
@Override
1844+
public CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req) {
1845+
return executor.execute(CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET, toMap(req), () -> methods.conversationsExternalInvitePermissionsSet(req));
1846+
}
1847+
1848+
@Override
1849+
public CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req) {
1850+
return conversationsExternalInvitePermissionsSet(req.configure(ConversationsExternalInvitePermissionsSetRequest.builder()).build());
1851+
}
1852+
18431853
@Override
18441854
public CompletableFuture<ConversationsInviteSharedResponse> conversationsInviteShared(ConversationsInviteSharedRequest req) {
18451855
return executor.execute(CONVERSATIONS_INVITE_SHARED, toMap(req), () -> methods.conversationsInviteShared(req));

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2093,6 +2093,16 @@ public ConversationsUnarchiveResponse conversationsUnarchive(RequestConfigurator
20932093
return conversationsUnarchive(req.configure(ConversationsUnarchiveRequest.builder()).build());
20942094
}
20952095

2096+
@Override
2097+
public ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req) throws IOException, SlackApiException {
2098+
return postFormWithTokenAndParseResponse(toForm(req), Methods.CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET, getToken(req), ConversationsExternalInvitePermissionsSetResponse.class);
2099+
}
2100+
2101+
@Override
2102+
public ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req) throws IOException, SlackApiException {
2103+
return conversationsExternalInvitePermissionsSet(req.configure(ConversationsExternalInvitePermissionsSetRequest.builder()).build());
2104+
}
2105+
20962106
@Override
20972107
public ConversationsInviteSharedResponse conversationsInviteShared(ConversationsInviteSharedRequest req) throws IOException, SlackApiException {
20982108
return postFormWithTokenAndParseResponse(toForm(req), Methods.CONVERSATIONS_INVITE_SHARED, getToken(req), ConversationsInviteSharedResponse.class);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.slack.api.methods.request.conversations;
2+
3+
import com.slack.api.methods.SlackApiRequest;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
7+
/**
8+
* https://api.slack.com/methods/conversations.externalInvitePermissions.set
9+
*/
10+
@Data
11+
@Builder
12+
public class ConversationsExternalInvitePermissionsSetRequest implements SlackApiRequest {
13+
14+
/**
15+
* Authentication token bearing required scopes.
16+
* Tokens should be passed as an HTTP Authorization header or alternatively, as a POST parameter.
17+
*/
18+
private String token;
19+
20+
/**
21+
* Type of action to be taken: upgrade or downgrade
22+
* Value should be one of "upgrade" and "downgrade"
23+
*/
24+
private String action;
25+
26+
/**
27+
* The channel ID to change external invite permissions for
28+
*/
29+
private String channel;
30+
31+
/**
32+
* The encoded team ID of the target team. Must be in the specified channel.
33+
*/
34+
private String targetTeam;
35+
36+
}

0 commit comments

Comments
 (0)