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.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +11 -3
- data/.rubocop_todo.yml +61 -23
- data/.travis.yml +1 -5
- data/CHANGELOG.md +43 -4
- data/CONTRIBUTING.md +17 -6
- data/Dangerfile +1 -1
- data/Gemfile +1 -2
- data/LICENSE.md +1 -1
- data/README.md +86 -52
- data/UPGRADING.md +20 -2
- data/bin/commands.rb +23 -0
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +15 -2
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +159 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +97 -0
- data/bin/commands/admin_users_session.rb +22 -0
- data/bin/commands/api.rb +0 -1
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +1 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +1 -155
- data/bin/commands/chat.rb +14 -12
- data/bin/commands/chat_scheduledMessages.rb +1 -0
- data/bin/commands/conversations.rb +15 -4
- data/bin/commands/dnd.rb +3 -1
- data/bin/commands/files.rb +7 -5
- data/bin/commands/files_remote.rb +3 -3
- data/bin/commands/groups.rb +1 -162
- data/bin/commands/im.rb +1 -63
- data/bin/commands/migration.rb +1 -0
- data/bin/commands/mpim.rb +1 -61
- data/bin/commands/oauth.rb +1 -1
- data/bin/commands/pins.rb +0 -2
- data/bin/commands/reactions.rb +1 -0
- data/bin/commands/search.rb +4 -1
- data/bin/commands/team.rb +3 -0
- data/bin/commands/usergroups.rb +6 -1
- data/bin/commands/usergroups_users.rb +2 -0
- data/bin/commands/users.rb +5 -3
- data/bin/commands/users_profile.rb +5 -5
- data/bin/commands/views.rb +1 -1
- data/bin/commands/workflows.rb +38 -0
- data/lib/slack-ruby-client.rb +5 -4
- data/lib/slack/events/request.rb +7 -3
- data/lib/slack/messages/message.rb +0 -4
- data/lib/slack/real_time/client.rb +2 -1
- data/lib/slack/real_time/concurrency.rb +0 -2
- data/lib/slack/real_time/concurrency/async.rb +1 -3
- data/lib/slack/real_time/config.rb +5 -14
- data/lib/slack/real_time/models/base.rb +0 -4
- data/lib/slack/real_time/socket.rb +2 -2
- data/lib/slack/real_time/stores/base.rb +3 -1
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +47 -0
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +22 -2
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +246 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +38 -0
- data/lib/slack/web/api/endpoints/api.rb +0 -2
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +2 -0
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +1 -245
- data/lib/slack/web/api/endpoints/chat.rb +23 -19
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -1
- data/lib/slack/web/api/endpoints/conversations.rb +37 -19
- data/lib/slack/web/api/endpoints/dnd.rb +4 -0
- data/lib/slack/web/api/endpoints/files.rb +8 -4
- data/lib/slack/web/api/endpoints/files_remote.rb +4 -4
- data/lib/slack/web/api/endpoints/groups.rb +0 -253
- data/lib/slack/web/api/endpoints/im.rb +0 -101
- data/lib/slack/web/api/endpoints/migration.rb +2 -0
- data/lib/slack/web/api/endpoints/mpim.rb +0 -96
- data/lib/slack/web/api/endpoints/oauth.rb +1 -4
- data/lib/slack/web/api/endpoints/pins.rb +3 -8
- data/lib/slack/web/api/endpoints/reactions.rb +5 -3
- data/lib/slack/web/api/endpoints/search.rb +6 -0
- data/lib/slack/web/api/endpoints/stars.rb +2 -2
- data/lib/slack/web/api/endpoints/team.rb +6 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +10 -0
- data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -0
- data/lib/slack/web/api/endpoints/users.rb +7 -5
- data/lib/slack/web/api/endpoints/users_profile.rb +3 -3
- data/lib/slack/web/api/endpoints/views.rb +1 -1
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/errors.rb +848 -0
- data/lib/slack/web/api/errors/internal_error.rb +14 -0
- data/lib/slack/web/api/errors/slack_error.rb +12 -0
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +1 -3
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/groups.id.rb +1 -3
- data/lib/slack/web/api/mixins/ids.id.rb +3 -5
- data/lib/slack/web/api/mixins/users.id.rb +1 -3
- data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +26 -24
- data/lib/slack/web/api/templates/endpoints.erb +1 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +4 -1
- data/lib/slack/web/api/templates/method_spec.erb +1 -1
- data/lib/slack/web/client.rb +1 -1
- data/lib/slack/web/config.rb +2 -0
- data/lib/slack/web/faraday/connection.rb +23 -20
- data/lib/slack/web/faraday/response/raise_error.rb +16 -2
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +2 -2
- data/lib/tasks/real_time.rake +1 -1
- data/lib/tasks/web.rake +21 -4
- data/slack-ruby-client.gemspec +5 -5
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/{groups_info.yml → conversations_info.yml} +4 -4
- data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/slack/events/request_spec.rb +13 -8
- data/spec/slack/real_time/client_spec.rb +18 -1
- data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/rtm_connect_spec.rb +1 -1
- data/spec/slack/real_time/rtm_start_spec.rb +1 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +93 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +20 -12
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/files_spec.rb +4 -4
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -31
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -31
- data/spec/slack/web/api/endpoints/oauth_spec.rb +3 -14
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -4
- data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/errors/slack_error_spec.rb +22 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +1 -1
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +1 -1
- data/spec/slack/web/api/mixins/users_spec.rb +1 -1
- data/spec/slack/web/client_spec.rb +121 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +33 -9
- data/spec/support/vcr.rb +4 -0
- metadata +145 -55
- data/examples/hi_real_time/Gemfile +0 -6
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -41
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -7
- data/examples/hi_real_time_async_celluloid/Procfile +0 -2
- data/examples/hi_real_time_async_celluloid/hi.rb +0 -39
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -7
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -39
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -142
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -85
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -15
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -116
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -57
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -13
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -13
- data/spec/slack/web/api/endpoints/views_spec.rb +0 -29
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -17
@@ -0,0 +1,28 @@
|
|
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 AdminAnalytics
|
9
|
+
#
|
10
|
+
# Retrieve analytics data for a given date, presented as a compressed JSON file
|
11
|
+
#
|
12
|
+
# @option options [Object] :type
|
13
|
+
# The type of analytics to retrieve. The options are currently limited to member (for grid member analytics) and public_channel (for public channel analytics).
|
14
|
+
# @option options [Object] :date
|
15
|
+
# Date to retrieve the analytics data for, expressed as YYYY-MM-DD in UTC.
|
16
|
+
# @option options [Object] :metadata_only
|
17
|
+
# Retrieve metadata for the type of analytics indicated. Can be used only with type set to public_channel analytics. See detail below. Omit the date parameter when using this argument.
|
18
|
+
# @see https://api.slack.com/methods/admin.analytics.getFile
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.analytics/admin.analytics.getFile.json
|
20
|
+
def admin_analytics_getFile(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :type missing') if options[:type].nil?
|
22
|
+
post('admin.analytics.getFile', options)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -11,25 +11,45 @@ module Slack
|
|
11
11
|
#
|
12
12
|
# @option options [Object] :app_id
|
13
13
|
# The id of the app to approve.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# The ID of the enterprise to approve the app on.
|
14
16
|
# @option options [Object] :request_id
|
15
17
|
# The id of the request to approve.
|
16
18
|
# @option options [Object] :team_id
|
17
|
-
# .
|
19
|
+
# The ID of the workspace to approve the app on.
|
18
20
|
# @see https://api.slack.com/methods/admin.apps.approve
|
19
21
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.approve.json
|
20
22
|
def admin_apps_approve(options = {})
|
21
23
|
post('admin.apps.approve', options)
|
22
24
|
end
|
23
25
|
|
26
|
+
#
|
27
|
+
# Clear an app resolution
|
28
|
+
#
|
29
|
+
# @option options [Object] :app_id
|
30
|
+
# The id of the app whose resolution you want to clear/undo.
|
31
|
+
# @option options [Object] :enterprise_id
|
32
|
+
# The enterprise to clear the app resolution from.
|
33
|
+
# @option options [Object] :team_id
|
34
|
+
# The workspace to clear the app resolution from.
|
35
|
+
# @see https://api.slack.com/methods/admin.apps.clearResolution
|
36
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.clearResolution.json
|
37
|
+
def admin_apps_clearResolution(options = {})
|
38
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
39
|
+
post('admin.apps.clearResolution', options)
|
40
|
+
end
|
41
|
+
|
24
42
|
#
|
25
43
|
# Restrict an app for installation on a workspace.
|
26
44
|
#
|
27
45
|
# @option options [Object] :app_id
|
28
46
|
# The id of the app to restrict.
|
47
|
+
# @option options [Object] :enterprise_id
|
48
|
+
# The ID of the enterprise to approve the app on.
|
29
49
|
# @option options [Object] :request_id
|
30
50
|
# The id of the request to restrict.
|
31
51
|
# @option options [Object] :team_id
|
32
|
-
# .
|
52
|
+
# The ID of the workspace to approve the app on.
|
33
53
|
# @see https://api.slack.com/methods/admin.apps.restrict
|
34
54
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.restrict.json
|
35
55
|
def admin_apps_restrict(options = {})
|
@@ -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 AdminAppsApproved
|
9
|
+
#
|
10
|
+
# List approved apps for an org or workspace.
|
11
|
+
#
|
12
|
+
# @option options [Object] :cursor
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# .
|
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_id
|
19
|
+
# .
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.approved.list
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.approved/admin.apps.approved.list.json
|
22
|
+
def admin_apps_approved_list(options = {})
|
23
|
+
if block_given?
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_approved_list, options).each do |page|
|
25
|
+
yield page
|
26
|
+
end
|
27
|
+
else
|
28
|
+
post('admin.apps.approved.list', options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
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 AdminAppsRestricted
|
9
|
+
#
|
10
|
+
# List restricted apps for an org or workspace.
|
11
|
+
#
|
12
|
+
# @option options [Object] :cursor
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# .
|
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_id
|
19
|
+
# .
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.restricted.list
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.restricted/admin.apps.restricted.list.json
|
22
|
+
def admin_apps_restricted_list(options = {})
|
23
|
+
if block_given?
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_restricted_list, options).each do |page|
|
25
|
+
yield page
|
26
|
+
end
|
27
|
+
else
|
28
|
+
post('admin.apps.restricted.list', options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -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
|
@@ -0,0 +1,246 @@
|
|
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 AdminConversations
|
9
|
+
#
|
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
|
+
# Get conversation preferences for a public or private channel.
|
68
|
+
#
|
69
|
+
# @option options [Object] :channel_id
|
70
|
+
# The channel to get preferences for.
|
71
|
+
# @see https://api.slack.com/methods/admin.conversations.getConversationPrefs
|
72
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getConversationPrefs.json
|
73
|
+
def admin_conversations_getConversationPrefs(options = {})
|
74
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
75
|
+
post('admin.conversations.getConversationPrefs', options)
|
76
|
+
end
|
77
|
+
|
78
|
+
#
|
79
|
+
# This API endpoint can be used by any admin to get a channel's retention policy.
|
80
|
+
#
|
81
|
+
# @option options [Object] :channel_id
|
82
|
+
# The channel to get the retention policy for.
|
83
|
+
# @see https://api.slack.com/methods/admin.conversations.getCustomRetention
|
84
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getCustomRetention.json
|
85
|
+
def admin_conversations_getCustomRetention(options = {})
|
86
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
87
|
+
post('admin.conversations.getCustomRetention', options)
|
88
|
+
end
|
89
|
+
|
90
|
+
#
|
91
|
+
# Get all the workspaces a given public or private channel is connected to within this Enterprise org.
|
92
|
+
#
|
93
|
+
# @option options [Object] :channel_id
|
94
|
+
# The channel to determine connected workspaces within the organization for.
|
95
|
+
# @option options [Object] :cursor
|
96
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
97
|
+
# @option options [Object] :limit
|
98
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
99
|
+
# @see https://api.slack.com/methods/admin.conversations.getTeams
|
100
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getTeams.json
|
101
|
+
def admin_conversations_getTeams(options = {})
|
102
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
103
|
+
if block_given?
|
104
|
+
Pagination::Cursor.new(self, :admin_conversations_getTeams, options).each do |page|
|
105
|
+
yield page
|
106
|
+
end
|
107
|
+
else
|
108
|
+
post('admin.conversations.getTeams', options)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
#
|
113
|
+
# Invite a user to a public or private channel.
|
114
|
+
#
|
115
|
+
# @option options [Object] :channel_id
|
116
|
+
# The channel that the users will be invited to.
|
117
|
+
# @option options [Object] :user_ids
|
118
|
+
# The users to invite.
|
119
|
+
# @see https://api.slack.com/methods/admin.conversations.invite
|
120
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.invite.json
|
121
|
+
def admin_conversations_invite(options = {})
|
122
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
123
|
+
throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
|
124
|
+
post('admin.conversations.invite', options)
|
125
|
+
end
|
126
|
+
|
127
|
+
#
|
128
|
+
# This API endpoint can be used by any admin to remove a channel's retention policy.
|
129
|
+
#
|
130
|
+
# @option options [Object] :channel_id
|
131
|
+
# The channel to set the retention policy for.
|
132
|
+
# @see https://api.slack.com/methods/admin.conversations.removeCustomRetention
|
133
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.removeCustomRetention.json
|
134
|
+
def admin_conversations_removeCustomRetention(options = {})
|
135
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
136
|
+
post('admin.conversations.removeCustomRetention', options)
|
137
|
+
end
|
138
|
+
|
139
|
+
#
|
140
|
+
# Rename a public or private channel.
|
141
|
+
#
|
142
|
+
# @option options [Object] :channel_id
|
143
|
+
# The channel to rename.
|
144
|
+
# @option options [Object] :name
|
145
|
+
# .
|
146
|
+
# @see https://api.slack.com/methods/admin.conversations.rename
|
147
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.rename.json
|
148
|
+
def admin_conversations_rename(options = {})
|
149
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
150
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
151
|
+
post('admin.conversations.rename', options)
|
152
|
+
end
|
153
|
+
|
154
|
+
#
|
155
|
+
# Search for public or private channels in an Enterprise organization.
|
156
|
+
#
|
157
|
+
# @option options [Object] :cursor
|
158
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
159
|
+
# @option options [Object] :limit
|
160
|
+
# Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10.
|
161
|
+
# @option options [Object] :query
|
162
|
+
# Name of the the channel to query by.
|
163
|
+
# @option options [Object] :search_channel_types
|
164
|
+
# 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.
|
165
|
+
# @option options [Object] :sort
|
166
|
+
# 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.
|
167
|
+
# @option options [Object] :sort_dir
|
168
|
+
# 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).
|
169
|
+
# @option options [Object] :team_ids
|
170
|
+
# Comma separated string of team IDs, signifying the workspaces to search through.
|
171
|
+
# @see https://api.slack.com/methods/admin.conversations.search
|
172
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.search.json
|
173
|
+
def admin_conversations_search(options = {})
|
174
|
+
if block_given?
|
175
|
+
Pagination::Cursor.new(self, :admin_conversations_search, options).each do |page|
|
176
|
+
yield page
|
177
|
+
end
|
178
|
+
else
|
179
|
+
post('admin.conversations.search', options)
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
#
|
184
|
+
# Set the posting permissions for a public or private channel.
|
185
|
+
#
|
186
|
+
# @option options [Object] :channel_id
|
187
|
+
# The channel to set the prefs for.
|
188
|
+
# @option options [Object] :prefs
|
189
|
+
# The prefs for this channel in a stringified JSON format.
|
190
|
+
# @see https://api.slack.com/methods/admin.conversations.setConversationPrefs
|
191
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setConversationPrefs.json
|
192
|
+
def admin_conversations_setConversationPrefs(options = {})
|
193
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
194
|
+
throw ArgumentError.new('Required arguments :prefs missing') if options[:prefs].nil?
|
195
|
+
post('admin.conversations.setConversationPrefs', options)
|
196
|
+
end
|
197
|
+
|
198
|
+
#
|
199
|
+
# This API endpoint can be used by any admin to set a channel's retention policy.
|
200
|
+
#
|
201
|
+
# @option options [Object] :channel_id
|
202
|
+
# The channel to set the retention policy for.
|
203
|
+
# @option options [Object] :duration_days
|
204
|
+
# The message retention duration in days to set for this channel.
|
205
|
+
# @see https://api.slack.com/methods/admin.conversations.setCustomRetention
|
206
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setCustomRetention.json
|
207
|
+
def admin_conversations_setCustomRetention(options = {})
|
208
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
209
|
+
throw ArgumentError.new('Required arguments :duration_days missing') if options[:duration_days].nil?
|
210
|
+
post('admin.conversations.setCustomRetention', options)
|
211
|
+
end
|
212
|
+
|
213
|
+
#
|
214
|
+
# Set the workspaces in an Enterprise grid org that connect to a public or private channel.
|
215
|
+
#
|
216
|
+
# @option options [Object] :channel_id
|
217
|
+
# The encoded channel_id to add or remove to workspaces.
|
218
|
+
# @option options [Object] :org_channel
|
219
|
+
# True if channel has to be converted to an org channel.
|
220
|
+
# @option options [Object] :target_team_ids
|
221
|
+
# A comma-separated list of workspaces to which the channel should be shared. Not required if the channel is being shared org-wide.
|
222
|
+
# @option options [Object] :team_id
|
223
|
+
# The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel.
|
224
|
+
# @see https://api.slack.com/methods/admin.conversations.setTeams
|
225
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setTeams.json
|
226
|
+
def admin_conversations_setTeams(options = {})
|
227
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
228
|
+
post('admin.conversations.setTeams', options)
|
229
|
+
end
|
230
|
+
|
231
|
+
#
|
232
|
+
# Unarchive a public or private channel.
|
233
|
+
#
|
234
|
+
# @option options [Object] :channel_id
|
235
|
+
# The channel to unarchive.
|
236
|
+
# @see https://api.slack.com/methods/admin.conversations.unarchive
|
237
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.unarchive.json
|
238
|
+
def admin_conversations_unarchive(options = {})
|
239
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
240
|
+
post('admin.conversations.unarchive', options)
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|