Skip to content

Commit

Permalink
Add team.externalTeams.list API support (#1327)
Browse files Browse the repository at this point in the history
  • Loading branch information
seratch committed Jun 19, 2024
1 parent 56f2d26 commit 486f19a
Show file tree
Hide file tree
Showing 18 changed files with 8,675 additions and 17,102 deletions.
690 changes: 616 additions & 74 deletions json-logs/samples/api/files.info.json

Large diffs are not rendered by default.

12,248 changes: 3,692 additions & 8,556 deletions json-logs/samples/api/files.list.json

Large diffs are not rendered by default.

12,086 changes: 3,689 additions & 8,397 deletions json-logs/samples/api/files.remote.list.json

Large diffs are not rendered by default.

195 changes: 163 additions & 32 deletions json-logs/samples/api/team.externalTeams.list.json
Original file line number Diff line number Diff line change
@@ -1,36 +1,167 @@
{
"ok": true,
"organizations": [
"ok": false,
"organizations": [
{
"team_id": "",
"team_name": "",
"team_domain": "",
"public_channel_count": 123,
"private_channel_count": 123,
"im_channel_count": 123,
"mpim_channel_count": 123,
"connected_workspaces": [
{
"team_id": "T00000",
"team_name": "",
"team_domain": "",
"public_channel_count": 1,
"private_channel_count": 0,
"im_channel_count": 0,
"mpim_channel_count": 0,
"connected_workspaces": [
{
"workspace_id": "T000",
"workspace_name": ""
}
],
"slack_connect_prefs": {},
"connection_status": "CONNECTED",
"last_active_timestamp": 1718720443,
"is_sponsored": false,
"canvas": {
"total_count": 0,
"ownership_details": []
},
"lists": {
"total_count": 0,
"ownership_details": []
}
"workspace_id": "",
"workspace_name": ""
}
],
"total_count": 1,
"response_metadata": {
"next_cursor": ""
],
"slack_connect_prefs": {
"allow_sc_file_uploads": {
"value": false,
"actor": "",
"date_update": 123,
"source": ""
},
"approved_org_info": {
"actor": "",
"date_update": 123,
"approval_type": "",
"source": ""
},
"profile_visibility": {
"type": "",
"actor": "",
"date_update": 123,
"source": ""
},
"allowed_workspaces": {
"type": "",
"team_ids": [
""
],
"actor": "",
"date_update": 123,
"source": ""
},
"allowed_canvas_sharing": {
"value": false,
"actor": "",
"date_update": 123,
"source": ""
},
"allowed_list_sharing": {
"value": false,
"actor": "",
"date_update": 123,
"source": ""
},
"away_team_sc_invite_permissions": {
"type": "",
"team_ids": [
""
],
"actor": "",
"date_update": 123,
"source": ""
},
"away_team_sc_invite_require_2fa": {
"type": false,
"actor": "",
"date_update": 123,
"source": ""
},
"accept_sc_invites": {
"type": "",
"accept_in_workspace_ids": [
""
],
"invalid_workspace_ids": [
""
],
"use_allowed_workspaces": false,
"accept_private": false,
"actor": "",
"date_update": 123,
"source": ""
},
"sc_channel_limited_access": {
"type": "",
"actor": "",
"date_update": 123,
"source": ""
},
"sc_mpdm_to_private": {
"type": "",
"accept_in_workspace_id": "",
"invalid_workspace_ids": [
""
],
"actor": "",
"date_update": 123,
"source": ""
},
"external_awareness_context_bar": {
"type": "",
"actor": "",
"date_update": 123,
"source": ""
},
"require_sc_channel_for_sc_dm": {
"value": false,
"actor": "",
"date_update": 123,
"source": ""
},
"shared_channel_invite_requested": {
"enabled": false,
"usergroup_include": {
"id": "",
"team_id": ""
},
"usergroup_exclude": {
"id": "",
"team_id": ""
},
"approval_destination": {
"all_who_can_manage_shared_channels": false,
"channel_id": ""
},
"actor": "",
"date_update": 123,
"source": ""
}
},
"connection_status": "",
"last_active_timestamp": 123,
"is_sponsored": false,
"canvas": {
"total_count": 123,
"ownership_details": [
{
"team_id": "",
"count": 123
}
]
},
"lists": {
"total_count": 123,
"ownership_details": [
{
"team_id": "",
"count": 123
}
]
}
}
}
],
"total_count": 12345,
"response_metadata": {
"next_cursor": "",
"messages": [
""
]
},
"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 @@ -263,6 +263,7 @@
"team.accessLogs": "Tier2",
"team.billableInfo": "Tier2",
"team.billing.info": "Tier3",
"team.externalTeams.list": "Tier2",
"team.info": "Tier3",
"team.integrationLogs": "Tier2",
"team.preferences.list": "Tier3",
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.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
import com.slack.api.methods.request.usergroups.*;
Expand Down Expand Up @@ -211,6 +212,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.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
import com.slack.api.methods.response.usergroups.*;
Expand Down Expand Up @@ -1372,6 +1374,10 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>

CompletableFuture<TeamPreferencesListResponse> teamPreferencesList(RequestConfigurator<TeamPreferencesListRequest.TeamPreferencesListRequestBuilder> req);

CompletableFuture<TeamExternalTeamsListResponse> teamExternalTeamsList(TeamExternalTeamsListRequest req);

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

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

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

// ------------------------------
// 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.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
import com.slack.api.methods.request.usergroups.*;
Expand Down Expand Up @@ -237,6 +238,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.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
import com.slack.api.methods.response.usergroups.*;
Expand Down Expand Up @@ -1914,6 +1916,10 @@ AdminUsergroupsRemoveChannelsResponse adminUsergroupsRemoveChannels(

TeamPreferencesListResponse teamPreferencesList(RequestConfigurator<TeamPreferencesListRequest.TeamPreferencesListRequestBuilder> req) throws IOException, SlackApiException;

TeamExternalTeamsListResponse teamExternalTeamsList(TeamExternalTeamsListRequest req) throws IOException, SlackApiException;

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

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

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.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
import com.slack.api.methods.request.usergroups.*;
Expand Down Expand Up @@ -2618,6 +2619,21 @@ public static FormBody.Builder toForm(TeamPreferencesListRequest req) {
return form;
}

public static FormBody.Builder toForm(TeamExternalTeamsListRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("connection_status_filter", req.getConnectionStatusFilter(), form);
setIfNotNull("limit", req.getLimit(), form);
if (req.getSlackConnectPrefFilter() != null) {
setIfNotNull("slack_connect_pref_filter", req.getSlackConnectPrefFilter().stream().collect(joining(",")), form);
}
setIfNotNull("sort_direction", req.getSortDirection(), form);
setIfNotNull("sort_field", req.getSortField(), form);
if (req.getWorkspaceFilter() != null) {
setIfNotNull("workspace_filter", req.getWorkspaceFilter().stream().collect(joining(",")), 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.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
import com.slack.api.methods.request.usergroups.*;
Expand Down Expand Up @@ -215,6 +216,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.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
import com.slack.api.methods.response.usergroups.*;
Expand Down Expand Up @@ -2484,6 +2486,16 @@ public CompletableFuture<TeamPreferencesListResponse> teamPreferencesList(Reques
return teamPreferencesList(req.configure(TeamPreferencesListRequest.builder()).build());
}

@Override
public CompletableFuture<TeamExternalTeamsListResponse> teamExternalTeamsList(TeamExternalTeamsListRequest req) {
return executor.execute(TEAM_EXTERNAL_TEAMS_LIST, toMap(req), () -> methods.teamExternalTeamsList(req));
}

@Override
public CompletableFuture<TeamExternalTeamsListResponse> teamExternalTeamsList(RequestConfigurator<TeamExternalTeamsListRequest.TeamExternalTeamsListRequestBuilder> req) {
return teamExternalTeamsList(req.configure(TeamExternalTeamsListRequest.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.TeamExternalTeamsListRequest;
import com.slack.api.methods.request.team.profile.TeamProfileGetRequest;
import com.slack.api.methods.request.tooling.tokens.ToolingTokensRotateRequest;
import com.slack.api.methods.request.usergroups.*;
Expand Down Expand Up @@ -239,6 +240,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.TeamExternalTeamsListResponse;
import com.slack.api.methods.response.team.profile.TeamProfileGetResponse;
import com.slack.api.methods.response.tooling.tokens.ToolingTokensRotateResponse;
import com.slack.api.methods.response.usergroups.*;
Expand Down Expand Up @@ -3175,6 +3177,16 @@ public TeamPreferencesListResponse teamPreferencesList(RequestConfigurator<TeamP
return teamPreferencesList(req.configure(TeamPreferencesListRequest.builder()).build());
}

@Override
public TeamExternalTeamsListResponse teamExternalTeamsList(TeamExternalTeamsListRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.TEAM_EXTERNAL_TEAMS_LIST, getToken(req), TeamExternalTeamsListResponse.class);
}

@Override
public TeamExternalTeamsListResponse teamExternalTeamsList(RequestConfigurator<TeamExternalTeamsListRequest.TeamExternalTeamsListRequestBuilder> req) throws IOException, SlackApiException {
return teamExternalTeamsList(req.configure(TeamExternalTeamsListRequest.builder()).build());
}

@Override
public ToolingTokensRotateResponse toolingTokensRotate(ToolingTokensRotateRequest req) throws IOException, SlackApiException {
return postFormAndParseResponse(toForm(req), Methods.TOOLING_TOKENS_ROTATE, ToolingTokensRotateResponse.class);
Expand Down
Loading

0 comments on commit 486f19a

Please sign in to comment.