slack-ruby-client 0.13.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +29 -5
- data/.rubocop_todo.yml +124 -44
- data/.travis.yml +5 -8
- data/CHANGELOG.md +92 -2
- data/CONTRIBUTING.md +19 -8
- data/Dangerfile +2 -0
- data/Gemfile +10 -5
- data/LICENSE.md +1 -1
- data/README.md +186 -49
- data/RELEASING.md +1 -1
- data/Rakefile +2 -1
- data/UPGRADING.md +72 -2
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +51 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -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 +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/api.rb +1 -1
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_manifest.rb +51 -0
- data/bin/commands/apps_permissions.rb +1 -0
- data/bin/commands/apps_permissions_resources.rb +1 -0
- data/bin/commands/apps_permissions_scopes.rb +1 -0
- data/bin/commands/apps_permissions_users.rb +1 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +2 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +1 -153
- data/bin/commands/chat.rb +56 -12
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +75 -5
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +6 -3
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +10 -18
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -161
- data/bin/commands/im.rb +1 -62
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/mpim.rb +1 -60
- data/bin/commands/oauth.rb +2 -14
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +3 -6
- data/bin/commands/reactions.rb +3 -3
- data/bin/commands/reminders.rb +7 -0
- data/bin/commands/rtm.rb +3 -2
- data/bin/commands/search.rb +6 -1
- data/bin/commands/stars.rb +8 -6
- data/bin/commands/team.rb +5 -0
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +7 -1
- data/bin/commands/usergroups_users.rb +3 -0
- data/bin/commands/users.rb +6 -4
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +6 -5
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +38 -8
- data/bin/slack +2 -3
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +1 -0
- data/examples/hi_real_time_async_async/hi.rb +6 -2
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- data/lib/slack/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +72 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -0
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +101 -32
- data/lib/slack/real_time/concurrency/async.rb +77 -6
- data/lib/slack/real_time/concurrency.rb +1 -2
- data/lib/slack/real_time/config.rb +6 -10
- data/lib/slack/real_time/models/base.rb +1 -4
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/socket.rb +45 -17
- data/lib/slack/real_time/stores/base.rb +5 -7
- data/lib/slack/real_time/stores/starter.rb +17 -3
- data/lib/slack/real_time/stores/store.rb +33 -25
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -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 +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/api.rb +2 -3
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- 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/apps_manifest.rb +75 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -0
- data/lib/slack/web/api/endpoints/auth.rb +2 -1
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +4 -1
- 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 +2 -243
- data/lib/slack/web/api/endpoints/chat.rb +144 -47
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +152 -41
- data/lib/slack/web/api/endpoints/dialog.rb +3 -2
- data/lib/slack/web/api/endpoints/dnd.rb +9 -4
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +24 -29
- data/lib/slack/web/api/endpoints/files_comments.rb +2 -34
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -253
- data/lib/slack/web/api/endpoints/im.rb +1 -101
- data/lib/slack/web/api/endpoints/migration.rb +5 -2
- data/lib/slack/web/api/endpoints/mpim.rb +1 -96
- data/lib/slack/web/api/endpoints/oauth.rb +7 -31
- data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +8 -15
- data/lib/slack/web/api/endpoints/reactions.rb +20 -19
- data/lib/slack/web/api/endpoints/reminders.rb +18 -5
- data/lib/slack/web/api/endpoints/rtm.rb +11 -10
- data/lib/slack/web/api/endpoints/search.rb +28 -13
- data/lib/slack/web/api/endpoints/stars.rb +14 -11
- data/lib/slack/web/api/endpoints/team.rb +13 -4
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +27 -16
- data/lib/slack/web/api/endpoints/usergroups_users.rb +10 -5
- data/lib/slack/web/api/endpoints/users.rb +21 -20
- data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +8 -7
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +76 -18
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
- data/lib/slack/web/api/errors.rb +1040 -0
- data/lib/slack/web/api/mixins/{channels.id.rb → conversations.id.rb} +4 -5
- data/lib/slack/web/api/mixins/ids.id.rb +3 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -3
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/mixins.rb +2 -2
- data/lib/slack/web/api/patches/chat.1.patch +70 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +1 -0
- data/lib/slack/web/api/templates/commands.erb +1 -0
- data/lib/slack/web/api/templates/endpoints.erb +2 -2
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +5 -1
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +3 -0
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +3 -1
- data/lib/slack/web/faraday/response/raise_error.rb +21 -6
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +7 -7
- data/lib/slack-ruby-client.rb +10 -4
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +15 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +39 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +9 -6
- data/spec/fixtures/slack/web/429_error.yml +50 -54
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +167 -0
- data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
- data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +115 -47
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -13
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +244 -50
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- 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/event_handlers/bot_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +3 -2
- data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
- data/spec/slack/real_time/rtm_start_spec.rb +2 -1
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +40 -6
- data/spec/slack/version_spec.rb +2 -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_requests_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 +18 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -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 +98 -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 +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -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_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → auth_teams_spec.rb} +2 -1
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -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/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +9 -7
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +112 -36
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +8 -3
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -22
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/{apps_permissions_resources_spec.rb → team_billing_spec.rb} +2 -1
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +7 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -7
- 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/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +41 -13
- data/spec/slack/web/client_spec.rb +168 -19
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +48 -12
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +5 -4
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +6 -6
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +205 -147
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
- data/examples/hi_real_time_async_celluloid/Procfile +0 -2
- data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -35
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -118
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -66
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -26
- 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 -13
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/503_error.yml +0 -14
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -106
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -18
- data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -33
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -33
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Slack
|
|
2
3
|
module RealTime
|
|
3
4
|
module Stores
|
|
@@ -26,44 +27,49 @@ module Slack
|
|
|
26
27
|
@users = {}
|
|
27
28
|
end
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
|
|
33
|
-
end
|
|
30
|
+
attrs.users&.each do |data|
|
|
31
|
+
user = Models::User.new(data)
|
|
32
|
+
@users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
@channels = {}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
@channels[data.id] = Models::Channel.new(data)
|
|
40
|
-
end
|
|
36
|
+
attrs.channels&.each do |data|
|
|
37
|
+
@channels[data.id] = Models::Channel.new(data)
|
|
41
38
|
end
|
|
42
39
|
|
|
43
40
|
@bots = {}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
@bots[data.id] = Models::Bot.new(data)
|
|
47
|
-
end
|
|
41
|
+
attrs.bots&.each do |data|
|
|
42
|
+
@bots[data.id] = Models::Bot.new(data)
|
|
48
43
|
end
|
|
49
44
|
|
|
50
45
|
@groups = {}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
@groups[data.id] = Models::Group.new(data)
|
|
54
|
-
end
|
|
46
|
+
attrs.groups&.each do |data|
|
|
47
|
+
@groups[data.id] = Models::Group.new(data)
|
|
55
48
|
end
|
|
56
49
|
|
|
57
50
|
@ims = {}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
@ims[data.id] = Models::Im.new(data)
|
|
61
|
-
end
|
|
51
|
+
attrs.ims&.each do |data|
|
|
52
|
+
@ims[data.id] = Models::Im.new(data)
|
|
62
53
|
end
|
|
63
54
|
end
|
|
64
55
|
|
|
65
56
|
### RealTime Events
|
|
66
57
|
|
|
58
|
+
# A shared channel invite was sent to a Slack user.
|
|
59
|
+
# @see https://api.slack.com/events/shared_channel_invite_received
|
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/shared_channel_invite_received.json
|
|
61
|
+
# on :shared_channel_invite_received do |data|
|
|
62
|
+
|
|
63
|
+
# An enterprise grid migration has started on an external workspace..
|
|
64
|
+
# @see https://api.slack.com/events/external_org_migration_started
|
|
65
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
|
|
66
|
+
# on :external_org_migration_started do |data|
|
|
67
|
+
|
|
68
|
+
# An enterprise grid migration has finished on an external workspace..
|
|
69
|
+
# @see https://api.slack.com/events/external_org_migration_finished
|
|
70
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
|
|
71
|
+
# on :external_org_migration_finished do |data|
|
|
72
|
+
|
|
67
73
|
# A private channel was deleted.
|
|
68
74
|
# @see https://api.slack.com/events/group_deleted
|
|
69
75
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
|
|
@@ -151,7 +157,7 @@ module Slack
|
|
|
151
157
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
|
|
152
158
|
on :bot_changed do |data|
|
|
153
159
|
bot = bots[data.bot.id]
|
|
154
|
-
bot
|
|
160
|
+
bot&.merge!(data.bot)
|
|
155
161
|
end
|
|
156
162
|
|
|
157
163
|
# A team channel was archived.
|
|
@@ -333,7 +339,7 @@ module Slack
|
|
|
333
339
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_left.json
|
|
334
340
|
on :group_left do |data|
|
|
335
341
|
channel = groups[data.channel]
|
|
336
|
-
channel.members.delete(self.self.id) if channel
|
|
342
|
+
channel.members.delete(self.self.id) if channel&.key?(:members)
|
|
337
343
|
end
|
|
338
344
|
|
|
339
345
|
# A private group read marker was updated.
|
|
@@ -368,7 +374,8 @@ module Slack
|
|
|
368
374
|
# @see https://api.slack.com/events/im_close
|
|
369
375
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
|
|
370
376
|
on :im_close do |data|
|
|
371
|
-
return unless ims
|
|
377
|
+
return unless ims&.key?(data.channel)
|
|
378
|
+
|
|
372
379
|
ims[data.channel].is_open = false
|
|
373
380
|
end
|
|
374
381
|
|
|
@@ -393,7 +400,8 @@ module Slack
|
|
|
393
400
|
# @see https://api.slack.com/events/im_open
|
|
394
401
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
|
|
395
402
|
on :im_open do |data|
|
|
396
|
-
return unless ims
|
|
403
|
+
return unless ims&.key?(data.channel)
|
|
404
|
+
|
|
397
405
|
ims[data.channel].is_open = true
|
|
398
406
|
end
|
|
399
407
|
|
data/lib/slack/version.rb
CHANGED
|
@@ -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 [string] :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 [date] :date
|
|
15
|
+
# Date to retrieve the analytics data for, expressed as YYYY-MM-DD in UTC.
|
|
16
|
+
# @option options [boolean] :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
|
|
@@ -0,0 +1,78 @@
|
|
|
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 AdminApps
|
|
9
|
+
#
|
|
10
|
+
# Approve an app for installation on a workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [string] :app_id
|
|
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.
|
|
16
|
+
# @option options [string] :request_id
|
|
17
|
+
# The id of the request to approve.
|
|
18
|
+
# @option options [Object] :team_id
|
|
19
|
+
# The ID of the workspace to approve the app on.
|
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.approve
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.approve.json
|
|
22
|
+
def admin_apps_approve(options = {})
|
|
23
|
+
post('admin.apps.approve', options)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
#
|
|
27
|
+
# Clear an app resolution
|
|
28
|
+
#
|
|
29
|
+
# @option options [string] :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
|
+
|
|
42
|
+
#
|
|
43
|
+
# Restrict an app for installation on a workspace.
|
|
44
|
+
#
|
|
45
|
+
# @option options [string] :app_id
|
|
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.
|
|
49
|
+
# @option options [string] :request_id
|
|
50
|
+
# The id of the request to restrict.
|
|
51
|
+
# @option options [Object] :team_id
|
|
52
|
+
# The ID of the workspace to approve the app on.
|
|
53
|
+
# @see https://api.slack.com/methods/admin.apps.restrict
|
|
54
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.restrict.json
|
|
55
|
+
def admin_apps_restrict(options = {})
|
|
56
|
+
post('admin.apps.restrict', options)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
#
|
|
60
|
+
# Uninstall an app from one or many workspaces, or an entire enterprise organization.
|
|
61
|
+
#
|
|
62
|
+
# @option options [string] :app_id
|
|
63
|
+
# The ID of the app to uninstall.
|
|
64
|
+
# @option options [string] :enterprise_id
|
|
65
|
+
# The enterprise to completely uninstall the application from (across all workspaces). With an org-level token, this or team_ids is required.
|
|
66
|
+
# @option options [string] :team_ids
|
|
67
|
+
# IDs of the teams to uninstall from (max 100). With an org-level token, this or enterprise_id is required.
|
|
68
|
+
# @see https://api.slack.com/methods/admin.apps.uninstall
|
|
69
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.uninstall.json
|
|
70
|
+
def admin_apps_uninstall(options = {})
|
|
71
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
|
72
|
+
post('admin.apps.uninstall', options)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
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 AdminAppsApproved
|
|
9
|
+
#
|
|
10
|
+
# List approved apps for an org or workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [string] :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 [integer] :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 AdminAppsRequests
|
|
9
|
+
#
|
|
10
|
+
# List app requests for a team/workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [string] :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 [integer] :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.requests.list
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.requests/admin.apps.requests.list.json
|
|
22
|
+
def admin_apps_requests_list(options = {})
|
|
23
|
+
if block_given?
|
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_requests_list, options).each do |page|
|
|
25
|
+
yield page
|
|
26
|
+
end
|
|
27
|
+
else
|
|
28
|
+
post('admin.apps.requests.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 [string] :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 [integer] :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,72 @@
|
|
|
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 AdminAuthPolicy
|
|
9
|
+
#
|
|
10
|
+
# Assign entities to a particular authentication policy.
|
|
11
|
+
#
|
|
12
|
+
# @option options [array] :entity_ids
|
|
13
|
+
# Array of IDs to assign to the policy.
|
|
14
|
+
# @option options [Object] :entity_type
|
|
15
|
+
# The type of entity to assign to the policy. Currently, USER is supported.
|
|
16
|
+
# @option options [string] :policy_name
|
|
17
|
+
# The name of the authentication policy to assign the entities to. Currently, email_password is the only policy that may be used with this method.
|
|
18
|
+
# @see https://api.slack.com/methods/admin.auth.policy.assignEntities
|
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.auth.policy/admin.auth.policy.assignEntities.json
|
|
20
|
+
def admin_auth_policy_assignEntities(options = {})
|
|
21
|
+
throw ArgumentError.new('Required arguments :entity_ids missing') if options[:entity_ids].nil?
|
|
22
|
+
throw ArgumentError.new('Required arguments :entity_type missing') if options[:entity_type].nil?
|
|
23
|
+
throw ArgumentError.new('Required arguments :policy_name missing') if options[:policy_name].nil?
|
|
24
|
+
post('admin.auth.policy.assignEntities', options)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# Fetch all the entities assigned to a particular authentication policy by name.
|
|
29
|
+
#
|
|
30
|
+
# @option options [string] :policy_name
|
|
31
|
+
# The name of the policy to fetch entities for. Currently, email_password is the only policy that may be used with this method.
|
|
32
|
+
# @option options [string] :cursor
|
|
33
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
|
34
|
+
# @option options [Object] :entity_type
|
|
35
|
+
# The type of entity to assign to the policy. Currently, USER is supported.
|
|
36
|
+
# @option options [integer] :limit
|
|
37
|
+
# The maximum number of items to return. Must be between 1 and 1000, both inclusive.
|
|
38
|
+
# @see https://api.slack.com/methods/admin.auth.policy.getEntities
|
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.auth.policy/admin.auth.policy.getEntities.json
|
|
40
|
+
def admin_auth_policy_getEntities(options = {})
|
|
41
|
+
throw ArgumentError.new('Required arguments :policy_name missing') if options[:policy_name].nil?
|
|
42
|
+
if block_given?
|
|
43
|
+
Pagination::Cursor.new(self, :admin_auth_policy_getEntities, options).each do |page|
|
|
44
|
+
yield page
|
|
45
|
+
end
|
|
46
|
+
else
|
|
47
|
+
post('admin.auth.policy.getEntities', options)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
#
|
|
52
|
+
# Remove specified entities from a specified authentication policy.
|
|
53
|
+
#
|
|
54
|
+
# @option options [array] :entity_ids
|
|
55
|
+
# Encoded IDs of the entities you'd like to remove from the policy.
|
|
56
|
+
# @option options [Object] :entity_type
|
|
57
|
+
# The type of entity to assign to the policy. Currently, USER is supported.
|
|
58
|
+
# @option options [string] :policy_name
|
|
59
|
+
# The name of the policy to remove entities from. Currently, email_password is the only policy that may be used with this method.
|
|
60
|
+
# @see https://api.slack.com/methods/admin.auth.policy.removeEntities
|
|
61
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.auth.policy/admin.auth.policy.removeEntities.json
|
|
62
|
+
def admin_auth_policy_removeEntities(options = {})
|
|
63
|
+
throw ArgumentError.new('Required arguments :entity_ids missing') if options[:entity_ids].nil?
|
|
64
|
+
throw ArgumentError.new('Required arguments :entity_type missing') if options[:entity_type].nil?
|
|
65
|
+
throw ArgumentError.new('Required arguments :policy_name missing') if options[:policy_name].nil?
|
|
66
|
+
post('admin.auth.policy.removeEntities', options)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
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 [array] :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 [array] :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 [string] :cursor
|
|
43
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
|
44
|
+
# @option options [integer] :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 [array] :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 [array] :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
|