From 95b85d63d1658a21efd2fac8a32eef539ac8cd94 Mon Sep 17 00:00:00 2001 From: slack-ruby-ci-bot Date: Wed, 28 Feb 2024 23:21:07 +0000 Subject: [PATCH] Update API from slack-api-ref@8a22e57 (2024-02-28) --- CHANGELOG.md | 1 + ...in_workflows_triggers_types_permissions.rb | 31 +++++++ bin/commands/apps_datastore.rb | 33 +++++++ bin/commands/conversations.rb | 2 +- bin/commands/oauth.rb | 4 +- bin/commands/oauth_v2.rb | 4 +- .../workflows_triggers_permissions.rb | 60 +++++++++++++ lib/slack/web/api/endpoints.rb | 4 + ...in_workflows_triggers_types_permissions.rb | 41 +++++++++ lib/slack/web/api/endpoints/apps_datastore.rb | 51 +++++++++++ lib/slack/web/api/endpoints/conversations.rb | 2 +- lib/slack/web/api/endpoints/oauth.rb | 4 +- lib/slack/web/api/endpoints/oauth_v2.rb | 4 +- .../workflows_triggers_permissions.rb | 87 +++++++++++++++++++ lib/slack/web/api/errors.rb | 36 ++++++++ lib/slack/web/api/slack-api-ref | 2 +- ...rkflows_triggers_types_permissions_spec.rb | 21 +++++ .../web/api/endpoints/apps_datastore_spec.rb | 24 +++++ .../workflows_triggers_permissions_spec.rb | 31 +++++++ 19 files changed, 431 insertions(+), 11 deletions(-) create mode 100644 bin/commands/admin_workflows_triggers_types_permissions.rb create mode 100644 bin/commands/workflows_triggers_permissions.rb create mode 100644 lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb create mode 100644 lib/slack/web/api/endpoints/workflows_triggers_permissions.rb create mode 100644 spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb create mode 100644 spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index f6e6ab2f..69827b6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### 2.3.1 (Next) +* [#509](https://github.com/slack-ruby-client/pulls/509): Update API from [slack-api-ref@8a22e57](https://github.com/slack-ruby/slack-api-ref/commit/8a22e57) - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot). * Your contribution here. ### 2.3.0 (2024/01/31) diff --git a/bin/commands/admin_workflows_triggers_types_permissions.rb b/bin/commands/admin_workflows_triggers_types_permissions.rb new file mode 100644 index 00000000..1fe7f0de --- /dev/null +++ b/bin/commands/admin_workflows_triggers_types_permissions.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +module Slack + module Cli + class App + desc 'AdminWorkflowsTriggersTypesPermissions methods.' + command 'admin_workflows_triggers_types_permissions' do |g| + g.desc 'list the permissions for using each trigger type in workflow builder' + g.long_desc %( list the permissions for using each trigger type in workflow builder ) + g.command 'lookup' do |c| + c.flag 'trigger_type_ids', desc: 'The trigger types IDs for which to get the permissions.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.admin_workflows_triggers_types_permissions_lookup(options)) + end + end + + g.desc 'Set the permissions for using a trigger type in workflow builder' + g.long_desc %( Set the permissions for using a trigger type in workflow builder ) + g.command 'set' do |c| + c.flag 'id', desc: 'The trigger type ID for which to set the permissions.' + c.flag 'visibility', desc: 'The function visibility.' + c.flag 'user_ids', desc: 'List of user IDs to allow for named_entities visibility.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.admin_workflows_triggers_types_permissions_set(options)) + end + end + end + end + end +end diff --git a/bin/commands/apps_datastore.rb b/bin/commands/apps_datastore.rb index fc1cfcef..ce708fb6 100644 --- a/bin/commands/apps_datastore.rb +++ b/bin/commands/apps_datastore.rb @@ -6,6 +6,39 @@ module Cli class App desc 'AppsDatastore methods.' command 'apps_datastore' do |g| + g.desc 'Delete items from a datastore in bulk' + g.long_desc %( Delete items from a datastore in bulk ) + g.command 'bulkDelete' do |c| + c.flag 'datastore', desc: 'name of the datastore.' + c.flag 'ids', desc: 'IDs of items to be deleted.' + c.flag 'app_id', desc: '.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.apps_datastore_bulkDelete(options)) + end + end + + g.desc 'Get items from a datastore in bulk' + g.long_desc %( Get items from a datastore in bulk ) + g.command 'bulkGet' do |c| + c.flag 'datastore', desc: 'name of the datastore.' + c.flag 'ids', desc: "items' ids." + c.flag 'app_id', desc: '.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.apps_datastore_bulkGet(options)) + end + end + + g.desc 'Creates or replaces existing items in bulk' + g.long_desc %( Creates or replaces existing items in bulk ) + g.command 'bulkPut' do |c| + c.flag 'datastore', desc: 'name of the datastore.' + c.flag 'items', desc: 'attribute names and values of the items.' + c.flag 'app_id', desc: '.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.apps_datastore_bulkPut(options)) + end + end + g.desc 'Delete an item from a datastore' g.long_desc %( Delete an item from a datastore ) g.command 'delete' do |c| diff --git a/bin/commands/conversations.rb b/bin/commands/conversations.rb index 37c1d484..03cb3bc9 100644 --- a/bin/commands/conversations.rb +++ b/bin/commands/conversations.rb @@ -77,7 +77,7 @@ class App c.flag 'include_all_metadata', desc: 'Return all metadata associated with this message.' c.flag 'inclusive', desc: 'Include messages with oldest or latest timestamps in results. Ignored unless either timestamp is specified.' c.flag 'latest', desc: 'Only messages before this Unix timestamp will be included in results. Default is the current time.' - c.flag 'limit', desc: "The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached." + c.flag 'limit', desc: "The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the conversation history hasn't been reached. Maximum of 999." c.flag 'oldest', desc: 'Only messages after this Unix timestamp will be included in results.' c.action do |_global_options, options, _args| puts JSON.dump(@client.conversations_history(options)) diff --git a/bin/commands/oauth.rb b/bin/commands/oauth.rb index 57eda82d..d7b79de7 100644 --- a/bin/commands/oauth.rb +++ b/bin/commands/oauth.rb @@ -9,8 +9,8 @@ class App g.desc 'Exchanges a temporary OAuth verifier code for an access token.' g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. ) g.command 'access' do |c| - c.flag 'client_id', desc: 'Issued when you created your application.' - c.flag 'client_secret', desc: 'Issued when you created your application.' + c.flag 'client_id', desc: 'Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.' + c.flag 'client_secret', desc: 'Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.' c.flag 'code', desc: 'The code param returned via the OAuth callback.' c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).' c.flag 'single_channel', desc: 'Request the user to add your app only to a single channel. Only valid with a legacy workspace app.' diff --git a/bin/commands/oauth_v2.rb b/bin/commands/oauth_v2.rb index ff9bb5c9..af40e722 100644 --- a/bin/commands/oauth_v2.rb +++ b/bin/commands/oauth_v2.rb @@ -9,8 +9,8 @@ class App g.desc 'Exchanges a temporary OAuth verifier code for an access token.' g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. ) g.command 'access' do |c| - c.flag 'client_id', desc: 'Issued when you created your application.' - c.flag 'client_secret', desc: 'Issued when you created your application.' + c.flag 'client_id', desc: 'Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.' + c.flag 'client_secret', desc: 'Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.' c.flag 'code', desc: 'The code param returned via the OAuth callback.' c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.' c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).' diff --git a/bin/commands/workflows_triggers_permissions.rb b/bin/commands/workflows_triggers_permissions.rb new file mode 100644 index 00000000..c536a908 --- /dev/null +++ b/bin/commands/workflows_triggers_permissions.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +module Slack + module Cli + class App + desc 'WorkflowsTriggersPermissions methods.' + command 'workflows_triggers_permissions' do |g| + g.desc 'Allows users to run a trigger that has its permission type set to named_entities' + g.long_desc %( Allows users to run a trigger that has its permission type set to named_entities ) + g.command 'add' do |c| + c.flag 'trigger_id', desc: 'Encoded ID of the trigger.' + c.flag 'channel_ids', desc: 'List of encoded channel IDs.' + c.flag 'org_ids', desc: 'List of encoded organization IDs.' + c.flag 'team_ids', desc: 'List of encoded workspace IDs.' + c.flag 'user_ids', desc: 'List of encoded user IDs.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.workflows_triggers_permissions_add(options)) + end + end + + g.desc 'Returns the permission type of a trigger and if applicable, includes the entities that have been granted access' + g.long_desc %( Returns the permission type of a trigger and if applicable, includes the entities that have been granted access ) + g.command 'list' do |c| + c.flag 'trigger_id', desc: 'Encoded ID of the trigger.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.workflows_triggers_permissions_list(options)) + end + end + + g.desc "Revoke an entity's access to a trigger that has its permission type set to named_entities" + g.long_desc %( Revoke an entity's access to a trigger that has its permission type set to named_entities ) + g.command 'remove' do |c| + c.flag 'trigger_id', desc: 'Encoded ID of the trigger.' + c.flag 'channel_ids', desc: 'List of encoded channel IDs.' + c.flag 'org_ids', desc: 'List of encoded organization IDs.' + c.flag 'team_ids', desc: 'List of encoded workspace IDs.' + c.flag 'user_ids', desc: 'List of encoded user IDs.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.workflows_triggers_permissions_remove(options)) + end + end + + g.desc 'Set the permission type for who can run a trigger' + g.long_desc %( Set the permission type for who can run a trigger ) + g.command 'set' do |c| + c.flag 'permission_type', desc: 'The type of permission that defines who can run a trigger.' + c.flag 'trigger_id', desc: 'Encoded ID of the trigger.' + c.flag 'channel_ids', desc: 'List of encoded channel IDs.' + c.flag 'org_ids', desc: 'List of encoded organization IDs.' + c.flag 'team_ids', desc: 'List of encoded workspace IDs.' + c.flag 'user_ids', desc: 'List of encoded user IDs.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.workflows_triggers_permissions_set(options)) + end + end + end + end + end +end diff --git a/lib/slack/web/api/endpoints.rb b/lib/slack/web/api/endpoints.rb index ca7dfc33..99119479 100644 --- a/lib/slack/web/api/endpoints.rb +++ b/lib/slack/web/api/endpoints.rb @@ -32,6 +32,7 @@ require_relative 'endpoints/admin_workflows' require_relative 'endpoints/admin_workflows_collaborators' require_relative 'endpoints/admin_workflows_permissions' +require_relative 'endpoints/admin_workflows_triggers_types_permissions' require_relative 'endpoints/api' require_relative 'endpoints/apps' require_relative 'endpoints/apps_activities' @@ -81,6 +82,7 @@ require_relative 'endpoints/users_profile' require_relative 'endpoints/views' require_relative 'endpoints/workflows' +require_relative 'endpoints/workflows_triggers_permissions' module Slack module Web @@ -120,6 +122,7 @@ module Endpoints include AdminWorkflows include AdminWorkflowsCollaborators include AdminWorkflowsPermissions + include AdminWorkflowsTriggersTypesPermissions include Api include Apps include AppsActivities @@ -169,6 +172,7 @@ module Endpoints include UsersProfile include Views include Workflows + include WorkflowsTriggersPermissions end end end diff --git a/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb b/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb new file mode 100644 index 00000000..e613d05b --- /dev/null +++ b/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +module Slack + module Web + module Api + module Endpoints + module AdminWorkflowsTriggersTypesPermissions + # + # list the permissions for using each trigger type in workflow builder + # + # @option options [array] :trigger_type_ids + # The trigger types IDs for which to get the permissions. + # @see https://api.slack.com/methods/admin.workflows.triggers.types.permissions.lookup + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.workflows.triggers.types.permissions/admin.workflows.triggers.types.permissions.lookup.json + def admin_workflows_triggers_types_permissions_lookup(options = {}) + raise ArgumentError, 'Required arguments :trigger_type_ids missing' if options[:trigger_type_ids].nil? + post('admin.workflows.triggers.types.permissions.lookup', options) + end + + # + # Set the permissions for using a trigger type in workflow builder + # + # @option options [Object] :id + # The trigger type ID for which to set the permissions. + # @option options [enum] :visibility + # The function visibility. + # @option options [array] :user_ids + # List of user IDs to allow for named_entities visibility. + # @see https://api.slack.com/methods/admin.workflows.triggers.types.permissions.set + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.workflows.triggers.types.permissions/admin.workflows.triggers.types.permissions.set.json + def admin_workflows_triggers_types_permissions_set(options = {}) + raise ArgumentError, 'Required arguments :id missing' if options[:id].nil? + raise ArgumentError, 'Required arguments :visibility missing' if options[:visibility].nil? + post('admin.workflows.triggers.types.permissions.set', options) + end + end + end + end + end +end diff --git a/lib/slack/web/api/endpoints/apps_datastore.rb b/lib/slack/web/api/endpoints/apps_datastore.rb index bba1df50..a6aaaf2a 100644 --- a/lib/slack/web/api/endpoints/apps_datastore.rb +++ b/lib/slack/web/api/endpoints/apps_datastore.rb @@ -6,6 +6,57 @@ module Web module Api module Endpoints module AppsDatastore + # + # Delete items from a datastore in bulk + # + # @option options [string] :datastore + # name of the datastore. + # @option options [array] :ids + # IDs of items to be deleted. + # @option options [Object] :app_id + # . + # @see https://api.slack.com/methods/apps.datastore.bulkDelete + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkDelete.json + def apps_datastore_bulkDelete(options = {}) + raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil? + raise ArgumentError, 'Required arguments :ids missing' if options[:ids].nil? + post('apps.datastore.bulkDelete', options) + end + + # + # Get items from a datastore in bulk + # + # @option options [string] :datastore + # name of the datastore. + # @option options [array] :ids + # items' ids. + # @option options [Object] :app_id + # . + # @see https://api.slack.com/methods/apps.datastore.bulkGet + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkGet.json + def apps_datastore_bulkGet(options = {}) + raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil? + raise ArgumentError, 'Required arguments :ids missing' if options[:ids].nil? + post('apps.datastore.bulkGet', options) + end + + # + # Creates or replaces existing items in bulk + # + # @option options [string] :datastore + # name of the datastore. + # @option options [array] :items + # attribute names and values of the items. + # @option options [Object] :app_id + # . + # @see https://api.slack.com/methods/apps.datastore.bulkPut + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkPut.json + def apps_datastore_bulkPut(options = {}) + raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil? + raise ArgumentError, 'Required arguments :items missing' if options[:items].nil? + post('apps.datastore.bulkPut', options) + end + # # Delete an item from a datastore # diff --git a/lib/slack/web/api/endpoints/conversations.rb b/lib/slack/web/api/endpoints/conversations.rb index b10d5242..9dab6fe2 100644 --- a/lib/slack/web/api/endpoints/conversations.rb +++ b/lib/slack/web/api/endpoints/conversations.rb @@ -112,7 +112,7 @@ def conversations_declineSharedInvite(options = {}) # @option options [timestamp] :latest # Only messages before this Unix timestamp will be included in results. Default is the current time. # @option options [number] :limit - # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. + # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the conversation history hasn't been reached. Maximum of 999. # @option options [timestamp] :oldest # Only messages after this Unix timestamp will be included in results. # @see https://api.slack.com/methods/conversations.history diff --git a/lib/slack/web/api/endpoints/oauth.rb b/lib/slack/web/api/endpoints/oauth.rb index 0106c658..cf1a8083 100644 --- a/lib/slack/web/api/endpoints/oauth.rb +++ b/lib/slack/web/api/endpoints/oauth.rb @@ -10,9 +10,9 @@ module Oauth # Exchanges a temporary OAuth verifier code for an access token. # # @option options [string] :client_id - # Issued when you created your application. + # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme. # @option options [string] :client_secret - # Issued when you created your application. + # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme. # @option options [string] :code # The code param returned via the OAuth callback. # @option options [string] :redirect_uri diff --git a/lib/slack/web/api/endpoints/oauth_v2.rb b/lib/slack/web/api/endpoints/oauth_v2.rb index d666918a..2f1f3f1e 100644 --- a/lib/slack/web/api/endpoints/oauth_v2.rb +++ b/lib/slack/web/api/endpoints/oauth_v2.rb @@ -10,9 +10,9 @@ module OauthV2 # Exchanges a temporary OAuth verifier code for an access token. # # @option options [string] :client_id - # Issued when you created your application. + # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme. # @option options [string] :client_secret - # Issued when you created your application. + # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme. # @option options [string] :code # The code param returned via the OAuth callback. # @option options [string] :grant_type diff --git a/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb b/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb new file mode 100644 index 00000000..aaf8005a --- /dev/null +++ b/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb @@ -0,0 +1,87 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +module Slack + module Web + module Api + module Endpoints + module WorkflowsTriggersPermissions + # + # Allows users to run a trigger that has its permission type set to named_entities + # + # @option options [string] :trigger_id + # Encoded ID of the trigger. + # @option options [array] :channel_ids + # List of encoded channel IDs. + # @option options [array] :org_ids + # List of encoded organization IDs. + # @option options [array] :team_ids + # List of encoded workspace IDs. + # @option options [array] :user_ids + # List of encoded user IDs. + # @see https://api.slack.com/methods/workflows.triggers.permissions.add + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.add.json + def workflows_triggers_permissions_add(options = {}) + raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil? + post('workflows.triggers.permissions.add', options) + end + + # + # Returns the permission type of a trigger and if applicable, includes the entities that have been granted access + # + # @option options [string] :trigger_id + # Encoded ID of the trigger. + # @see https://api.slack.com/methods/workflows.triggers.permissions.list + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.list.json + def workflows_triggers_permissions_list(options = {}) + raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil? + post('workflows.triggers.permissions.list', options) + end + + # + # Revoke an entity's access to a trigger that has its permission type set to named_entities + # + # @option options [string] :trigger_id + # Encoded ID of the trigger. + # @option options [array] :channel_ids + # List of encoded channel IDs. + # @option options [array] :org_ids + # List of encoded organization IDs. + # @option options [array] :team_ids + # List of encoded workspace IDs. + # @option options [array] :user_ids + # List of encoded user IDs. + # @see https://api.slack.com/methods/workflows.triggers.permissions.remove + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.remove.json + def workflows_triggers_permissions_remove(options = {}) + raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil? + post('workflows.triggers.permissions.remove', options) + end + + # + # Set the permission type for who can run a trigger + # + # @option options [enum] :permission_type + # The type of permission that defines who can run a trigger. + # @option options [string] :trigger_id + # Encoded ID of the trigger. + # @option options [array] :channel_ids + # List of encoded channel IDs. + # @option options [array] :org_ids + # List of encoded organization IDs. + # @option options [array] :team_ids + # List of encoded workspace IDs. + # @option options [array] :user_ids + # List of encoded user IDs. + # @see https://api.slack.com/methods/workflows.triggers.permissions.set + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.set.json + def workflows_triggers_permissions_set(options = {}) + raise ArgumentError, 'Required arguments :permission_type missing' if options[:permission_type].nil? + raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil? + post('workflows.triggers.permissions.set', options) + end + end + end + end + end +end diff --git a/lib/slack/web/api/errors.rb b/lib/slack/web/api/errors.rb index 24aec502..a5085ca7 100644 --- a/lib/slack/web/api/errors.rb +++ b/lib/slack/web/api/errors.rb @@ -68,6 +68,7 @@ class CannotCompleteOthers < SlackError; end class CannotCompleteRecurring < SlackError; end class CannotCreateChannel < SlackError; end class CannotCreateDialog < SlackError; end + class CannotFetchVersions < SlackError; end class CannotFindChannel < SlackError; end class CannotFindMessage < SlackError; end class CannotFindService < SlackError; end @@ -117,7 +118,10 @@ class ChannelOwnerRestriction < SlackError; end class ChannelTypeNotSupported < SlackError; end class ClientIdTokenMismatch < SlackError; end class CodeAlreadyUsed < SlackError; end + class ConnectedOrgDenied < SlackError; end + class ConnectedTeamDenied < SlackError; end class ConnectedTeamPassedInIsNotTopLevelTeam < SlackError; end + class ConnectedUserDenied < SlackError; end class ConnectionLimitExceeded < SlackError; end class ConnectionLimitExceededPending < SlackError; end class CouldNotArchiveChannel < SlackError; end @@ -180,10 +184,12 @@ class ExpiredTriggerId < SlackError; end class ExternalChannelMigrating < SlackError; end class ExternalLimitedRestriction < SlackError; end class ExternalTeamNotConnectedToThisOrg < SlackError; end + class ExternalWorkspaceDenied < SlackError; end class ExternallySharedOrDisconnectedChannel < SlackError; end class FailToGetTeamsForRestrictedUser < SlackError; end class FailedAddingCollaborator < SlackError; end class FailedCreatingApp < SlackError; end + class FailedDatastoreOperation < SlackError; end class FailedExport < SlackError; end class FailedForSomeEntities < SlackError; end class FailedForSomeUsers < SlackError; end @@ -302,6 +308,7 @@ class InvalidNameSpecials < SlackError; end class InvalidOutputs < SlackError; end class InvalidParentType < SlackError; end class InvalidPayload < SlackError; end + class InvalidPermissionType < SlackError; end class InvalidPermissions < SlackError; end class InvalidPostType < SlackError; end class InvalidPresence < SlackError; end @@ -413,6 +420,7 @@ class NameNotAllowed < SlackError; end class NameTaken < SlackError; end class NameTakenInOrg < SlackError; end class NameTooLong < SlackError; end + class NamedEntitiesCannotBeEmpty < SlackError; end class NoActiveSessions < SlackError; end class NoAliasSelected < SlackError; end class NoBotUserForApp < SlackError; end @@ -438,6 +446,7 @@ class NoUser < SlackError; end class NoUsersProvided < SlackError; end class NoValidChannels < SlackError; end class NoValidEntities < SlackError; end + class NoValidNamedEntities < SlackError; end class NoValidTeams < SlackError; end class NoValidUsers < SlackError; end class NotAdmin < SlackError; end @@ -470,6 +479,7 @@ class OauthAuthorizationUrlMismatch < SlackError; end class OneOrMoreInvalidChannels < SlackError; end class OrgLevelEmailDisplayDisabled < SlackError; end class OrgLoginRequired < SlackError; end + class OrgNotConnected < SlackError; end class OrgNotFound < SlackError; end class OrgResolutionRequired < SlackError; end class OrgUserNotInTeam < SlackError; end @@ -481,6 +491,7 @@ class PaidTeamsOnly < SlackError; end class ParameterValidationFailed < SlackError; end class ParentBookmarkDisabled < SlackError; end class ParentWithLink < SlackError; end + class PartialFailure < SlackError; end class PartialProfileSetFailed < SlackError; end class PermissionDenied < SlackError; end class PlanUpgradeRequired < SlackError; end @@ -518,11 +529,13 @@ class SessionExpired < SlackError; end class SessionInvalidationFailed < SlackError; end class SessionNotFound < SlackError; end class SessionResetNotAllowed < SlackError; end + class SharedChannelDenied < SlackError; end class SlackConnectBlockedFileType < SlackError; end class SlackConnectCanvasSharingBlocked < SlackError; end class SlackConnectClipSharingBlocked < SlackError; end class SlackConnectFileLinkSharingBlocked < SlackError; end class SlackConnectFileUploadSharingBlocked < SlackError; end + class SlackConnectListsSharingBlocked < SlackError; end class SnippetTooLarge < SlackError; end class SnoozeEndFailed < SlackError; end class SnoozeFailed < SlackError; end @@ -537,6 +550,7 @@ class TeamAccessNotGranted < SlackError; end class TeamAddedToOrg < SlackError; end class TeamIdOrOrgRequired < SlackError; end class TeamIdRequiredForEnterprise < SlackError; end + class TeamNotConnected < SlackError; end class TeamNotFound < SlackError; end class TeamNotOnEnterprise < SlackError; end class TeamQuotaExceeded < SlackError; end @@ -567,6 +581,7 @@ class TooManyIds < SlackError; end class TooManyIdsProvided < SlackError; end class TooManyLinkedChannels < SlackError; end class TooManyMembers < SlackError; end + class TooManyNamedEntities < SlackError; end class TooManyPins < SlackError; end class TooManyReactions < SlackError; end class TooManyTargetTeams < SlackError; end @@ -575,6 +590,8 @@ class TooManyTeamsProvided < SlackError; end class TooManyUsers < SlackError; end class TriggerExchanged < SlackError; end class TriggerExpired < SlackError; end + class TriggerNotFound < SlackError; end + class TriggerTypeIdNotFound < SlackError; end class TwoFactorSetupRequired < SlackError; end class UnableToDelete < SlackError; end class UnableToFetchCustomEmojis < SlackError; end @@ -624,6 +641,7 @@ class UsersListNotSupplied < SlackError; end class UsersNotFound < SlackError; end class ValidationErrors < SlackError; end class ViewTooLarge < SlackError; end + class VisibilityIsNotNamedEntities < SlackError; end class WorkflowsExportCsvNotEnabled < SlackError; end ERROR_CLASSES = { @@ -690,6 +708,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'cannot_complete_recurring' => CannotCompleteRecurring, 'cannot_create_channel' => CannotCreateChannel, 'cannot_create_dialog' => CannotCreateDialog, + 'cannot_fetch_versions' => CannotFetchVersions, 'cannot_find_channel' => CannotFindChannel, 'cannot_find_message' => CannotFindMessage, 'cannot_find_service' => CannotFindService, @@ -739,7 +758,10 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'channel_type_not_supported' => ChannelTypeNotSupported, 'client_id_token_mismatch' => ClientIdTokenMismatch, 'code_already_used' => CodeAlreadyUsed, + 'connected_org_denied' => ConnectedOrgDenied, + 'connected_team_denied' => ConnectedTeamDenied, 'connected_team_passed_in_is_not_top_level_team' => ConnectedTeamPassedInIsNotTopLevelTeam, + 'connected_user_denied' => ConnectedUserDenied, 'connection_limit_exceeded' => ConnectionLimitExceeded, 'connection_limit_exceeded_pending' => ConnectionLimitExceededPending, 'could_not_archive_channel' => CouldNotArchiveChannel, @@ -802,10 +824,12 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'external_channel_migrating' => ExternalChannelMigrating, 'external_limited_restriction' => ExternalLimitedRestriction, 'external_team_not_connected_to_this_org' => ExternalTeamNotConnectedToThisOrg, + 'external_workspace_denied' => ExternalWorkspaceDenied, 'externally_shared_or_disconnected_channel' => ExternallySharedOrDisconnectedChannel, 'fail_to_get_teams_for_restricted_user' => FailToGetTeamsForRestrictedUser, 'failed_adding_collaborator' => FailedAddingCollaborator, 'failed_creating_app' => FailedCreatingApp, + 'failed_datastore_operation' => FailedDatastoreOperation, 'failed_export' => FailedExport, 'failed_for_some_entities' => FailedForSomeEntities, 'failed_for_some_users' => FailedForSomeUsers, @@ -924,6 +948,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'invalid_outputs' => InvalidOutputs, 'invalid_parent_type' => InvalidParentType, 'invalid_payload' => InvalidPayload, + 'invalid_permission_type' => InvalidPermissionType, 'invalid_permissions' => InvalidPermissions, 'invalid_post_type' => InvalidPostType, 'invalid_presence' => InvalidPresence, @@ -1035,6 +1060,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'name_taken' => NameTaken, 'name_taken_in_org' => NameTakenInOrg, 'name_too_long' => NameTooLong, + 'named_entities_cannot_be_empty' => NamedEntitiesCannotBeEmpty, 'no_active_sessions' => NoActiveSessions, 'no_alias_selected' => NoAliasSelected, 'no_bot_user_for_app' => NoBotUserForApp, @@ -1060,6 +1086,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'no_users_provided' => NoUsersProvided, 'no_valid_channels' => NoValidChannels, 'no_valid_entities' => NoValidEntities, + 'no_valid_named_entities' => NoValidNamedEntities, 'no_valid_teams' => NoValidTeams, 'no_valid_users' => NoValidUsers, 'not_admin' => NotAdmin, @@ -1092,6 +1119,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'one_or_more_invalid_channels' => OneOrMoreInvalidChannels, 'org_level_email_display_disabled' => OrgLevelEmailDisplayDisabled, 'org_login_required' => OrgLoginRequired, + 'org_not_connected' => OrgNotConnected, 'org_not_found' => OrgNotFound, 'org_resolution_required' => OrgResolutionRequired, 'org_user_not_in_team' => OrgUserNotInTeam, @@ -1103,6 +1131,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'parameter_validation_failed' => ParameterValidationFailed, 'parent_bookmark_disabled' => ParentBookmarkDisabled, 'parent_with_link' => ParentWithLink, + 'partial_failure' => PartialFailure, 'partial_profile_set_failed' => PartialProfileSetFailed, 'permission_denied' => PermissionDenied, 'plan_upgrade_required' => PlanUpgradeRequired, @@ -1140,11 +1169,13 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'session_invalidation_failed' => SessionInvalidationFailed, 'session_not_found' => SessionNotFound, 'session_reset_not_allowed' => SessionResetNotAllowed, + 'shared_channel_denied' => SharedChannelDenied, 'slack_connect_blocked_file_type' => SlackConnectBlockedFileType, 'slack_connect_canvas_sharing_blocked' => SlackConnectCanvasSharingBlocked, 'slack_connect_clip_sharing_blocked' => SlackConnectClipSharingBlocked, 'slack_connect_file_link_sharing_blocked' => SlackConnectFileLinkSharingBlocked, 'slack_connect_file_upload_sharing_blocked' => SlackConnectFileUploadSharingBlocked, + 'slack_connect_lists_sharing_blocked' => SlackConnectListsSharingBlocked, 'snippet_too_large' => SnippetTooLarge, 'snooze_end_failed' => SnoozeEndFailed, 'snooze_failed' => SnoozeFailed, @@ -1159,6 +1190,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'team_added_to_org' => TeamAddedToOrg, 'team_id_or_org_required' => TeamIdOrOrgRequired, 'team_id_required_for_enterprise' => TeamIdRequiredForEnterprise, + 'team_not_connected' => TeamNotConnected, 'team_not_found' => TeamNotFound, 'team_not_on_enterprise' => TeamNotOnEnterprise, 'team_quota_exceeded' => TeamQuotaExceeded, @@ -1189,6 +1221,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'too_many_ids_provided' => TooManyIdsProvided, 'too_many_linked_channels' => TooManyLinkedChannels, 'too_many_members' => TooManyMembers, + 'too_many_named_entities' => TooManyNamedEntities, 'too_many_pins' => TooManyPins, 'too_many_reactions' => TooManyReactions, 'too_many_target_teams' => TooManyTargetTeams, @@ -1197,6 +1230,8 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'too_many_users' => TooManyUsers, 'trigger_exchanged' => TriggerExchanged, 'trigger_expired' => TriggerExpired, + 'trigger_not_found' => TriggerNotFound, + 'trigger_type_id_not_found' => TriggerTypeIdNotFound, 'two_factor_setup_required' => TwoFactorSetupRequired, 'unable_to_delete' => UnableToDelete, 'unable_to_fetch_custom_emojis' => UnableToFetchCustomEmojis, @@ -1246,6 +1281,7 @@ class WorkflowsExportCsvNotEnabled < SlackError; end 'users_not_found' => UsersNotFound, 'validation_errors' => ValidationErrors, 'view_too_large' => ViewTooLarge, + 'visibility_is_not_named_entities' => VisibilityIsNotNamedEntities, 'workflows_export_csv_not_enabled' => WorkflowsExportCsvNotEnabled, }.freeze end diff --git a/lib/slack/web/api/slack-api-ref b/lib/slack/web/api/slack-api-ref index 8a22e575..1bfe4f0c 160000 --- a/lib/slack/web/api/slack-api-ref +++ b/lib/slack/web/api/slack-api-ref @@ -1 +1 @@ -Subproject commit 8a22e575eefeb220a5a06426ff7319e6ef46dd42 +Subproject commit 1bfe4f0c68eaf656d36a65938340d8d042b6e044 diff --git a/spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb b/spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb new file mode 100644 index 00000000..4dd119a6 --- /dev/null +++ b/spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +require 'spec_helper' + +RSpec.describe Slack::Web::Api::Endpoints::AdminWorkflowsTriggersTypesPermissions do + let(:client) { Slack::Web::Client.new } + context 'admin.workflows.triggers.types.permissions_lookup' do + it 'requires trigger_type_ids' do + expect { client.admin_workflows_triggers_types_permissions_lookup }.to raise_error ArgumentError, /Required arguments :trigger_type_ids missing/ + end + end + context 'admin.workflows.triggers.types.permissions_set' do + it 'requires id' do + expect { client.admin_workflows_triggers_types_permissions_set(visibility: %q[]) }.to raise_error ArgumentError, /Required arguments :id missing/ + end + it 'requires visibility' do + expect { client.admin_workflows_triggers_types_permissions_set(id: %q[['FTT01', 'FTT02', 'FTT03']]) }.to raise_error ArgumentError, /Required arguments :visibility missing/ + end + end +end diff --git a/spec/slack/web/api/endpoints/apps_datastore_spec.rb b/spec/slack/web/api/endpoints/apps_datastore_spec.rb index 7cd8e66f..4e756c6b 100644 --- a/spec/slack/web/api/endpoints/apps_datastore_spec.rb +++ b/spec/slack/web/api/endpoints/apps_datastore_spec.rb @@ -5,6 +5,30 @@ RSpec.describe Slack::Web::Api::Endpoints::AppsDatastore do let(:client) { Slack::Web::Client.new } + context 'apps.datastore_bulkDelete' do + it 'requires datastore' do + expect { client.apps_datastore_bulkDelete(ids: %q[["7c6dd137", "c7d6d731"]]) }.to raise_error ArgumentError, /Required arguments :datastore missing/ + end + it 'requires ids' do + expect { client.apps_datastore_bulkDelete(datastore: %q[]) }.to raise_error ArgumentError, /Required arguments :ids missing/ + end + end + context 'apps.datastore_bulkGet' do + it 'requires datastore' do + expect { client.apps_datastore_bulkGet(ids: %q[["7c6dd137", "c7d6d731"]]) }.to raise_error ArgumentError, /Required arguments :datastore missing/ + end + it 'requires ids' do + expect { client.apps_datastore_bulkGet(datastore: %q[]) }.to raise_error ArgumentError, /Required arguments :ids missing/ + end + end + context 'apps.datastore_bulkPut' do + it 'requires datastore' do + expect { client.apps_datastore_bulkPut(items: %q[[{"id": "7c6dd137", "favourite_meal": "Shawarma", "reason": "Who doesn't like Shawarma?"}]]) }.to raise_error ArgumentError, /Required arguments :datastore missing/ + end + it 'requires items' do + expect { client.apps_datastore_bulkPut(datastore: %q[]) }.to raise_error ArgumentError, /Required arguments :items missing/ + end + end context 'apps.datastore_delete' do it 'requires datastore' do expect { client.apps_datastore_delete(id: %q[]) }.to raise_error ArgumentError, /Required arguments :datastore missing/ diff --git a/spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb b/spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb new file mode 100644 index 00000000..9f4d36c1 --- /dev/null +++ b/spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +require 'spec_helper' + +RSpec.describe Slack::Web::Api::Endpoints::WorkflowsTriggersPermissions do + let(:client) { Slack::Web::Client.new } + context 'workflows.triggers.permissions_add' do + it 'requires trigger_id' do + expect { client.workflows_triggers_permissions_add }.to raise_error ArgumentError, /Required arguments :trigger_id missing/ + end + end + context 'workflows.triggers.permissions_list' do + it 'requires trigger_id' do + expect { client.workflows_triggers_permissions_list }.to raise_error ArgumentError, /Required arguments :trigger_id missing/ + end + end + context 'workflows.triggers.permissions_remove' do + it 'requires trigger_id' do + expect { client.workflows_triggers_permissions_remove }.to raise_error ArgumentError, /Required arguments :trigger_id missing/ + end + end + context 'workflows.triggers.permissions_set' do + it 'requires permission_type' do + expect { client.workflows_triggers_permissions_set(trigger_id: %q[Ft0000000001]) }.to raise_error ArgumentError, /Required arguments :permission_type missing/ + end + it 'requires trigger_id' do + expect { client.workflows_triggers_permissions_set(permission_type: %q[]) }.to raise_error ArgumentError, /Required arguments :trigger_id missing/ + end + end +end