slack-ruby-client 0.14.5 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.rubocop.yml +11 -3
  4. data/.rubocop_todo.yml +61 -23
  5. data/.travis.yml +1 -5
  6. data/CHANGELOG.md +43 -4
  7. data/CONTRIBUTING.md +17 -6
  8. data/Dangerfile +1 -1
  9. data/Gemfile +1 -2
  10. data/LICENSE.md +1 -1
  11. data/README.md +86 -52
  12. data/UPGRADING.md +20 -2
  13. data/bin/commands.rb +23 -0
  14. data/bin/commands/admin_analytics.rb +16 -0
  15. data/bin/commands/admin_apps.rb +15 -2
  16. data/bin/commands/admin_apps_approved.rb +17 -0
  17. data/bin/commands/admin_apps_restricted.rb +17 -0
  18. data/bin/commands/admin_barriers.rb +47 -0
  19. data/bin/commands/admin_conversations.rb +159 -0
  20. data/bin/commands/admin_conversations_ekm.rb +17 -0
  21. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  22. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  23. data/bin/commands/admin_emoji.rb +54 -0
  24. data/bin/commands/admin_inviteRequests.rb +36 -0
  25. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  26. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  27. data/bin/commands/admin_teams.rb +27 -0
  28. data/bin/commands/admin_teams_admins.rb +16 -0
  29. data/bin/commands/admin_teams_owners.rb +16 -0
  30. data/bin/commands/admin_teams_settings.rb +64 -0
  31. data/bin/commands/admin_usergroups.rb +48 -0
  32. data/bin/commands/admin_users.rb +97 -0
  33. data/bin/commands/admin_users_session.rb +22 -0
  34. data/bin/commands/api.rb +0 -1
  35. data/bin/commands/apps_connections.rb +13 -0
  36. data/bin/commands/apps_event_authorizations.rb +16 -0
  37. data/bin/commands/auth_teams.rb +16 -0
  38. data/bin/commands/bots.rb +1 -0
  39. data/bin/commands/calls.rb +52 -0
  40. data/bin/commands/calls_participants.rb +25 -0
  41. data/bin/commands/channels.rb +1 -155
  42. data/bin/commands/chat.rb +14 -12
  43. data/bin/commands/chat_scheduledMessages.rb +1 -0
  44. data/bin/commands/conversations.rb +15 -4
  45. data/bin/commands/dnd.rb +3 -1
  46. data/bin/commands/files.rb +7 -5
  47. data/bin/commands/files_remote.rb +3 -3
  48. data/bin/commands/groups.rb +1 -162
  49. data/bin/commands/im.rb +1 -63
  50. data/bin/commands/migration.rb +1 -0
  51. data/bin/commands/mpim.rb +1 -61
  52. data/bin/commands/oauth.rb +1 -1
  53. data/bin/commands/pins.rb +0 -2
  54. data/bin/commands/reactions.rb +1 -0
  55. data/bin/commands/search.rb +4 -1
  56. data/bin/commands/team.rb +3 -0
  57. data/bin/commands/usergroups.rb +6 -1
  58. data/bin/commands/usergroups_users.rb +2 -0
  59. data/bin/commands/users.rb +5 -3
  60. data/bin/commands/users_profile.rb +5 -5
  61. data/bin/commands/views.rb +1 -1
  62. data/bin/commands/workflows.rb +38 -0
  63. data/lib/slack-ruby-client.rb +5 -4
  64. data/lib/slack/events/request.rb +7 -3
  65. data/lib/slack/messages/message.rb +0 -4
  66. data/lib/slack/real_time/client.rb +2 -1
  67. data/lib/slack/real_time/concurrency.rb +0 -2
  68. data/lib/slack/real_time/concurrency/async.rb +1 -3
  69. data/lib/slack/real_time/config.rb +5 -14
  70. data/lib/slack/real_time/models/base.rb +0 -4
  71. data/lib/slack/real_time/socket.rb +2 -2
  72. data/lib/slack/real_time/stores/base.rb +3 -1
  73. data/lib/slack/version.rb +1 -1
  74. data/lib/slack/web/api/endpoints.rb +47 -0
  75. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  76. data/lib/slack/web/api/endpoints/admin_apps.rb +22 -2
  77. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  78. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  79. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  80. data/lib/slack/web/api/endpoints/admin_conversations.rb +246 -0
  81. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  82. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  83. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  84. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  85. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  86. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  87. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  88. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  89. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  90. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  91. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  92. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  93. data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
  94. data/lib/slack/web/api/endpoints/admin_users_session.rb +38 -0
  95. data/lib/slack/web/api/endpoints/api.rb +0 -2
  96. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  97. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  98. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  99. data/lib/slack/web/api/endpoints/bots.rb +2 -0
  100. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  101. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  102. data/lib/slack/web/api/endpoints/channels.rb +1 -245
  103. data/lib/slack/web/api/endpoints/chat.rb +23 -19
  104. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -1
  105. data/lib/slack/web/api/endpoints/conversations.rb +37 -19
  106. data/lib/slack/web/api/endpoints/dnd.rb +4 -0
  107. data/lib/slack/web/api/endpoints/files.rb +8 -4
  108. data/lib/slack/web/api/endpoints/files_remote.rb +4 -4
  109. data/lib/slack/web/api/endpoints/groups.rb +0 -253
  110. data/lib/slack/web/api/endpoints/im.rb +0 -101
  111. data/lib/slack/web/api/endpoints/migration.rb +2 -0
  112. data/lib/slack/web/api/endpoints/mpim.rb +0 -96
  113. data/lib/slack/web/api/endpoints/oauth.rb +1 -4
  114. data/lib/slack/web/api/endpoints/pins.rb +3 -8
  115. data/lib/slack/web/api/endpoints/reactions.rb +5 -3
  116. data/lib/slack/web/api/endpoints/search.rb +6 -0
  117. data/lib/slack/web/api/endpoints/stars.rb +2 -2
  118. data/lib/slack/web/api/endpoints/team.rb +6 -0
  119. data/lib/slack/web/api/endpoints/usergroups.rb +10 -0
  120. data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -0
  121. data/lib/slack/web/api/endpoints/users.rb +7 -5
  122. data/lib/slack/web/api/endpoints/users_profile.rb +3 -3
  123. data/lib/slack/web/api/endpoints/views.rb +1 -1
  124. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  125. data/lib/slack/web/api/errors.rb +848 -0
  126. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  127. data/lib/slack/web/api/errors/slack_error.rb +12 -0
  128. data/lib/slack/web/api/mixins.rb +1 -0
  129. data/lib/slack/web/api/mixins/channels.id.rb +1 -3
  130. data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
  131. data/lib/slack/web/api/mixins/groups.id.rb +1 -3
  132. data/lib/slack/web/api/mixins/ids.id.rb +3 -5
  133. data/lib/slack/web/api/mixins/users.id.rb +1 -3
  134. data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +26 -24
  135. data/lib/slack/web/api/templates/endpoints.erb +1 -0
  136. data/lib/slack/web/api/templates/errors.erb +20 -0
  137. data/lib/slack/web/api/templates/method.erb +4 -1
  138. data/lib/slack/web/api/templates/method_spec.erb +1 -1
  139. data/lib/slack/web/client.rb +1 -1
  140. data/lib/slack/web/config.rb +2 -0
  141. data/lib/slack/web/faraday/connection.rb +23 -20
  142. data/lib/slack/web/faraday/response/raise_error.rb +16 -2
  143. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  144. data/lib/slack/web/pagination/cursor.rb +2 -2
  145. data/lib/tasks/real_time.rake +1 -1
  146. data/lib/tasks/web.rake +21 -4
  147. data/slack-ruby-client.gemspec +5 -5
  148. data/spec/fixtures/slack/web/channels_info.yml +108 -15
  149. data/spec/fixtures/slack/web/{groups_info.yml → conversations_info.yml} +4 -4
  150. data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
  151. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
  152. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
  153. data/spec/fixtures/slack/web/views_open_error.yml +76 -0
  154. data/spec/slack/events/request_spec.rb +13 -8
  155. data/spec/slack/real_time/client_spec.rb +18 -1
  156. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  157. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  158. data/spec/slack/real_time/rtm_connect_spec.rb +1 -1
  159. data/spec/slack/real_time/rtm_start_spec.rb +1 -1
  160. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  161. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  162. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  163. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  164. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  165. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  166. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  167. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +93 -0
  168. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  169. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  170. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  171. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  172. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  173. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  174. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  175. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  176. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  177. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +8 -0
  178. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  179. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  180. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  181. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
  182. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
  183. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  184. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  185. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  186. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  187. data/spec/slack/web/api/endpoints/conversations_spec.rb +20 -12
  188. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  189. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  190. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  191. data/spec/slack/web/api/endpoints/files_spec.rb +4 -4
  192. data/spec/slack/web/api/endpoints/im_spec.rb +0 -31
  193. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -31
  194. data/spec/slack/web/api/endpoints/oauth_spec.rb +3 -14
  195. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -4
  196. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  197. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  198. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  199. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  200. data/spec/slack/web/api/errors/slack_error_spec.rb +22 -0
  201. data/spec/slack/web/api/mixins/channels_spec.rb +1 -1
  202. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  203. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  204. data/spec/slack/web/api/mixins/groups_spec.rb +1 -1
  205. data/spec/slack/web/api/mixins/users_spec.rb +1 -1
  206. data/spec/slack/web/client_spec.rb +121 -0
  207. data/spec/slack/web/faraday/response/raise_error_spec.rb +33 -9
  208. data/spec/support/vcr.rb +4 -0
  209. metadata +145 -55
  210. data/examples/hi_real_time/Gemfile +0 -6
  211. data/examples/hi_real_time/hi.gif +0 -0
  212. data/examples/hi_real_time/hi.rb +0 -41
  213. data/examples/hi_real_time_async_celluloid/Gemfile +0 -7
  214. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  215. data/examples/hi_real_time_async_celluloid/hi.rb +0 -39
  216. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -7
  217. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  218. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -39
  219. data/lib/slack/real_time/concurrency/celluloid.rb +0 -142
  220. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -85
  221. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  222. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  223. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  224. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  225. data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -15
  226. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -116
  227. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -57
  228. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -13
  229. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -13
  230. data/spec/slack/web/api/endpoints/views_spec.rb +0 -29
  231. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -17
@@ -0,0 +1,34 @@
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 AdminTeamsOwners
9
+ #
10
+ # List all of the owners on a given workspace.
11
+ #
12
+ # @option options [Object] :team_id
13
+ # .
14
+ # @option options [Object] :cursor
15
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
16
+ # @option options [Object] :limit
17
+ # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
18
+ # @see https://api.slack.com/methods/admin.teams.owners.list
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.owners/admin.teams.owners.list.json
20
+ def admin_teams_owners_list(options = {})
21
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
22
+ if block_given?
23
+ Pagination::Cursor.new(self, :admin_teams_owners_list, options).each do |page|
24
+ yield page
25
+ end
26
+ else
27
+ post('admin.teams.owners.list', options)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,99 @@
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 AdminTeamsSettings
9
+ #
10
+ # Fetch information about settings in a workspace
11
+ #
12
+ # @option options [Object] :team_id
13
+ # .
14
+ # @see https://api.slack.com/methods/admin.teams.settings.info
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.settings/admin.teams.settings.info.json
16
+ def admin_teams_settings_info(options = {})
17
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
18
+ post('admin.teams.settings.info', options)
19
+ end
20
+
21
+ #
22
+ # Set the default channels of a workspace.
23
+ #
24
+ # @option options [Object] :channel_ids
25
+ # An array of channel IDs.
26
+ # @option options [Object] :team_id
27
+ # ID for the workspace to set the default channel for.
28
+ # @see https://api.slack.com/methods/admin.teams.settings.setDefaultChannels
29
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.settings/admin.teams.settings.setDefaultChannels.json
30
+ def admin_teams_settings_setDefaultChannels(options = {})
31
+ throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
32
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
33
+ post('admin.teams.settings.setDefaultChannels', options)
34
+ end
35
+
36
+ #
37
+ # Set the description of a given workspace.
38
+ #
39
+ # @option options [Object] :description
40
+ # The new description for the workspace.
41
+ # @option options [Object] :team_id
42
+ # ID for the workspace to set the description for.
43
+ # @see https://api.slack.com/methods/admin.teams.settings.setDescription
44
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.settings/admin.teams.settings.setDescription.json
45
+ def admin_teams_settings_setDescription(options = {})
46
+ throw ArgumentError.new('Required arguments :description missing') if options[:description].nil?
47
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
48
+ post('admin.teams.settings.setDescription', options)
49
+ end
50
+
51
+ #
52
+ # An API method that allows admins to set the discoverability of a given workspace
53
+ #
54
+ # @option options [Object] :discoverability
55
+ # This workspace's discovery setting. It must be set to one of open, invite_only, closed, or unlisted.
56
+ # @option options [Object] :team_id
57
+ # The ID of the workspace to set discoverability on.
58
+ # @see https://api.slack.com/methods/admin.teams.settings.setDiscoverability
59
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.settings/admin.teams.settings.setDiscoverability.json
60
+ def admin_teams_settings_setDiscoverability(options = {})
61
+ throw ArgumentError.new('Required arguments :discoverability missing') if options[:discoverability].nil?
62
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
63
+ post('admin.teams.settings.setDiscoverability', options)
64
+ end
65
+
66
+ #
67
+ # Sets the icon of a workspace.
68
+ #
69
+ # @option options [Object] :image_url
70
+ # Image URL for the icon.
71
+ # @option options [Object] :team_id
72
+ # ID for the workspace to set the icon for.
73
+ # @see https://api.slack.com/methods/admin.teams.settings.setIcon
74
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.settings/admin.teams.settings.setIcon.json
75
+ def admin_teams_settings_setIcon(options = {})
76
+ throw ArgumentError.new('Required arguments :image_url missing') if options[:image_url].nil?
77
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
78
+ post('admin.teams.settings.setIcon', options)
79
+ end
80
+
81
+ #
82
+ # Set the name of a given workspace.
83
+ #
84
+ # @option options [Object] :name
85
+ # The new name of the workspace.
86
+ # @option options [Object] :team_id
87
+ # ID for the workspace to set the name for.
88
+ # @see https://api.slack.com/methods/admin.teams.settings.setName
89
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.settings/admin.teams.settings.setName.json
90
+ def admin_teams_settings_setName(options = {})
91
+ throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
92
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
93
+ post('admin.teams.settings.setName', options)
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,77 @@
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 AdminUsergroups
9
+ #
10
+ # Add up to one hundred default channels to an IDP group.
11
+ #
12
+ # @option options [Object] :channel_ids
13
+ # Comma separated string of channel IDs.
14
+ # @option options [Object] :usergroup_id
15
+ # ID of the IDP group to add default channels for.
16
+ # @option options [Object] :team_id
17
+ # The workspace to add default channels in.
18
+ # @see https://api.slack.com/methods/admin.usergroups.addChannels
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addChannels.json
20
+ def admin_usergroups_addChannels(options = {})
21
+ throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
22
+ throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
23
+ post('admin.usergroups.addChannels', options)
24
+ end
25
+
26
+ #
27
+ # Associate one or more default workspaces with an organization-wide IDP group.
28
+ #
29
+ # @option options [Object] :team_ids
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
32
+ # An encoded usergroup (IDP Group) ID.
33
+ # @option options [Object] :auto_provision
34
+ # When true, this method automatically creates new workspace accounts for the IDP group members.
35
+ # @see https://api.slack.com/methods/admin.usergroups.addTeams
36
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addTeams.json
37
+ def admin_usergroups_addTeams(options = {})
38
+ throw ArgumentError.new('Required arguments :team_ids missing') if options[:team_ids].nil?
39
+ throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
40
+ post('admin.usergroups.addTeams', options)
41
+ end
42
+
43
+ #
44
+ # List the channels linked to an org-level IDP group (user group).
45
+ #
46
+ # @option options [Object] :usergroup_id
47
+ # ID of the IDP group to list default channels for.
48
+ # @option options [Object] :include_num_members
49
+ # Flag to include or exclude the count of members per channel.
50
+ # @option options [Object] :team_id
51
+ # ID of the the workspace.
52
+ # @see https://api.slack.com/methods/admin.usergroups.listChannels
53
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.listChannels.json
54
+ def admin_usergroups_listChannels(options = {})
55
+ throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
56
+ post('admin.usergroups.listChannels', options)
57
+ end
58
+
59
+ #
60
+ # Remove one or more default channels from an org-level IDP group (user group).
61
+ #
62
+ # @option options [Object] :channel_ids
63
+ # Comma-separated string of channel IDs.
64
+ # @option options [Object] :usergroup_id
65
+ # ID of the IDP Group.
66
+ # @see https://api.slack.com/methods/admin.usergroups.removeChannels
67
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.removeChannels.json
68
+ def admin_usergroups_removeChannels(options = {})
69
+ throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
70
+ throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
71
+ post('admin.usergroups.removeChannels', options)
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,161 @@
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 AdminUsers
9
+ #
10
+ # Add an Enterprise user to a workspace.
11
+ #
12
+ # @option options [Object] :team_id
13
+ # The ID (T1234) of the workspace.
14
+ # @option options [Object] :user_id
15
+ # The ID of the user to add to the workspace.
16
+ # @option options [Object] :channel_ids
17
+ # Comma separated values of channel IDs to add user in the new workspace.
18
+ # @option options [Object] :is_restricted
19
+ # True if user should be added to the workspace as a guest.
20
+ # @option options [Object] :is_ultra_restricted
21
+ # True if user should be added to the workspace as a single-channel guest.
22
+ # @see https://api.slack.com/methods/admin.users.assign
23
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.assign.json
24
+ def admin_users_assign(options = {})
25
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
26
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
27
+ post('admin.users.assign', options)
28
+ end
29
+
30
+ #
31
+ # Invite a user to a workspace.
32
+ #
33
+ # @option options [Object] :channel_ids
34
+ # A comma-separated list of channel_ids for this user to join. At least one channel is required.
35
+ # @option options [Object] :email
36
+ # The email address of the person to invite.
37
+ # @option options [Object] :team_id
38
+ # The ID (T1234) of the workspace.
39
+ # @option options [Object] :custom_message
40
+ # An optional message to send to the user in the invite email.
41
+ # @option options [Object] :guest_expiration_ts
42
+ # 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
44
+ # Is this user a multi-channel guest user? (default: false).
45
+ # @option options [Object] :is_ultra_restricted
46
+ # Is this user a single channel guest user? (default: false).
47
+ # @option options [Object] :real_name
48
+ # Full name of the user.
49
+ # @option options [Object] :resend
50
+ # Allow this invite to be resent in the future if a user has not signed up yet. (default: false).
51
+ # @see https://api.slack.com/methods/admin.users.invite
52
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.invite.json
53
+ def admin_users_invite(options = {})
54
+ throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
55
+ throw ArgumentError.new('Required arguments :email missing') if options[:email].nil?
56
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
57
+ post('admin.users.invite', options)
58
+ end
59
+
60
+ #
61
+ # List users on a workspace
62
+ #
63
+ # @option options [Object] :cursor
64
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
65
+ # @option options [Object] :limit
66
+ # Limit for how many users to be retrieved per page.
67
+ # @option options [Object] :team_id
68
+ # The ID (T1234) of the workspace.
69
+ # @see https://api.slack.com/methods/admin.users.list
70
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.list.json
71
+ def admin_users_list(options = {})
72
+ if block_given?
73
+ Pagination::Cursor.new(self, :admin_users_list, options).each do |page|
74
+ yield page
75
+ end
76
+ else
77
+ post('admin.users.list', options)
78
+ end
79
+ end
80
+
81
+ #
82
+ # Remove a user from a workspace.
83
+ #
84
+ # @option options [Object] :team_id
85
+ # The ID (T1234) of the workspace.
86
+ # @option options [Object] :user_id
87
+ # The ID of the user to remove.
88
+ # @see https://api.slack.com/methods/admin.users.remove
89
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.remove.json
90
+ def admin_users_remove(options = {})
91
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
92
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
93
+ post('admin.users.remove', options)
94
+ end
95
+
96
+ #
97
+ # Set an existing guest, regular user, or owner to be an admin user.
98
+ #
99
+ # @option options [Object] :team_id
100
+ # The ID (T1234) of the workspace.
101
+ # @option options [Object] :user_id
102
+ # The ID of the user to designate as an admin.
103
+ # @see https://api.slack.com/methods/admin.users.setAdmin
104
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setAdmin.json
105
+ def admin_users_setAdmin(options = {})
106
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
107
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
108
+ post('admin.users.setAdmin', options)
109
+ end
110
+
111
+ #
112
+ # Set an expiration for a guest user
113
+ #
114
+ # @option options [Object] :expiration_ts
115
+ # Timestamp when guest account should be disabled.
116
+ # @option options [Object] :user_id
117
+ # The ID of the user to set an expiration for.
118
+ # @option options [Object] :team_id
119
+ # The ID (T1234) of the workspace.
120
+ # @see https://api.slack.com/methods/admin.users.setExpiration
121
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setExpiration.json
122
+ def admin_users_setExpiration(options = {})
123
+ throw ArgumentError.new('Required arguments :expiration_ts missing') if options[:expiration_ts].nil?
124
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
125
+ post('admin.users.setExpiration', options)
126
+ end
127
+
128
+ #
129
+ # Set an existing guest, regular user, or admin user to be a workspace owner.
130
+ #
131
+ # @option options [Object] :team_id
132
+ # The ID (T1234) of the workspace.
133
+ # @option options [Object] :user_id
134
+ # Id of the user to promote to owner.
135
+ # @see https://api.slack.com/methods/admin.users.setOwner
136
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setOwner.json
137
+ def admin_users_setOwner(options = {})
138
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
139
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
140
+ post('admin.users.setOwner', options)
141
+ end
142
+
143
+ #
144
+ # Set an existing guest user, admin user, or owner to be a regular user.
145
+ #
146
+ # @option options [Object] :team_id
147
+ # The ID (T1234) of the workspace.
148
+ # @option options [Object] :user_id
149
+ # The ID of the user to designate as a regular user.
150
+ # @see https://api.slack.com/methods/admin.users.setRegular
151
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setRegular.json
152
+ def admin_users_setRegular(options = {})
153
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
154
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
155
+ post('admin.users.setRegular', options)
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -6,6 +6,44 @@ module Slack
6
6
  module Api
7
7
  module Endpoints
8
8
  module AdminUsersSession
9
+ #
10
+ # Revoke a single session for a user. The user will be forced to login to Slack.
11
+ #
12
+ # @option options [Object] :session_id
13
+ # ID of the session to invalidate.
14
+ # @option options [Object] :team_id
15
+ # ID of the workspace that the session belongs to.
16
+ # @see https://api.slack.com/methods/admin.users.session.invalidate
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.invalidate.json
18
+ def admin_users_session_invalidate(options = {})
19
+ throw ArgumentError.new('Required arguments :session_id missing') if options[:session_id].nil?
20
+ throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
21
+ post('admin.users.session.invalidate', options)
22
+ end
23
+
24
+ #
25
+ # List active user sessions for an organization
26
+ #
27
+ # @option options [Object] :cursor
28
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
29
+ # @option options [Object] :limit
30
+ # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
31
+ # @option options [Object] :team_id
32
+ # 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
34
+ # 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
+ # @see https://api.slack.com/methods/admin.users.session.list
36
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.list.json
37
+ def admin_users_session_list(options = {})
38
+ if block_given?
39
+ Pagination::Cursor.new(self, :admin_users_session_list, options).each do |page|
40
+ yield page
41
+ end
42
+ else
43
+ post('admin.users.session.list', options)
44
+ end
45
+ end
46
+
9
47
  #
10
48
  # Wipes all valid sessions on all devices for a given user
11
49
  #
@@ -11,8 +11,6 @@ module Slack
11
11
  #
12
12
  # @option options [Object] :error
13
13
  # Error response to return.
14
- # @option options [Object] :foo
15
- # example property to return.
16
14
  # @see https://api.slack.com/methods/api.test
17
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/api/api.test.json
18
16
  def api_test(options = {})
@@ -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 AppsConnections
9
+ #
10
+ # Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over,
11
+ #
12
+ # @see https://api.slack.com/methods/apps.connections.open
13
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.connections/apps.connections.open.json
14
+ def apps_connections_open(options = {})
15
+ post('apps.connections.open', options)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end