From 9ab8a7e097722823862f369e13e1f3fd1fe2ce31 Mon Sep 17 00:00:00 2001 From: slack-ruby-ci-bot Date: Tue, 5 Mar 2024 23:19:21 +0000 Subject: [PATCH] Update API from slack-api-ref@8a22e57 (2024-03-05) --- CHANGELOG.md | 1 + ...in_workflows_triggers_types_permissions.rb | 31 +++++++ bin/commands/apps_datastore.rb | 33 +++++++ bin/commands/conversations.rb | 2 +- .../functions_distributions_permissions.rb | 59 +++++++++++++ bin/commands/oauth.rb | 4 +- bin/commands/oauth_v2.rb | 4 +- bin/commands/reminders.rb | 2 +- bin/commands/usergroups.rb | 2 + .../workflows_triggers_permissions.rb | 60 +++++++++++++ lib/slack/web/api/endpoints.rb | 6 ++ ...in_workflows_triggers_types_permissions.rb | 41 +++++++++ lib/slack/web/api/endpoints/apps_datastore.rb | 51 +++++++++++ lib/slack/web/api/endpoints/conversations.rb | 2 +- .../functions_distributions_permissions.rb | 81 +++++++++++++++++ lib/slack/web/api/endpoints/oauth.rb | 4 +- lib/slack/web/api/endpoints/oauth_v2.rb | 4 +- lib/slack/web/api/endpoints/reminders.rb | 2 +- lib/slack/web/api/endpoints/usergroups.rb | 4 + .../workflows_triggers_permissions.rb | 87 +++++++++++++++++++ lib/slack/web/api/errors.rb | 38 ++++++++ lib/slack/web/api/slack-api-ref | 2 +- ...rkflows_triggers_types_permissions_spec.rb | 21 +++++ .../web/api/endpoints/apps_datastore_spec.rb | 24 +++++ ...unctions_distributions_permissions_spec.rb | 19 ++++ .../workflows_triggers_permissions_spec.rb | 31 +++++++ 26 files changed, 602 insertions(+), 13 deletions(-) create mode 100644 bin/commands/admin_workflows_triggers_types_permissions.rb create mode 100644 bin/commands/functions_distributions_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/functions_distributions_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/functions_distributions_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/functions_distributions_permissions.rb b/bin/commands/functions_distributions_permissions.rb new file mode 100644 index 00000000..9bd5ed3e --- /dev/null +++ b/bin/commands/functions_distributions_permissions.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +module Slack + module Cli + class App + desc 'FunctionsDistributionsPermissions methods.' + command 'functions_distributions_permissions' do |g| + g.desc 'Grant users access to a custom slack function that has its permission type set to named_entitiess' + g.long_desc %( Grant users access to a custom slack function that has its permission type set to named_entitiess ) + g.command 'add' do |c| + c.flag 'function_app_id', desc: 'The encoded ID of the app.' + c.flag 'function_callback_id', desc: "The callback ID defined in the function's definition file." + c.flag 'function_id', desc: 'The encoded ID of the function.' + c.flag 'user_ids', desc: 'List of encoded user IDs.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.functions_distributions_permissions_add(options)) + end + end + + g.desc 'List the visibility of a custom slack function and include the users with access if its permission type is set to named_entities' + g.long_desc %( List the visibility of a custom slack function and include the users with access if its permission type is set to named_entities ) + g.command 'list' do |c| + c.flag 'function_app_id', desc: 'The encoded ID of the app.' + c.flag 'function_callback_id', desc: "The callback ID defined in the function's definition file." + c.flag 'function_id', desc: 'The encoded ID of the function.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.functions_distributions_permissions_list(options)) + end + end + + g.desc "Revoke users' access to a custom slack function that has its permission type set to named_entities" + g.long_desc %( Revoke users' access to a custom slack function that has its permission type set to named_entities ) + g.command 'remove' do |c| + c.flag 'function_app_id', desc: 'The encoded ID of the app.' + c.flag 'function_callback_id', desc: "The callback ID defined in the function's definition file." + c.flag 'function_id', desc: 'The encoded ID of the function.' + c.flag 'user_ids', desc: 'List of encoded user IDs.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.functions_distributions_permissions_remove(options)) + end + end + + g.desc 'Set the remixability of a slack function and define the users to be granted access if permission_type is set to named_entities' + g.long_desc %( Set the remixability of a slack function and define the users to be granted access if permission_type is set to named_entities ) + g.command 'set' do |c| + c.flag 'permission_type', desc: 'The type of permission that defines how the function can be distributed.' + c.flag 'function_app_id', desc: 'The encoded ID of the app.' + c.flag 'function_callback_id', desc: "The callback ID defined in the function's definition file." + c.flag 'function_id', desc: 'The encoded ID of the function.' + c.flag 'user_ids', desc: 'List of encoded user IDs.' + c.action do |_global_options, options, _args| + puts JSON.dump(@client.functions_distributions_permissions_set(options)) + end + end + end + end + end +end 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/reminders.rb b/bin/commands/reminders.rb index 9c3600da..b8faa63c 100644 --- a/bin/commands/reminders.rb +++ b/bin/commands/reminders.rb @@ -10,7 +10,7 @@ class App g.long_desc %( Creates a reminder. ) g.command 'add' do |c| c.flag 'text', desc: 'The content of the reminder.' - c.flag 'time', desc: 'When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").' + c.flag 'time', desc: 'Can also take a type of integer. When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").' c.flag 'recurrence', desc: 'Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.' c.flag 'team_id', desc: 'Encoded team id, required if org token is used.' c.flag 'user', desc: 'No longer supported - reminders cannot be set for other users. Previously, was the user who would receive the reminder.' diff --git a/bin/commands/usergroups.rb b/bin/commands/usergroups.rb index 7391c026..66e891ee 100644 --- a/bin/commands/usergroups.rb +++ b/bin/commands/usergroups.rb @@ -12,6 +12,7 @@ class App c.flag 'name', desc: 'A name for the User Group. Must be unique among User Groups.' c.flag 'channels', desc: 'A comma separated string of encoded channel IDs for which the User Group uses as a default.' c.flag 'description', desc: 'A short description of the User Group.' + c.flag 'enable_section', desc: 'Configure this usergroup to be a channel section.' c.flag 'handle', desc: 'A mention handle. Must be unique among channels, users and User Groups.' c.flag 'include_count', desc: 'Include the number of users in each User Group.' c.flag 'team_id', desc: 'Encoded team id where the user group has to be created, required if org token is used.' @@ -60,6 +61,7 @@ class App c.flag 'usergroup', desc: 'The encoded ID of the User Group to update.' c.flag 'channels', desc: 'A comma separated string of encoded channel IDs for which the User Group uses as a default.' c.flag 'description', desc: 'A short description of the User Group.' + c.flag 'enable_section', desc: 'Configure this usergroup to be a channel section.' c.flag 'handle', desc: 'A mention handle. Must be unique among channels, users and User Groups.' c.flag 'include_count', desc: 'Include the number of users in the User Group.' c.flag 'name', desc: 'A name for the User Group. Must be unique among User Groups.' 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..919cb80b 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' @@ -56,6 +57,7 @@ require_relative 'endpoints/files_comments' require_relative 'endpoints/files_remote' require_relative 'endpoints/functions' +require_relative 'endpoints/functions_distributions_permissions' require_relative 'endpoints/functions_workflows_steps' require_relative 'endpoints/functions_workflows_steps_responses' require_relative 'endpoints/migration' @@ -81,6 +83,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 +123,7 @@ module Endpoints include AdminWorkflows include AdminWorkflowsCollaborators include AdminWorkflowsPermissions + include AdminWorkflowsTriggersTypesPermissions include Api include Apps include AppsActivities @@ -144,6 +148,7 @@ module Endpoints include FilesComments include FilesRemote include Functions + include FunctionsDistributionsPermissions include FunctionsWorkflowsSteps include FunctionsWorkflowsStepsResponses include Migration @@ -169,6 +174,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/functions_distributions_permissions.rb b/lib/slack/web/api/endpoints/functions_distributions_permissions.rb new file mode 100644 index 00000000..a0ce1038 --- /dev/null +++ b/lib/slack/web/api/endpoints/functions_distributions_permissions.rb @@ -0,0 +1,81 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +module Slack + module Web + module Api + module Endpoints + module FunctionsDistributionsPermissions + # + # Grant users access to a custom slack function that has its permission type set to named_entitiess + # + # @option options [string] :function_app_id + # The encoded ID of the app. + # @option options [string] :function_callback_id + # The callback ID defined in the function's definition file. + # @option options [string] :function_id + # The encoded ID of the function. + # @option options [array] :user_ids + # List of encoded user IDs. + # @see https://api.slack.com/methods/functions.distributions.permissions.add + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/functions.distributions.permissions/functions.distributions.permissions.add.json + def functions_distributions_permissions_add(options = {}) + post('functions.distributions.permissions.add', options) + end + + # + # List the visibility of a custom slack function and include the users with access if its permission type is set to named_entities + # + # @option options [string] :function_app_id + # The encoded ID of the app. + # @option options [string] :function_callback_id + # The callback ID defined in the function's definition file. + # @option options [string] :function_id + # The encoded ID of the function. + # @see https://api.slack.com/methods/functions.distributions.permissions.list + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/functions.distributions.permissions/functions.distributions.permissions.list.json + def functions_distributions_permissions_list(options = {}) + post('functions.distributions.permissions.list', options) + end + + # + # Revoke users' access to a custom slack function that has its permission type set to named_entities + # + # @option options [string] :function_app_id + # The encoded ID of the app. + # @option options [string] :function_callback_id + # The callback ID defined in the function's definition file. + # @option options [string] :function_id + # The encoded ID of the function. + # @option options [array] :user_ids + # List of encoded user IDs. + # @see https://api.slack.com/methods/functions.distributions.permissions.remove + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/functions.distributions.permissions/functions.distributions.permissions.remove.json + def functions_distributions_permissions_remove(options = {}) + post('functions.distributions.permissions.remove', options) + end + + # + # Set the remixability of a slack function and define the users to be granted access if permission_type is set to named_entities + # + # @option options [enum] :permission_type + # The type of permission that defines how the function can be distributed. + # @option options [string] :function_app_id + # The encoded ID of the app. + # @option options [string] :function_callback_id + # The callback ID defined in the function's definition file. + # @option options [string] :function_id + # The encoded ID of the function. + # @option options [array] :user_ids + # List of encoded user IDs. + # @see https://api.slack.com/methods/functions.distributions.permissions.set + # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/functions.distributions.permissions/functions.distributions.permissions.set.json + def functions_distributions_permissions_set(options = {}) + raise ArgumentError, 'Exactly one of :permission_type is required' unless options[:permission_type].nil? + post('functions.distributions.permissions.set', options) + end + end + end + end + end +end 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/reminders.rb b/lib/slack/web/api/endpoints/reminders.rb index a24ba674..f883472d 100644 --- a/lib/slack/web/api/endpoints/reminders.rb +++ b/lib/slack/web/api/endpoints/reminders.rb @@ -12,7 +12,7 @@ module Reminders # @option options [string] :text # The content of the reminder. # @option options [string] :time - # When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday"). + # Can also take a type of integer. When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday"). # @option options [object] :recurrence # Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week. # @option options [string] :team_id diff --git a/lib/slack/web/api/endpoints/usergroups.rb b/lib/slack/web/api/endpoints/usergroups.rb index 600a00e7..79298b9c 100644 --- a/lib/slack/web/api/endpoints/usergroups.rb +++ b/lib/slack/web/api/endpoints/usergroups.rb @@ -15,6 +15,8 @@ module Usergroups # A comma separated string of encoded channel IDs for which the User Group uses as a default. # @option options [string] :description # A short description of the User Group. + # @option options [boolean] :enable_section + # Configure this usergroup to be a channel section. # @option options [string] :handle # A mention handle. Must be unique among channels, users and User Groups. # @option options [boolean] :include_count @@ -86,6 +88,8 @@ def usergroups_list(options = {}) # A comma separated string of encoded channel IDs for which the User Group uses as a default. # @option options [string] :description # A short description of the User Group. + # @option options [boolean] :enable_section + # Configure this usergroup to be a channel section. # @option options [string] :handle # A mention handle. Must be unique among channels, users and User Groups. # @option options [boolean] :include_count 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..0c2cf08c 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,8 +491,10 @@ 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 PermissionTypeRequired < SlackError; end class PlanUpgradeRequired < SlackError; end class PolicyNotFound < SlackError; end class PostContentsTooLarge < SlackError; end @@ -518,11 +530,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 +551,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 +582,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 +591,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 +642,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 +709,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 +759,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 +825,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 +949,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 +1061,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 +1087,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 +1120,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,8 +1132,10 @@ 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, + 'permission_type_required' => PermissionTypeRequired, 'plan_upgrade_required' => PlanUpgradeRequired, 'policy_not_found' => PolicyNotFound, 'post_contents_too_large' => PostContentsTooLarge, @@ -1140,11 +1171,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 +1192,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 +1223,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 +1232,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 +1283,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..2e910bcc 160000 --- a/lib/slack/web/api/slack-api-ref +++ b/lib/slack/web/api/slack-api-ref @@ -1 +1 @@ -Subproject commit 8a22e575eefeb220a5a06426ff7319e6ef46dd42 +Subproject commit 2e910bcc728c3d8d721b1ee9cca0cd001c722e2e 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/functions_distributions_permissions_spec.rb b/spec/slack/web/api/endpoints/functions_distributions_permissions_spec.rb new file mode 100644 index 00000000..a64fb24a --- /dev/null +++ b/spec/slack/web/api/endpoints/functions_distributions_permissions_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true +# This file was auto-generated by lib/tasks/web.rake + +require 'spec_helper' + +RSpec.describe Slack::Web::Api::Endpoints::FunctionsDistributionsPermissions do + let(:client) { Slack::Web::Client.new } + context 'functions.distributions.permissions_set' do + it 'requires permission_type' do + expect { client.functions_distributions_permissions_set }.to raise_error ArgumentError, /Required arguments :permission_type missing/ + end + it 'requires one of permission_type' do + expect { client.functions_distributions_permissions_set }.to raise_error ArgumentError, /Exactly one of/ + + expect(client).to receive(:post).with('functions.distributions.permissions.set', {permission_type: %q[]}) + client.functions_distributions_permissions_set(permission_type: %q[]) + end + end +end 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