slack-ruby-client 0.17.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.rubocop_todo.yml +65 -31
  4. data/.travis.yml +1 -0
  5. data/CHANGELOG.md +10 -0
  6. data/CONTRIBUTING.md +3 -3
  7. data/README.md +5 -5
  8. data/RELEASING.md +1 -1
  9. data/UPGRADING.md +42 -0
  10. data/bin/commands/admin_apps.rb +11 -0
  11. data/bin/commands/admin_apps_requests.rb +1 -0
  12. data/bin/commands/admin_auth_policy.rb +39 -0
  13. data/bin/commands/admin_conversations.rb +10 -0
  14. data/bin/commands/admin_conversations_restrictAccess.rb +1 -1
  15. data/bin/commands/admin_users.rb +1 -0
  16. data/bin/commands/admin_users_session.rb +40 -0
  17. data/bin/commands/apps_manifest.rb +51 -0
  18. data/bin/commands/chat.rb +9 -6
  19. data/bin/commands/conversations.rb +59 -2
  20. data/bin/commands/dnd.rb +1 -1
  21. data/bin/commands/files.rb +2 -1
  22. data/bin/commands/oauth.rb +0 -13
  23. data/bin/commands/oauth_v2.rb +13 -1
  24. data/bin/commands/openid_connect.rb +27 -0
  25. data/bin/commands/pins.rb +2 -2
  26. data/bin/commands/reminders.rb +6 -0
  27. data/bin/commands/rtm.rb +2 -2
  28. data/bin/commands/search.rb +2 -1
  29. data/bin/commands/stars.rb +7 -6
  30. data/bin/commands/team_billing.rb +13 -0
  31. data/bin/commands/team_preferences.rb +13 -0
  32. data/bin/commands/tooling_tokens.rb +14 -0
  33. data/bin/commands/usergroups.rb +1 -1
  34. data/bin/commands/users.rb +1 -1
  35. data/bin/commands/views.rb +1 -1
  36. data/bin/commands.rb +6 -8
  37. data/lib/slack/config.rb +1 -2
  38. data/lib/slack/events/request.rb +3 -1
  39. data/lib/slack/real_time/client.rb +4 -5
  40. data/lib/slack/real_time/concurrency/async.rb +6 -8
  41. data/lib/slack/real_time/socket.rb +1 -2
  42. data/lib/slack/real_time/stores/base.rb +1 -6
  43. data/lib/slack/real_time/stores/starter.rb +6 -3
  44. data/lib/slack/real_time/stores/store.rb +5 -0
  45. data/lib/slack/version.rb +1 -1
  46. data/lib/slack/web/api/endpoints/admin_analytics.rb +3 -3
  47. data/lib/slack/web/api/endpoints/admin_apps.rb +21 -5
  48. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +2 -2
  49. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +4 -2
  50. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +2 -2
  51. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  52. data/lib/slack/web/api/endpoints/admin_barriers.rb +6 -6
  53. data/lib/slack/web/api/endpoints/admin_conversations.rb +38 -24
  54. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  55. data/lib/slack/web/api/endpoints/admin_emoji.rb +9 -9
  56. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +7 -7
  57. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +3 -3
  58. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  59. data/lib/slack/web/api/endpoints/admin_teams.rb +6 -6
  60. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +2 -2
  61. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -2
  62. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +5 -5
  63. data/lib/slack/web/api/endpoints/admin_usergroups.rb +10 -10
  64. data/lib/slack/web/api/endpoints/admin_users.rb +20 -18
  65. data/lib/slack/web/api/endpoints/admin_users_session.rb +65 -9
  66. data/lib/slack/web/api/endpoints/api.rb +1 -1
  67. data/lib/slack/web/api/endpoints/apps.rb +2 -2
  68. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +3 -3
  69. data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
  70. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  71. data/lib/slack/web/api/endpoints/auth_teams.rb +3 -3
  72. data/lib/slack/web/api/endpoints/bots.rb +2 -2
  73. data/lib/slack/web/api/endpoints/calls.rb +15 -15
  74. data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
  75. data/lib/slack/web/api/endpoints/chat.rb +60 -54
  76. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -3
  77. data/lib/slack/web/api/endpoints/conversations.rb +115 -25
  78. data/lib/slack/web/api/endpoints/dialog.rb +2 -2
  79. data/lib/slack/web/api/endpoints/dnd.rb +4 -5
  80. data/lib/slack/web/api/endpoints/files.rb +16 -14
  81. data/lib/slack/web/api/endpoints/files_comments.rb +1 -1
  82. data/lib/slack/web/api/endpoints/files_remote.rb +20 -20
  83. data/lib/slack/web/api/endpoints/migration.rb +3 -3
  84. data/lib/slack/web/api/endpoints/oauth.rb +5 -27
  85. data/lib/slack/web/api/endpoints/oauth_v2.rb +24 -6
  86. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  87. data/lib/slack/web/api/endpoints/pins.rb +4 -4
  88. data/lib/slack/web/api/endpoints/reactions.rb +12 -12
  89. data/lib/slack/web/api/endpoints/reminders.rb +17 -5
  90. data/lib/slack/web/api/endpoints/rtm.rb +10 -10
  91. data/lib/slack/web/api/endpoints/search.rb +24 -16
  92. data/lib/slack/web/api/endpoints/stars.rb +11 -9
  93. data/lib/slack/web/api/endpoints/team.rb +8 -8
  94. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  95. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  96. data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
  97. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  98. data/lib/slack/web/api/endpoints/usergroups.rb +19 -19
  99. data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -7
  100. data/lib/slack/web/api/endpoints/users.rb +16 -16
  101. data/lib/slack/web/api/endpoints/users_profile.rb +4 -4
  102. data/lib/slack/web/api/endpoints/views.rb +12 -12
  103. data/lib/slack/web/api/endpoints/workflows.rb +9 -9
  104. data/lib/slack/web/api/endpoints.rb +12 -18
  105. data/lib/slack/web/api/errors/server_error.rb +37 -0
  106. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -4
  107. data/lib/slack/web/api/errors.rb +200 -8
  108. data/lib/slack/web/api/mixins.rb +0 -2
  109. data/lib/slack/web/api/patches/chat.1.patch +1 -2
  110. data/lib/slack/web/api/templates/endpoints.erb +0 -2
  111. data/lib/slack/web/faraday/request.rb +2 -1
  112. data/lib/slack/web/faraday/response/raise_error.rb +1 -1
  113. data/lib/slack/web/faraday/response/wrap_error.rb +2 -2
  114. data/lib/slack/web/pagination/cursor.rb +1 -5
  115. data/lib/slack-ruby-client.rb +1 -1
  116. data/slack-ruby-client.gemspec +2 -3
  117. data/spec/fixtures/slack/web/429_error.yml +50 -54
  118. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  119. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  120. data/spec/fixtures/slack/web/conversations_info.yml +133 -9
  121. data/spec/fixtures/slack/web/conversations_setTopic.yml +42 -27
  122. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +89 -59
  123. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +131 -86
  124. data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
  125. data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
  126. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  127. data/spec/fixtures/slack/web/users_info.yml +153 -69
  128. data/spec/fixtures/slack/web/users_list.yml +102 -41
  129. data/spec/fixtures/slack/web/views_open_error.yml +49 -42
  130. data/spec/slack/real_time/client_spec.rb +17 -21
  131. data/spec/slack/real_time/event_handlers/bot_spec.rb +1 -1
  132. data/spec/slack/real_time/event_handlers/channel_spec.rb +1 -1
  133. data/spec/slack/real_time/event_handlers/im_spec.rb +5 -5
  134. data/spec/slack/real_time/event_handlers/user_spec.rb +2 -2
  135. data/spec/slack/slack_spec.rb +3 -1
  136. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  137. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  138. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +14 -9
  139. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +1 -1
  140. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  141. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +22 -2
  142. data/spec/slack/web/api/endpoints/admin_users_spec.rb +8 -8
  143. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  144. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  145. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  146. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  147. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +4 -6
  148. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +1 -1
  149. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +2 -2
  150. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -5
  151. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  152. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  153. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
  154. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +6 -3
  155. data/spec/slack/web/api/endpoints/{im_spec.rb → openid_connect_spec.rb} +1 -1
  156. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  157. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  158. data/spec/slack/web/api/endpoints/{mpim_spec.rb → team_billing_spec.rb} +1 -1
  159. data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → team_preferences_spec.rb} +1 -1
  160. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  161. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  162. data/spec/slack/web/api/error_spec.rb +5 -7
  163. data/spec/slack/web/api/errors/slack_error_spec.rb +21 -26
  164. data/spec/slack/web/api/mixins/conversations_list_spec.rb +1 -1
  165. data/spec/slack/web/api/pagination/cursor_spec.rb +1 -3
  166. data/spec/slack/web/client_spec.rb +7 -6
  167. data/spec/slack/web/faraday/request_spec.rb +80 -0
  168. data/spec/slack/web/faraday/response/raise_error_spec.rb +1 -0
  169. data/spec/spec_helper.rb +1 -1
  170. data/spec/support/real_time/connected_client.rb +1 -7
  171. data/spec/support/vcr.rb +33 -2
  172. metadata +28 -144
  173. data/lib/slack/web/api/errors/internal_error.rb +0 -14
  174. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  175. data/lib/slack/web/api/mixins/channels.id.rb +0 -25
  176. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  177. data/lib/slack/web/api/mixins/groups.id.rb +0 -25
  178. data/spec/fixtures/slack/web/503_error.yml +0 -14
  179. data/spec/fixtures/slack/web/channels_info.yml +0 -139
  180. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +0 -8
  181. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -16
  182. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -19
  183. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -109
  184. data/spec/slack/web/api/mixins/channels_spec.rb +0 -43
  185. data/spec/slack/web/api/mixins/groups_spec.rb +0 -43
@@ -9,11 +9,11 @@ module Slack
9
9
  #
10
10
  # Add up to one hundred default channels to an IDP group.
11
11
  #
12
- # @option options [Object] :channel_ids
12
+ # @option options [array] :channel_ids
13
13
  # Comma separated string of channel IDs.
14
- # @option options [Object] :usergroup_id
14
+ # @option options [string] :usergroup_id
15
15
  # ID of the IDP group to add default channels for.
16
- # @option options [Object] :team_id
16
+ # @option options [string] :team_id
17
17
  # The workspace to add default channels in.
18
18
  # @see https://api.slack.com/methods/admin.usergroups.addChannels
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addChannels.json
@@ -26,11 +26,11 @@ module Slack
26
26
  #
27
27
  # Associate one or more default workspaces with an organization-wide IDP group.
28
28
  #
29
- # @option options [Object] :team_ids
29
+ # @option options [array] :team_ids
30
30
  # A comma separated list of encoded team (workspace) IDs. Each workspace MUST belong to the organization associated with the token.
31
- # @option options [Object] :usergroup_id
31
+ # @option options [string] :usergroup_id
32
32
  # An encoded usergroup (IDP Group) ID.
33
- # @option options [Object] :auto_provision
33
+ # @option options [boolean] :auto_provision
34
34
  # When true, this method automatically creates new workspace accounts for the IDP group members.
35
35
  # @see https://api.slack.com/methods/admin.usergroups.addTeams
36
36
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addTeams.json
@@ -45,9 +45,9 @@ module Slack
45
45
  #
46
46
  # @option options [Object] :usergroup_id
47
47
  # ID of the IDP group to list default channels for.
48
- # @option options [Object] :include_num_members
48
+ # @option options [boolean] :include_num_members
49
49
  # Flag to include or exclude the count of members per channel.
50
- # @option options [Object] :team_id
50
+ # @option options [string] :team_id
51
51
  # ID of the the workspace.
52
52
  # @see https://api.slack.com/methods/admin.usergroups.listChannels
53
53
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.listChannels.json
@@ -59,9 +59,9 @@ module Slack
59
59
  #
60
60
  # Remove one or more default channels from an org-level IDP group (user group).
61
61
  #
62
- # @option options [Object] :channel_ids
62
+ # @option options [array] :channel_ids
63
63
  # Comma-separated string of channel IDs.
64
- # @option options [Object] :usergroup_id
64
+ # @option options [string] :usergroup_id
65
65
  # ID of the IDP Group.
66
66
  # @see https://api.slack.com/methods/admin.usergroups.removeChannels
67
67
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.removeChannels.json
@@ -13,11 +13,11 @@ module Slack
13
13
  # The ID (T1234) of the workspace.
14
14
  # @option options [Object] :user_id
15
15
  # The ID of the user to add to the workspace.
16
- # @option options [Object] :channel_ids
16
+ # @option options [string] :channel_ids
17
17
  # Comma separated values of channel IDs to add user in the new workspace.
18
- # @option options [Object] :is_restricted
18
+ # @option options [boolean] :is_restricted
19
19
  # True if user should be added to the workspace as a guest.
20
- # @option options [Object] :is_ultra_restricted
20
+ # @option options [boolean] :is_ultra_restricted
21
21
  # True if user should be added to the workspace as a single-channel guest.
22
22
  # @see https://api.slack.com/methods/admin.users.assign
23
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.assign.json
@@ -30,23 +30,25 @@ module Slack
30
30
  #
31
31
  # Invite a user to a workspace.
32
32
  #
33
- # @option options [Object] :channel_ids
33
+ # @option options [string] :channel_ids
34
34
  # A comma-separated list of channel_ids for this user to join. At least one channel is required.
35
- # @option options [Object] :email
35
+ # @option options [string] :email
36
36
  # The email address of the person to invite.
37
37
  # @option options [Object] :team_id
38
38
  # The ID (T1234) of the workspace.
39
- # @option options [Object] :custom_message
39
+ # @option options [string] :custom_message
40
40
  # An optional message to send to the user in the invite email.
41
- # @option options [Object] :guest_expiration_ts
41
+ # @option options [boolean] :email_password_policy_enabled
42
+ # Allow invited user to sign in via email and password. Only available for Enterprise Grid teams via admin invite.
43
+ # @option options [string] :guest_expiration_ts
42
44
  # Timestamp when guest account should be disabled. Only include this timestamp if you are inviting a guest user and you want their account to expire on a certain date.
43
- # @option options [Object] :is_restricted
45
+ # @option options [boolean] :is_restricted
44
46
  # Is this user a multi-channel guest user? (default: false).
45
- # @option options [Object] :is_ultra_restricted
47
+ # @option options [boolean] :is_ultra_restricted
46
48
  # Is this user a single channel guest user? (default: false).
47
- # @option options [Object] :real_name
49
+ # @option options [string] :real_name
48
50
  # Full name of the user.
49
- # @option options [Object] :resend
51
+ # @option options [boolean] :resend
50
52
  # Allow this invite to be resent in the future if a user has not signed up yet. (default: false).
51
53
  # @see https://api.slack.com/methods/admin.users.invite
52
54
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.invite.json
@@ -60,9 +62,9 @@ module Slack
60
62
  #
61
63
  # List users on a workspace
62
64
  #
63
- # @option options [Object] :cursor
65
+ # @option options [string] :cursor
64
66
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
65
- # @option options [Object] :limit
67
+ # @option options [integer] :limit
66
68
  # Limit for how many users to be retrieved per page.
67
69
  # @option options [Object] :team_id
68
70
  # The ID (T1234) of the workspace.
@@ -83,7 +85,7 @@ module Slack
83
85
  #
84
86
  # @option options [Object] :team_id
85
87
  # The ID (T1234) of the workspace.
86
- # @option options [Object] :user_id
88
+ # @option options [string] :user_id
87
89
  # The ID of the user to remove.
88
90
  # @see https://api.slack.com/methods/admin.users.remove
89
91
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.remove.json
@@ -98,7 +100,7 @@ module Slack
98
100
  #
99
101
  # @option options [Object] :team_id
100
102
  # The ID (T1234) of the workspace.
101
- # @option options [Object] :user_id
103
+ # @option options [string] :user_id
102
104
  # The ID of the user to designate as an admin.
103
105
  # @see https://api.slack.com/methods/admin.users.setAdmin
104
106
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setAdmin.json
@@ -111,9 +113,9 @@ module Slack
111
113
  #
112
114
  # Set an expiration for a guest user
113
115
  #
114
- # @option options [Object] :expiration_ts
116
+ # @option options [integer] :expiration_ts
115
117
  # Timestamp when guest account should be disabled.
116
- # @option options [Object] :user_id
118
+ # @option options [string] :user_id
117
119
  # The ID of the user to set an expiration for.
118
120
  # @option options [Object] :team_id
119
121
  # The ID (T1234) of the workspace.
@@ -145,7 +147,7 @@ module Slack
145
147
  #
146
148
  # @option options [Object] :team_id
147
149
  # The ID (T1234) of the workspace.
148
- # @option options [Object] :user_id
150
+ # @option options [string] :user_id
149
151
  # The ID of the user to designate as a regular user.
150
152
  # @see https://api.slack.com/methods/admin.users.setRegular
151
153
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setRegular.json
@@ -6,12 +6,36 @@ module Slack
6
6
  module Api
7
7
  module Endpoints
8
8
  module AdminUsersSession
9
+ #
10
+ # Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users.
11
+ #
12
+ # @option options [array] :user_ids
13
+ # The IDs of users you'd like to clear session settings for.
14
+ # @see https://api.slack.com/methods/admin.users.session.clearSettings
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.clearSettings.json
16
+ def admin_users_session_clearSettings(options = {})
17
+ throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
18
+ post('admin.users.session.clearSettings', options)
19
+ end
20
+
21
+ #
22
+ # Get user-specific session settings—the session duration and what happens when the client closes—given a list of users.
23
+ #
24
+ # @option options [array] :user_ids
25
+ # The IDs of users you'd like to fetch session settings for. Note: if a user does not have any active sessions, they will not be returned in the response.
26
+ # @see https://api.slack.com/methods/admin.users.session.getSettings
27
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.getSettings.json
28
+ def admin_users_session_getSettings(options = {})
29
+ throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
30
+ post('admin.users.session.getSettings', options)
31
+ end
32
+
9
33
  #
10
34
  # Revoke a single session for a user. The user will be forced to login to Slack.
11
35
  #
12
- # @option options [Object] :session_id
36
+ # @option options [integer] :session_id
13
37
  # ID of the session to invalidate.
14
- # @option options [Object] :team_id
38
+ # @option options [string] :team_id
15
39
  # ID of the workspace that the session belongs to.
16
40
  # @see https://api.slack.com/methods/admin.users.session.invalidate
17
41
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.invalidate.json
@@ -24,13 +48,13 @@ module Slack
24
48
  #
25
49
  # List active user sessions for an organization
26
50
  #
27
- # @option options [Object] :cursor
51
+ # @option options [string] :cursor
28
52
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
29
- # @option options [Object] :limit
53
+ # @option options [integer] :limit
30
54
  # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
31
- # @option options [Object] :team_id
55
+ # @option options [string] :team_id
32
56
  # The ID of the workspace you'd like active sessions for. If you pass a team_id, you'll need to pass a user_id as well.
33
- # @option options [Object] :user_id
57
+ # @option options [string] :user_id
34
58
  # The ID of user you'd like active sessions for. If you pass a user_id, you'll need to pass a team_id as well.
35
59
  # @see https://api.slack.com/methods/admin.users.session.list
36
60
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.list.json
@@ -47,11 +71,11 @@ module Slack
47
71
  #
48
72
  # Wipes all valid sessions on all devices for a given user
49
73
  #
50
- # @option options [Object] :user_id
74
+ # @option options [string] :user_id
51
75
  # The ID of the user to wipe sessions for.
52
- # @option options [Object] :mobile_only
76
+ # @option options [boolean] :mobile_only
53
77
  # Only expire mobile sessions (default: false).
54
- # @option options [Object] :web_only
78
+ # @option options [boolean] :web_only
55
79
  # Only expire web sessions (default: false).
56
80
  # @see https://api.slack.com/methods/admin.users.session.reset
57
81
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.reset.json
@@ -59,6 +83,38 @@ module Slack
59
83
  throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
60
84
  post('admin.users.session.reset', options)
61
85
  end
86
+
87
+ #
88
+ # Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users
89
+ #
90
+ # @option options [array] :user_ids
91
+ # The ID of the user to wipe sessions for.
92
+ # @option options [boolean] :mobile_only
93
+ # Only expire mobile sessions (default: false).
94
+ # @option options [boolean] :web_only
95
+ # Only expire web sessions (default: false).
96
+ # @see https://api.slack.com/methods/admin.users.session.resetBulk
97
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.resetBulk.json
98
+ def admin_users_session_resetBulk(options = {})
99
+ throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
100
+ post('admin.users.session.resetBulk', options)
101
+ end
102
+
103
+ #
104
+ # Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users.
105
+ #
106
+ # @option options [array] :user_ids
107
+ # The list of user IDs to apply the session settings for.
108
+ # @option options [boolean] :desktop_app_browser_quit
109
+ # Terminate the session when the client—either the desktop app or a browser window—is closed.
110
+ # @option options [integer] :duration
111
+ # The session duration, in seconds. The minimum value is 28800, which represents 8 hours; the max value is 315569520 or 10 years (that's a long Slack session).
112
+ # @see https://api.slack.com/methods/admin.users.session.setSettings
113
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.setSettings.json
114
+ def admin_users_session_setSettings(options = {})
115
+ throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
116
+ post('admin.users.session.setSettings', options)
117
+ end
62
118
  end
63
119
  end
64
120
  end
@@ -9,7 +9,7 @@ module Slack
9
9
  #
10
10
  # Checks API calling code.
11
11
  #
12
- # @option options [Object] :error
12
+ # @option options [string] :error
13
13
  # Error response to return.
14
14
  # @see https://api.slack.com/methods/api.test
15
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/api/api.test.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Uninstalls your app from a workspace.
11
11
  #
12
- # @option options [Object] :client_id
12
+ # @option options [string] :client_id
13
13
  # Issued when you created your application.
14
- # @option options [Object] :client_secret
14
+ # @option options [string] :client_secret
15
15
  # Issued when you created your application.
16
16
  # @see https://api.slack.com/methods/apps.uninstall
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps/apps.uninstall.json
@@ -9,11 +9,11 @@ module Slack
9
9
  #
10
10
  # Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.
11
11
  #
12
- # @option options [Object] :event_context
12
+ # @option options [string] :event_context
13
13
  # .
14
- # @option options [Object] :cursor
14
+ # @option options [string] :cursor
15
15
  # .
16
- # @option options [Object] :limit
16
+ # @option options [integer] :limit
17
17
  # .
18
18
  # @see https://api.slack.com/methods/apps.event.authorizations.list
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.event.authorizations/apps.event.authorizations.list.json
@@ -0,0 +1,75 @@
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 AppsManifest
9
+ #
10
+ # Create an app from an app manifest.
11
+ #
12
+ # @option options [manifest object as string] :manifest
13
+ # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one.
14
+ # @see https://api.slack.com/methods/apps.manifest.create
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.create.json
16
+ def apps_manifest_create(options = {})
17
+ throw ArgumentError.new('Required arguments :manifest missing') if options[:manifest].nil?
18
+ post('apps.manifest.create', options)
19
+ end
20
+
21
+ #
22
+ # Permanently deletes an app created through app manifests
23
+ #
24
+ # @option options [Object] :app_id
25
+ # The ID of the app you want to delete.
26
+ # @see https://api.slack.com/methods/apps.manifest.delete
27
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.delete.json
28
+ def apps_manifest_delete(options = {})
29
+ throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
30
+ post('apps.manifest.delete', options)
31
+ end
32
+
33
+ #
34
+ # Export an app manifest from an existing app
35
+ #
36
+ # @option options [Object] :app_id
37
+ # The ID of the app whose configuration you want to export as a manifest.
38
+ # @see https://api.slack.com/methods/apps.manifest.export
39
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.export.json
40
+ def apps_manifest_export(options = {})
41
+ throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
42
+ post('apps.manifest.export', options)
43
+ end
44
+
45
+ #
46
+ # Update an app from an app manifest
47
+ #
48
+ # @option options [Object] :app_id
49
+ # The ID of the app whose configuration you want to update.
50
+ # @option options [manifest object as string] :manifest
51
+ # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one. As this method entirely replaces any previous configuration, manifest must contain both unmodified and modified fields.
52
+ # @see https://api.slack.com/methods/apps.manifest.update
53
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.update.json
54
+ def apps_manifest_update(options = {})
55
+ throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
56
+ throw ArgumentError.new('Required arguments :manifest missing') if options[:manifest].nil?
57
+ post('apps.manifest.update', options)
58
+ end
59
+
60
+ #
61
+ # Validate an app manifest
62
+ #
63
+ # @option options [manifest object as string] :manifest
64
+ # The manifest to be validated. Will be validated against the app manifest schema - read our guide.
65
+ # @see https://api.slack.com/methods/apps.manifest.validate
66
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.validate.json
67
+ def apps_manifest_validate(options = {})
68
+ throw ArgumentError.new('Required arguments :manifest missing') if options[:manifest].nil?
69
+ post('apps.manifest.validate', options)
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -9,7 +9,7 @@ module Slack
9
9
  #
10
10
  # Revokes a token.
11
11
  #
12
- # @option options [Object] :test
12
+ # @option options [boolean] :test
13
13
  # Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked.
14
14
  # @see https://api.slack.com/methods/auth.revoke
15
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth/auth.revoke.json
@@ -9,11 +9,11 @@ module Slack
9
9
  #
10
10
  # List the workspaces a token can access.
11
11
  #
12
- # @option options [Object] :cursor
12
+ # @option options [string] :cursor
13
13
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
14
- # @option options [Object] :include_icon
14
+ # @option options [boolean] :include_icon
15
15
  # Whether to return icon paths for each workspace. An icon path represents a URI pointing to the image signifying the workspace.
16
- # @option options [Object] :limit
16
+ # @option options [integer] :limit
17
17
  # The maximum number of workspaces to return. Must be a positive integer no larger than 1000.
18
18
  # @see https://api.slack.com/methods/auth.teams.list
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth.teams/auth.teams.list.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Gets information about a bot user.
11
11
  #
12
- # @option options [Object] :bot
12
+ # @option options [user] :bot
13
13
  # Bot user to get info on.
14
- # @option options [Object] :team_id
14
+ # @option options [team] :team_id
15
15
  # encoded team id or enterprise id where the bot exists, required if org token is used.
16
16
  # @see https://api.slack.com/methods/bots.info
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bots/bots.info.json
@@ -9,21 +9,21 @@ module Slack
9
9
  #
10
10
  # Registers a new Call.
11
11
  #
12
- # @option options [Object] :external_unique_id
12
+ # @option options [string] :external_unique_id
13
13
  # An ID supplied by the 3rd-party Call provider. It must be unique across all Calls from that service.
14
- # @option options [Object] :join_url
14
+ # @option options [string] :join_url
15
15
  # The URL required for a client to join the Call.
16
- # @option options [Object] :created_by
16
+ # @option options [string] :created_by
17
17
  # The valid Slack user ID of the user who created this Call. When this method is called with a user token, the created_by field is optional and defaults to the authed user of the token. Otherwise, the field is required.
18
- # @option options [Object] :date_start
18
+ # @option options [integer] :date_start
19
19
  # Call start time in UTC UNIX timestamp format.
20
- # @option options [Object] :desktop_app_join_url
20
+ # @option options [string] :desktop_app_join_url
21
21
  # When supplied, available Slack clients will attempt to directly launch the 3rd-party Call with this URL.
22
- # @option options [Object] :external_display_id
22
+ # @option options [string] :external_display_id
23
23
  # An optional, human-readable ID supplied by the 3rd-party Call provider. If supplied, this ID will be displayed in the Call object.
24
- # @option options [Object] :title
24
+ # @option options [string] :title
25
25
  # The name of the Call.
26
- # @option options [Object] :users
26
+ # @option options [array] :users
27
27
  # The list of users to register as participants in the Call. Read more on how to specify users here.
28
28
  # @see https://api.slack.com/methods/calls.add
29
29
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.add.json
@@ -36,9 +36,9 @@ module Slack
36
36
  #
37
37
  # Ends a Call.
38
38
  #
39
- # @option options [Object] :id
39
+ # @option options [string] :id
40
40
  # id returned when registering the call using the calls.add method.
41
- # @option options [Object] :duration
41
+ # @option options [integer] :duration
42
42
  # Call duration in seconds.
43
43
  # @see https://api.slack.com/methods/calls.end
44
44
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.end.json
@@ -50,7 +50,7 @@ module Slack
50
50
  #
51
51
  # Returns information about a Call.
52
52
  #
53
- # @option options [Object] :id
53
+ # @option options [string] :id
54
54
  # id of the Call returned by the calls.add method.
55
55
  # @see https://api.slack.com/methods/calls.info
56
56
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.info.json
@@ -62,13 +62,13 @@ module Slack
62
62
  #
63
63
  # Updates information about a Call.
64
64
  #
65
- # @option options [Object] :id
65
+ # @option options [string] :id
66
66
  # id returned by the calls.add method.
67
- # @option options [Object] :desktop_app_join_url
67
+ # @option options [string] :desktop_app_join_url
68
68
  # When supplied, available Slack clients will attempt to directly launch the 3rd-party Call with this URL.
69
- # @option options [Object] :join_url
69
+ # @option options [string] :join_url
70
70
  # The URL required for a client to join the Call.
71
- # @option options [Object] :title
71
+ # @option options [string] :title
72
72
  # The name of the Call.
73
73
  # @see https://api.slack.com/methods/calls.update
74
74
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.update.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Registers new participants added to a Call.
11
11
  #
12
- # @option options [Object] :id
12
+ # @option options [string] :id
13
13
  # id returned by the calls.add method.
14
- # @option options [Object] :users
14
+ # @option options [array] :users
15
15
  # The list of users to add as participants in the Call. Read more on how to specify users here.
16
16
  # @see https://api.slack.com/methods/calls.participants.add
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls.participants/calls.participants.add.json
@@ -24,9 +24,9 @@ module Slack
24
24
  #
25
25
  # Registers participants removed from a Call.
26
26
  #
27
- # @option options [Object] :id
27
+ # @option options [string] :id
28
28
  # id returned by the calls.add method.
29
- # @option options [Object] :users
29
+ # @option options [array] :users
30
30
  # The list of users to remove as participants in the Call. Read more on how to specify users here.
31
31
  # @see https://api.slack.com/methods/calls.participants.remove
32
32
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls.participants/calls.participants.remove.json