slack-ruby-client 0.17.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +65 -31
- data/.travis.yml +1 -0
- data/CHANGELOG.md +10 -0
- data/CONTRIBUTING.md +3 -3
- data/README.md +5 -5
- data/RELEASING.md +1 -1
- data/UPGRADING.md +42 -0
- data/bin/commands/admin_apps.rb +11 -0
- data/bin/commands/admin_apps_requests.rb +1 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_conversations.rb +10 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +1 -1
- data/bin/commands/admin_users.rb +1 -0
- data/bin/commands/admin_users_session.rb +40 -0
- data/bin/commands/apps_manifest.rb +51 -0
- data/bin/commands/chat.rb +9 -6
- data/bin/commands/conversations.rb +59 -2
- data/bin/commands/dnd.rb +1 -1
- data/bin/commands/files.rb +2 -1
- data/bin/commands/oauth.rb +0 -13
- data/bin/commands/oauth_v2.rb +13 -1
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +2 -2
- data/bin/commands/reminders.rb +6 -0
- data/bin/commands/rtm.rb +2 -2
- data/bin/commands/search.rb +2 -1
- data/bin/commands/stars.rb +7 -6
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +1 -1
- data/bin/commands/users.rb +1 -1
- data/bin/commands/views.rb +1 -1
- data/bin/commands.rb +6 -8
- data/lib/slack/config.rb +1 -2
- data/lib/slack/events/request.rb +3 -1
- data/lib/slack/real_time/client.rb +4 -5
- data/lib/slack/real_time/concurrency/async.rb +6 -8
- data/lib/slack/real_time/socket.rb +1 -2
- data/lib/slack/real_time/stores/base.rb +1 -6
- data/lib/slack/real_time/stores/starter.rb +6 -3
- data/lib/slack/real_time/stores/store.rb +5 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +3 -3
- data/lib/slack/web/api/endpoints/admin_apps.rb +21 -5
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +4 -2
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +6 -6
- data/lib/slack/web/api/endpoints/admin_conversations.rb +38 -24
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
- data/lib/slack/web/api/endpoints/admin_emoji.rb +9 -9
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +7 -7
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +3 -3
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_teams.rb +6 -6
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +5 -5
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +10 -10
- data/lib/slack/web/api/endpoints/admin_users.rb +20 -18
- data/lib/slack/web/api/endpoints/admin_users_session.rb +65 -9
- data/lib/slack/web/api/endpoints/api.rb +1 -1
- data/lib/slack/web/api/endpoints/apps.rb +2 -2
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +3 -3
- data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
- data/lib/slack/web/api/endpoints/auth.rb +1 -1
- data/lib/slack/web/api/endpoints/auth_teams.rb +3 -3
- data/lib/slack/web/api/endpoints/bots.rb +2 -2
- data/lib/slack/web/api/endpoints/calls.rb +15 -15
- data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
- data/lib/slack/web/api/endpoints/chat.rb +60 -54
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -3
- data/lib/slack/web/api/endpoints/conversations.rb +115 -25
- data/lib/slack/web/api/endpoints/dialog.rb +2 -2
- data/lib/slack/web/api/endpoints/dnd.rb +4 -5
- data/lib/slack/web/api/endpoints/files.rb +16 -14
- data/lib/slack/web/api/endpoints/files_comments.rb +1 -1
- data/lib/slack/web/api/endpoints/files_remote.rb +20 -20
- data/lib/slack/web/api/endpoints/migration.rb +3 -3
- data/lib/slack/web/api/endpoints/oauth.rb +5 -27
- data/lib/slack/web/api/endpoints/oauth_v2.rb +24 -6
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +4 -4
- data/lib/slack/web/api/endpoints/reactions.rb +12 -12
- data/lib/slack/web/api/endpoints/reminders.rb +17 -5
- data/lib/slack/web/api/endpoints/rtm.rb +10 -10
- data/lib/slack/web/api/endpoints/search.rb +24 -16
- data/lib/slack/web/api/endpoints/stars.rb +11 -9
- data/lib/slack/web/api/endpoints/team.rb +8 -8
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +19 -19
- data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -7
- data/lib/slack/web/api/endpoints/users.rb +16 -16
- data/lib/slack/web/api/endpoints/users_profile.rb +4 -4
- data/lib/slack/web/api/endpoints/views.rb +12 -12
- data/lib/slack/web/api/endpoints/workflows.rb +9 -9
- data/lib/slack/web/api/endpoints.rb +12 -18
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -4
- data/lib/slack/web/api/errors.rb +200 -8
- data/lib/slack/web/api/mixins.rb +0 -2
- data/lib/slack/web/api/patches/chat.1.patch +1 -2
- data/lib/slack/web/api/templates/endpoints.erb +0 -2
- data/lib/slack/web/faraday/request.rb +2 -1
- data/lib/slack/web/faraday/response/raise_error.rb +1 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +2 -2
- data/lib/slack/web/pagination/cursor.rb +1 -5
- data/lib/slack-ruby-client.rb +1 -1
- data/slack-ruby-client.gemspec +2 -3
- data/spec/fixtures/slack/web/429_error.yml +50 -54
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +133 -9
- data/spec/fixtures/slack/web/conversations_setTopic.yml +42 -27
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +89 -59
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +131 -86
- data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
- data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +49 -42
- data/spec/slack/real_time/client_spec.rb +17 -21
- data/spec/slack/real_time/event_handlers/bot_spec.rb +1 -1
- data/spec/slack/real_time/event_handlers/channel_spec.rb +1 -1
- data/spec/slack/real_time/event_handlers/im_spec.rb +5 -5
- data/spec/slack/real_time/event_handlers/user_spec.rb +2 -2
- data/spec/slack/slack_spec.rb +3 -1
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +14 -9
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +1 -1
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +22 -2
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +8 -8
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
- data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +4 -6
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +1 -1
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -5
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +6 -3
- data/spec/slack/web/api/endpoints/{im_spec.rb → openid_connect_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/{mpim_spec.rb → team_billing_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → team_preferences_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
- data/spec/slack/web/api/error_spec.rb +5 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +21 -26
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +1 -1
- data/spec/slack/web/api/pagination/cursor_spec.rb +1 -3
- data/spec/slack/web/client_spec.rb +7 -6
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +1 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/support/real_time/connected_client.rb +1 -7
- data/spec/support/vcr.rb +33 -2
- metadata +28 -144
- data/lib/slack/web/api/errors/internal_error.rb +0 -14
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/channels.id.rb +0 -25
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -25
- data/spec/fixtures/slack/web/503_error.yml +0 -14
- data/spec/fixtures/slack/web/channels_info.yml +0 -139
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +0 -8
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -16
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -19
- data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -109
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -43
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -43
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module TeamPreferences
|
9
|
+
#
|
10
|
+
# Retrieve a list of a workspace's team preferences.
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/team.preferences.list
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.preferences/team.preferences.list.json
|
14
|
+
def team_preferences_list(options = {})
|
15
|
+
post('team.preferences.list', options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -9,7 +9,7 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# Retrieve a team's profile.
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [string] :visibility
|
13
13
|
# Filter by visibility.
|
14
14
|
# @see https://api.slack.com/methods/team.profile.get
|
15
15
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.profile/team.profile.get.json
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module ToolingTokens
|
9
|
+
#
|
10
|
+
# Exchanges a refresh token for a new app configuration token.
|
11
|
+
#
|
12
|
+
# @option options [string] :refresh_token
|
13
|
+
# The xoxe refresh token that was issued along with the old app configuration token.
|
14
|
+
# @see https://api.slack.com/methods/tooling.tokens.rotate
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/tooling.tokens/tooling.tokens.rotate.json
|
16
|
+
def tooling_tokens_rotate(options = {})
|
17
|
+
throw ArgumentError.new('Required arguments :refresh_token missing') if options[:refresh_token].nil?
|
18
|
+
post('tooling.tokens.rotate', options)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -9,17 +9,17 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# Create a User Group
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [string] :name
|
13
13
|
# A name for the User Group. Must be unique among User Groups.
|
14
|
-
# @option options [
|
14
|
+
# @option options [array] :channels
|
15
15
|
# A comma separated string of encoded channel IDs for which the User Group uses as a default.
|
16
|
-
# @option options [
|
16
|
+
# @option options [string] :description
|
17
17
|
# A short description of the User Group.
|
18
|
-
# @option options [
|
18
|
+
# @option options [string] :handle
|
19
19
|
# A mention handle. Must be unique among channels, users and User Groups.
|
20
|
-
# @option options [
|
20
|
+
# @option options [boolean] :include_count
|
21
21
|
# Include the number of users in each User Group.
|
22
|
-
# @option options [
|
22
|
+
# @option options [string] :team_id
|
23
23
|
# Encoded team id where the user group has to be created, required if org token is used.
|
24
24
|
# @see https://api.slack.com/methods/usergroups.create
|
25
25
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.create.json
|
@@ -33,7 +33,7 @@ module Slack
|
|
33
33
|
#
|
34
34
|
# @option options [Object] :usergroup
|
35
35
|
# The encoded ID of the User Group to disable.
|
36
|
-
# @option options [
|
36
|
+
# @option options [boolean] :include_count
|
37
37
|
# Include the number of users in the User Group.
|
38
38
|
# @option options [Object] :team_id
|
39
39
|
# Encoded team id where the user group is, required if org token is used.
|
@@ -47,11 +47,11 @@ module Slack
|
|
47
47
|
#
|
48
48
|
# Enable a User Group
|
49
49
|
#
|
50
|
-
# @option options [
|
50
|
+
# @option options [string] :usergroup
|
51
51
|
# The encoded ID of the User Group to enable.
|
52
|
-
# @option options [
|
52
|
+
# @option options [boolean] :include_count
|
53
53
|
# Include the number of users in the User Group.
|
54
|
-
# @option options [
|
54
|
+
# @option options [string] :team_id
|
55
55
|
# Encoded team id where the user group is, required if org token is used.
|
56
56
|
# @see https://api.slack.com/methods/usergroups.enable
|
57
57
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.enable.json
|
@@ -63,13 +63,13 @@ module Slack
|
|
63
63
|
#
|
64
64
|
# List all User Groups for a team
|
65
65
|
#
|
66
|
-
# @option options [
|
66
|
+
# @option options [boolean] :include_count
|
67
67
|
# Include the number of users in each User Group.
|
68
|
-
# @option options [
|
68
|
+
# @option options [boolean] :include_disabled
|
69
69
|
# Include disabled User Groups.
|
70
|
-
# @option options [
|
70
|
+
# @option options [boolean] :include_users
|
71
71
|
# Include the list of users for each User Group.
|
72
|
-
# @option options [
|
72
|
+
# @option options [string] :team_id
|
73
73
|
# encoded team id to list user groups in, required if org token is used.
|
74
74
|
# @see https://api.slack.com/methods/usergroups.list
|
75
75
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.list.json
|
@@ -82,15 +82,15 @@ module Slack
|
|
82
82
|
#
|
83
83
|
# @option options [Object] :usergroup
|
84
84
|
# The encoded ID of the User Group to update.
|
85
|
-
# @option options [
|
85
|
+
# @option options [array] :channels
|
86
86
|
# A comma separated string of encoded channel IDs for which the User Group uses as a default.
|
87
|
-
# @option options [
|
87
|
+
# @option options [string] :description
|
88
88
|
# A short description of the User Group.
|
89
|
-
# @option options [
|
89
|
+
# @option options [string] :handle
|
90
90
|
# A mention handle. Must be unique among channels, users and User Groups.
|
91
|
-
# @option options [
|
91
|
+
# @option options [boolean] :include_count
|
92
92
|
# Include the number of users in the User Group.
|
93
|
-
# @option options [
|
93
|
+
# @option options [string] :name
|
94
94
|
# A name for the User Group. Must be unique among User Groups.
|
95
95
|
# @option options [Object] :team_id
|
96
96
|
# encoded team id where the user group exists, required if org token is used.
|
@@ -9,11 +9,11 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# List all users in a User Group
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [string] :usergroup
|
13
13
|
# The encoded ID of the User Group to update.
|
14
|
-
# @option options [
|
14
|
+
# @option options [boolean] :include_disabled
|
15
15
|
# Allow results that involve disabled User Groups.
|
16
|
-
# @option options [
|
16
|
+
# @option options [string] :team_id
|
17
17
|
# encoded team id where the user group exists, required if org token is used.
|
18
18
|
# @see https://api.slack.com/methods/usergroups.users.list
|
19
19
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.list.json
|
@@ -25,13 +25,13 @@ module Slack
|
|
25
25
|
#
|
26
26
|
# Update the list of users for a User Group
|
27
27
|
#
|
28
|
-
# @option options [
|
28
|
+
# @option options [string] :usergroup
|
29
29
|
# The encoded ID of the User Group to update.
|
30
|
-
# @option options [
|
30
|
+
# @option options [array] :users
|
31
31
|
# A comma separated string of encoded user IDs that represent the entire list of users for the User Group.
|
32
|
-
# @option options [
|
32
|
+
# @option options [boolean] :include_count
|
33
33
|
# Include the number of users in the User Group.
|
34
|
-
# @option options [
|
34
|
+
# @option options [string] :team_id
|
35
35
|
# encoded team id where the user group exists, required if org token is used.
|
36
36
|
# @see https://api.slack.com/methods/usergroups.users.update
|
37
37
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.update.json
|
@@ -9,15 +9,15 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# List conversations the calling user may access.
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [string] :cursor
|
13
13
|
# Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
|
14
|
-
# @option options [
|
14
|
+
# @option options [boolean] :exclude_archived
|
15
15
|
# Set to true to exclude archived channels from the list.
|
16
|
-
# @option options [
|
16
|
+
# @option options [number] :limit
|
17
17
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached. Must be an integer no larger than 1000.
|
18
|
-
# @option options [
|
18
|
+
# @option options [string] :team_id
|
19
19
|
# encoded team id to list conversations in, required if org token is used.
|
20
|
-
# @option options [
|
20
|
+
# @option options [string] :types
|
21
21
|
# Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
|
22
22
|
# @option options [user] :user
|
23
23
|
# Browse conversations by a specific user ID's membership. Non-public channels are restricted to those where the calling user shares membership.
|
@@ -69,7 +69,7 @@ module Slack
|
|
69
69
|
#
|
70
70
|
# @option options [user] :user
|
71
71
|
# User to get info on.
|
72
|
-
# @option options [
|
72
|
+
# @option options [boolean] :include_locale
|
73
73
|
# Set this to true to receive the locale for this user. Defaults to false.
|
74
74
|
# @see https://api.slack.com/methods/users.info
|
75
75
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.info.json
|
@@ -82,13 +82,13 @@ module Slack
|
|
82
82
|
#
|
83
83
|
# Lists all users in a Slack team.
|
84
84
|
#
|
85
|
-
# @option options [
|
85
|
+
# @option options [string] :cursor
|
86
86
|
# Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
|
87
|
-
# @option options [
|
87
|
+
# @option options [boolean] :include_locale
|
88
88
|
# Set this to true to receive the locale for users. Defaults to false.
|
89
|
-
# @option options [
|
89
|
+
# @option options [number] :limit
|
90
90
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. Providing no limit value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience limit_required or HTTP 500 errors.
|
91
|
-
# @option options [
|
91
|
+
# @option options [string] :team_id
|
92
92
|
# encoded team id to list users in, required if org token is used.
|
93
93
|
# @see https://api.slack.com/methods/users.list
|
94
94
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
|
@@ -105,7 +105,7 @@ module Slack
|
|
105
105
|
#
|
106
106
|
# Find a user with an email address.
|
107
107
|
#
|
108
|
-
# @option options [
|
108
|
+
# @option options [string] :email
|
109
109
|
# An email address belonging to a user in the workspace.
|
110
110
|
# @see https://api.slack.com/methods/users.lookupByEmail
|
111
111
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.lookupByEmail.json
|
@@ -126,13 +126,13 @@ module Slack
|
|
126
126
|
#
|
127
127
|
# Set the user profile photo
|
128
128
|
#
|
129
|
-
# @option options [
|
129
|
+
# @option options [string] :crop_w
|
130
130
|
# Width/height of crop box (always square).
|
131
|
-
# @option options [
|
131
|
+
# @option options [string] :crop_x
|
132
132
|
# X coordinate of top-left corner of crop box.
|
133
|
-
# @option options [
|
133
|
+
# @option options [string] :crop_y
|
134
134
|
# Y coordinate of top-left corner of crop box.
|
135
|
-
# @option options [
|
135
|
+
# @option options [string] :image
|
136
136
|
# File contents via multipart/form-data.
|
137
137
|
# @see https://api.slack.com/methods/users.setPhoto
|
138
138
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json
|
@@ -143,7 +143,7 @@ module Slack
|
|
143
143
|
#
|
144
144
|
# Manually sets user presence.
|
145
145
|
#
|
146
|
-
# @option options [
|
146
|
+
# @option options [string] :presence
|
147
147
|
# Either auto or away.
|
148
148
|
# @see https://api.slack.com/methods/users.setPresence
|
149
149
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPresence.json
|
@@ -9,7 +9,7 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# Retrieve a user's profile information, including their custom status.
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [boolean] :include_labels
|
13
13
|
# Include labels for each ID in custom profile fields. Using this parameter will heavily rate-limit your requests and is not recommended.
|
14
14
|
# @option options [user] :user
|
15
15
|
# User to retrieve profile info for.
|
@@ -23,13 +23,13 @@ module Slack
|
|
23
23
|
#
|
24
24
|
# Set a user's profile information, including custom status.
|
25
25
|
#
|
26
|
-
# @option options [
|
26
|
+
# @option options [string] :name
|
27
27
|
# Name of a single key to set. Usable only if profile is not passed.
|
28
|
-
# @option options [
|
28
|
+
# @option options [string] :profile
|
29
29
|
# Collection of key:value pairs presented as a URL-encoded JSON hash. At most 50 fields may be set. Each field name is limited to 255 characters.
|
30
30
|
# @option options [user] :user
|
31
31
|
# ID of user to change. This argument may only be specified by team admins on paid teams.
|
32
|
-
# @option options [
|
32
|
+
# @option options [string] :value
|
33
33
|
# Value to set a single key to. Usable only if profile is not passed.
|
34
34
|
# @see https://api.slack.com/methods/users.profile.set
|
35
35
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users.profile/users.profile.set.json
|
@@ -9,9 +9,9 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# Open a view for a user.
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [string] :trigger_id
|
13
13
|
# Exchange a trigger to post to the user.
|
14
|
-
# @option options [
|
14
|
+
# @option options [view as string] :view
|
15
15
|
# A view payload. This must be a JSON-encoded string.
|
16
16
|
# @see https://api.slack.com/methods/views.open
|
17
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.open.json
|
@@ -29,11 +29,11 @@ module Slack
|
|
29
29
|
#
|
30
30
|
# Publish a static view for a User.
|
31
31
|
#
|
32
|
-
# @option options [
|
32
|
+
# @option options [string] :user_id
|
33
33
|
# id of the user you want publish a view to.
|
34
|
-
# @option options [
|
34
|
+
# @option options [view as string] :view
|
35
35
|
# A view payload. This must be a JSON-encoded string.
|
36
|
-
# @option options [
|
36
|
+
# @option options [string] :hash
|
37
37
|
# A string that represents view state to protect against possible race conditions.
|
38
38
|
# @see https://api.slack.com/methods/views.publish
|
39
39
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.publish.json
|
@@ -51,9 +51,9 @@ module Slack
|
|
51
51
|
#
|
52
52
|
# Push a view onto the stack of a root view.
|
53
53
|
#
|
54
|
-
# @option options [
|
54
|
+
# @option options [string] :trigger_id
|
55
55
|
# Exchange a trigger to post to the user.
|
56
|
-
# @option options [
|
56
|
+
# @option options [view as string] :view
|
57
57
|
# A view payload. This must be a JSON-encoded string.
|
58
58
|
# @see https://api.slack.com/methods/views.push
|
59
59
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.push.json
|
@@ -71,14 +71,14 @@ module Slack
|
|
71
71
|
#
|
72
72
|
# Update an existing view.
|
73
73
|
#
|
74
|
-
# @option options [
|
74
|
+
# @option options [view as string] :view
|
75
75
|
# A view object. This must be a JSON-encoded string.
|
76
|
-
# @option options [
|
76
|
+
# @option options [string] :external_id
|
77
77
|
# A unique identifier of the view set by the developer. Must be unique for all views on a team. Max length of 255 characters. Either view_id or external_id is required.
|
78
|
-
# @option options [
|
79
|
-
# A string that represents view state to protect against possible race conditions.
|
80
|
-
# @option options [Object] :view_id
|
78
|
+
# @option options [string] :view_id
|
81
79
|
# A unique identifier of the view to be updated. Either view_id or external_id is required.
|
80
|
+
# @option options [string] :hash
|
81
|
+
# A string that represents view state to protect against possible race conditions.
|
82
82
|
# @see https://api.slack.com/methods/views.update
|
83
83
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.update.json
|
84
84
|
def views_update(options = {})
|
@@ -9,9 +9,9 @@ module Slack
|
|
9
9
|
#
|
10
10
|
# Indicate that an app's step in a workflow completed execution.
|
11
11
|
#
|
12
|
-
# @option options [
|
12
|
+
# @option options [string] :workflow_step_execute_id
|
13
13
|
# Context identifier that maps to the correct workflow step execution.
|
14
|
-
# @option options [
|
14
|
+
# @option options [object] :outputs
|
15
15
|
# Key-value object of outputs from your step. Keys of this object reflect the configured key properties of your outputs array from your workflow_step object.
|
16
16
|
# @see https://api.slack.com/methods/workflows.stepCompleted
|
17
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepCompleted.json
|
@@ -23,9 +23,9 @@ module Slack
|
|
23
23
|
#
|
24
24
|
# Indicate that an app's step in a workflow failed to execute.
|
25
25
|
#
|
26
|
-
# @option options [
|
26
|
+
# @option options [object] :error
|
27
27
|
# A JSON-based object with a message property that should contain a human readable error message.
|
28
|
-
# @option options [
|
28
|
+
# @option options [string] :workflow_step_execute_id
|
29
29
|
# Context identifier that maps to the correct workflow step execution.
|
30
30
|
# @see https://api.slack.com/methods/workflows.stepFailed
|
31
31
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepFailed.json
|
@@ -38,15 +38,15 @@ module Slack
|
|
38
38
|
#
|
39
39
|
# Update the configuration for a workflow step.
|
40
40
|
#
|
41
|
-
# @option options [
|
41
|
+
# @option options [string] :workflow_step_edit_id
|
42
42
|
# A context identifier provided with view_submission payloads used to call back to workflows.updateStep.
|
43
|
-
# @option options [
|
43
|
+
# @option options [object] :inputs
|
44
44
|
# A JSON key-value map of inputs required from a user during configuration. This is the data your app expects to receive when the workflow step starts. Please note: the embedded variable format is set and replaced by the workflow system. You cannot create custom variables that will be replaced at runtime. Read more about variables in workflow steps here.
|
45
|
-
# @option options [
|
45
|
+
# @option options [array] :outputs
|
46
46
|
# An JSON array of output objects used during step execution. This is the data your app agrees to provide when your workflow step was executed.
|
47
|
-
# @option options [
|
47
|
+
# @option options [string] :step_image_url
|
48
48
|
# An optional field that can be used to override app image that is shown in the Workflow Builder.
|
49
|
-
# @option options [
|
49
|
+
# @option options [string] :step_name
|
50
50
|
# An optional field that can be used to override the step name that is shown in the Workflow Builder.
|
51
51
|
# @see https://api.slack.com/methods/workflows.updateStep
|
52
52
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.updateStep.json
|
@@ -6,6 +6,7 @@ require_relative 'endpoints/admin_apps'
|
|
6
6
|
require_relative 'endpoints/admin_apps_approved'
|
7
7
|
require_relative 'endpoints/admin_apps_requests'
|
8
8
|
require_relative 'endpoints/admin_apps_restricted'
|
9
|
+
require_relative 'endpoints/admin_auth_policy'
|
9
10
|
require_relative 'endpoints/admin_barriers'
|
10
11
|
require_relative 'endpoints/admin_conversations'
|
11
12
|
require_relative 'endpoints/admin_conversations_ekm'
|
@@ -25,16 +26,12 @@ require_relative 'endpoints/api'
|
|
25
26
|
require_relative 'endpoints/apps'
|
26
27
|
require_relative 'endpoints/apps_connections'
|
27
28
|
require_relative 'endpoints/apps_event_authorizations'
|
28
|
-
require_relative 'endpoints/
|
29
|
-
require_relative 'endpoints/apps_permissions_resources'
|
30
|
-
require_relative 'endpoints/apps_permissions_scopes'
|
31
|
-
require_relative 'endpoints/apps_permissions_users'
|
29
|
+
require_relative 'endpoints/apps_manifest'
|
32
30
|
require_relative 'endpoints/auth'
|
33
31
|
require_relative 'endpoints/auth_teams'
|
34
32
|
require_relative 'endpoints/bots'
|
35
33
|
require_relative 'endpoints/calls'
|
36
34
|
require_relative 'endpoints/calls_participants'
|
37
|
-
require_relative 'endpoints/channels'
|
38
35
|
require_relative 'endpoints/chat'
|
39
36
|
require_relative 'endpoints/chat_scheduledMessages'
|
40
37
|
require_relative 'endpoints/conversations'
|
@@ -44,12 +41,10 @@ require_relative 'endpoints/emoji'
|
|
44
41
|
require_relative 'endpoints/files'
|
45
42
|
require_relative 'endpoints/files_comments'
|
46
43
|
require_relative 'endpoints/files_remote'
|
47
|
-
require_relative 'endpoints/groups'
|
48
|
-
require_relative 'endpoints/im'
|
49
44
|
require_relative 'endpoints/migration'
|
50
|
-
require_relative 'endpoints/mpim'
|
51
45
|
require_relative 'endpoints/oauth'
|
52
46
|
require_relative 'endpoints/oauth_v2'
|
47
|
+
require_relative 'endpoints/openid_connect'
|
53
48
|
require_relative 'endpoints/pins'
|
54
49
|
require_relative 'endpoints/reactions'
|
55
50
|
require_relative 'endpoints/reminders'
|
@@ -57,7 +52,10 @@ require_relative 'endpoints/rtm'
|
|
57
52
|
require_relative 'endpoints/search'
|
58
53
|
require_relative 'endpoints/stars'
|
59
54
|
require_relative 'endpoints/team'
|
55
|
+
require_relative 'endpoints/team_billing'
|
56
|
+
require_relative 'endpoints/team_preferences'
|
60
57
|
require_relative 'endpoints/team_profile'
|
58
|
+
require_relative 'endpoints/tooling_tokens'
|
61
59
|
require_relative 'endpoints/usergroups'
|
62
60
|
require_relative 'endpoints/usergroups_users'
|
63
61
|
require_relative 'endpoints/users'
|
@@ -72,15 +70,14 @@ module Slack
|
|
72
70
|
module Api
|
73
71
|
module Endpoints
|
74
72
|
include Slack::Web::Api::Mixins::Conversations
|
75
|
-
include Slack::Web::Api::Mixins::Channels
|
76
73
|
include Slack::Web::Api::Mixins::Users
|
77
|
-
include Slack::Web::Api::Mixins::Groups
|
78
74
|
|
79
75
|
include AdminAnalytics
|
80
76
|
include AdminApps
|
81
77
|
include AdminAppsApproved
|
82
78
|
include AdminAppsRequests
|
83
79
|
include AdminAppsRestricted
|
80
|
+
include AdminAuthPolicy
|
84
81
|
include AdminBarriers
|
85
82
|
include AdminConversations
|
86
83
|
include AdminConversationsEkm
|
@@ -100,16 +97,12 @@ module Slack
|
|
100
97
|
include Apps
|
101
98
|
include AppsConnections
|
102
99
|
include AppsEventAuthorizations
|
103
|
-
include
|
104
|
-
include AppsPermissionsResources
|
105
|
-
include AppsPermissionsScopes
|
106
|
-
include AppsPermissionsUsers
|
100
|
+
include AppsManifest
|
107
101
|
include Auth
|
108
102
|
include AuthTeams
|
109
103
|
include Bots
|
110
104
|
include Calls
|
111
105
|
include CallsParticipants
|
112
|
-
include Channels
|
113
106
|
include Chat
|
114
107
|
include ChatScheduledmessages
|
115
108
|
include Conversations
|
@@ -119,12 +112,10 @@ module Slack
|
|
119
112
|
include Files
|
120
113
|
include FilesComments
|
121
114
|
include FilesRemote
|
122
|
-
include Groups
|
123
|
-
include Im
|
124
115
|
include Migration
|
125
|
-
include Mpim
|
126
116
|
include Oauth
|
127
117
|
include OauthV2
|
118
|
+
include OpenidConnect
|
128
119
|
include Pins
|
129
120
|
include Reactions
|
130
121
|
include Reminders
|
@@ -132,7 +123,10 @@ module Slack
|
|
132
123
|
include Search
|
133
124
|
include Stars
|
134
125
|
include Team
|
126
|
+
include TeamBilling
|
127
|
+
include TeamPreferences
|
135
128
|
include TeamProfile
|
129
|
+
include ToolingTokens
|
136
130
|
include Usergroups
|
137
131
|
include UsergroupsUsers
|
138
132
|
include Users
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Slack
|
3
|
+
module Web
|
4
|
+
module Api
|
5
|
+
module Errors
|
6
|
+
class ServerError < ::Faraday::Error
|
7
|
+
attr_reader :response
|
8
|
+
|
9
|
+
def initialize(message, response)
|
10
|
+
@response = response
|
11
|
+
super message
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class ParsingError < ServerError
|
16
|
+
def initialize(response)
|
17
|
+
super('parsing_error', response)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class HttpRequestError < ServerError; end
|
22
|
+
|
23
|
+
class TimeoutError < HttpRequestError
|
24
|
+
def initialize(response)
|
25
|
+
super('timeout_error', response)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class UnavailableError < HttpRequestError
|
30
|
+
def initialize(response)
|
31
|
+
super('unavailable_error', response)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|