Skip to content

Commit

Permalink
Add team.externalTeams.disconnect API (#1331)
Browse files Browse the repository at this point in the history
  • Loading branch information
seratch committed Jul 2, 2024
1 parent 2ae1fa3 commit 2bae6fb
Show file tree
Hide file tree
Showing 15 changed files with 121 additions and 4 deletions.
11 changes: 11 additions & 0 deletions json-logs/samples/api/team.externalTeams.disconnect.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"ok": false,
"error": "",
"response_metadata": {
"messages": [
""
]
},
"needed": "",
"provided": ""
}
3 changes: 1 addition & 2 deletions json-logs/samples/api/users.list.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@
"is_admin": false,
"is_owner": false,
"teams": [
"",
"T00000000"
""
],
"is_primary_owner": false
},
Expand Down
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 @@ -264,6 +264,7 @@
"team.accessLogs": "Tier2",
"team.billableInfo": "Tier2",
"team.billing.info": "Tier3",
"team.externalTeams.disconnect": "Tier1",
"team.externalTeams.list": "Tier2",
"team.info": "Tier3",
"team.integrationLogs": "Tier2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
import com.slack.api.methods.request.team.*;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
Expand Down Expand Up @@ -212,6 +213,7 @@
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
import com.slack.api.methods.response.team.*;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsDisconnectResponse;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
Expand Down Expand Up @@ -1382,6 +1384,10 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>

CompletableFuture<TeamExternalTeamsListResponse> teamExternalTeamsList(RequestConfigurator<TeamExternalTeamsListRequest.TeamExternalTeamsListRequestBuilder> req);

CompletableFuture<TeamExternalTeamsDisconnectResponse> teamExternalTeamsDisconnect(TeamExternalTeamsDisconnectRequest req);

CompletableFuture<TeamExternalTeamsDisconnectResponse> teamExternalTeamsDisconnect(RequestConfigurator<TeamExternalTeamsDisconnectRequest.TeamExternalTeamsDisconnectRequestBuilder> req);

// ------------------------------
// tooling.tokens
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,7 @@ private Methods() {
public static final String TEAM_PREFERENCES_LIST = "team.preferences.list";

public static final String TEAM_EXTERNAL_TEAMS_LIST = "team.externalTeams.list";
public static final String TEAM_EXTERNAL_TEAMS_DISCONNECT = "team.externalTeams.disconnect";

// ------------------------------
// team.profile
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
import com.slack.api.methods.request.team.*;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
Expand Down Expand Up @@ -238,6 +239,7 @@
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
import com.slack.api.methods.response.team.*;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsDisconnectResponse;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
Expand Down Expand Up @@ -1924,6 +1926,10 @@ AdminUsergroupsRemoveChannelsResponse adminUsergroupsRemoveChannels(

TeamExternalTeamsListResponse teamExternalTeamsList(RequestConfigurator<TeamExternalTeamsListRequest.TeamExternalTeamsListRequestBuilder> req) throws IOException, SlackApiException;

TeamExternalTeamsDisconnectResponse teamExternalTeamsDisconnect(TeamExternalTeamsDisconnectRequest req) throws IOException, SlackApiException;

TeamExternalTeamsDisconnectResponse teamExternalTeamsDisconnect(RequestConfigurator<TeamExternalTeamsDisconnectRequest.TeamExternalTeamsDisconnectRequestBuilder> req) throws IOException, SlackApiException;

// ------------------------------
// tooling.tokens
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,7 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier
setRateLimitTier(TEAM_BILLING_INFO, Tier3);
setRateLimitTier(TEAM_PREFERENCES_LIST, Tier3);
setRateLimitTier(TEAM_EXTERNAL_TEAMS_LIST, Tier2);
setRateLimitTier(TEAM_EXTERNAL_TEAMS_DISCONNECT, Tier1);

setRateLimitTier(USERGROUPS_CREATE, Tier2);
setRateLimitTier(USERGROUPS_DISABLE, Tier2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
import com.slack.api.methods.request.team.*;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
Expand Down Expand Up @@ -2642,6 +2643,12 @@ public static FormBody.Builder toForm(TeamExternalTeamsListRequest req) {
return form;
}

public static FormBody.Builder toForm(TeamExternalTeamsDisconnectRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("target_team", req.getTargetTeam(), form);
return form;
}

public static FormBody.Builder toForm(ToolingTokensRotateRequest req) {
FormBody.Builder form = new FormBody.Builder();
String token = req.getRefreshToken();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
import com.slack.api.methods.request.team.*;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
Expand Down Expand Up @@ -216,6 +217,7 @@
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
import com.slack.api.methods.response.team.*;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsDisconnectResponse;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
Expand Down Expand Up @@ -2506,6 +2508,16 @@ public CompletableFuture<TeamExternalTeamsListResponse> teamExternalTeamsList(Re
return teamExternalTeamsList(req.configure(TeamExternalTeamsListRequest.builder()).build());
}

@Override
public CompletableFuture<TeamExternalTeamsDisconnectResponse> teamExternalTeamsDisconnect(TeamExternalTeamsDisconnectRequest req) {
return executor.execute(TEAM_EXTERNAL_TEAMS_DISCONNECT, toMap(req), () -> methods.teamExternalTeamsDisconnect(req));
}

@Override
public CompletableFuture<TeamExternalTeamsDisconnectResponse> teamExternalTeamsDisconnect(RequestConfigurator<TeamExternalTeamsDisconnectRequest.TeamExternalTeamsDisconnectRequestBuilder> req) {
return teamExternalTeamsDisconnect(req.configure(TeamExternalTeamsDisconnectRequest.builder()).build());
}

@Override
public CompletableFuture<ToolingTokensRotateResponse> toolingTokensRotate(ToolingTokensRotateRequest req) {
return executor.execute(TOOLING_TOKENS_ROTATE, toMap(req), () -> methods.toolingTokensRotate(req));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
import com.slack.api.methods.request.team.*;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
Expand Down Expand Up @@ -240,6 +241,7 @@
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
import com.slack.api.methods.response.team.*;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsDisconnectResponse;
import com.slack.api.methods.response.team.external_teams.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
Expand Down Expand Up @@ -3197,6 +3199,16 @@ public TeamExternalTeamsListResponse teamExternalTeamsList(RequestConfigurator<T
return teamExternalTeamsList(req.configure(TeamExternalTeamsListRequest.builder()).build());
}

@Override
public TeamExternalTeamsDisconnectResponse teamExternalTeamsDisconnect(TeamExternalTeamsDisconnectRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.TEAM_EXTERNAL_TEAMS_DISCONNECT, getToken(req), TeamExternalTeamsDisconnectResponse.class);
}

@Override
public TeamExternalTeamsDisconnectResponse teamExternalTeamsDisconnect(RequestConfigurator<TeamExternalTeamsDisconnectRequest.TeamExternalTeamsDisconnectRequestBuilder> req) throws IOException, SlackApiException {
return teamExternalTeamsDisconnect(req.configure(TeamExternalTeamsDisconnectRequest.builder()).build());
}

@Override
public ToolingTokensRotateResponse toolingTokensRotate(ToolingTokensRotateRequest req) throws IOException, SlackApiException {
return postFormAndParseResponse(toForm(req), Methods.TOOLING_TOKENS_ROTATE, ToolingTokensRotateResponse.class);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.slack.api.methods.request.team.external_teams;

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

import java.util.List;

/**
* https://api.slack.com/methods/team.externalTeams.disconnect
*/
@Data
@Builder
public class TeamExternalTeamsDisconnectRequest 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;

/**
* The encoded team ID of the target team.
*/
private String targetTeam;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.slack.api.methods.response.team.external_teams;

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 TeamExternalTeamsDisconnectResponse 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

0 comments on commit 2bae6fb

Please sign in to comment.