slack-ruby-client 0.7.2 → 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 +5 -5
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +2 -0
- data/.gitmodules +1 -1
- data/.rubocop.yml +37 -1
- data/.rubocop_todo.yml +130 -47
- data/.travis.yml +17 -13
- data/CHANGELOG.md +254 -43
- data/CONTRIBUTING.md +26 -15
- data/Dangerfile +3 -0
- data/Gemfile +13 -2
- data/LICENSE.md +1 -1
- data/README.md +287 -63
- data/RELEASING.md +22 -14
- data/Rakefile +2 -1
- data/UPGRADING.md +129 -5
- 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 +3 -3
- 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 +23 -0
- data/bin/commands/apps_permissions_resources.rb +15 -0
- data/bin/commands/apps_permissions_scopes.rb +13 -0
- data/bin/commands/apps_permissions_users.rb +26 -0
- data/bin/commands/auth.rb +12 -2
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +15 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +6 -132
- data/bin/commands/chat.rb +127 -20
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +253 -0
- data/bin/commands/dialog.rb +15 -0
- data/bin/commands/dnd.rb +12 -9
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +47 -31
- data/bin/commands/files_comments.rb +3 -23
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -154
- data/bin/commands/im.rb +1 -48
- data/bin/commands/migration.rb +16 -0
- data/bin/commands/mpim.rb +1 -48
- data/bin/commands/oauth.rb +4 -2
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +9 -12
- data/bin/commands/reactions.rb +17 -15
- data/bin/commands/reminders.rb +17 -10
- data/bin/commands/rtm.rb +19 -4
- data/bin/commands/search.rb +17 -12
- data/bin/commands/stars.rb +12 -9
- data/bin/commands/team.rb +23 -8
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +14 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +23 -17
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +83 -27
- data/bin/commands/users_admin.rb +29 -0
- data/bin/commands/users_prefs.rb +13 -0
- data/bin/commands/users_profile.rb +27 -0
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +47 -5
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +8 -4
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +2 -1
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +3 -2
- 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 +4 -4
- data/lib/slack/messages/message.rb +6 -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/templates/event_handler.erb +1 -1
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +116 -36
- data/lib/slack/real_time/concurrency/async.rb +138 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +17 -19
- data/lib/slack/real_time/models/base.rb +3 -3
- 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 +8 -7
- data/lib/slack/real_time/socket.rb +51 -23
- data/lib/slack/real_time/stores/base.rb +6 -9
- data/lib/slack/real_time/stores/starter.rb +143 -69
- data/lib/slack/real_time/stores/store.rb +160 -82
- data/lib/slack/real_time/stores.rb +4 -3
- 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 +4 -5
- 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 +36 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
- data/lib/slack/web/api/endpoints/auth.rb +14 -2
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +25 -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 +8 -201
- data/lib/slack/web/api/endpoints/chat.rb +252 -42
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +422 -0
- data/lib/slack/web/api/endpoints/dialog.rb +33 -0
- data/lib/slack/web/api/endpoints/dnd.rb +17 -12
- data/lib/slack/web/api/endpoints/emoji.rb +3 -2
- data/lib/slack/web/api/endpoints/files.rb +82 -43
- 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/groups.rb +1 -235
- data/lib/slack/web/api/endpoints/im.rb +1 -73
- data/lib/slack/web/api/endpoints/migration.rb +28 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -72
- data/lib/slack/web/api/endpoints/oauth.rb +9 -10
- 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 +14 -23
- data/lib/slack/web/api/endpoints/presence.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +43 -34
- data/lib/slack/web/api/endpoints/reminders.rb +28 -15
- data/lib/slack/web/api/endpoints/rtm.rb +29 -8
- data/lib/slack/web/api/endpoints/search.rb +39 -24
- data/lib/slack/web/api/endpoints/stars.rb +30 -22
- data/lib/slack/web/api/endpoints/team.rb +34 -11
- 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 +23 -0
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +43 -32
- data/lib/slack/web/api/endpoints/usergroups_users.rb +14 -9
- data/lib/slack/web/api/endpoints/users.rb +104 -19
- data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +44 -0
- 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 +111 -29
- data/lib/slack/web/api/error.rb +2 -8
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +29 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +21 -0
- data/lib/slack/web/api/errors.rb +1040 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/ids.id.rb +24 -0
- data/lib/slack/web/api/mixins/users.id.rb +6 -7
- data/lib/slack/web/api/mixins/users.search.rb +39 -36
- data/lib/slack/web/api/mixins.rb +4 -4
- data/lib/slack/web/api/patches/chat.1.patch +70 -0
- data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -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 +5 -3
- data/lib/slack/web/api/templates/commands.erb +2 -1
- data/lib/slack/web/api/templates/endpoints.erb +5 -5
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +26 -4
- data/lib/slack/web/api/templates/method_spec.erb +3 -2
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +21 -10
- data/lib/slack/web/faraday/connection.rb +25 -16
- data/lib/slack/web/faraday/request.rb +4 -1
- data/lib/slack/web/faraday/response/raise_error.rb +19 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +48 -0
- data/lib/slack-ruby-client.rb +40 -26
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +2 -1
- data/lib/tasks/real_time.rake +16 -6
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +42 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +11 -9
- data/spec/fixtures/slack/web/429_error.yml +50 -52
- 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 +613 -0
- data/spec/fixtures/slack/web/rtm_connect.yml +307 -0
- 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 +116 -48
- 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 -14
- 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 +465 -141
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +21 -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 +7 -4
- data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- 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 +8 -4
- data/spec/slack/real_time/event_handlers/user_spec.rb +7 -4
- data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
- 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 +42 -8
- 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/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bots_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/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +11 -4
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +22 -7
- 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 +17 -5
- data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
- 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/team_billing_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +8 -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 +18 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +8 -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 +33 -0
- 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 +30 -17
- data/spec/slack/web/api/pagination/cursor_spec.rb +98 -0
- data/spec/slack/web/client_spec.rb +211 -14
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +86 -0
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +6 -5
- data/spec/support/real_time/concurrency/mock.rb +2 -2
- data/spec/support/real_time/connected_client.rb +7 -2
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +250 -130
- 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/Gemfile +0 -5
- data/examples/hi_real_time_async/hi.rb +0 -29
- 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 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -100
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- 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 -20
- data/screenshots/register-bot.png +0 -0
- 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 -35
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -50
- 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 -30
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -30
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminEmoji methods.'
|
5
|
+
command 'admin_emoji' do |g|
|
6
|
+
g.desc 'Add an emoji.'
|
7
|
+
g.long_desc %( Add an emoji. )
|
8
|
+
g.command 'add' do |c|
|
9
|
+
c.flag 'name', desc: 'The name of the emoji to be added. Colons (:myemoji:) around the value are not required, although they may be included.'
|
10
|
+
c.flag 'url', desc: 'The URL of a file to use as an image for the emoji. Square images under 128KB and with transparent backgrounds work best.'
|
11
|
+
c.action do |_global_options, options, _args|
|
12
|
+
puts JSON.dump($client.admin_emoji_add(options))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
g.desc 'Add an emoji alias.'
|
17
|
+
g.long_desc %( Add an emoji alias. )
|
18
|
+
g.command 'addAlias' do |c|
|
19
|
+
c.flag 'alias_for', desc: 'The alias of the emoji.'
|
20
|
+
c.flag 'name', desc: 'The name of the emoji to be aliased. Colons (:myemoji:) around the value are not required, although they may be included.'
|
21
|
+
c.action do |_global_options, options, _args|
|
22
|
+
puts JSON.dump($client.admin_emoji_addAlias(options))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
g.desc 'List emoji for an Enterprise Grid organization.'
|
27
|
+
g.long_desc %( List emoji for an Enterprise Grid organization. )
|
28
|
+
g.command 'list' do |c|
|
29
|
+
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
|
30
|
+
c.flag 'limit', desc: 'The maximum number of items to return. Must be between 1 - 1000 both inclusive.'
|
31
|
+
c.action do |_global_options, options, _args|
|
32
|
+
puts JSON.dump($client.admin_emoji_list(options))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
g.desc 'Remove an emoji across an Enterprise Grid organization'
|
37
|
+
g.long_desc %( Remove an emoji across an Enterprise Grid organization )
|
38
|
+
g.command 'remove' do |c|
|
39
|
+
c.flag 'name', desc: 'The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.'
|
40
|
+
c.action do |_global_options, options, _args|
|
41
|
+
puts JSON.dump($client.admin_emoji_remove(options))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
g.desc 'Rename an emoji.'
|
46
|
+
g.long_desc %( Rename an emoji. )
|
47
|
+
g.command 'rename' do |c|
|
48
|
+
c.flag 'name', desc: 'The name of the emoji to be renamed. Colons (:myemoji:) around the value are not required, although they may be included.'
|
49
|
+
c.flag 'new_name', desc: 'The new name of the emoji.'
|
50
|
+
c.action do |_global_options, options, _args|
|
51
|
+
puts JSON.dump($client.admin_emoji_rename(options))
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminInviterequests methods.'
|
5
|
+
command 'admin_inviteRequests' do |g|
|
6
|
+
g.desc 'Approve a workspace invite request.'
|
7
|
+
g.long_desc %( Approve a workspace invite request. )
|
8
|
+
g.command 'approve' do |c|
|
9
|
+
c.flag 'invite_request_id', desc: 'ID of the request to invite.'
|
10
|
+
c.flag 'team_id', desc: 'ID for the workspace where the invite request was made.'
|
11
|
+
c.action do |_global_options, options, _args|
|
12
|
+
puts JSON.dump($client.admin_inviteRequests_approve(options))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
g.desc 'Deny a workspace invite request.'
|
17
|
+
g.long_desc %( Deny a workspace invite request. )
|
18
|
+
g.command 'deny' do |c|
|
19
|
+
c.flag 'invite_request_id', desc: 'ID of the request to invite.'
|
20
|
+
c.flag 'team_id', desc: 'ID for the workspace where the invite request was made.'
|
21
|
+
c.action do |_global_options, options, _args|
|
22
|
+
puts JSON.dump($client.admin_inviteRequests_deny(options))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
g.desc 'List all pending workspace invite requests.'
|
27
|
+
g.long_desc %( List all pending workspace invite requests. )
|
28
|
+
g.command 'list' do |c|
|
29
|
+
c.flag 'cursor', desc: 'Value of the next_cursor field sent as part of the previous API response.'
|
30
|
+
c.flag 'limit', desc: 'The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive.'
|
31
|
+
c.flag 'team_id', desc: 'ID for the workspace where the invite requests were made.'
|
32
|
+
c.action do |_global_options, options, _args|
|
33
|
+
puts JSON.dump($client.admin_inviteRequests_list(options))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminInviterequestsApproved methods.'
|
5
|
+
command 'admin_inviteRequests_approved' do |g|
|
6
|
+
g.desc 'List all approved workspace invite requests.'
|
7
|
+
g.long_desc %( List all approved workspace invite requests. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.flag 'cursor', desc: 'Value of the next_cursor field sent as part of the previous API response.'
|
10
|
+
c.flag 'limit', desc: 'The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive.'
|
11
|
+
c.flag 'team_id', desc: 'ID for the workspace where the invite requests were made.'
|
12
|
+
c.action do |_global_options, options, _args|
|
13
|
+
puts JSON.dump($client.admin_inviteRequests_approved_list(options))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminInviterequestsDenied methods.'
|
5
|
+
command 'admin_inviteRequests_denied' do |g|
|
6
|
+
g.desc 'List all denied workspace invite requests.'
|
7
|
+
g.long_desc %( List all denied workspace invite requests. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.flag 'cursor', desc: 'Value of the next_cursor field sent as part of the previous api response.'
|
10
|
+
c.flag 'limit', desc: 'The number of results that will be returned by the API on each invocation. Must be between 1 - 1000 both inclusive.'
|
11
|
+
c.flag 'team_id', desc: 'ID for the workspace where the invite requests were made.'
|
12
|
+
c.action do |_global_options, options, _args|
|
13
|
+
puts JSON.dump($client.admin_inviteRequests_denied_list(options))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminTeams methods.'
|
5
|
+
command 'admin_teams' do |g|
|
6
|
+
g.desc 'Create an Enterprise team.'
|
7
|
+
g.long_desc %( Create an Enterprise team. )
|
8
|
+
g.command 'create' do |c|
|
9
|
+
c.flag 'team_domain', desc: 'Team domain (for example, slacksoftballteam). Domains are limited to 21 characters.'
|
10
|
+
c.flag 'team_name', desc: 'Team name (for example, Slack Softball Team).'
|
11
|
+
c.flag 'team_description', desc: 'Description for the team.'
|
12
|
+
c.flag 'team_discoverability', desc: "Who can join the team. A team's discoverability can be open, closed, invite_only, or unlisted."
|
13
|
+
c.action do |_global_options, options, _args|
|
14
|
+
puts JSON.dump($client.admin_teams_create(options))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
g.desc 'List all teams on an Enterprise organization'
|
19
|
+
g.long_desc %( List all teams on an Enterprise organization )
|
20
|
+
g.command 'list' do |c|
|
21
|
+
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
|
22
|
+
c.flag 'limit', desc: 'The maximum number of items to return. Must be between 1 - 100 both inclusive.'
|
23
|
+
c.action do |_global_options, options, _args|
|
24
|
+
puts JSON.dump($client.admin_teams_list(options))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminTeamsAdmins methods.'
|
5
|
+
command 'admin_teams_admins' do |g|
|
6
|
+
g.desc 'List all of the admins on a given workspace.'
|
7
|
+
g.long_desc %( List all of the admins on a given workspace. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.flag 'team_id', desc: '.'
|
10
|
+
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
|
11
|
+
c.flag 'limit', desc: 'The maximum number of items to return.'
|
12
|
+
c.action do |_global_options, options, _args|
|
13
|
+
puts JSON.dump($client.admin_teams_admins_list(options))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminTeamsOwners methods.'
|
5
|
+
command 'admin_teams_owners' do |g|
|
6
|
+
g.desc 'List all of the owners on a given workspace.'
|
7
|
+
g.long_desc %( List all of the owners on a given workspace. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.flag 'team_id', desc: '.'
|
10
|
+
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
|
11
|
+
c.flag 'limit', desc: 'The maximum number of items to return. Must be between 1 - 1000 both inclusive.'
|
12
|
+
c.action do |_global_options, options, _args|
|
13
|
+
puts JSON.dump($client.admin_teams_owners_list(options))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminTeamsSettings methods.'
|
5
|
+
command 'admin_teams_settings' do |g|
|
6
|
+
g.desc 'Fetch information about settings in a workspace'
|
7
|
+
g.long_desc %( Fetch information about settings in a workspace )
|
8
|
+
g.command 'info' do |c|
|
9
|
+
c.flag 'team_id', desc: '.'
|
10
|
+
c.action do |_global_options, options, _args|
|
11
|
+
puts JSON.dump($client.admin_teams_settings_info(options))
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
g.desc 'Set the default channels of a workspace.'
|
16
|
+
g.long_desc %( Set the default channels of a workspace. )
|
17
|
+
g.command 'setDefaultChannels' do |c|
|
18
|
+
c.flag 'channel_ids', desc: 'An array of channel IDs.'
|
19
|
+
c.flag 'team_id', desc: 'ID for the workspace to set the default channel for.'
|
20
|
+
c.action do |_global_options, options, _args|
|
21
|
+
puts JSON.dump($client.admin_teams_settings_setDefaultChannels(options))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
g.desc 'Set the description of a given workspace.'
|
26
|
+
g.long_desc %( Set the description of a given workspace. )
|
27
|
+
g.command 'setDescription' do |c|
|
28
|
+
c.flag 'description', desc: 'The new description for the workspace.'
|
29
|
+
c.flag 'team_id', desc: 'ID for the workspace to set the description for.'
|
30
|
+
c.action do |_global_options, options, _args|
|
31
|
+
puts JSON.dump($client.admin_teams_settings_setDescription(options))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
g.desc 'An API method that allows admins to set the discoverability of a given workspace'
|
36
|
+
g.long_desc %( An API method that allows admins to set the discoverability of a given workspace )
|
37
|
+
g.command 'setDiscoverability' do |c|
|
38
|
+
c.flag 'discoverability', desc: "This workspace's discovery setting. It must be set to one of open, invite_only, closed, or unlisted."
|
39
|
+
c.flag 'team_id', desc: 'The ID of the workspace to set discoverability on.'
|
40
|
+
c.action do |_global_options, options, _args|
|
41
|
+
puts JSON.dump($client.admin_teams_settings_setDiscoverability(options))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
g.desc 'Sets the icon of a workspace.'
|
46
|
+
g.long_desc %( Sets the icon of a workspace. )
|
47
|
+
g.command 'setIcon' do |c|
|
48
|
+
c.flag 'image_url', desc: 'Image URL for the icon.'
|
49
|
+
c.flag 'team_id', desc: 'ID for the workspace to set the icon for.'
|
50
|
+
c.action do |_global_options, options, _args|
|
51
|
+
puts JSON.dump($client.admin_teams_settings_setIcon(options))
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
g.desc 'Set the name of a given workspace.'
|
56
|
+
g.long_desc %( Set the name of a given workspace. )
|
57
|
+
g.command 'setName' do |c|
|
58
|
+
c.flag 'name', desc: 'The new name of the workspace.'
|
59
|
+
c.flag 'team_id', desc: 'ID for the workspace to set the name for.'
|
60
|
+
c.action do |_global_options, options, _args|
|
61
|
+
puts JSON.dump($client.admin_teams_settings_setName(options))
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminUsergroups methods.'
|
5
|
+
command 'admin_usergroups' do |g|
|
6
|
+
g.desc 'Add up to one hundred default channels to an IDP group.'
|
7
|
+
g.long_desc %( Add up to one hundred default channels to an IDP group. )
|
8
|
+
g.command 'addChannels' do |c|
|
9
|
+
c.flag 'channel_ids', desc: 'Comma separated string of channel IDs.'
|
10
|
+
c.flag 'usergroup_id', desc: 'ID of the IDP group to add default channels for.'
|
11
|
+
c.flag 'team_id', desc: 'The workspace to add default channels in.'
|
12
|
+
c.action do |_global_options, options, _args|
|
13
|
+
puts JSON.dump($client.admin_usergroups_addChannels(options))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
g.desc 'Associate one or more default workspaces with an organization-wide IDP group.'
|
18
|
+
g.long_desc %( Associate one or more default workspaces with an organization-wide IDP group. )
|
19
|
+
g.command 'addTeams' do |c|
|
20
|
+
c.flag 'team_ids', desc: 'A comma separated list of encoded team (workspace) IDs. Each workspace MUST belong to the organization associated with the token.'
|
21
|
+
c.flag 'usergroup_id', desc: 'An encoded usergroup (IDP Group) ID.'
|
22
|
+
c.flag 'auto_provision', desc: 'When true, this method automatically creates new workspace accounts for the IDP group members.'
|
23
|
+
c.action do |_global_options, options, _args|
|
24
|
+
puts JSON.dump($client.admin_usergroups_addTeams(options))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
g.desc 'List the channels linked to an org-level IDP group (user group).'
|
29
|
+
g.long_desc %( List the channels linked to an org-level IDP group (user group). )
|
30
|
+
g.command 'listChannels' do |c|
|
31
|
+
c.flag 'usergroup_id', desc: 'ID of the IDP group to list default channels for.'
|
32
|
+
c.flag 'include_num_members', desc: 'Flag to include or exclude the count of members per channel.'
|
33
|
+
c.flag 'team_id', desc: 'ID of the the workspace.'
|
34
|
+
c.action do |_global_options, options, _args|
|
35
|
+
puts JSON.dump($client.admin_usergroups_listChannels(options))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
g.desc 'Remove one or more default channels from an org-level IDP group (user group).'
|
40
|
+
g.long_desc %( Remove one or more default channels from an org-level IDP group (user group). )
|
41
|
+
g.command 'removeChannels' do |c|
|
42
|
+
c.flag 'channel_ids', desc: 'Comma-separated string of channel IDs.'
|
43
|
+
c.flag 'usergroup_id', desc: 'ID of the IDP Group.'
|
44
|
+
c.action do |_global_options, options, _args|
|
45
|
+
puts JSON.dump($client.admin_usergroups_removeChannels(options))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminUsers methods.'
|
5
|
+
command 'admin_users' do |g|
|
6
|
+
g.desc 'Add an Enterprise user to a workspace.'
|
7
|
+
g.long_desc %( Add an Enterprise user to a workspace. )
|
8
|
+
g.command 'assign' do |c|
|
9
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
10
|
+
c.flag 'user_id', desc: 'The ID of the user to add to the workspace.'
|
11
|
+
c.flag 'channel_ids', desc: 'Comma separated values of channel IDs to add user in the new workspace.'
|
12
|
+
c.flag 'is_restricted', desc: 'True if user should be added to the workspace as a guest.'
|
13
|
+
c.flag 'is_ultra_restricted', desc: 'True if user should be added to the workspace as a single-channel guest.'
|
14
|
+
c.action do |_global_options, options, _args|
|
15
|
+
puts JSON.dump($client.admin_users_assign(options))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
g.desc 'Invite a user to a workspace.'
|
20
|
+
g.long_desc %( Invite a user to a workspace. )
|
21
|
+
g.command 'invite' do |c|
|
22
|
+
c.flag 'channel_ids', desc: 'A comma-separated list of channel_ids for this user to join. At least one channel is required.'
|
23
|
+
c.flag 'email', desc: 'The email address of the person to invite.'
|
24
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
25
|
+
c.flag 'custom_message', desc: 'An optional message to send to the user in the invite email.'
|
26
|
+
c.flag 'email_password_policy_enabled', desc: 'Allow invited user to sign in via email and password. Only available for Enterprise Grid teams via admin invite.'
|
27
|
+
c.flag 'guest_expiration_ts', desc: 'Timestamp when guest account should be disabled. Only include this timestamp if you are inviting a guest user and you want their account to expire on a certain date.'
|
28
|
+
c.flag 'is_restricted', desc: 'Is this user a multi-channel guest user? (default: false).'
|
29
|
+
c.flag 'is_ultra_restricted', desc: 'Is this user a single channel guest user? (default: false).'
|
30
|
+
c.flag 'real_name', desc: 'Full name of the user.'
|
31
|
+
c.flag 'resend', desc: 'Allow this invite to be resent in the future if a user has not signed up yet. (default: false).'
|
32
|
+
c.action do |_global_options, options, _args|
|
33
|
+
puts JSON.dump($client.admin_users_invite(options))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
g.desc 'List users on a workspace'
|
38
|
+
g.long_desc %( List users on a workspace )
|
39
|
+
g.command 'list' do |c|
|
40
|
+
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
|
41
|
+
c.flag 'limit', desc: 'Limit for how many users to be retrieved per page.'
|
42
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
43
|
+
c.action do |_global_options, options, _args|
|
44
|
+
puts JSON.dump($client.admin_users_list(options))
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
g.desc 'Remove a user from a workspace.'
|
49
|
+
g.long_desc %( Remove a user from a workspace. )
|
50
|
+
g.command 'remove' do |c|
|
51
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
52
|
+
c.flag 'user_id', desc: 'The ID of the user to remove.'
|
53
|
+
c.action do |_global_options, options, _args|
|
54
|
+
puts JSON.dump($client.admin_users_remove(options))
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
g.desc 'Set an existing guest, regular user, or owner to be an admin user.'
|
59
|
+
g.long_desc %( Set an existing guest, regular user, or owner to be an admin user. )
|
60
|
+
g.command 'setAdmin' do |c|
|
61
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
62
|
+
c.flag 'user_id', desc: 'The ID of the user to designate as an admin.'
|
63
|
+
c.action do |_global_options, options, _args|
|
64
|
+
puts JSON.dump($client.admin_users_setAdmin(options))
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
g.desc 'Set an expiration for a guest user'
|
69
|
+
g.long_desc %( Set an expiration for a guest user )
|
70
|
+
g.command 'setExpiration' do |c|
|
71
|
+
c.flag 'expiration_ts', desc: 'Timestamp when guest account should be disabled.'
|
72
|
+
c.flag 'user_id', desc: 'The ID of the user to set an expiration for.'
|
73
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
74
|
+
c.action do |_global_options, options, _args|
|
75
|
+
puts JSON.dump($client.admin_users_setExpiration(options))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
g.desc 'Set an existing guest, regular user, or admin user to be a workspace owner.'
|
80
|
+
g.long_desc %( Set an existing guest, regular user, or admin user to be a workspace owner. )
|
81
|
+
g.command 'setOwner' do |c|
|
82
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
83
|
+
c.flag 'user_id', desc: 'Id of the user to promote to owner.'
|
84
|
+
c.action do |_global_options, options, _args|
|
85
|
+
puts JSON.dump($client.admin_users_setOwner(options))
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
g.desc 'Set an existing guest user, admin user, or owner to be a regular user.'
|
90
|
+
g.long_desc %( Set an existing guest user, admin user, or owner to be a regular user. )
|
91
|
+
g.command 'setRegular' do |c|
|
92
|
+
c.flag 'team_id', desc: 'The ID (T1234) of the workspace.'
|
93
|
+
c.flag 'user_id', desc: 'The ID of the user to designate as a regular user.'
|
94
|
+
c.action do |_global_options, options, _args|
|
95
|
+
puts JSON.dump($client.admin_users_setRegular(options))
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AdminUsersSession methods.'
|
5
|
+
command 'admin_users_session' do |g|
|
6
|
+
g.desc 'Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users.'
|
7
|
+
g.long_desc %( Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users. )
|
8
|
+
g.command 'clearSettings' do |c|
|
9
|
+
c.flag 'user_ids', desc: "The IDs of users you'd like to clear session settings for."
|
10
|
+
c.action do |_global_options, options, _args|
|
11
|
+
puts JSON.dump($client.admin_users_session_clearSettings(options))
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
g.desc 'Get user-specific session settings—the session duration and what happens when the client closes—given a list of users.'
|
16
|
+
g.long_desc %( Get user-specific session settings—the session duration and what happens when the client closes—given a list of users. )
|
17
|
+
g.command 'getSettings' do |c|
|
18
|
+
c.flag 'user_ids', desc: "The IDs of users you'd like to fetch session settings for. Note: if a user does not have any active sessions, they will not be returned in the response."
|
19
|
+
c.action do |_global_options, options, _args|
|
20
|
+
puts JSON.dump($client.admin_users_session_getSettings(options))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
g.desc 'Revoke a single session for a user. The user will be forced to login to Slack.'
|
25
|
+
g.long_desc %( Revoke a single session for a user. The user will be forced to login to Slack. )
|
26
|
+
g.command 'invalidate' do |c|
|
27
|
+
c.flag 'session_id', desc: 'ID of the session to invalidate.'
|
28
|
+
c.flag 'team_id', desc: 'ID of the workspace that the session belongs to.'
|
29
|
+
c.action do |_global_options, options, _args|
|
30
|
+
puts JSON.dump($client.admin_users_session_invalidate(options))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
g.desc 'List active user sessions for an organization'
|
35
|
+
g.long_desc %( List active user sessions for an organization )
|
36
|
+
g.command 'list' do |c|
|
37
|
+
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
|
38
|
+
c.flag 'limit', desc: 'The maximum number of items to return. Must be between 1 - 1000 both inclusive.'
|
39
|
+
c.flag 'team_id', desc: "The ID of the workspace you'd like active sessions for. If you pass a team_id, you'll need to pass a user_id as well."
|
40
|
+
c.flag 'user_id', desc: "The ID of user you'd like active sessions for. If you pass a user_id, you'll need to pass a team_id as well."
|
41
|
+
c.action do |_global_options, options, _args|
|
42
|
+
puts JSON.dump($client.admin_users_session_list(options))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
g.desc 'Wipes all valid sessions on all devices for a given user'
|
47
|
+
g.long_desc %( Wipes all valid sessions on all devices for a given user )
|
48
|
+
g.command 'reset' do |c|
|
49
|
+
c.flag 'user_id', desc: 'The ID of the user to wipe sessions for.'
|
50
|
+
c.flag 'mobile_only', desc: 'Only expire mobile sessions (default: false).'
|
51
|
+
c.flag 'web_only', desc: 'Only expire web sessions (default: false).'
|
52
|
+
c.action do |_global_options, options, _args|
|
53
|
+
puts JSON.dump($client.admin_users_session_reset(options))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
g.desc 'Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users'
|
58
|
+
g.long_desc %( Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users )
|
59
|
+
g.command 'resetBulk' do |c|
|
60
|
+
c.flag 'user_ids', desc: 'The ID of the user to wipe sessions for.'
|
61
|
+
c.flag 'mobile_only', desc: 'Only expire mobile sessions (default: false).'
|
62
|
+
c.flag 'web_only', desc: 'Only expire web sessions (default: false).'
|
63
|
+
c.action do |_global_options, options, _args|
|
64
|
+
puts JSON.dump($client.admin_users_session_resetBulk(options))
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
g.desc 'Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users.'
|
69
|
+
g.long_desc %( Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users. )
|
70
|
+
g.command 'setSettings' do |c|
|
71
|
+
c.flag 'user_ids', desc: 'The list of user IDs to apply the session settings for.'
|
72
|
+
c.flag 'desktop_app_browser_quit', desc: 'Terminate the session when the client—either the desktop app or a browser window—is closed.'
|
73
|
+
c.flag 'duration', desc: "The session duration, in seconds. The minimum value is 28800, which represents 8 hours; the max value is 315569520 or 10 years (that's a long Slack session)."
|
74
|
+
c.action do |_global_options, options, _args|
|
75
|
+
puts JSON.dump($client.admin_users_session_setSettings(options))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
data/bin/commands/api.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
desc 'Api methods.'
|
4
5
|
command 'api' do |g|
|
5
|
-
g.desc '
|
6
|
-
g.long_desc %(
|
6
|
+
g.desc 'Checks API calling code.'
|
7
|
+
g.long_desc %( Checks API calling code. )
|
7
8
|
g.command 'test' do |c|
|
8
9
|
c.flag 'error', desc: 'Error response to return.'
|
9
|
-
c.flag 'foo', desc: 'example property to return.'
|
10
10
|
c.action do |_global_options, options, _args|
|
11
11
|
puts JSON.dump($client.api_test(options))
|
12
12
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'Apps methods.'
|
5
|
+
command 'apps' do |g|
|
6
|
+
g.desc 'Uninstalls your app from a workspace.'
|
7
|
+
g.long_desc %( Uninstalls your app from a workspace. )
|
8
|
+
g.command 'uninstall' do |c|
|
9
|
+
c.flag 'client_id', desc: 'Issued when you created your application.'
|
10
|
+
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
11
|
+
c.action do |_global_options, options, _args|
|
12
|
+
puts JSON.dump($client.apps_uninstall(options))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AppsConnections methods.'
|
5
|
+
command 'apps_connections' do |g|
|
6
|
+
g.desc 'Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over,'
|
7
|
+
g.long_desc %( Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over, )
|
8
|
+
g.command 'open' do |c|
|
9
|
+
c.action do |_global_options, options, _args|
|
10
|
+
puts JSON.dump($client.apps_connections_open(options))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AppsEventAuthorizations methods.'
|
5
|
+
command 'apps_event_authorizations' do |g|
|
6
|
+
g.desc 'Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.'
|
7
|
+
g.long_desc %( Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.flag 'event_context', desc: '.'
|
10
|
+
c.flag 'cursor', desc: '.'
|
11
|
+
c.flag 'limit', desc: '.'
|
12
|
+
c.action do |_global_options, options, _args|
|
13
|
+
puts JSON.dump($client.apps_event_authorizations_list(options))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AppsManifest methods.'
|
5
|
+
command 'apps_manifest' do |g|
|
6
|
+
g.desc 'Create an app from an app manifest.'
|
7
|
+
g.long_desc %( Create an app from an app manifest. )
|
8
|
+
g.command 'create' do |c|
|
9
|
+
c.flag 'manifest', desc: 'A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one.'
|
10
|
+
c.action do |_global_options, options, _args|
|
11
|
+
puts JSON.dump($client.apps_manifest_create(options))
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
g.desc 'Permanently deletes an app created through app manifests'
|
16
|
+
g.long_desc %( Permanently deletes an app created through app manifests )
|
17
|
+
g.command 'delete' do |c|
|
18
|
+
c.flag 'app_id', desc: 'The ID of the app you want to delete.'
|
19
|
+
c.action do |_global_options, options, _args|
|
20
|
+
puts JSON.dump($client.apps_manifest_delete(options))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
g.desc 'Export an app manifest from an existing app'
|
25
|
+
g.long_desc %( Export an app manifest from an existing app )
|
26
|
+
g.command 'export' do |c|
|
27
|
+
c.flag 'app_id', desc: 'The ID of the app whose configuration you want to export as a manifest.'
|
28
|
+
c.action do |_global_options, options, _args|
|
29
|
+
puts JSON.dump($client.apps_manifest_export(options))
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
g.desc 'Update an app from an app manifest'
|
34
|
+
g.long_desc %( Update an app from an app manifest )
|
35
|
+
g.command 'update' do |c|
|
36
|
+
c.flag 'app_id', desc: 'The ID of the app whose configuration you want to update.'
|
37
|
+
c.flag 'manifest', desc: 'A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one. As this method entirely replaces any previous configuration, manifest must contain both unmodified and modified fields.'
|
38
|
+
c.action do |_global_options, options, _args|
|
39
|
+
puts JSON.dump($client.apps_manifest_update(options))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
g.desc 'Validate an app manifest'
|
44
|
+
g.long_desc %( Validate an app manifest )
|
45
|
+
g.command 'validate' do |c|
|
46
|
+
c.flag 'manifest', desc: 'The manifest to be validated. Will be validated against the app manifest schema - read our guide.'
|
47
|
+
c.action do |_global_options, options, _args|
|
48
|
+
puts JSON.dump($client.apps_manifest_validate(options))
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AppsPermissions methods.'
|
5
|
+
command 'apps_permissions' do |g|
|
6
|
+
g.desc 'Returns list of permissions this app has on a team.'
|
7
|
+
g.long_desc %( Returns list of permissions this app has on a team. )
|
8
|
+
g.command 'info' do |c|
|
9
|
+
c.action do |_global_options, options, _args|
|
10
|
+
puts JSON.dump($client.apps_permissions_info(options))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
g.desc 'Allows an app to request additional scopes'
|
15
|
+
g.long_desc %( Allows an app to request additional scopes )
|
16
|
+
g.command 'request' do |c|
|
17
|
+
c.flag 'scopes', desc: 'A comma separated list of scopes to request for.'
|
18
|
+
c.flag 'trigger_id', desc: 'Token used to trigger the permissions API.'
|
19
|
+
c.action do |_global_options, options, _args|
|
20
|
+
puts JSON.dump($client.apps_permissions_request(options))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AppsPermissionsResources methods.'
|
5
|
+
command 'apps_permissions_resources' do |g|
|
6
|
+
g.desc 'Returns list of resource grants this app has on a team.'
|
7
|
+
g.long_desc %( Returns list of resource grants this app has on a team. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
|
10
|
+
c.flag 'limit', desc: 'The maximum number of items to return.'
|
11
|
+
c.action do |_global_options, options, _args|
|
12
|
+
puts JSON.dump($client.apps_permissions_resources_list(options))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
desc 'AppsPermissionsScopes methods.'
|
5
|
+
command 'apps_permissions_scopes' do |g|
|
6
|
+
g.desc 'Returns list of scopes this app has on a team.'
|
7
|
+
g.long_desc %( Returns list of scopes this app has on a team. )
|
8
|
+
g.command 'list' do |c|
|
9
|
+
c.action do |_global_options, options, _args|
|
10
|
+
puts JSON.dump($client.apps_permissions_scopes_list(options))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|