Skip to content

Commit 111d334

Browse files
committed
feat(web-api): add slackLists methods
1 parent bb338d8 commit 111d334

15 files changed

Lines changed: 265 additions & 3 deletions

File tree

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

metadata/web-api/rate_limit_tiers.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@
267267
"search.all": "Tier2",
268268
"search.files": "Tier2",
269269
"search.messages": "Tier2",
270+
"slackLists.create": "Tier2",
270271
"stars.add": "Tier2",
271272
"stars.list": "Tier3",
272273
"stars.remove": "Tier2",

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
import com.slack.api.methods.request.stars.StarsAddRequest;
105105
import com.slack.api.methods.request.stars.StarsListRequest;
106106
import com.slack.api.methods.request.stars.StarsRemoveRequest;
107+
import com.slack.api.methods.request.slacklists.SlackListsCreateRequest;
107108
import com.slack.api.methods.request.team.*;
108109
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
109110
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
@@ -1411,6 +1412,14 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>
14111412
// https://docs.slack.dev/changelog/2023-07-its-later-already-for-stars-and-reminders
14121413
CompletableFuture<StarsRemoveResponse> starsRemove(RequestConfigurator<StarsRemoveRequest.StarsRemoveRequestBuilder> req);
14131414

1415+
// ------------------------------
1416+
// slackLists
1417+
// ------------------------------
1418+
1419+
CompletableFuture<SlackListsCreateResponse> slackListsCreate(SlackListsCreateRequest req);
1420+
1421+
CompletableFuture<SlackListsCreateResponse> slackListsCreate(RequestConfigurator<SlackListsCreateRequest.SlackListsCreateRequestBuilder> req);
1422+
14141423
// ------------------------------
14151424
// team
14161425
// ------------------------------

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,12 @@ private Methods() {
654654
public static final String STARS_ADD = "stars.add";
655655
public static final String STARS_LIST = "stars.list";
656656
public static final String STARS_REMOVE = "stars.remove";
657+
658+
// ------------------------------
659+
// slackLists
660+
// ------------------------------
661+
662+
public static final String SLACKLISTS_CREATE = "slackLists.create"
657663

658664
// ------------------------------
659665
// team

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
import com.slack.api.methods.request.stars.StarsAddRequest;
118118
import com.slack.api.methods.request.stars.StarsListRequest;
119119
import com.slack.api.methods.request.stars.StarsRemoveRequest;
120+
import com.slack.api.methods.request.slacklists.SlackListsCreateRequest;
120121
import com.slack.api.methods.request.team.*;
121122
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
122123
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
@@ -2499,11 +2500,20 @@ StarsListResponse starsList(RequestConfigurator<StarsListRequest.StarsListReques
24992500
// https://docs.slack.dev/changelog/2023-07-its-later-already-for-stars-and-reminders
25002501
StarsRemoveResponse starsRemove(RequestConfigurator<StarsRemoveRequest.StarsRemoveRequestBuilder> req)
25012502
throws IOException, SlackApiException;
2502-
2503+
25032504
// ------------------------------
2504-
// team
2505+
// slackLists
25052506
// ------------------------------
2507+
2508+
SlackListsCreateResponse slackListsCreate(SlackListsCreateRequest req) throws IOException, SlackApiException;
2509+
2510+
SlackListsCreateResponse slackListsCreate(RequestConfigurator<SlackListsCreateRequest.SlackListsCreateRequestBuilder> req)
2511+
throws IOException, SlackApiException;
25062512

2513+
// ------------------------------å
2514+
// team
2515+
// ------------------------------
2516+
å
25072517
TeamAccessLogsResponse teamAccessLogs(TeamAccessLogsRequest req) throws IOException, SlackApiException;
25082518

25092519
TeamAccessLogsResponse teamAccessLogs(RequestConfigurator<TeamAccessLogsRequest.TeamAccessLogsRequestBuilder> req)

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,8 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier
428428
setRateLimitTier(STARS_LIST, Tier3);
429429
setRateLimitTier(STARS_REMOVE, Tier2);
430430

431+
setRateLimitTier(SLACKLISTS_CREATE, Tier2);
432+
431433
setRateLimitTier(TEAM_ACCESS_LOGS, Tier2);
432434
setRateLimitTier(TEAM_BILLABLE_INFO, Tier2);
433435
setRateLimitTier(TEAM_INFO, Tier3);

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
import com.slack.api.methods.request.stars.StarsAddRequest;
118118
import com.slack.api.methods.request.stars.StarsListRequest;
119119
import com.slack.api.methods.request.stars.StarsRemoveRequest;
120+
import com.slack.api.methods.request.slacklists.SlackListsCreateRequest;
120121
import com.slack.api.methods.request.team.*;
121122
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
122123
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
@@ -2776,6 +2777,23 @@ public static FormBody.Builder toForm(StarsRemoveRequest req) {
27762777
return form;
27772778
}
27782779

2780+
public static FormBody.Builder toForm(SlackListsCreateRequest req) {
2781+
FormBody.Builder form = new FormBody.Builder();
2782+
setIfNotNull("name", req.getName(), form);
2783+
if (req.getDescriptionBlocks() != null) {
2784+
String json = getJsonWithGsonAnonymInnerClassHandling(req.getDescriptionBlocks());
2785+
form.add("description_blocks", json);
2786+
}
2787+
if (req.getSchema() != null) {
2788+
String json = getJsonWithGsonAnonymInnerClassHandling(req.getSchema());
2789+
form.add("schema", json);
2790+
}
2791+
setIfNotNull("copy_from_list_id", req.getCopyFromListId(), form);
2792+
setIfNotNull("include_copied_list_records", req.getIncludeCopiedListRecords(), form);
2793+
setIfNotNull("todo_mode", req.getTodoMode(), form);
2794+
return form;
2795+
}
2796+
27792797
public static FormBody.Builder toForm(TeamAccessLogsRequest req) {
27802798
FormBody.Builder form = new FormBody.Builder();
27812799
setIfNotNull("before", req.getBefore(), form);

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
import com.slack.api.methods.request.stars.StarsAddRequest;
109109
import com.slack.api.methods.request.stars.StarsListRequest;
110110
import com.slack.api.methods.request.stars.StarsRemoveRequest;
111+
import com.slack.api.methods.request.slacklists.SlackListsCreateRequest;
111112
import com.slack.api.methods.request.team.*;
112113
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
113114
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
@@ -2545,6 +2546,11 @@ public CompletableFuture<StarsRemoveResponse> starsRemove(RequestConfigurator<St
25452546
return starsRemove(req.configure(StarsRemoveRequest.builder()).build());
25462547
}
25472548

2549+
@Override
2550+
public CompletableFuture<SlackListsCreateResponse> slackListsCreate(RequestConfigurator<SlackListsCreateRequest.SlackListsCreateRequestBuilder> req) {
2551+
return slackListsCreate(req.configure(SlackListsCreateRequest.builder()).build());
2552+
}
2553+
25482554
@Override
25492555
public CompletableFuture<TeamAccessLogsResponse> teamAccessLogs(TeamAccessLogsRequest req) {
25502556
return executor.execute(TEAM_ACCESS_LOGS, toMap(req), () -> methods.teamAccessLogs(req));

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
import com.slack.api.methods.request.stars.StarsAddRequest;
120120
import com.slack.api.methods.request.stars.StarsListRequest;
121121
import com.slack.api.methods.request.stars.StarsRemoveRequest;
122+
import com.slack.api.methods.request.slacklists.SlackListsCreateRequest;
122123
import com.slack.api.methods.request.team.*;
123124
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
124125
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
@@ -3221,6 +3222,16 @@ public StarsRemoveResponse starsRemove(RequestConfigurator<StarsRemoveRequest.St
32213222
return starsRemove(req.configure(StarsRemoveRequest.builder()).build());
32223223
}
32233224

3225+
@Override
3226+
public SlackListsCreateResponse slackListsCreate(SlackListsCreateRequest req) throws IOException, SlackApiException {
3227+
return postFormWithTokenAndParseResponse(toForm(req), Methods.SLACKLISTS_CREATE, getToken(req), SlackListsCreateResponse.class);
3228+
}
3229+
3230+
@Override
3231+
public SlackListsCreateResponse slackListsCreate(RequestConfigurator<SlackListsCreateRequest.SlackListsCreateRequestBuilder> req) throws IOException, SlackApiException {
3232+
return slackListsCreate(req.configure(SlackListsCreateRequest.builder()).build());
3233+
}
3234+
32243235
@Override
32253236
public TeamAccessLogsResponse teamAccessLogs(TeamAccessLogsRequest req) throws IOException, SlackApiException {
32263237
this.teamId.ifPresent(currentTeamId -> {
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.slack.api.methods.request.slacklists;
2+
3+
import java.util.List;
4+
import java.util.Map;
5+
6+
import com.slack.api.model.block.RichTextBlock;
7+
8+
import com.slack.api.methods.SlackApiRequest;
9+
import lombok.Builder;
10+
import lombok.Data;
11+
12+
/**
13+
* https://docs.slack.dev/reference/methods/search.all
14+
*/
15+
@Data
16+
@Builder
17+
public class SlackListsCreateRequest implements SlackApiRequest {
18+
19+
/**
20+
* Authentication token bearing required scopes. Tokens should be passed as an HTTP Authorization header or alternatively, as a POST parameter.`
21+
*/
22+
private String token;
23+
24+
/**
25+
* Name of the List.
26+
*/
27+
private String name;
28+
29+
/**
30+
* A rich text description of the List. (Optional)
31+
*/
32+
private List<RichTextBlock> descriptionBlocks;
33+
34+
/**
35+
* Column definition for the List. (Optional)
36+
*/
37+
private List<Map<String, Object>> schema;
38+
39+
/**
40+
* ID of the List to copy. (Optional)
41+
*/
42+
private String copyFromListId;
43+
44+
/**
45+
* Boolean indicating whether to include records when a List is copied. (Optional)
46+
*/
47+
private Boolean includeCopiedListRecords;
48+
49+
/**
50+
* Boolean indicating whether the List should be used to track todo tasks. (Optional)
51+
*/
52+
private Boolean todoMode;
53+
54+
}

0 commit comments

Comments
 (0)