slack-ruby-client 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +22 -12
- data/.github/workflows/update_api.yml +1 -1
- data/.gitignore +1 -0
- data/CHANGELOG.md +7 -0
- data/README.md +26 -1
- data/bin/commands/admin_emoji.rb +1 -1
- data/bin/commands/admin_users.rb +4 -4
- data/bin/commands/admin_workflows.rb +4 -2
- data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
- data/bin/commands/apps_datastore.rb +46 -0
- data/bin/commands/canvases.rb +40 -0
- data/bin/commands/canvases_access.rb +34 -0
- data/bin/commands/canvases_sections.rb +21 -0
- data/bin/commands/conversations.rb +1 -1
- data/bin/commands/conversations_canvases.rb +21 -0
- data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
- data/bin/commands/functions_distributions_permissions.rb +59 -0
- data/bin/commands/oauth.rb +2 -2
- data/bin/commands/oauth_v2.rb +2 -2
- data/bin/commands/reminders.rb +1 -1
- data/bin/commands/team_externalTeams.rb +35 -0
- data/bin/commands/users_discoverableContacts.rb +20 -0
- data/bin/commands/workflows_triggers_permissions.rb +60 -0
- data/lib/slack/messages/formatting.rb +13 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_emoji.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_users.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_workflows.rb +6 -2
- data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
- data/lib/slack/web/api/endpoints/apps_datastore.rb +71 -0
- data/lib/slack/web/api/endpoints/canvases.rb +52 -0
- data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
- data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
- data/lib/slack/web/api/endpoints/conversations.rb +1 -1
- data/lib/slack/web/api/endpoints/conversations_canvases.rb +26 -0
- data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
- data/lib/slack/web/api/endpoints/dnd.rb +1 -0
- data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +80 -0
- data/lib/slack/web/api/endpoints/oauth.rb +2 -2
- data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
- data/lib/slack/web/api/endpoints/reminders.rb +1 -1
- data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
- data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
- data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
- data/lib/slack/web/api/endpoints.rb +20 -0
- data/lib/slack/web/api/errors.rb +70 -4
- data/lib/slack/web/api/templates/method.erb +1 -0
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/spec/slack/messages/formatting_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/apps_datastore_spec.rb +29 -0
- data/spec/slack/web/api/endpoints/canvases_access_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/canvases_sections_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/canvases_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/conversations_canvases_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/conversations_externalInvitePermissions_spec.rb +19 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +5 -0
- data/spec/slack/web/api/endpoints/functions_distributions_permissions_spec.rb +10 -0
- data/spec/slack/web/api/endpoints/team_externalTeams_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/users_discoverableContacts_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb +31 -0
- metadata +32 -2
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module UsersDiscoverablecontacts
|
9
|
+
#
|
10
|
+
# Look up an email address to see if someone is discoverable on Slack
|
11
|
+
#
|
12
|
+
# @option options [string] :email
|
13
|
+
# .
|
14
|
+
# @see https://api.slack.com/methods/users.discoverableContacts.lookup
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users.discoverableContacts/users.discoverableContacts.lookup.json
|
16
|
+
def users_discoverableContacts_lookup(options = {})
|
17
|
+
raise ArgumentError, 'Required arguments :email missing' if options[:email].nil?
|
18
|
+
post('users.discoverableContacts.lookup', options)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module WorkflowsTriggersPermissions
|
9
|
+
#
|
10
|
+
# Allows users to run a trigger that has its permission type set to named_entities
|
11
|
+
#
|
12
|
+
# @option options [string] :trigger_id
|
13
|
+
# Encoded ID of the trigger.
|
14
|
+
# @option options [array] :channel_ids
|
15
|
+
# List of encoded channel IDs.
|
16
|
+
# @option options [array] :org_ids
|
17
|
+
# List of encoded organization IDs.
|
18
|
+
# @option options [array] :team_ids
|
19
|
+
# List of encoded workspace IDs.
|
20
|
+
# @option options [array] :user_ids
|
21
|
+
# List of encoded user IDs.
|
22
|
+
# @see https://api.slack.com/methods/workflows.triggers.permissions.add
|
23
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.add.json
|
24
|
+
def workflows_triggers_permissions_add(options = {})
|
25
|
+
raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil?
|
26
|
+
post('workflows.triggers.permissions.add', options)
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# Returns the permission type of a trigger and if applicable, includes the entities that have been granted access
|
31
|
+
#
|
32
|
+
# @option options [string] :trigger_id
|
33
|
+
# Encoded ID of the trigger.
|
34
|
+
# @see https://api.slack.com/methods/workflows.triggers.permissions.list
|
35
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.list.json
|
36
|
+
def workflows_triggers_permissions_list(options = {})
|
37
|
+
raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil?
|
38
|
+
post('workflows.triggers.permissions.list', options)
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# Revoke an entity's access to a trigger that has its permission type set to named_entities
|
43
|
+
#
|
44
|
+
# @option options [string] :trigger_id
|
45
|
+
# Encoded ID of the trigger.
|
46
|
+
# @option options [array] :channel_ids
|
47
|
+
# List of encoded channel IDs.
|
48
|
+
# @option options [array] :org_ids
|
49
|
+
# List of encoded organization IDs.
|
50
|
+
# @option options [array] :team_ids
|
51
|
+
# List of encoded workspace IDs.
|
52
|
+
# @option options [array] :user_ids
|
53
|
+
# List of encoded user IDs.
|
54
|
+
# @see https://api.slack.com/methods/workflows.triggers.permissions.remove
|
55
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.remove.json
|
56
|
+
def workflows_triggers_permissions_remove(options = {})
|
57
|
+
raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil?
|
58
|
+
post('workflows.triggers.permissions.remove', options)
|
59
|
+
end
|
60
|
+
|
61
|
+
#
|
62
|
+
# Set the permission type for who can run a trigger
|
63
|
+
#
|
64
|
+
# @option options [enum] :permission_type
|
65
|
+
# The type of permission that defines who can run a trigger.
|
66
|
+
# @option options [string] :trigger_id
|
67
|
+
# Encoded ID of the trigger.
|
68
|
+
# @option options [array] :channel_ids
|
69
|
+
# List of encoded channel IDs.
|
70
|
+
# @option options [array] :org_ids
|
71
|
+
# List of encoded organization IDs.
|
72
|
+
# @option options [array] :team_ids
|
73
|
+
# List of encoded workspace IDs.
|
74
|
+
# @option options [array] :user_ids
|
75
|
+
# List of encoded user IDs.
|
76
|
+
# @see https://api.slack.com/methods/workflows.triggers.permissions.set
|
77
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows.triggers.permissions/workflows.triggers.permissions.set.json
|
78
|
+
def workflows_triggers_permissions_set(options = {})
|
79
|
+
raise ArgumentError, 'Required arguments :permission_type missing' if options[:permission_type].nil?
|
80
|
+
raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil?
|
81
|
+
post('workflows.triggers.permissions.set', options)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -32,6 +32,7 @@ require_relative 'endpoints/admin_users_unsupportedVersions'
|
|
32
32
|
require_relative 'endpoints/admin_workflows'
|
33
33
|
require_relative 'endpoints/admin_workflows_collaborators'
|
34
34
|
require_relative 'endpoints/admin_workflows_permissions'
|
35
|
+
require_relative 'endpoints/admin_workflows_triggers_types_permissions'
|
35
36
|
require_relative 'endpoints/api'
|
36
37
|
require_relative 'endpoints/apps'
|
37
38
|
require_relative 'endpoints/apps_activities'
|
@@ -46,9 +47,14 @@ require_relative 'endpoints/bookmarks'
|
|
46
47
|
require_relative 'endpoints/bots'
|
47
48
|
require_relative 'endpoints/calls'
|
48
49
|
require_relative 'endpoints/calls_participants'
|
50
|
+
require_relative 'endpoints/canvases'
|
51
|
+
require_relative 'endpoints/canvases_access'
|
52
|
+
require_relative 'endpoints/canvases_sections'
|
49
53
|
require_relative 'endpoints/chat'
|
50
54
|
require_relative 'endpoints/chat_scheduledMessages'
|
51
55
|
require_relative 'endpoints/conversations'
|
56
|
+
require_relative 'endpoints/conversations_canvases'
|
57
|
+
require_relative 'endpoints/conversations_externalInvitePermissions'
|
52
58
|
require_relative 'endpoints/dialog'
|
53
59
|
require_relative 'endpoints/dnd'
|
54
60
|
require_relative 'endpoints/emoji'
|
@@ -56,6 +62,7 @@ require_relative 'endpoints/files'
|
|
56
62
|
require_relative 'endpoints/files_comments'
|
57
63
|
require_relative 'endpoints/files_remote'
|
58
64
|
require_relative 'endpoints/functions'
|
65
|
+
require_relative 'endpoints/functions_distributions_permissions'
|
59
66
|
require_relative 'endpoints/functions_workflows_steps'
|
60
67
|
require_relative 'endpoints/functions_workflows_steps_responses'
|
61
68
|
require_relative 'endpoints/migration'
|
@@ -70,6 +77,7 @@ require_relative 'endpoints/search'
|
|
70
77
|
require_relative 'endpoints/stars'
|
71
78
|
require_relative 'endpoints/team'
|
72
79
|
require_relative 'endpoints/team_billing'
|
80
|
+
require_relative 'endpoints/team_externalTeams'
|
73
81
|
require_relative 'endpoints/team_preferences'
|
74
82
|
require_relative 'endpoints/team_profile'
|
75
83
|
require_relative 'endpoints/tooling_tokens'
|
@@ -77,10 +85,12 @@ require_relative 'endpoints/usergroups'
|
|
77
85
|
require_relative 'endpoints/usergroups_users'
|
78
86
|
require_relative 'endpoints/users'
|
79
87
|
require_relative 'endpoints/users_admin'
|
88
|
+
require_relative 'endpoints/users_discoverableContacts'
|
80
89
|
require_relative 'endpoints/users_prefs'
|
81
90
|
require_relative 'endpoints/users_profile'
|
82
91
|
require_relative 'endpoints/views'
|
83
92
|
require_relative 'endpoints/workflows'
|
93
|
+
require_relative 'endpoints/workflows_triggers_permissions'
|
84
94
|
|
85
95
|
module Slack
|
86
96
|
module Web
|
@@ -120,6 +130,7 @@ module Slack
|
|
120
130
|
include AdminWorkflows
|
121
131
|
include AdminWorkflowsCollaborators
|
122
132
|
include AdminWorkflowsPermissions
|
133
|
+
include AdminWorkflowsTriggersTypesPermissions
|
123
134
|
include Api
|
124
135
|
include Apps
|
125
136
|
include AppsActivities
|
@@ -134,9 +145,14 @@ module Slack
|
|
134
145
|
include Bots
|
135
146
|
include Calls
|
136
147
|
include CallsParticipants
|
148
|
+
include Canvases
|
149
|
+
include CanvasesAccess
|
150
|
+
include CanvasesSections
|
137
151
|
include Chat
|
138
152
|
include ChatScheduledmessages
|
139
153
|
include Conversations
|
154
|
+
include ConversationsCanvases
|
155
|
+
include ConversationsExternalinvitepermissions
|
140
156
|
include Dialog
|
141
157
|
include Dnd
|
142
158
|
include Emoji
|
@@ -144,6 +160,7 @@ module Slack
|
|
144
160
|
include FilesComments
|
145
161
|
include FilesRemote
|
146
162
|
include Functions
|
163
|
+
include FunctionsDistributionsPermissions
|
147
164
|
include FunctionsWorkflowsSteps
|
148
165
|
include FunctionsWorkflowsStepsResponses
|
149
166
|
include Migration
|
@@ -158,6 +175,7 @@ module Slack
|
|
158
175
|
include Stars
|
159
176
|
include Team
|
160
177
|
include TeamBilling
|
178
|
+
include TeamExternalteams
|
161
179
|
include TeamPreferences
|
162
180
|
include TeamProfile
|
163
181
|
include ToolingTokens
|
@@ -165,10 +183,12 @@ module Slack
|
|
165
183
|
include UsergroupsUsers
|
166
184
|
include Users
|
167
185
|
include UsersAdmin
|
186
|
+
include UsersDiscoverablecontacts
|
168
187
|
include UsersPrefs
|
169
188
|
include UsersProfile
|
170
189
|
include Views
|
171
190
|
include Workflows
|
191
|
+
include WorkflowsTriggersPermissions
|
172
192
|
end
|
173
193
|
end
|
174
194
|
end
|
data/lib/slack/web/api/errors.rb
CHANGED
@@ -68,6 +68,7 @@ module Slack
|
|
68
68
|
class CannotCompleteRecurring < SlackError; end
|
69
69
|
class CannotCreateChannel < SlackError; end
|
70
70
|
class CannotCreateDialog < SlackError; end
|
71
|
+
class CannotFetchVersions < SlackError; end
|
71
72
|
class CannotFindChannel < SlackError; end
|
72
73
|
class CannotFindMessage < SlackError; end
|
73
74
|
class CannotFindService < SlackError; end
|
@@ -102,11 +103,18 @@ module Slack
|
|
102
103
|
class CantKickSelf < SlackError; end
|
103
104
|
class CantLeaveGeneral < SlackError; end
|
104
105
|
class CantUpdateMessage < SlackError; end
|
106
|
+
class CanvasCreationFailed < SlackError; end
|
107
|
+
class CanvasDeleted < SlackError; end
|
108
|
+
class CanvasDeletingDisabled < SlackError; end
|
105
109
|
class CanvasDisabledFileTeam < SlackError; end
|
106
110
|
class CanvasDisabledUserTeam < SlackError; end
|
111
|
+
class CanvasEditingFailed < SlackError; end
|
107
112
|
class CanvasGloballyDisabled < SlackError; end
|
113
|
+
class CanvasNotFound < SlackError; end
|
108
114
|
class ChannelArchived < SlackError; end
|
109
115
|
class ChannelCannotBeUnshared < SlackError; end
|
116
|
+
class ChannelCanvasAlreadyExists < SlackError; end
|
117
|
+
class ChannelCanvasCreationFailed < SlackError; end
|
110
118
|
class ChannelCanvasDeleted < SlackError; end
|
111
119
|
class ChannelConversionInProgress < SlackError; end
|
112
120
|
class ChannelIsNotPrivate < SlackError; end
|
@@ -117,7 +125,10 @@ module Slack
|
|
117
125
|
class ChannelTypeNotSupported < SlackError; end
|
118
126
|
class ClientIdTokenMismatch < SlackError; end
|
119
127
|
class CodeAlreadyUsed < SlackError; end
|
128
|
+
class ConnectedOrgDenied < SlackError; end
|
129
|
+
class ConnectedTeamDenied < SlackError; end
|
120
130
|
class ConnectedTeamPassedInIsNotTopLevelTeam < SlackError; end
|
131
|
+
class ConnectedUserDenied < SlackError; end
|
121
132
|
class ConnectionLimitExceeded < SlackError; end
|
122
133
|
class ConnectionLimitExceededPending < SlackError; end
|
123
134
|
class CouldNotArchiveChannel < SlackError; end
|
@@ -180,10 +191,12 @@ module Slack
|
|
180
191
|
class ExternalChannelMigrating < SlackError; end
|
181
192
|
class ExternalLimitedRestriction < SlackError; end
|
182
193
|
class ExternalTeamNotConnectedToThisOrg < SlackError; end
|
194
|
+
class ExternalWorkspaceDenied < SlackError; end
|
183
195
|
class ExternallySharedOrDisconnectedChannel < SlackError; end
|
184
196
|
class FailToGetTeamsForRestrictedUser < SlackError; end
|
185
197
|
class FailedAddingCollaborator < SlackError; end
|
186
198
|
class FailedCreatingApp < SlackError; end
|
199
|
+
class FailedDatastoreOperation < SlackError; end
|
187
200
|
class FailedExport < SlackError; end
|
188
201
|
class FailedForSomeEntities < SlackError; end
|
189
202
|
class FailedForSomeUsers < SlackError; end
|
@@ -233,6 +246,8 @@ module Slack
|
|
233
246
|
class ForbiddenHandle < SlackError; end
|
234
247
|
class ForbiddenTeam < SlackError; end
|
235
248
|
class FreeTeamNotAllowed < SlackError; end
|
249
|
+
class FreeTeamsCannotCreateStandaloneCanvases < SlackError; end
|
250
|
+
class FreeTeamsCannotEditStandaloneCanvases < SlackError; end
|
236
251
|
class FunctionExecutionNotFound < SlackError; end
|
237
252
|
class FunctionNotFound < SlackError; end
|
238
253
|
class GroupAlreadyLinkedToChannel < SlackError; end
|
@@ -299,9 +314,12 @@ module Slack
|
|
299
314
|
class InvalidNamePunctuation < SlackError; end
|
300
315
|
class InvalidNameRequired < SlackError; end
|
301
316
|
class InvalidNameSpecials < SlackError; end
|
317
|
+
class InvalidNamedEntities < SlackError; end
|
302
318
|
class InvalidOutputs < SlackError; end
|
319
|
+
class InvalidParameters < SlackError; end
|
303
320
|
class InvalidParentType < SlackError; end
|
304
321
|
class InvalidPayload < SlackError; end
|
322
|
+
class InvalidPermissionType < SlackError; end
|
305
323
|
class InvalidPermissions < SlackError; end
|
306
324
|
class InvalidPostType < SlackError; end
|
307
325
|
class InvalidPresence < SlackError; end
|
@@ -346,7 +364,9 @@ module Slack
|
|
346
364
|
class InvalidUserId < SlackError; end
|
347
365
|
class InvalidUsers < SlackError; end
|
348
366
|
class InvalidValue < SlackError; end
|
367
|
+
class InvalidVisibility < SlackError; end
|
349
368
|
class InvalidWorkflowAuthStrategy < SlackError; end
|
369
|
+
class InvalidWorkspaceFilter < SlackError; end
|
350
370
|
class InviteFromSameOrg < SlackError; end
|
351
371
|
class InviteLookupError < SlackError; end
|
352
372
|
class InviteNotFound < SlackError; end
|
@@ -403,6 +423,7 @@ module Slack
|
|
403
423
|
class MissingUnfurlId < SlackError; end
|
404
424
|
class MissingUnfurls < SlackError; end
|
405
425
|
class MissingUser < SlackError; end
|
426
|
+
class MsgBlocksTooLong < SlackError; end
|
406
427
|
class MsgTooLong < SlackError; end
|
407
428
|
class MustClearBothStatusTextAndStatusEmoji < SlackError; end
|
408
429
|
class MustProvideTeamDomain < SlackError; end
|
@@ -413,6 +434,7 @@ module Slack
|
|
413
434
|
class NameTaken < SlackError; end
|
414
435
|
class NameTakenInOrg < SlackError; end
|
415
436
|
class NameTooLong < SlackError; end
|
437
|
+
class NamedEntitiesCannotBeEmpty < SlackError; end
|
416
438
|
class NoActiveSessions < SlackError; end
|
417
439
|
class NoAliasSelected < SlackError; end
|
418
440
|
class NoBotUserForApp < SlackError; end
|
@@ -420,6 +442,7 @@ module Slack
|
|
420
442
|
class NoChannelMemberships < SlackError; end
|
421
443
|
class NoDomainsProvided < SlackError; end
|
422
444
|
class NoDualBroadcastContentUpdate < SlackError; end
|
445
|
+
class NoExternalInvitePermission < SlackError; end
|
423
446
|
class NoImageUploaded < SlackError; end
|
424
447
|
class NoItemSpecified < SlackError; end
|
425
448
|
class NoLocalUserOnTeam < SlackError; end
|
@@ -438,6 +461,7 @@ module Slack
|
|
438
461
|
class NoUsersProvided < SlackError; end
|
439
462
|
class NoValidChannels < SlackError; end
|
440
463
|
class NoValidEntities < SlackError; end
|
464
|
+
class NoValidNamedEntities < SlackError; end
|
441
465
|
class NoValidTeams < SlackError; end
|
442
466
|
class NoValidUsers < SlackError; end
|
443
467
|
class NotAdmin < SlackError; end
|
@@ -470,6 +494,7 @@ module Slack
|
|
470
494
|
class OneOrMoreInvalidChannels < SlackError; end
|
471
495
|
class OrgLevelEmailDisplayDisabled < SlackError; end
|
472
496
|
class OrgLoginRequired < SlackError; end
|
497
|
+
class OrgNotConnected < SlackError; end
|
473
498
|
class OrgNotFound < SlackError; end
|
474
499
|
class OrgResolutionRequired < SlackError; end
|
475
500
|
class OrgUserNotInTeam < SlackError; end
|
@@ -481,8 +506,10 @@ module Slack
|
|
481
506
|
class ParameterValidationFailed < SlackError; end
|
482
507
|
class ParentBookmarkDisabled < SlackError; end
|
483
508
|
class ParentWithLink < SlackError; end
|
509
|
+
class PartialFailure < SlackError; end
|
484
510
|
class PartialProfileSetFailed < SlackError; end
|
485
511
|
class PermissionDenied < SlackError; end
|
512
|
+
class PermissionTypeRequired < SlackError; end
|
486
513
|
class PlanUpgradeRequired < SlackError; end
|
487
514
|
class PolicyNotFound < SlackError; end
|
488
515
|
class PostContentsTooLarge < SlackError; end
|
@@ -518,11 +545,13 @@ module Slack
|
|
518
545
|
class SessionInvalidationFailed < SlackError; end
|
519
546
|
class SessionNotFound < SlackError; end
|
520
547
|
class SessionResetNotAllowed < SlackError; end
|
548
|
+
class SharedChannelDenied < SlackError; end
|
521
549
|
class SlackConnectBlockedFileType < SlackError; end
|
522
550
|
class SlackConnectCanvasSharingBlocked < SlackError; end
|
523
551
|
class SlackConnectClipSharingBlocked < SlackError; end
|
524
552
|
class SlackConnectFileLinkSharingBlocked < SlackError; end
|
525
553
|
class SlackConnectFileUploadSharingBlocked < SlackError; end
|
554
|
+
class SlackConnectListsSharingBlocked < SlackError; end
|
526
555
|
class SnippetTooLarge < SlackError; end
|
527
556
|
class SnoozeEndFailed < SlackError; end
|
528
557
|
class SnoozeFailed < SlackError; end
|
@@ -537,6 +566,7 @@ module Slack
|
|
537
566
|
class TeamAddedToOrg < SlackError; end
|
538
567
|
class TeamIdOrOrgRequired < SlackError; end
|
539
568
|
class TeamIdRequiredForEnterprise < SlackError; end
|
569
|
+
class TeamNotConnected < SlackError; end
|
540
570
|
class TeamNotFound < SlackError; end
|
541
571
|
class TeamNotOnEnterprise < SlackError; end
|
542
572
|
class TeamQuotaExceeded < SlackError; end
|
@@ -556,8 +586,6 @@ module Slack
|
|
556
586
|
class TooManyAttachments < SlackError; end
|
557
587
|
class TooManyBookmarks < SlackError; end
|
558
588
|
class TooManyContactCards < SlackError; end
|
559
|
-
class TooManyConvosForAppOnTeam < SlackError; end
|
560
|
-
class TooManyConvosForTeam < SlackError; end
|
561
589
|
class TooManyDomainsProvided < SlackError; end
|
562
590
|
class TooManyEmails < SlackError; end
|
563
591
|
class TooManyEmoji < SlackError; end
|
@@ -567,6 +595,7 @@ module Slack
|
|
567
595
|
class TooManyIdsProvided < SlackError; end
|
568
596
|
class TooManyLinkedChannels < SlackError; end
|
569
597
|
class TooManyMembers < SlackError; end
|
598
|
+
class TooManyNamedEntities < SlackError; end
|
570
599
|
class TooManyPins < SlackError; end
|
571
600
|
class TooManyReactions < SlackError; end
|
572
601
|
class TooManyTargetTeams < SlackError; end
|
@@ -575,6 +604,8 @@ module Slack
|
|
575
604
|
class TooManyUsers < SlackError; end
|
576
605
|
class TriggerExchanged < SlackError; end
|
577
606
|
class TriggerExpired < SlackError; end
|
607
|
+
class TriggerNotFound < SlackError; end
|
608
|
+
class TriggerTypeIdNotFound < SlackError; end
|
578
609
|
class TwoFactorSetupRequired < SlackError; end
|
579
610
|
class UnableToDelete < SlackError; end
|
580
611
|
class UnableToFetchCustomEmojis < SlackError; end
|
@@ -603,6 +634,7 @@ module Slack
|
|
603
634
|
class UserAlreadyDeleted < SlackError; end
|
604
635
|
class UserAlreadyTeamMember < SlackError; end
|
605
636
|
class UserCannotCreateChannel < SlackError; end
|
637
|
+
class UserCannotManageWorkspace < SlackError; end
|
606
638
|
class UserDisabled < SlackError; end
|
607
639
|
class UserDoesNotOwnChannel < SlackError; end
|
608
640
|
class UserIsAlreadyDeleted < SlackError; end
|
@@ -624,6 +656,7 @@ module Slack
|
|
624
656
|
class UsersNotFound < SlackError; end
|
625
657
|
class ValidationErrors < SlackError; end
|
626
658
|
class ViewTooLarge < SlackError; end
|
659
|
+
class VisibilityIsNotNamedEntities < SlackError; end
|
627
660
|
class WorkflowsExportCsvNotEnabled < SlackError; end
|
628
661
|
|
629
662
|
ERROR_CLASSES = {
|
@@ -690,6 +723,7 @@ module Slack
|
|
690
723
|
'cannot_complete_recurring' => CannotCompleteRecurring,
|
691
724
|
'cannot_create_channel' => CannotCreateChannel,
|
692
725
|
'cannot_create_dialog' => CannotCreateDialog,
|
726
|
+
'cannot_fetch_versions' => CannotFetchVersions,
|
693
727
|
'cannot_find_channel' => CannotFindChannel,
|
694
728
|
'cannot_find_message' => CannotFindMessage,
|
695
729
|
'cannot_find_service' => CannotFindService,
|
@@ -724,11 +758,18 @@ module Slack
|
|
724
758
|
'cant_kick_self' => CantKickSelf,
|
725
759
|
'cant_leave_general' => CantLeaveGeneral,
|
726
760
|
'cant_update_message' => CantUpdateMessage,
|
761
|
+
'canvas_creation_failed' => CanvasCreationFailed,
|
762
|
+
'canvas_deleted' => CanvasDeleted,
|
763
|
+
'canvas_deleting_disabled' => CanvasDeletingDisabled,
|
727
764
|
'canvas_disabled_file_team' => CanvasDisabledFileTeam,
|
728
765
|
'canvas_disabled_user_team' => CanvasDisabledUserTeam,
|
766
|
+
'canvas_editing_failed' => CanvasEditingFailed,
|
729
767
|
'canvas_globally_disabled' => CanvasGloballyDisabled,
|
768
|
+
'canvas_not_found' => CanvasNotFound,
|
730
769
|
'channel_archived' => ChannelArchived,
|
731
770
|
'channel_cannot_be_unshared' => ChannelCannotBeUnshared,
|
771
|
+
'channel_canvas_already_exists' => ChannelCanvasAlreadyExists,
|
772
|
+
'channel_canvas_creation_failed' => ChannelCanvasCreationFailed,
|
732
773
|
'channel_canvas_deleted' => ChannelCanvasDeleted,
|
733
774
|
'channel_conversion_in_progress' => ChannelConversionInProgress,
|
734
775
|
'channel_is_not_private' => ChannelIsNotPrivate,
|
@@ -739,7 +780,10 @@ module Slack
|
|
739
780
|
'channel_type_not_supported' => ChannelTypeNotSupported,
|
740
781
|
'client_id_token_mismatch' => ClientIdTokenMismatch,
|
741
782
|
'code_already_used' => CodeAlreadyUsed,
|
783
|
+
'connected_org_denied' => ConnectedOrgDenied,
|
784
|
+
'connected_team_denied' => ConnectedTeamDenied,
|
742
785
|
'connected_team_passed_in_is_not_top_level_team' => ConnectedTeamPassedInIsNotTopLevelTeam,
|
786
|
+
'connected_user_denied' => ConnectedUserDenied,
|
743
787
|
'connection_limit_exceeded' => ConnectionLimitExceeded,
|
744
788
|
'connection_limit_exceeded_pending' => ConnectionLimitExceededPending,
|
745
789
|
'could_not_archive_channel' => CouldNotArchiveChannel,
|
@@ -802,10 +846,12 @@ module Slack
|
|
802
846
|
'external_channel_migrating' => ExternalChannelMigrating,
|
803
847
|
'external_limited_restriction' => ExternalLimitedRestriction,
|
804
848
|
'external_team_not_connected_to_this_org' => ExternalTeamNotConnectedToThisOrg,
|
849
|
+
'external_workspace_denied' => ExternalWorkspaceDenied,
|
805
850
|
'externally_shared_or_disconnected_channel' => ExternallySharedOrDisconnectedChannel,
|
806
851
|
'fail_to_get_teams_for_restricted_user' => FailToGetTeamsForRestrictedUser,
|
807
852
|
'failed_adding_collaborator' => FailedAddingCollaborator,
|
808
853
|
'failed_creating_app' => FailedCreatingApp,
|
854
|
+
'failed_datastore_operation' => FailedDatastoreOperation,
|
809
855
|
'failed_export' => FailedExport,
|
810
856
|
'failed_for_some_entities' => FailedForSomeEntities,
|
811
857
|
'failed_for_some_users' => FailedForSomeUsers,
|
@@ -855,6 +901,8 @@ module Slack
|
|
855
901
|
'forbidden_handle' => ForbiddenHandle,
|
856
902
|
'forbidden_team' => ForbiddenTeam,
|
857
903
|
'free_team_not_allowed' => FreeTeamNotAllowed,
|
904
|
+
'free_teams_cannot_create_standalone_canvases' => FreeTeamsCannotCreateStandaloneCanvases,
|
905
|
+
'free_teams_cannot_edit_standalone_canvases' => FreeTeamsCannotEditStandaloneCanvases,
|
858
906
|
'function_execution_not_found' => FunctionExecutionNotFound,
|
859
907
|
'function_not_found' => FunctionNotFound,
|
860
908
|
'group_already_linked_to_channel' => GroupAlreadyLinkedToChannel,
|
@@ -921,9 +969,12 @@ module Slack
|
|
921
969
|
'invalid_name_punctuation' => InvalidNamePunctuation,
|
922
970
|
'invalid_name_required' => InvalidNameRequired,
|
923
971
|
'invalid_name_specials' => InvalidNameSpecials,
|
972
|
+
'invalid_named_entities' => InvalidNamedEntities,
|
924
973
|
'invalid_outputs' => InvalidOutputs,
|
974
|
+
'invalid_parameters' => InvalidParameters,
|
925
975
|
'invalid_parent_type' => InvalidParentType,
|
926
976
|
'invalid_payload' => InvalidPayload,
|
977
|
+
'invalid_permission_type' => InvalidPermissionType,
|
927
978
|
'invalid_permissions' => InvalidPermissions,
|
928
979
|
'invalid_post_type' => InvalidPostType,
|
929
980
|
'invalid_presence' => InvalidPresence,
|
@@ -968,7 +1019,9 @@ module Slack
|
|
968
1019
|
'invalid_user_id' => InvalidUserId,
|
969
1020
|
'invalid_users' => InvalidUsers,
|
970
1021
|
'invalid_value' => InvalidValue,
|
1022
|
+
'invalid_visibility' => InvalidVisibility,
|
971
1023
|
'invalid_workflow_auth_strategy' => InvalidWorkflowAuthStrategy,
|
1024
|
+
'invalid_workspace_filter' => InvalidWorkspaceFilter,
|
972
1025
|
'invite_from_same_org' => InviteFromSameOrg,
|
973
1026
|
'invite_lookup_error' => InviteLookupError,
|
974
1027
|
'invite_not_found' => InviteNotFound,
|
@@ -1025,6 +1078,7 @@ module Slack
|
|
1025
1078
|
'missing_unfurl_id' => MissingUnfurlId,
|
1026
1079
|
'missing_unfurls' => MissingUnfurls,
|
1027
1080
|
'missing_user' => MissingUser,
|
1081
|
+
'msg_blocks_too_long' => MsgBlocksTooLong,
|
1028
1082
|
'msg_too_long' => MsgTooLong,
|
1029
1083
|
'must_clear_both_status_text_and_status_emoji' => MustClearBothStatusTextAndStatusEmoji,
|
1030
1084
|
'must_provide_team_domain' => MustProvideTeamDomain,
|
@@ -1035,6 +1089,7 @@ module Slack
|
|
1035
1089
|
'name_taken' => NameTaken,
|
1036
1090
|
'name_taken_in_org' => NameTakenInOrg,
|
1037
1091
|
'name_too_long' => NameTooLong,
|
1092
|
+
'named_entities_cannot_be_empty' => NamedEntitiesCannotBeEmpty,
|
1038
1093
|
'no_active_sessions' => NoActiveSessions,
|
1039
1094
|
'no_alias_selected' => NoAliasSelected,
|
1040
1095
|
'no_bot_user_for_app' => NoBotUserForApp,
|
@@ -1042,6 +1097,7 @@ module Slack
|
|
1042
1097
|
'no_channel_memberships' => NoChannelMemberships,
|
1043
1098
|
'no_domains_provided' => NoDomainsProvided,
|
1044
1099
|
'no_dual_broadcast_content_update' => NoDualBroadcastContentUpdate,
|
1100
|
+
'no_external_invite_permission' => NoExternalInvitePermission,
|
1045
1101
|
'no_image_uploaded' => NoImageUploaded,
|
1046
1102
|
'no_item_specified' => NoItemSpecified,
|
1047
1103
|
'no_local_user_on_team' => NoLocalUserOnTeam,
|
@@ -1060,6 +1116,7 @@ module Slack
|
|
1060
1116
|
'no_users_provided' => NoUsersProvided,
|
1061
1117
|
'no_valid_channels' => NoValidChannels,
|
1062
1118
|
'no_valid_entities' => NoValidEntities,
|
1119
|
+
'no_valid_named_entities' => NoValidNamedEntities,
|
1063
1120
|
'no_valid_teams' => NoValidTeams,
|
1064
1121
|
'no_valid_users' => NoValidUsers,
|
1065
1122
|
'not_admin' => NotAdmin,
|
@@ -1092,6 +1149,7 @@ module Slack
|
|
1092
1149
|
'one_or_more_invalid_channels' => OneOrMoreInvalidChannels,
|
1093
1150
|
'org_level_email_display_disabled' => OrgLevelEmailDisplayDisabled,
|
1094
1151
|
'org_login_required' => OrgLoginRequired,
|
1152
|
+
'org_not_connected' => OrgNotConnected,
|
1095
1153
|
'org_not_found' => OrgNotFound,
|
1096
1154
|
'org_resolution_required' => OrgResolutionRequired,
|
1097
1155
|
'org_user_not_in_team' => OrgUserNotInTeam,
|
@@ -1103,8 +1161,10 @@ module Slack
|
|
1103
1161
|
'parameter_validation_failed' => ParameterValidationFailed,
|
1104
1162
|
'parent_bookmark_disabled' => ParentBookmarkDisabled,
|
1105
1163
|
'parent_with_link' => ParentWithLink,
|
1164
|
+
'partial_failure' => PartialFailure,
|
1106
1165
|
'partial_profile_set_failed' => PartialProfileSetFailed,
|
1107
1166
|
'permission_denied' => PermissionDenied,
|
1167
|
+
'permission_type_required' => PermissionTypeRequired,
|
1108
1168
|
'plan_upgrade_required' => PlanUpgradeRequired,
|
1109
1169
|
'policy_not_found' => PolicyNotFound,
|
1110
1170
|
'post_contents_too_large' => PostContentsTooLarge,
|
@@ -1140,11 +1200,13 @@ module Slack
|
|
1140
1200
|
'session_invalidation_failed' => SessionInvalidationFailed,
|
1141
1201
|
'session_not_found' => SessionNotFound,
|
1142
1202
|
'session_reset_not_allowed' => SessionResetNotAllowed,
|
1203
|
+
'shared_channel_denied' => SharedChannelDenied,
|
1143
1204
|
'slack_connect_blocked_file_type' => SlackConnectBlockedFileType,
|
1144
1205
|
'slack_connect_canvas_sharing_blocked' => SlackConnectCanvasSharingBlocked,
|
1145
1206
|
'slack_connect_clip_sharing_blocked' => SlackConnectClipSharingBlocked,
|
1146
1207
|
'slack_connect_file_link_sharing_blocked' => SlackConnectFileLinkSharingBlocked,
|
1147
1208
|
'slack_connect_file_upload_sharing_blocked' => SlackConnectFileUploadSharingBlocked,
|
1209
|
+
'slack_connect_lists_sharing_blocked' => SlackConnectListsSharingBlocked,
|
1148
1210
|
'snippet_too_large' => SnippetTooLarge,
|
1149
1211
|
'snooze_end_failed' => SnoozeEndFailed,
|
1150
1212
|
'snooze_failed' => SnoozeFailed,
|
@@ -1159,6 +1221,7 @@ module Slack
|
|
1159
1221
|
'team_added_to_org' => TeamAddedToOrg,
|
1160
1222
|
'team_id_or_org_required' => TeamIdOrOrgRequired,
|
1161
1223
|
'team_id_required_for_enterprise' => TeamIdRequiredForEnterprise,
|
1224
|
+
'team_not_connected' => TeamNotConnected,
|
1162
1225
|
'team_not_found' => TeamNotFound,
|
1163
1226
|
'team_not_on_enterprise' => TeamNotOnEnterprise,
|
1164
1227
|
'team_quota_exceeded' => TeamQuotaExceeded,
|
@@ -1178,8 +1241,6 @@ module Slack
|
|
1178
1241
|
'too_many_attachments' => TooManyAttachments,
|
1179
1242
|
'too_many_bookmarks' => TooManyBookmarks,
|
1180
1243
|
'too_many_contact_cards' => TooManyContactCards,
|
1181
|
-
'too_many_convos_for_app_on_team' => TooManyConvosForAppOnTeam,
|
1182
|
-
'too_many_convos_for_team' => TooManyConvosForTeam,
|
1183
1244
|
'too_many_domains_provided' => TooManyDomainsProvided,
|
1184
1245
|
'too_many_emails' => TooManyEmails,
|
1185
1246
|
'too_many_emoji' => TooManyEmoji,
|
@@ -1189,6 +1250,7 @@ module Slack
|
|
1189
1250
|
'too_many_ids_provided' => TooManyIdsProvided,
|
1190
1251
|
'too_many_linked_channels' => TooManyLinkedChannels,
|
1191
1252
|
'too_many_members' => TooManyMembers,
|
1253
|
+
'too_many_named_entities' => TooManyNamedEntities,
|
1192
1254
|
'too_many_pins' => TooManyPins,
|
1193
1255
|
'too_many_reactions' => TooManyReactions,
|
1194
1256
|
'too_many_target_teams' => TooManyTargetTeams,
|
@@ -1197,6 +1259,8 @@ module Slack
|
|
1197
1259
|
'too_many_users' => TooManyUsers,
|
1198
1260
|
'trigger_exchanged' => TriggerExchanged,
|
1199
1261
|
'trigger_expired' => TriggerExpired,
|
1262
|
+
'trigger_not_found' => TriggerNotFound,
|
1263
|
+
'trigger_type_id_not_found' => TriggerTypeIdNotFound,
|
1200
1264
|
'two_factor_setup_required' => TwoFactorSetupRequired,
|
1201
1265
|
'unable_to_delete' => UnableToDelete,
|
1202
1266
|
'unable_to_fetch_custom_emojis' => UnableToFetchCustomEmojis,
|
@@ -1225,6 +1289,7 @@ module Slack
|
|
1225
1289
|
'user_already_deleted' => UserAlreadyDeleted,
|
1226
1290
|
'user_already_team_member' => UserAlreadyTeamMember,
|
1227
1291
|
'user_cannot_create_channel' => UserCannotCreateChannel,
|
1292
|
+
'user_cannot_manage_workspace' => UserCannotManageWorkspace,
|
1228
1293
|
'user_disabled' => UserDisabled,
|
1229
1294
|
'user_does_not_own_channel' => UserDoesNotOwnChannel,
|
1230
1295
|
'user_is_already_deleted' => UserIsAlreadyDeleted,
|
@@ -1246,6 +1311,7 @@ module Slack
|
|
1246
1311
|
'users_not_found' => UsersNotFound,
|
1247
1312
|
'validation_errors' => ValidationErrors,
|
1248
1313
|
'view_too_large' => ViewTooLarge,
|
1314
|
+
'visibility_is_not_named_entities' => VisibilityIsNotNamedEntities,
|
1249
1315
|
'workflows_export_csv_not_enabled' => WorkflowsExportCsvNotEnabled,
|
1250
1316
|
}.freeze
|
1251
1317
|
end
|
@@ -38,6 +38,7 @@ module Slack
|
|
38
38
|
raise ArgumentError, 'Required arguments :<%= arg_name %> missing' if options[:<%= arg_name %>].nil?
|
39
39
|
<% end %>
|
40
40
|
<% data['arg_groups']&.each do |arg_group| %>
|
41
|
+
<% next if arg_group['args'].size <= 1 %>
|
41
42
|
<% arg_string = arg_group['args'].map { |arg_name| ":#{arg_name}" }.join(', ') %>
|
42
43
|
<% if arg_group['mutually_exclusive'] %>
|
43
44
|
raise ArgumentError, 'Exactly one of <%= arg_string %> is required' unless <%= arg_group['args'].map { |arg_name| "options[:#{arg_name}].nil?" }.join(' ^ ') %>
|
@@ -7,7 +7,7 @@ RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %>
|
|
7
7
|
let(:client) { Slack::Web::Client.new }
|
8
8
|
<% names.sort.each_with_index do |(name, data), index| %>
|
9
9
|
<% next if data['mixin'] %>
|
10
|
-
<% group_required_params = data['arg_groups']&.map { |grp| grp['args'].first } || [] %>
|
10
|
+
<% group_required_params = data['arg_groups']&.map { |grp| grp['args'].first if grp['args'].size > 1 } || [] %>
|
11
11
|
<% required_params = data['args'].select{ |k, v| v['required'] || group_required_params.include?(k) } %>
|
12
12
|
<% json_params = data['args'].map { |arg_name, arg_v| arg_name if arg_v['format'] == 'json' }.compact %>
|
13
13
|
<% next if (required_params.none? || custom_spec_exists) && json_params.none? && data['arg_groups'].nil? %>
|
@@ -23,6 +23,7 @@ RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %>
|
|
23
23
|
<% end %>
|
24
24
|
<% end %>
|
25
25
|
<% data['arg_groups']&.each do |arg_group| %>
|
26
|
+
<% next if arg_group['args'].size <= 1 %>
|
26
27
|
it 'requires one of <%= arg_group['args'].join(', ') %>' do
|
27
28
|
<% params_except_required = example_params.reject { |name, _| arg_group['args'].include?(name) }.map { |name, val| "#{name}: %q[#{val}]" }.join(', ') %>
|
28
29
|
<% error_message = arg_group['mutually_exclusive'] ? 'Exactly' : 'At least' %>
|
@@ -121,4 +121,36 @@ describe Slack::Messages::Formatting do
|
|
121
121
|
expect(formatting.url_link(text, url)).to eq "<#{url}|#{text}>"
|
122
122
|
end
|
123
123
|
end
|
124
|
+
|
125
|
+
context '#markdown' do
|
126
|
+
it 'formats markdown bold' do
|
127
|
+
expect(formatting.markdown('**Le bold**')).to eq '*Le bold*'
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'formats markdown italic' do
|
131
|
+
expect(formatting.markdown("*L'italic*")).to eq "_L'italic_"
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'formats markdown bold and italic' do
|
135
|
+
expect(formatting.markdown('***Le bold italic***')).to eq '*_Le bold italic_*'
|
136
|
+
end
|
137
|
+
|
138
|
+
it 'formats markdown strikethrough' do
|
139
|
+
expect(formatting.markdown('~~Le strikethrough~~')).to eq '~Le strikethrough~'
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'formats markdown links' do
|
143
|
+
expect(formatting.markdown('[Le link](https://theuselessweb.site)')).to eq '<https://theuselessweb.site|Le link>'
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'formats nested markdown' do
|
147
|
+
expect(formatting.markdown('**[Le **bold and ~~struckout with *italic*~~** link](https://theuselessweb.site)**')).to(
|
148
|
+
eq '*<https://theuselessweb.site|Le *bold and ~struckout with _italic_~* link>*'
|
149
|
+
)
|
150
|
+
end
|
151
|
+
|
152
|
+
it "doesn't format other markdown" do
|
153
|
+
expect(formatting.markdown('## A heading\n_Italics_\n`code`')).to eq '## A heading\n_Italics_\n`code`'
|
154
|
+
end
|
155
|
+
end
|
124
156
|
end
|