slack-ruby-client 0.15.1 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +0 -14
  4. data/.travis.yml +1 -4
  5. data/CHANGELOG.md +8 -0
  6. data/CONTRIBUTING.md +3 -10
  7. data/README.md +9 -27
  8. data/UPGRADING.md +14 -2
  9. data/bin/commands.rb +7 -0
  10. data/bin/commands/admin_analytics.rb +15 -0
  11. data/bin/commands/admin_apps.rb +15 -2
  12. data/bin/commands/admin_barriers.rb +47 -0
  13. data/bin/commands/admin_conversations.rb +154 -2
  14. data/bin/commands/admin_conversations_ekm.rb +17 -0
  15. data/bin/commands/admin_conversations_restrictAccess.rb +4 -4
  16. data/bin/commands/admin_conversations_whitelist.rb +1 -1
  17. data/bin/commands/admin_emoji.rb +1 -1
  18. data/bin/commands/admin_usergroups.rb +2 -2
  19. data/bin/commands/admin_users.rb +2 -2
  20. data/bin/commands/admin_users_session.rb +22 -0
  21. data/bin/commands/api.rb +0 -1
  22. data/bin/commands/apps_connections.rb +13 -0
  23. data/bin/commands/apps_event_authorizations.rb +16 -0
  24. data/bin/commands/auth_teams.rb +16 -0
  25. data/bin/commands/bots.rb +1 -0
  26. data/bin/commands/channels.rb +6 -3
  27. data/bin/commands/chat.rb +4 -4
  28. data/bin/commands/chat_scheduledMessages.rb +1 -0
  29. data/bin/commands/conversations.rb +14 -2
  30. data/bin/commands/dnd.rb +1 -1
  31. data/bin/commands/files.rb +6 -5
  32. data/bin/commands/files_remote.rb +2 -2
  33. data/bin/commands/groups.rb +5 -3
  34. data/bin/commands/im.rb +1 -1
  35. data/bin/commands/migration.rb +1 -0
  36. data/bin/commands/mpim.rb +3 -3
  37. data/bin/commands/pins.rb +0 -2
  38. data/bin/commands/reactions.rb +1 -0
  39. data/bin/commands/search.rb +4 -1
  40. data/bin/commands/team.rb +3 -0
  41. data/bin/commands/usergroups.rb +6 -1
  42. data/bin/commands/usergroups_users.rb +2 -0
  43. data/bin/commands/users.rb +5 -3
  44. data/bin/commands/users_profile.rb +5 -5
  45. data/bin/commands/views.rb +1 -1
  46. data/bin/commands/workflows.rb +38 -0
  47. data/lib/slack-ruby-client.rb +2 -0
  48. data/lib/slack/events/request.rb +5 -1
  49. data/lib/slack/real_time/client.rb +0 -1
  50. data/lib/slack/real_time/concurrency.rb +0 -2
  51. data/lib/slack/real_time/config.rb +5 -4
  52. data/lib/slack/version.rb +1 -1
  53. data/lib/slack/web/api/endpoints.rb +14 -0
  54. data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
  55. data/lib/slack/web/api/endpoints/admin_apps.rb +22 -2
  56. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  57. data/lib/slack/web/api/endpoints/admin_conversations.rb +231 -1
  58. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  59. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +3 -3
  60. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +3 -3
  61. data/lib/slack/web/api/endpoints/admin_emoji.rb +1 -1
  62. data/lib/slack/web/api/endpoints/admin_usergroups.rb +1 -1
  63. data/lib/slack/web/api/endpoints/admin_users.rb +4 -6
  64. data/lib/slack/web/api/endpoints/admin_users_session.rb +38 -0
  65. data/lib/slack/web/api/endpoints/api.rb +0 -2
  66. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  67. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  68. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  69. data/lib/slack/web/api/endpoints/bots.rb +2 -0
  70. data/lib/slack/web/api/endpoints/channels.rb +9 -3
  71. data/lib/slack/web/api/endpoints/chat.rb +3 -3
  72. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +2 -0
  73. data/lib/slack/web/api/endpoints/conversations.rb +21 -1
  74. data/lib/slack/web/api/endpoints/files.rb +4 -2
  75. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  76. data/lib/slack/web/api/endpoints/groups.rb +7 -3
  77. data/lib/slack/web/api/endpoints/im.rb +1 -1
  78. data/lib/slack/web/api/endpoints/migration.rb +2 -0
  79. data/lib/slack/web/api/endpoints/mpim.rb +3 -3
  80. data/lib/slack/web/api/endpoints/pins.rb +0 -5
  81. data/lib/slack/web/api/endpoints/reactions.rb +2 -0
  82. data/lib/slack/web/api/endpoints/search.rb +6 -0
  83. data/lib/slack/web/api/endpoints/team.rb +6 -0
  84. data/lib/slack/web/api/endpoints/usergroups.rb +10 -0
  85. data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -0
  86. data/lib/slack/web/api/endpoints/users.rb +7 -5
  87. data/lib/slack/web/api/endpoints/users_profile.rb +3 -3
  88. data/lib/slack/web/api/endpoints/views.rb +1 -1
  89. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  90. data/lib/slack/web/api/errors.rb +194 -0
  91. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  92. data/lib/slack/web/api/templates/endpoints.erb +1 -0
  93. data/lib/slack/web/api/templates/method_spec.erb +1 -1
  94. data/lib/slack/web/faraday/connection.rb +1 -1
  95. data/lib/slack/web/faraday/response/raise_error.rb +16 -1
  96. data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
  97. data/lib/tasks/web.rake +7 -3
  98. data/spec/slack/events/request_spec.rb +7 -3
  99. data/spec/slack/real_time/client_spec.rb +1 -1
  100. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  101. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  102. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  103. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  104. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +5 -5
  105. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +85 -0
  106. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +5 -5
  107. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +6 -6
  108. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +10 -10
  109. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +2 -2
  110. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  111. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +8 -0
  112. data/spec/slack/web/api/endpoints/admin_users_spec.rb +15 -23
  113. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  114. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  115. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
  116. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
  117. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  118. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  119. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  120. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  121. data/spec/slack/web/api/endpoints/conversations_spec.rb +20 -12
  122. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  123. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  124. data/spec/slack/web/api/endpoints/files_spec.rb +4 -4
  125. data/spec/slack/web/api/endpoints/im_spec.rb +4 -4
  126. data/spec/slack/web/api/endpoints/mpim_spec.rb +4 -4
  127. data/spec/slack/web/api/endpoints/oauth_spec.rb +3 -3
  128. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -4
  129. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  130. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  131. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  132. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  133. data/spec/slack/web/client_spec.rb +56 -0
  134. data/spec/slack/web/faraday/response/raise_error_spec.rb +7 -6
  135. metadata +32 -19
  136. data/examples/hi_real_time/Gemfile +0 -6
  137. data/examples/hi_real_time/hi.gif +0 -0
  138. data/examples/hi_real_time/hi.rb +0 -41
  139. data/examples/hi_real_time_async_celluloid/Gemfile +0 -7
  140. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  141. data/examples/hi_real_time_async_celluloid/hi.rb +0 -39
  142. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -7
  143. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  144. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -39
  145. data/lib/slack/real_time/concurrency/celluloid.rb +0 -142
  146. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -85
  147. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -116
  148. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -57
  149. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -17
@@ -0,0 +1,82 @@
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 AdminBarriers
9
+ #
10
+ # Create an Information Barrier
11
+ #
12
+ # @option options [Object] :barriered_from_usergroup_ids
13
+ # A list of IDP Groups ids that the primary usergroup is to be barriered from.
14
+ # @option options [Object] :primary_usergroup_id
15
+ # The id of the primary IDP Group.
16
+ # @option options [Object] :restricted_subjects
17
+ # What kind of interactions are blocked by this barrier? For v1, we only support a list of all 3, eg im, mpim, call.
18
+ # @see https://api.slack.com/methods/admin.barriers.create
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.create.json
20
+ def admin_barriers_create(options = {})
21
+ throw ArgumentError.new('Required arguments :barriered_from_usergroup_ids missing') if options[:barriered_from_usergroup_ids].nil?
22
+ throw ArgumentError.new('Required arguments :primary_usergroup_id missing') if options[:primary_usergroup_id].nil?
23
+ throw ArgumentError.new('Required arguments :restricted_subjects missing') if options[:restricted_subjects].nil?
24
+ post('admin.barriers.create', options)
25
+ end
26
+
27
+ #
28
+ # Delete an existing Information Barrier
29
+ #
30
+ # @option options [Object] :barrier_id
31
+ # The ID of the barrier you're trying to delete.
32
+ # @see https://api.slack.com/methods/admin.barriers.delete
33
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.delete.json
34
+ def admin_barriers_delete(options = {})
35
+ throw ArgumentError.new('Required arguments :barrier_id missing') if options[:barrier_id].nil?
36
+ post('admin.barriers.delete', options)
37
+ end
38
+
39
+ #
40
+ # Get all Information Barriers for your organization
41
+ #
42
+ # @option options [Object] :cursor
43
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
44
+ # @option options [Object] :limit
45
+ # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
46
+ # @see https://api.slack.com/methods/admin.barriers.list
47
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.list.json
48
+ def admin_barriers_list(options = {})
49
+ if block_given?
50
+ Pagination::Cursor.new(self, :admin_barriers_list, options).each do |page|
51
+ yield page
52
+ end
53
+ else
54
+ post('admin.barriers.list', options)
55
+ end
56
+ end
57
+
58
+ #
59
+ # Update an existing Information Barrier
60
+ #
61
+ # @option options [Object] :barrier_id
62
+ # The ID of the barrier you're trying to modify.
63
+ # @option options [Object] :barriered_from_usergroup_ids
64
+ # A list of IDP Groups ids that the primary usergroup is to be barriered from.
65
+ # @option options [Object] :primary_usergroup_id
66
+ # The id of the primary IDP Group.
67
+ # @option options [Object] :restricted_subjects
68
+ # What kind of interactions are blocked by this barrier? For v1, we only support a list of all 3, eg im, mpim, call.
69
+ # @see https://api.slack.com/methods/admin.barriers.update
70
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.update.json
71
+ def admin_barriers_update(options = {})
72
+ throw ArgumentError.new('Required arguments :barrier_id missing') if options[:barrier_id].nil?
73
+ throw ArgumentError.new('Required arguments :barriered_from_usergroup_ids missing') if options[:barriered_from_usergroup_ids].nil?
74
+ throw ArgumentError.new('Required arguments :primary_usergroup_id missing') if options[:primary_usergroup_id].nil?
75
+ throw ArgumentError.new('Required arguments :restricted_subjects missing') if options[:restricted_subjects].nil?
76
+ post('admin.barriers.update', options)
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -7,7 +7,225 @@ module Slack
7
7
  module Endpoints
8
8
  module AdminConversations
9
9
  #
10
- # Set the workspaces in an Enterprise grid org that connect to a channel.
10
+ # Archive a public or private channel.
11
+ #
12
+ # @option options [Object] :channel_id
13
+ # The channel to archive.
14
+ # @see https://api.slack.com/methods/admin.conversations.archive
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.archive.json
16
+ def admin_conversations_archive(options = {})
17
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
18
+ post('admin.conversations.archive', options)
19
+ end
20
+
21
+ #
22
+ # Convert a public channel to a private channel.
23
+ #
24
+ # @option options [Object] :channel_id
25
+ # The channel to convert to private.
26
+ # @see https://api.slack.com/methods/admin.conversations.convertToPrivate
27
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.convertToPrivate.json
28
+ def admin_conversations_convertToPrivate(options = {})
29
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
30
+ post('admin.conversations.convertToPrivate', options)
31
+ end
32
+
33
+ #
34
+ # Create a public or private channel-based conversation.
35
+ #
36
+ # @option options [Object] :is_private
37
+ # When true, creates a private channel instead of a public channel.
38
+ # @option options [Object] :name
39
+ # Name of the public or private channel to create.
40
+ # @option options [Object] :description
41
+ # Description of the public or private channel to create.
42
+ # @option options [Object] :org_wide
43
+ # When true, the channel will be available org-wide. Note: if the channel is not org_wide=true, you must specify a team_id for this channel.
44
+ # @option options [Object] :team_id
45
+ # The workspace to create the channel in. Note: this argument is required unless you set org_wide=true.
46
+ # @see https://api.slack.com/methods/admin.conversations.create
47
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.create.json
48
+ def admin_conversations_create(options = {})
49
+ throw ArgumentError.new('Required arguments :is_private missing') if options[:is_private].nil?
50
+ throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
51
+ post('admin.conversations.create', options)
52
+ end
53
+
54
+ #
55
+ # Delete a public or private channel.
56
+ #
57
+ # @option options [Object] :channel_id
58
+ # The channel to delete.
59
+ # @see https://api.slack.com/methods/admin.conversations.delete
60
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.delete.json
61
+ def admin_conversations_delete(options = {})
62
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
63
+ post('admin.conversations.delete', options)
64
+ end
65
+
66
+ #
67
+ # Disconnect a connected channel from one or more workspaces.
68
+ #
69
+ # @option options [Object] :channel_id
70
+ # The channel to be disconnected from some workspaces.
71
+ # @option options [Object] :leaving_team_ids
72
+ # The team to be removed from the channel. Currently only a single team id can be specified.
73
+ # @see https://api.slack.com/methods/admin.conversations.disconnectShared
74
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.disconnectShared.json
75
+ def admin_conversations_disconnectShared(options = {})
76
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
77
+ post('admin.conversations.disconnectShared', options)
78
+ end
79
+
80
+ #
81
+ # Get conversation preferences for a public or private channel.
82
+ #
83
+ # @option options [Object] :channel_id
84
+ # The channel to get preferences for.
85
+ # @see https://api.slack.com/methods/admin.conversations.getConversationPrefs
86
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getConversationPrefs.json
87
+ def admin_conversations_getConversationPrefs(options = {})
88
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
89
+ post('admin.conversations.getConversationPrefs', options)
90
+ end
91
+
92
+ #
93
+ # This API endpoint can be used by any admin to get a channel's retention policy.
94
+ #
95
+ # @option options [Object] :channel_id
96
+ # The channel to get the retention policy for.
97
+ # @see https://api.slack.com/methods/admin.conversations.getCustomRetention
98
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getCustomRetention.json
99
+ def admin_conversations_getCustomRetention(options = {})
100
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
101
+ post('admin.conversations.getCustomRetention', options)
102
+ end
103
+
104
+ #
105
+ # Get all the workspaces a given public or private channel is connected to within this Enterprise org.
106
+ #
107
+ # @option options [Object] :channel_id
108
+ # The channel to determine connected workspaces within the organization for.
109
+ # @option options [Object] :cursor
110
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
111
+ # @option options [Object] :limit
112
+ # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
113
+ # @see https://api.slack.com/methods/admin.conversations.getTeams
114
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getTeams.json
115
+ def admin_conversations_getTeams(options = {})
116
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
117
+ if block_given?
118
+ Pagination::Cursor.new(self, :admin_conversations_getTeams, options).each do |page|
119
+ yield page
120
+ end
121
+ else
122
+ post('admin.conversations.getTeams', options)
123
+ end
124
+ end
125
+
126
+ #
127
+ # Invite a user to a public or private channel.
128
+ #
129
+ # @option options [Object] :channel_id
130
+ # The channel that the users will be invited to.
131
+ # @option options [Object] :user_ids
132
+ # The users to invite.
133
+ # @see https://api.slack.com/methods/admin.conversations.invite
134
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.invite.json
135
+ def admin_conversations_invite(options = {})
136
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
137
+ throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
138
+ post('admin.conversations.invite', options)
139
+ end
140
+
141
+ #
142
+ # This API endpoint can be used by any admin to remove a channel's retention policy.
143
+ #
144
+ # @option options [Object] :channel_id
145
+ # The channel to set the retention policy for.
146
+ # @see https://api.slack.com/methods/admin.conversations.removeCustomRetention
147
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.removeCustomRetention.json
148
+ def admin_conversations_removeCustomRetention(options = {})
149
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
150
+ post('admin.conversations.removeCustomRetention', options)
151
+ end
152
+
153
+ #
154
+ # Rename a public or private channel.
155
+ #
156
+ # @option options [Object] :channel_id
157
+ # The channel to rename.
158
+ # @option options [Object] :name
159
+ # .
160
+ # @see https://api.slack.com/methods/admin.conversations.rename
161
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.rename.json
162
+ def admin_conversations_rename(options = {})
163
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
164
+ throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
165
+ post('admin.conversations.rename', options)
166
+ end
167
+
168
+ #
169
+ # Search for public or private channels in an Enterprise organization.
170
+ #
171
+ # @option options [Object] :cursor
172
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
173
+ # @option options [Object] :limit
174
+ # Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10.
175
+ # @option options [Object] :query
176
+ # Name of the the channel to query by.
177
+ # @option options [Object] :search_channel_types
178
+ # The type of channel to include or exclude in the search. For example private will search private channels, while private_exclude will exclude them. For a full list of types, check the Types section.
179
+ # @option options [Object] :sort
180
+ # Possible values are relevant (search ranking based on what we think is closest), name (alphabetical), member_count (number of users in the channel), and created (date channel was created). You can optionally pair this with the sort_dir arg to change how it is sorted.
181
+ # @option options [Object] :sort_dir
182
+ # Sort direction. Possible values are asc for ascending order like (1, 2, 3) or (a, b, c), and desc for descending order like (3, 2, 1) or (c, b, a).
183
+ # @option options [Object] :team_ids
184
+ # Comma separated string of team IDs, signifying the workspaces to search through.
185
+ # @see https://api.slack.com/methods/admin.conversations.search
186
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.search.json
187
+ def admin_conversations_search(options = {})
188
+ if block_given?
189
+ Pagination::Cursor.new(self, :admin_conversations_search, options).each do |page|
190
+ yield page
191
+ end
192
+ else
193
+ post('admin.conversations.search', options)
194
+ end
195
+ end
196
+
197
+ #
198
+ # Set the posting permissions for a public or private channel.
199
+ #
200
+ # @option options [Object] :channel_id
201
+ # The channel to set the prefs for.
202
+ # @option options [Object] :prefs
203
+ # The prefs for this channel in a stringified JSON format.
204
+ # @see https://api.slack.com/methods/admin.conversations.setConversationPrefs
205
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setConversationPrefs.json
206
+ def admin_conversations_setConversationPrefs(options = {})
207
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
208
+ throw ArgumentError.new('Required arguments :prefs missing') if options[:prefs].nil?
209
+ post('admin.conversations.setConversationPrefs', options)
210
+ end
211
+
212
+ #
213
+ # This API endpoint can be used by any admin to set a channel's retention policy.
214
+ #
215
+ # @option options [Object] :channel_id
216
+ # The channel to set the retention policy for.
217
+ # @option options [Object] :duration_days
218
+ # The message retention duration in days to set for this channel.
219
+ # @see https://api.slack.com/methods/admin.conversations.setCustomRetention
220
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setCustomRetention.json
221
+ def admin_conversations_setCustomRetention(options = {})
222
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
223
+ throw ArgumentError.new('Required arguments :duration_days missing') if options[:duration_days].nil?
224
+ post('admin.conversations.setCustomRetention', options)
225
+ end
226
+
227
+ #
228
+ # Set the workspaces in an Enterprise grid org that connect to a public or private channel.
11
229
  #
12
230
  # @option options [Object] :channel_id
13
231
  # The encoded channel_id to add or remove to workspaces.
@@ -23,6 +241,18 @@ module Slack
23
241
  throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
24
242
  post('admin.conversations.setTeams', options)
25
243
  end
244
+
245
+ #
246
+ # Unarchive a public or private channel.
247
+ #
248
+ # @option options [Object] :channel_id
249
+ # The channel to unarchive.
250
+ # @see https://api.slack.com/methods/admin.conversations.unarchive
251
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.unarchive.json
252
+ def admin_conversations_unarchive(options = {})
253
+ throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
254
+ post('admin.conversations.unarchive', options)
255
+ end
26
256
  end
27
257
  end
28
258
  end
@@ -0,0 +1,35 @@
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 AdminConversationsEkm
9
+ #
10
+ # List all disconnected channels—i.e., channels that were once connected to other workspaces and then disconnected—and the corresponding original channel IDs for key revocation with EKM.
11
+ #
12
+ # @option options [Object] :channel_ids
13
+ # A comma-separated list of channels to filter to.
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
+ # @option options [Object] :team_ids
19
+ # A comma-separated list of the workspaces to which the channels you would like returned belong.
20
+ # @see https://api.slack.com/methods/admin.conversations.ekm.listOriginalConnectedChannelInfo
21
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations.ekm/admin.conversations.ekm.listOriginalConnectedChannelInfo.json
22
+ def admin_conversations_ekm_listOriginalConnectedChannelInfo(options = {})
23
+ if block_given?
24
+ Pagination::Cursor.new(self, :admin_conversations_ekm_listOriginalConnectedChannelInfo, options).each do |page|
25
+ yield page
26
+ end
27
+ else
28
+ post('admin.conversations.ekm.listOriginalConnectedChannelInfo', options)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -14,7 +14,7 @@ module Slack
14
14
  # @option options [Object] :group_id
15
15
  # The IDP Group ID to be an allowlist for the private channel.
16
16
  # @option options [Object] :team_id
17
- # The workspace where the IDP Group and channel exist.
17
+ # The workspace where the channel exists. This argument is required for channels only tied to one workspace, and optional for channels that are shared across an organization.
18
18
  # @see https://api.slack.com/methods/admin.conversations.restrictAccess.addGroup
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations.restrictAccess/admin.conversations.restrictAccess.addGroup.json
20
20
  def admin_conversations_restrictAccess_addGroup(options = {})
@@ -29,7 +29,7 @@ module Slack
29
29
  # @option options [Object] :channel_id
30
30
  # .
31
31
  # @option options [Object] :team_id
32
- # The workspace where the channele exists. This argument is required for channels only tied to one workspace, and optional for channels that are shared across an organization.
32
+ # The workspace where the channel exists. This argument is required for channels only tied to one workspace, and optional for channels that are shared across an organization.
33
33
  # @see https://api.slack.com/methods/admin.conversations.restrictAccess.listGroups
34
34
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations.restrictAccess/admin.conversations.restrictAccess.listGroups.json
35
35
  def admin_conversations_restrictAccess_listGroups(options = {})
@@ -45,7 +45,7 @@ module Slack
45
45
  # @option options [Object] :group_id
46
46
  # The IDP Group ID to remove from the private channel.
47
47
  # @option options [Object] :team_id
48
- # The workspace where the IDP Group and channel exist.
48
+ # The workspace where the channel exists. This argument is required for channels only tied to one workspace, and optional for channels that are shared across an organization.
49
49
  # @see https://api.slack.com/methods/admin.conversations.restrictAccess.removeGroup
50
50
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations.restrictAccess/admin.conversations.restrictAccess.removeGroup.json
51
51
  def admin_conversations_restrictAccess_removeGroup(options = {})
@@ -20,7 +20,7 @@ module Slack
20
20
  def admin_conversations_whitelist_add(options = {})
21
21
  throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
22
22
  throw ArgumentError.new('Required arguments :group_id missing') if options[:group_id].nil?
23
- logger.warn('admin.conversations.whitelist.add: Alternative methods: .')
23
+ logger.warn('admin.conversations.whitelist.add: This method is deprecated Alternative methods: .')
24
24
  post('admin.conversations.whitelist.add', options)
25
25
  end
26
26
 
@@ -35,7 +35,7 @@ module Slack
35
35
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations.whitelist/admin.conversations.whitelist.listGroupsLinkedToChannel.json
36
36
  def admin_conversations_whitelist_listGroupsLinkedToChannel(options = {})
37
37
  throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
38
- logger.warn('admin.conversations.whitelist.listGroupsLinkedToChannel: Alternative methods: .')
38
+ logger.warn('admin.conversations.whitelist.listGroupsLinkedToChannel: This method is deprecated Alternative methods: .')
39
39
  post('admin.conversations.whitelist.listGroupsLinkedToChannel', options)
40
40
  end
41
41
 
@@ -54,7 +54,7 @@ module Slack
54
54
  throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
55
55
  throw ArgumentError.new('Required arguments :group_id missing') if options[:group_id].nil?
56
56
  throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
57
- logger.warn('admin.conversations.whitelist.remove: Alternative methods: .')
57
+ logger.warn('admin.conversations.whitelist.remove: This method is deprecated Alternative methods: .')
58
58
  post('admin.conversations.whitelist.remove', options)
59
59
  end
60
60
  end
@@ -10,7 +10,7 @@ module Slack
10
10
  # Add an emoji.
11
11
  #
12
12
  # @option options [Object] :name
13
- # The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.
13
+ # The name of the emoji to be added. Colons (:myemoji:) around the value are not required, although they may be included.
14
14
  # @option options [Object] :url
15
15
  # The URL of a file to use as an image for the emoji. Square images under 128KB and with transparent backgrounds work best.
16
16
  # @see https://api.slack.com/methods/admin.emoji.add
@@ -7,7 +7,7 @@ module Slack
7
7
  module Endpoints
8
8
  module AdminUsergroups
9
9
  #
10
- # Add one or more default channels to an IDP group.
10
+ # Add up to one hundred default channels to an IDP group.
11
11
  #
12
12
  # @option options [Object] :channel_ids
13
13
  # Comma separated string of channel IDs.
@@ -60,16 +60,15 @@ module Slack
60
60
  #
61
61
  # List users on a workspace
62
62
  #
63
- # @option options [Object] :team_id
64
- # The ID (T1234) of the workspace.
65
63
  # @option options [Object] :cursor
66
64
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
67
65
  # @option options [Object] :limit
68
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
69
  # @see https://api.slack.com/methods/admin.users.list
70
70
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.list.json
71
71
  def admin_users_list(options = {})
72
- throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
73
72
  if block_given?
74
73
  Pagination::Cursor.new(self, :admin_users_list, options).each do |page|
75
74
  yield page
@@ -114,15 +113,14 @@ module Slack
114
113
  #
115
114
  # @option options [Object] :expiration_ts
116
115
  # Timestamp when guest account should be disabled.
117
- # @option options [Object] :team_id
118
- # The ID (T1234) of the workspace.
119
116
  # @option options [Object] :user_id
120
117
  # The ID of the user to set an expiration for.
118
+ # @option options [Object] :team_id
119
+ # The ID (T1234) of the workspace.
121
120
  # @see https://api.slack.com/methods/admin.users.setExpiration
122
121
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setExpiration.json
123
122
  def admin_users_setExpiration(options = {})
124
123
  throw ArgumentError.new('Required arguments :expiration_ts missing') if options[:expiration_ts].nil?
125
- throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
126
124
  throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
127
125
  post('admin.users.setExpiration', options)
128
126
  end