Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add conversations.externalInvitePermissions.set API support #1330

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ok": false,
"error": "",
"needed": "",
"provided": ""
}
1 change: 1 addition & 0 deletions metadata/web-api/rate_limit_tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@
"conversations.close": "Tier2",
"conversations.create": "Tier2",
"conversations.declineSharedInvite": "Tier1",
"conversations.externalInvitePermissions.set": "Tier2",
"conversations.history": "Tier3",
"conversations.info": "Tier3",
"conversations.invite": "Tier3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1033,6 +1033,10 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>

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

CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req);

CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req);

// -------------
// Slack Connect

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,7 @@ private Methods() {
public static final String CONVERSATIONS_LIST_CONNECT_INVITES = "conversations.listConnectInvites";

public static final String CONVERSATIONS_CANVASES_CREATE = "conversations.canvases.create";
public static final String CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET = "conversations.externalInvitePermissions.set";

// ------------------------------
// dialog
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1315,6 +1315,10 @@ AdminUsergroupsRemoveChannelsResponse adminUsergroupsRemoveChannels(

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

ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req) throws IOException, SlackApiException;

ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req) throws IOException, SlackApiException;

// -------------
// Slack Connect

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,7 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier
setRateLimitTier(CONVERSATIONS_APPROVE_SHARED_INVITE, Tier1);
setRateLimitTier(CONVERSATIONS_DECLINE_SHARED_INVITE, Tier1);
setRateLimitTier(CONVERSATIONS_LIST_CONNECT_INVITES, Tier1);
setRateLimitTier(CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET, Tier2);

setRateLimitTier(DIALOG_OPEN, Tier4);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1806,6 +1806,14 @@ public static FormBody.Builder toForm(ConversationsUnarchiveRequest req) {
return form;
}

public static FormBody.Builder toForm(ConversationsExternalInvitePermissionsSetRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("action", req.getAction(), form);
setIfNotNull("channel", req.getChannel(), form);
setIfNotNull("target_team", req.getTargetTeam(), form);
return form;
}

public static FormBody.Builder toForm(ConversationsInviteSharedRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("channel", req.getChannel(), form);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1840,6 +1840,16 @@ public CompletableFuture<ConversationsCanvasesCreateResponse> conversationsCanva
return conversationsCanvasesCreate(req.configure(ConversationsCanvasesCreateRequest.builder()).build());
}

@Override
public CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req) {
return executor.execute(CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET, toMap(req), () -> methods.conversationsExternalInvitePermissionsSet(req));
}

@Override
public CompletableFuture<ConversationsExternalInvitePermissionsSetResponse> conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req) {
return conversationsExternalInvitePermissionsSet(req.configure(ConversationsExternalInvitePermissionsSetRequest.builder()).build());
}

@Override
public CompletableFuture<ConversationsInviteSharedResponse> conversationsInviteShared(ConversationsInviteSharedRequest req) {
return executor.execute(CONVERSATIONS_INVITE_SHARED, toMap(req), () -> methods.conversationsInviteShared(req));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2093,6 +2093,16 @@ public ConversationsUnarchiveResponse conversationsUnarchive(RequestConfigurator
return conversationsUnarchive(req.configure(ConversationsUnarchiveRequest.builder()).build());
}

@Override
public ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(ConversationsExternalInvitePermissionsSetRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.CONVERSATIONS_EXTERNAL_INVITE_PERMISSIONS_SET, getToken(req), ConversationsExternalInvitePermissionsSetResponse.class);
}

@Override
public ConversationsExternalInvitePermissionsSetResponse conversationsExternalInvitePermissionsSet(RequestConfigurator<ConversationsExternalInvitePermissionsSetRequest.ConversationsExternalInvitePermissionsSetRequestBuilder> req) throws IOException, SlackApiException {
return conversationsExternalInvitePermissionsSet(req.configure(ConversationsExternalInvitePermissionsSetRequest.builder()).build());
}

@Override
public ConversationsInviteSharedResponse conversationsInviteShared(ConversationsInviteSharedRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.CONVERSATIONS_INVITE_SHARED, getToken(req), ConversationsInviteSharedResponse.class);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.slack.api.methods.request.conversations;

import com.slack.api.methods.SlackApiRequest;
import lombok.Builder;
import lombok.Data;

/**
* https://api.slack.com/methods/conversations.externalInvitePermissions.set
*/
@Data
@Builder
public class ConversationsExternalInvitePermissionsSetRequest implements SlackApiRequest {

/**
* Authentication token bearing required scopes.
* Tokens should be passed as an HTTP Authorization header or alternatively, as a POST parameter.
*/
private String token;

/**
* Type of action to be taken: upgrade or downgrade
* Value should be one of "upgrade" and "downgrade"
*/
private String action;

/**
* The channel ID to change external invite permissions for
*/
private String channel;

/**
* The encoded team ID of the target team. Must be in the specified channel.
*/
private String targetTeam;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.slack.api.methods.response.conversations;

import com.slack.api.methods.SlackApiTextResponse;
import com.slack.api.model.ResponseMetadata;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class ConversationsExternalInvitePermissionsSetResponse implements SlackApiTextResponse {

private boolean ok;
private String warning;
private String error;
private String needed;
private String provided;
private transient Map<String, List<String>> httpResponseHeaders;

private ResponseMetadata responseMetadata;
}
Loading