slack-ruby-client 0.11.0 → 2.7.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 +5 -5
- data/.coveralls.yml +2 -0
- data/.github/FUNDING.yml +2 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/integration_test.yml +45 -0
- data/.github/workflows/lint.yml +14 -0
- data/.github/workflows/pr_lint.yml +21 -0
- data/.github/workflows/test.yml +56 -0
- data/.github/workflows/update_api.yml +81 -0
- data/.gitignore +7 -3
- data/.rubocop.yml +40 -2
- data/.rubocop_todo.yml +209 -55
- data/.ruby-version +1 -0
- data/CHANGELOG.md +257 -30
- data/CONTRIBUTING.md +44 -29
- data/Dangerfile +2 -0
- data/Gemfile +28 -6
- data/Gemfile.danger +6 -0
- data/LICENSE.md +1 -1
- data/README.md +473 -134
- data/RELEASING.md +2 -2
- data/Rakefile +2 -1
- data/SECURITY.md +9 -0
- data/UPGRADING.md +117 -3
- data/bin/commands/admin_analytics.rb +22 -0
- data/bin/commands/admin_apps.rb +57 -0
- data/bin/commands/admin_apps_activities.rb +32 -0
- data/bin/commands/admin_apps_approved.rb +24 -0
- data/bin/commands/admin_apps_config.rb +31 -0
- data/bin/commands/admin_apps_requests.rb +35 -0
- data/bin/commands/admin_apps_restricted.rb +24 -0
- data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
- data/bin/commands/admin_auth_policy.rb +45 -0
- data/bin/commands/admin_barriers.rb +53 -0
- data/bin/commands/admin_conversations.rb +260 -0
- data/bin/commands/admin_conversations_ekm.rb +23 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +43 -0
- data/bin/commands/admin_emoji.rb +60 -0
- data/bin/commands/admin_functions.rb +23 -0
- data/bin/commands/admin_functions_permissions.rb +31 -0
- data/bin/commands/admin_inviteRequests.rb +42 -0
- data/bin/commands/admin_inviteRequests_approved.rb +22 -0
- data/bin/commands/admin_inviteRequests_denied.rb +22 -0
- data/bin/commands/admin_roles.rb +46 -0
- data/bin/commands/admin_teams.rb +33 -0
- data/bin/commands/admin_teams_admins.rb +22 -0
- data/bin/commands/admin_teams_owners.rb +22 -0
- data/bin/commands/admin_teams_settings.rb +70 -0
- data/bin/commands/admin_usergroups.rb +54 -0
- data/bin/commands/admin_users.rb +106 -0
- data/bin/commands/admin_users_session.rb +84 -0
- data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
- data/bin/commands/admin_workflows.rb +42 -0
- data/bin/commands/admin_workflows_collaborators.rb +31 -0
- data/bin/commands/admin_workflows_permissions.rb +21 -0
- data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
- data/bin/commands/api.rb +15 -9
- data/bin/commands/apps.rb +21 -0
- data/bin/commands/apps_activities.rb +32 -0
- data/bin/commands/apps_auth_external.rb +32 -0
- data/bin/commands/apps_connections.rb +19 -0
- data/bin/commands/apps_datastore.rb +116 -0
- data/bin/commands/apps_event_authorizations.rb +22 -0
- data/bin/commands/apps_manifest.rb +58 -0
- data/bin/commands/assistant_search.rb +27 -0
- data/bin/commands/assistant_threads.rb +45 -0
- data/bin/commands/auth.rb +22 -15
- data/bin/commands/auth_teams.rb +22 -0
- data/bin/commands/bookmarks.rb +60 -0
- data/bin/commands/bots.rb +16 -8
- data/bin/commands/calls.rb +58 -0
- data/bin/commands/calls_participants.rb +31 -0
- data/bin/commands/canvases.rb +41 -0
- data/bin/commands/canvases_access.rb +34 -0
- data/bin/commands/canvases_sections.rb +21 -0
- data/bin/commands/chat.rb +158 -99
- data/bin/commands/chat_scheduledMessages.rb +25 -0
- data/bin/commands/conversations.rb +241 -157
- data/bin/commands/conversations_canvases.rb +22 -0
- data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
- data/bin/commands/conversations_requestSharedInvite.rb +48 -0
- data/bin/commands/dialog.rb +16 -9
- data/bin/commands/dnd.rb +47 -38
- data/bin/commands/emoji.rb +15 -7
- data/bin/commands/files.rb +113 -87
- data/bin/commands/files_comments.rb +16 -30
- data/bin/commands/files_remote.rb +84 -0
- data/bin/commands/functions.rb +31 -0
- data/bin/commands/functions_distributions_permissions.rb +61 -0
- data/bin/commands/functions_workflows_steps.rb +23 -0
- data/bin/commands/functions_workflows_steps_responses.rb +23 -0
- data/bin/commands/migration.rb +17 -9
- data/bin/commands/oauth.rb +19 -24
- data/bin/commands/oauth_v2.rb +35 -0
- data/bin/commands/openid_connect.rb +33 -0
- data/bin/commands/pins.rb +33 -30
- data/bin/commands/reactions.rb +53 -45
- data/bin/commands/reminders.rb +54 -41
- data/bin/commands/rtm.rb +16 -22
- data/bin/commands/search.rb +44 -33
- data/bin/commands/stars.rb +39 -29
- data/bin/commands/team.rb +50 -34
- data/bin/commands/team_billing.rb +19 -0
- data/bin/commands/team_externalTeams.rb +35 -0
- data/bin/commands/team_preferences.rb +19 -0
- data/bin/commands/team_profile.rb +15 -8
- data/bin/commands/tooling_tokens.rb +20 -0
- data/bin/commands/usergroups.rb +69 -53
- data/bin/commands/usergroups_users.rb +30 -19
- data/bin/commands/users.rb +114 -84
- data/bin/commands/users_admin.rb +29 -22
- data/bin/commands/users_discoverableContacts.rb +20 -0
- data/bin/commands/users_prefs.rb +14 -7
- data/bin/commands/users_profile.rb +27 -20
- data/bin/commands/views.rb +56 -0
- data/bin/commands/workflows.rb +44 -0
- data/bin/commands/workflows_triggers_permissions.rb +60 -0
- data/bin/slack +50 -46
- data/examples/files_upload_v2/.env.example +1 -0
- data/examples/{hi_real_time → files_upload_v2}/Gemfile +2 -2
- data/examples/files_upload_v2/README.md +13 -0
- data/examples/files_upload_v2/files_upload_v2.rb +45 -0
- 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_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/hi.rb +12 -7
- 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/examples/oauth_v2/.env.example +4 -0
- data/examples/oauth_v2/Gemfile +7 -0
- data/examples/oauth_v2/README.md +33 -0
- data/examples/oauth_v2/oauth_v2.rb +60 -0
- data/lib/slack/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +76 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +66 -1
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +6 -3
- 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/templates/event_handler.erb +5 -1
- data/lib/slack/real_time/api/typing.rb +5 -2
- data/lib/slack/real_time/client.rb +117 -54
- data/lib/slack/real_time/concurrency/async.rb +142 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +12 -13
- 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 +5 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
- 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 +3 -1
- data/lib/slack/real_time/socket.rb +49 -17
- data/lib/slack/real_time/stores/base.rb +28 -14
- data/lib/slack/real_time/stores/starter.rb +325 -287
- data/lib/slack/real_time/stores/store.rb +271 -186
- data/lib/slack/real_time/stores.rb +2 -7
- data/lib/slack/utils/security.rb +44 -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_activities.rb +53 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +37 -0
- data/lib/slack/web/api/endpoints/admin_apps_config.rb +40 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +53 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +37 -0
- data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -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 +397 -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_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_functions.rb +36 -0
- data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +41 -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_roles.rb +73 -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 +167 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +121 -0
- data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
- data/lib/slack/web/api/endpoints/admin_workflows.rb +67 -0
- data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +42 -0
- data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +26 -0
- data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -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_activities.rb +54 -0
- data/lib/slack/web/api/endpoints/apps_auth_external.rb +41 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_datastore.rb +181 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +79 -0
- data/lib/slack/web/api/endpoints/assistant_search.rb +44 -0
- data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -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/bookmarks.rb +90 -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/canvases.rb +54 -0
- data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
- data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
- data/lib/slack/web/api/endpoints/chat.rb +172 -87
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +190 -64
- data/lib/slack/web/api/endpoints/conversations_canvases.rb +28 -0
- data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
- data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
- data/lib/slack/web/api/endpoints/dialog.rb +6 -10
- data/lib/slack/web/api/endpoints/dnd.rb +11 -5
- data/lib/slack/web/api/endpoints/emoji.rb +3 -0
- data/lib/slack/web/api/endpoints/files.rb +85 -36
- data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/functions.rb +43 -0
- data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +84 -0
- data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +30 -0
- data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +30 -0
- data/lib/slack/web/api/endpoints/migration.rb +6 -3
- data/lib/slack/web/api/endpoints/oauth.rb +10 -32
- 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 +11 -18
- data/lib/slack/web/api/endpoints/reactions.rb +31 -20
- data/lib/slack/web/api/endpoints/reminders.rb +25 -12
- data/lib/slack/web/api/endpoints/rtm.rb +4 -22
- data/lib/slack/web/api/endpoints/search.rb +33 -18
- data/lib/slack/web/api/endpoints/stars.rb +23 -10
- data/lib/slack/web/api/endpoints/team.rb +38 -7
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -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 +44 -25
- data/lib/slack/web/api/endpoints/usergroups_users.rb +23 -14
- data/lib/slack/web/api/endpoints/users.rb +57 -18
- data/lib/slack/web/api/endpoints/users_admin.rb +5 -2
- data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +2 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +11 -9
- data/lib/slack/web/api/endpoints/views.rb +86 -0
- data/lib/slack/web/api/endpoints/workflows.rb +63 -0
- data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
- data/lib/slack/web/api/endpoints.rb +136 -12
- 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 +1396 -0
- data/lib/slack/web/api/helpers/files.rb +97 -0
- data/lib/slack/web/api/helpers.rb +13 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +47 -0
- data/lib/slack/web/api/mixins/ids.id.rb +4 -3
- data/lib/slack/web/api/mixins/users.id.rb +18 -4
- data/lib/slack/web/api/mixins/users.search.rb +3 -1
- data/lib/slack/web/api/mixins.rb +2 -2
- data/lib/slack/web/api/options.rb +26 -0
- data/lib/slack/web/api/patches/.gitkeep +0 -0
- data/lib/slack/web/api/templates/command.erb +19 -12
- 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 +23 -3
- data/lib/slack/web/api/templates/method_spec.erb +40 -3
- data/lib/slack/web/client.rb +4 -1
- data/lib/slack/web/config.rb +9 -2
- data/lib/slack/web/faraday/connection.rb +11 -20
- data/lib/slack/web/faraday/options.rb +24 -0
- data/lib/slack/web/faraday/request.rb +6 -1
- data/lib/slack/web/faraday/response/raise_error.rb +14 -8
- 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 +18 -6
- 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 +51 -21
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +43 -17
- data/slack-ruby-client.gemspec +10 -14
- metadata +191 -307
- data/.travis.yml +0 -30
- data/bin/commands/apps_permissions.rb +0 -22
- data/bin/commands/channels.rb +0 -175
- data/bin/commands/groups.rb +0 -172
- data/bin/commands/im.rb +0 -67
- data/bin/commands/mpim.rb +0 -63
- data/bin/commands.rb +0 -33
- 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/hi.rb +0 -36
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
- data/lib/slack/web/api/endpoints/channels.rb +0 -265
- data/lib/slack/web/api/endpoints/groups.rb +0 -255
- data/lib/slack/web/api/endpoints/im.rb +0 -113
- data/lib/slack/web/api/endpoints/mpim.rb +0 -98
- data/lib/slack/web/api/endpoints/presence.rb +0 -23
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/channels.id.rb +0 -26
- 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/dialog.1.open-json-support.patch +0 -17
- data/lib/slack/web/api/templates/commands.erb +0 -5
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/429_error.yml +0 -85
- data/spec/fixtures/slack/web/auth_test_error.yml +0 -48
- data/spec/fixtures/slack/web/auth_test_success.yml +0 -57
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/fixtures/slack/web/paginated_users_list.yml +0 -181
- data/spec/fixtures/slack/web/rtm_connect.yml +0 -70
- data/spec/fixtures/slack/web/rtm_start.yml +0 -104
- data/spec/fixtures/slack/web/users_info.yml +0 -130
- data/spec/fixtures/slack/web/users_list.yml +0 -72
- data/spec/integration/integration_spec.rb +0 -139
- data/spec/slack/config_spec.rb +0 -14
- data/spec/slack/messages/formatting_spec.rb +0 -43
- data/spec/slack/real_time/api/message_spec.rb +0 -15
- data/spec/slack/real_time/api/ping_spec.rb +0 -15
- data/spec/slack/real_time/api/typing_spec.rb +0 -15
- data/spec/slack/real_time/client_spec.rb +0 -425
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -19
- data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -44
- data/spec/slack/real_time/event_handlers/channel_spec.rb +0 -116
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -15
- data/spec/slack/real_time/event_handlers/group_spec.rb +0 -90
- data/spec/slack/real_time/event_handlers/im_spec.rb +0 -47
- data/spec/slack/real_time/event_handlers/team_spec.rb +0 -62
- data/spec/slack/real_time/event_handlers/user_spec.rb +0 -63
- data/spec/slack/real_time/rtm_connect_spec.rb +0 -13
- data/spec/slack/real_time/rtm_start_spec.rb +0 -13
- data/spec/slack/real_time/store_spec.rb +0 -11
- data/spec/slack/slack_spec.rb +0 -58
- data/spec/slack/version_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/api_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
- data/spec/slack/web/api/endpoints/bots_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -25
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -105
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -28
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -33
- data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -12
- data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -34
- data/spec/slack/web/api/endpoints/files_spec.rb +0 -43
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
- data/spec/slack/web/api/endpoints/migration_spec.rb +0 -12
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
- data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -29
- data/spec/slack/web/api/endpoints/pins_spec.rb +0 -22
- data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -17
- data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -30
- data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/search_spec.rb +0 -22
- data/spec/slack/web/api/endpoints/stars_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/team_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -27
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -20
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -17
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -7
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -7
- data/spec/slack/web/api/error_spec.rb +0 -14
- data/spec/slack/web/api/errors/slack_error_spec.rb +0 -14
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
- data/spec/slack/web/api/mixins/users_spec.rb +0 -39
- data/spec/slack/web/api/pagination/cursor_spec.rb +0 -70
- data/spec/slack/web/client_spec.rb +0 -174
- data/spec/spec_helper.rb +0 -14
- data/spec/support/queue_with_timeout.rb +0 -34
- data/spec/support/real_time/concurrency/mock.rb +0 -30
- data/spec/support/real_time/connected_client.rb +0 -21
- data/spec/support/real_time/event.rb +0 -11
- data/spec/support/token.rb +0 -10
- data/spec/support/vcr.rb +0 -9
- /data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This module is copied from activesupport
|
4
|
+
# https://github.com/rails/rails/blob/3235827585d87661942c91bc81f64f56d710f0b2/activesupport/lib/active_support/security_utils.rb
|
5
|
+
module Slack
|
6
|
+
module Utils
|
7
|
+
# rubocop:disable Naming/MethodParameterName
|
8
|
+
module Security
|
9
|
+
# Constant time string comparison, for fixed length strings.
|
10
|
+
#
|
11
|
+
# The values compared should be of fixed length, such as strings
|
12
|
+
# that have already been processed by HMAC. Raises in case of length mismatch.
|
13
|
+
|
14
|
+
if defined?(OpenSSL.fixed_length_secure_compare)
|
15
|
+
def fixed_length_secure_compare(a, b)
|
16
|
+
OpenSSL.fixed_length_secure_compare(a, b)
|
17
|
+
end
|
18
|
+
else
|
19
|
+
def fixed_length_secure_compare(a, b)
|
20
|
+
raise ArgumentError, 'inputs must be of equal length' unless a.bytesize == b.bytesize
|
21
|
+
|
22
|
+
l = a.unpack "C#{a.bytesize}"
|
23
|
+
|
24
|
+
res = 0
|
25
|
+
b.each_byte { |byte| res |= byte ^ l.shift }
|
26
|
+
res.zero?
|
27
|
+
end
|
28
|
+
end
|
29
|
+
module_function :fixed_length_secure_compare
|
30
|
+
|
31
|
+
# Secure string comparison for strings of variable length.
|
32
|
+
#
|
33
|
+
# While a timing attack would not be able to discern the content of
|
34
|
+
# a secret compared via secure_compare, it is possible to determine
|
35
|
+
# the secret length. This should be considered when using secure_compare
|
36
|
+
# to compare weak, short secrets to user input.
|
37
|
+
def secure_compare(a, b)
|
38
|
+
a.bytesize == b.bytesize && fixed_length_secure_compare(a, b)
|
39
|
+
end
|
40
|
+
module_function :secure_compare
|
41
|
+
end
|
42
|
+
# rubocop:enable Naming/MethodParameterName
|
43
|
+
end
|
44
|
+
end
|
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. Required unless metadata_only is set to true.
|
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
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, '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,53 @@
|
|
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 AdminAppsActivities
|
9
|
+
#
|
10
|
+
# Get logs for a specified team/org
|
11
|
+
#
|
12
|
+
# @option options [Object] :app_id
|
13
|
+
# The ID of the app to get activities from.
|
14
|
+
# @option options [string] :component_id
|
15
|
+
# The component ID of log events to be returned. Will be FnXXXXXX for functions, and WfXXXXXX for worflows.
|
16
|
+
# @option options [string] :component_type
|
17
|
+
# The component type of log events to be returned. Acceptable values are events_api, workflows, functions and tables.
|
18
|
+
# @option options [string] :cursor
|
19
|
+
# Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. See pagination for more detail.
|
20
|
+
# @option options [integer] :limit
|
21
|
+
# The maximum number of items to return.
|
22
|
+
# @option options [string] :log_event_type
|
23
|
+
# The event type of log events to be returned.
|
24
|
+
# @option options [integer] :max_date_created
|
25
|
+
# The latest timestamp of the log to retrieve (epoch microseconds).
|
26
|
+
# @option options [integer] :min_date_created
|
27
|
+
# The earliest timestamp of the log to retrieve (epoch microseconds).
|
28
|
+
# @option options [string] :min_log_level
|
29
|
+
# The minimum log level of the log events to be returned. Defaults to info. Acceptable values (in order of relative importance from smallest to largest) are trace, debug, info, warn, error and fatal.
|
30
|
+
# @option options [enum] :sort_direction
|
31
|
+
# The direction you want the data sorted by (always by timestamp).
|
32
|
+
# @option options [string] :source
|
33
|
+
# The source of log events to be returned. Acceptable values are slack and developer.
|
34
|
+
# @option options [string] :team_id
|
35
|
+
# The team who owns this log.
|
36
|
+
# @option options [string] :trace_id
|
37
|
+
# The trace ID of log events to be returned.
|
38
|
+
# @see https://api.slack.com/methods/admin.apps.activities.list
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.activities/admin.apps.activities.list.json
|
40
|
+
def admin_apps_activities_list(options = {})
|
41
|
+
if block_given?
|
42
|
+
Pagination::Cursor.new(self, :admin_apps_activities_list, options).each do |page|
|
43
|
+
yield page
|
44
|
+
end
|
45
|
+
else
|
46
|
+
post('admin.apps.activities.list', options)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,37 @@
|
|
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 [boolean] :certified
|
13
|
+
# Limit the results to only include certified apps. When false, no certified apps will appear in the result.
|
14
|
+
# @option options [string] :cursor
|
15
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
16
|
+
# @option options [Object] :enterprise_id
|
17
|
+
# .
|
18
|
+
# @option options [integer] :limit
|
19
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
20
|
+
# @option options [Object] :team_id
|
21
|
+
# .
|
22
|
+
# @see https://api.slack.com/methods/admin.apps.approved.list
|
23
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.approved/admin.apps.approved.list.json
|
24
|
+
def admin_apps_approved_list(options = {})
|
25
|
+
if block_given?
|
26
|
+
Pagination::Cursor.new(self, :admin_apps_approved_list, options).each do |page|
|
27
|
+
yield page
|
28
|
+
end
|
29
|
+
else
|
30
|
+
post('admin.apps.approved.list', options)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,40 @@
|
|
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 AdminAppsConfig
|
9
|
+
#
|
10
|
+
# Look up the app config for connectors by their IDs
|
11
|
+
#
|
12
|
+
# @option options [array] :app_ids
|
13
|
+
# An array of app IDs to get app configs for.
|
14
|
+
# @see https://api.slack.com/methods/admin.apps.config.lookup
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.config/admin.apps.config.lookup.json
|
16
|
+
def admin_apps_config_lookup(options = {})
|
17
|
+
raise ArgumentError, 'Required arguments :app_ids missing' if options[:app_ids].nil?
|
18
|
+
post('admin.apps.config.lookup', options)
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Set the app config for a connector
|
23
|
+
#
|
24
|
+
# @option options [Object] :app_id
|
25
|
+
# The encoded app ID to set the app config for.
|
26
|
+
# @option options [object] :domain_restrictions
|
27
|
+
# Domain restrictions for the app. Should be an object with two properties: urls and emails. Each is an array of strings, and each sets the allowed URLs and emails for connector authorization, respectively.
|
28
|
+
# @option options [enum] :workflow_auth_strategy
|
29
|
+
# The workflow auth permission. Can be one of builder_choice or end_user_only.
|
30
|
+
# @see https://api.slack.com/methods/admin.apps.config.set
|
31
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.config/admin.apps.config.set.json
|
32
|
+
def admin_apps_config_set(options = {})
|
33
|
+
raise ArgumentError, 'Required arguments :app_id missing' if options[:app_id].nil?
|
34
|
+
post('admin.apps.config.set', options)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,53 @@
|
|
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
|
+
# Cancel app request for team
|
11
|
+
#
|
12
|
+
# @option options [string] :request_id
|
13
|
+
# The id of the request to cancel.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# The ID of the enterprise where this request belongs.
|
16
|
+
# @option options [Object] :team_id
|
17
|
+
# The ID of the workspace where this request belongs.
|
18
|
+
# @see https://api.slack.com/methods/admin.apps.requests.cancel
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.requests/admin.apps.requests.cancel.json
|
20
|
+
def admin_apps_requests_cancel(options = {})
|
21
|
+
raise ArgumentError, 'Required arguments :request_id missing' if options[:request_id].nil?
|
22
|
+
post('admin.apps.requests.cancel', options)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# List app requests for a team/workspace.
|
27
|
+
#
|
28
|
+
# @option options [boolean] :certified
|
29
|
+
# Include requests for certified apps.
|
30
|
+
# @option options [string] :cursor
|
31
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
32
|
+
# @option options [Object] :enterprise_id
|
33
|
+
# .
|
34
|
+
# @option options [integer] :limit
|
35
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
36
|
+
# @option options [Object] :team_id
|
37
|
+
# .
|
38
|
+
# @see https://api.slack.com/methods/admin.apps.requests.list
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.requests/admin.apps.requests.list.json
|
40
|
+
def admin_apps_requests_list(options = {})
|
41
|
+
if block_given?
|
42
|
+
Pagination::Cursor.new(self, :admin_apps_requests_list, options).each do |page|
|
43
|
+
yield page
|
44
|
+
end
|
45
|
+
else
|
46
|
+
post('admin.apps.requests.list', options)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,37 @@
|
|
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 [boolean] :certified
|
13
|
+
# Limit the results to only include certified apps. When false, no certified apps will appear in the result.
|
14
|
+
# @option options [string] :cursor
|
15
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
16
|
+
# @option options [Object] :enterprise_id
|
17
|
+
# .
|
18
|
+
# @option options [integer] :limit
|
19
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
20
|
+
# @option options [Object] :team_id
|
21
|
+
# .
|
22
|
+
# @see https://api.slack.com/methods/admin.apps.restricted.list
|
23
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.restricted/admin.apps.restricted.list.json
|
24
|
+
def admin_apps_restricted_list(options = {})
|
25
|
+
if block_given?
|
26
|
+
Pagination::Cursor.new(self, :admin_apps_restricted_list, options).each do |page|
|
27
|
+
yield page
|
28
|
+
end
|
29
|
+
else
|
30
|
+
post('admin.apps.restricted.list', options)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module AdminAuditAnomalyAllow
|
9
|
+
#
|
10
|
+
# API to allow enterprise grid admins to read the allow list of IP blocks and ASNs from the enterprise configuration.
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/admin.audit.anomaly.allow.getItem
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.audit.anomaly.allow/admin.audit.anomaly.allow.getItem.json
|
14
|
+
def admin_audit_anomaly_allow_getItem(options = {})
|
15
|
+
post('admin.audit.anomaly.allow.getItem', options)
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# API to allow enterprise grid admins to write/overwrite the allow list of IP blocks and ASNs from the enterprise configuration.
|
20
|
+
#
|
21
|
+
# @option options [array] :trusted_asns
|
22
|
+
# allow list of Autonomous System Numbers (ASN) in the enterprise grid configuarion.
|
23
|
+
# @option options [array] :trusted_cidr
|
24
|
+
# allow list of IPv4 addressses using cidr notation in the enterprise grid configuarion.
|
25
|
+
# @see https://api.slack.com/methods/admin.audit.anomaly.allow.updateItem
|
26
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.audit.anomaly.allow/admin.audit.anomaly.allow.updateItem.json
|
27
|
+
def admin_audit_anomaly_allow_updateItem(options = {})
|
28
|
+
post('admin.audit.anomaly.allow.updateItem', options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
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
|
+
raise ArgumentError, 'Required arguments :entity_ids missing' if options[:entity_ids].nil?
|
22
|
+
raise ArgumentError, 'Required arguments :entity_type missing' if options[:entity_type].nil?
|
23
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, 'Required arguments :entity_ids missing' if options[:entity_ids].nil?
|
64
|
+
raise ArgumentError, 'Required arguments :entity_type missing' if options[:entity_type].nil?
|
65
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, 'Required arguments :barriered_from_usergroup_ids missing' if options[:barriered_from_usergroup_ids].nil?
|
22
|
+
raise ArgumentError, 'Required arguments :primary_usergroup_id missing' if options[:primary_usergroup_id].nil?
|
23
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, '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
|
+
raise ArgumentError, 'Required arguments :barrier_id missing' if options[:barrier_id].nil?
|
73
|
+
raise ArgumentError, 'Required arguments :barriered_from_usergroup_ids missing' if options[:barriered_from_usergroup_ids].nil?
|
74
|
+
raise ArgumentError, 'Required arguments :primary_usergroup_id missing' if options[:primary_usergroup_id].nil?
|
75
|
+
raise ArgumentError, '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
|