slack-ruby-client 2.7.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +3 -10
  3. data/.rubocop_todo.yml +45 -67
  4. data/CHANGELOG.md +7 -0
  5. data/Gemfile +0 -9
  6. data/LICENSE.md +1 -1
  7. data/README.md +16 -219
  8. data/Rakefile +0 -1
  9. data/UPGRADING.md +4 -0
  10. data/bin/commands/admin_analytics.rb +1 -1
  11. data/bin/commands/admin_apps.rb +4 -4
  12. data/bin/commands/admin_apps_activities.rb +7 -7
  13. data/bin/commands/admin_apps_approved.rb +4 -4
  14. data/bin/commands/admin_apps_config.rb +3 -1
  15. data/bin/commands/admin_apps_requests.rb +5 -5
  16. data/bin/commands/admin_apps_restricted.rb +4 -4
  17. data/bin/commands/admin_audit_anomaly_allow.rb +6 -6
  18. data/bin/commands/admin_auth_policy.rb +5 -5
  19. data/bin/commands/admin_barriers.rb +3 -3
  20. data/bin/commands/admin_conversations.rb +15 -15
  21. data/bin/commands/admin_conversations_ekm.rb +2 -2
  22. data/bin/commands/admin_conversations_restrictAccess.rb +5 -5
  23. data/bin/commands/admin_emoji.rb +5 -5
  24. data/bin/commands/admin_functions.rb +1 -1
  25. data/bin/commands/admin_inviteRequests.rb +3 -3
  26. data/bin/commands/admin_inviteRequests_approved.rb +1 -1
  27. data/bin/commands/admin_inviteRequests_denied.rb +1 -1
  28. data/bin/commands/admin_roles.rb +3 -3
  29. data/bin/commands/admin_teams.rb +3 -3
  30. data/bin/commands/admin_teams_admins.rb +2 -2
  31. data/bin/commands/admin_teams_owners.rb +2 -2
  32. data/bin/commands/admin_teams_settings.rb +5 -5
  33. data/bin/commands/admin_usergroups.rb +4 -4
  34. data/bin/commands/admin_users.rb +12 -11
  35. data/bin/commands/admin_users_session.rb +6 -5
  36. data/bin/commands/admin_users_unsupportedVersions.rb +1 -1
  37. data/bin/commands/admin_workflows.rb +6 -6
  38. data/bin/commands/admin_workflows_collaborators.rb +2 -2
  39. data/bin/commands/apps_activities.rb +7 -7
  40. data/bin/commands/apps_auth_external.rb +1 -1
  41. data/bin/commands/apps_datastore.rb +12 -12
  42. data/bin/commands/apps_event_authorizations.rb +3 -3
  43. data/bin/commands/apps_manifest.rb +1 -1
  44. data/bin/commands/assistant_search.rb +18 -2
  45. data/bin/commands/assistant_threads.rb +2 -2
  46. data/bin/commands/auth.rb +1 -1
  47. data/bin/commands/auth_teams.rb +1 -1
  48. data/bin/commands/bookmarks.rb +6 -6
  49. data/bin/commands/calls.rb +5 -5
  50. data/bin/commands/canvases.rb +2 -2
  51. data/bin/commands/canvases_access.rb +1 -1
  52. data/bin/commands/chat.rb +23 -24
  53. data/bin/commands/conversations.rb +8 -8
  54. data/bin/commands/conversations_canvases.rb +1 -1
  55. data/bin/commands/conversations_externalInvitePermissions.rb +1 -1
  56. data/bin/commands/conversations_requestSharedInvite.rb +4 -4
  57. data/bin/commands/dnd.rb +1 -1
  58. data/bin/commands/files.rb +5 -5
  59. data/bin/commands/files_remote.rb +1 -1
  60. data/bin/commands/functions.rb +1 -1
  61. data/bin/commands/functions_distributions_permissions.rb +15 -15
  62. data/bin/commands/functions_workflows_steps.rb +2 -2
  63. data/bin/commands/functions_workflows_steps_responses.rb +2 -2
  64. data/bin/commands/migration.rb +2 -2
  65. data/bin/commands/oauth_v2.rb +1 -1
  66. data/bin/commands/openid_connect.rb +1 -1
  67. data/bin/commands/reactions.rb +3 -3
  68. data/bin/commands/reminders.rb +2 -2
  69. data/bin/commands/rtm.rb +15 -0
  70. data/bin/commands/search.rb +4 -4
  71. data/bin/commands/slackLists.rb +37 -0
  72. data/bin/commands/slackLists_access.rb +34 -0
  73. data/bin/commands/slackLists_download.rb +31 -0
  74. data/bin/commands/slackLists_items.rb +76 -0
  75. data/bin/commands/team.rb +1 -1
  76. data/bin/commands/team_externalTeams.rb +4 -4
  77. data/bin/commands/usergroups.rb +10 -10
  78. data/bin/commands/usergroups_users.rb +5 -5
  79. data/bin/commands/users.rb +1 -1
  80. data/bin/commands/users_discoverableContacts.rb +1 -1
  81. data/bin/commands/views.rb +4 -4
  82. data/bin/commands/workflows_featured.rb +50 -0
  83. data/bin/commands/workflows_triggers_permissions.rb +7 -7
  84. data/lib/slack/version.rb +1 -1
  85. data/lib/slack/web/api/endpoints/admin_analytics.rb +2 -2
  86. data/lib/slack/web/api/endpoints/admin_apps.rb +8 -8
  87. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +14 -14
  88. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +5 -7
  89. data/lib/slack/web/api/endpoints/admin_apps_config.rb +6 -3
  90. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +7 -9
  91. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +5 -7
  92. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +5 -5
  93. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +14 -14
  94. data/lib/slack/web/api/endpoints/admin_barriers.rb +8 -8
  95. data/lib/slack/web/api/endpoints/admin_conversations.rb +27 -28
  96. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  97. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +11 -12
  98. data/lib/slack/web/api/endpoints/admin_emoji.rb +5 -5
  99. data/lib/slack/web/api/endpoints/admin_functions.rb +2 -2
  100. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +6 -6
  101. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +2 -2
  102. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  103. data/lib/slack/web/api/endpoints/admin_roles.rb +8 -8
  104. data/lib/slack/web/api/endpoints/admin_teams.rb +3 -3
  105. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +3 -4
  106. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -3
  107. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +12 -13
  108. data/lib/slack/web/api/endpoints/admin_usergroups.rb +11 -11
  109. data/lib/slack/web/api/endpoints/admin_users.rb +27 -25
  110. data/lib/slack/web/api/endpoints/admin_users_session.rb +12 -9
  111. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +2 -2
  112. data/lib/slack/web/api/endpoints/admin_workflows.rb +12 -12
  113. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +6 -6
  114. data/lib/slack/web/api/endpoints/apps_activities.rb +14 -14
  115. data/lib/slack/web/api/endpoints/apps_auth_external.rb +2 -2
  116. data/lib/slack/web/api/endpoints/apps_datastore.rb +8 -15
  117. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +0 -3
  118. data/lib/slack/web/api/endpoints/apps_manifest.rb +5 -5
  119. data/lib/slack/web/api/endpoints/assistant_search.rb +28 -3
  120. data/lib/slack/web/api/endpoints/assistant_threads.rb +6 -6
  121. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  122. data/lib/slack/web/api/endpoints/auth_teams.rb +2 -2
  123. data/lib/slack/web/api/endpoints/bookmarks.rb +14 -14
  124. data/lib/slack/web/api/endpoints/calls.rb +10 -10
  125. data/lib/slack/web/api/endpoints/canvases.rb +4 -4
  126. data/lib/slack/web/api/endpoints/canvases_access.rb +3 -3
  127. data/lib/slack/web/api/endpoints/chat.rb +53 -55
  128. data/lib/slack/web/api/endpoints/conversations.rb +16 -16
  129. data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
  130. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +3 -3
  131. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +8 -8
  132. data/lib/slack/web/api/endpoints/dnd.rb +2 -2
  133. data/lib/slack/web/api/endpoints/files.rb +11 -11
  134. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  135. data/lib/slack/web/api/endpoints/functions.rb +3 -3
  136. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +24 -24
  137. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +4 -4
  138. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +4 -4
  139. data/lib/slack/web/api/endpoints/migration.rb +1 -1
  140. data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
  141. data/lib/slack/web/api/endpoints/openid_connect.rb +2 -2
  142. data/lib/slack/web/api/endpoints/reactions.rb +6 -6
  143. data/lib/slack/web/api/endpoints/reminders.rb +4 -4
  144. data/lib/slack/web/api/endpoints/rtm.rb +23 -0
  145. data/lib/slack/web/api/endpoints/search.rb +8 -8
  146. data/lib/slack/web/api/endpoints/slackLists.rb +52 -0
  147. data/lib/slack/web/api/endpoints/slackLists_access.rb +47 -0
  148. data/lib/slack/web/api/endpoints/slackLists_download.rb +40 -0
  149. data/lib/slack/web/api/endpoints/slackLists_items.rb +116 -0
  150. data/lib/slack/web/api/endpoints/team.rb +3 -3
  151. data/lib/slack/web/api/endpoints/team_externalTeams.rb +8 -8
  152. data/lib/slack/web/api/endpoints/usergroups.rb +18 -18
  153. data/lib/slack/web/api/endpoints/usergroups_users.rb +8 -8
  154. data/lib/slack/web/api/endpoints/users.rb +2 -2
  155. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +0 -1
  156. data/lib/slack/web/api/endpoints/views.rb +9 -9
  157. data/lib/slack/web/api/endpoints/workflows_featured.rb +69 -0
  158. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +15 -15
  159. data/lib/slack/web/api/endpoints.rb +10 -2
  160. data/lib/slack/web/api/errors.rb +88 -46
  161. data/lib/slack/web/faraday/response/raise_error.rb +20 -2
  162. data/lib/slack-ruby-client.rb +0 -12
  163. data/lib/tasks/update.rake +0 -1
  164. data/lib/tasks/web.rake +0 -4
  165. metadata +12 -35
  166. data/.github/workflows/integration_test.yml +0 -45
  167. data/bin/commands/workflows.rb +0 -44
  168. data/examples/hi_real_time_and_web/Gemfile +0 -6
  169. data/examples/hi_real_time_and_web/hi.gif +0 -0
  170. data/examples/hi_real_time_and_web/hi.rb +0 -28
  171. data/examples/hi_real_time_async_async/Gemfile +0 -7
  172. data/examples/hi_real_time_async_async/Procfile +0 -2
  173. data/examples/hi_real_time_async_async/hi.rb +0 -41
  174. data/lib/slack/real_time/api/message.rb +0 -23
  175. data/lib/slack/real_time/api/message_id.rb +0 -15
  176. data/lib/slack/real_time/api/ping.rb +0 -19
  177. data/lib/slack/real_time/api/schema/event.json +0 -23
  178. data/lib/slack/real_time/api/templates/event_handler.erb +0 -8
  179. data/lib/slack/real_time/api/typing.rb +0 -20
  180. data/lib/slack/real_time/client.rb +0 -271
  181. data/lib/slack/real_time/concurrency/async.rb +0 -142
  182. data/lib/slack/real_time/concurrency.rb +0 -8
  183. data/lib/slack/real_time/config.rb +0 -62
  184. data/lib/slack/real_time/models/base.rb +0 -11
  185. data/lib/slack/real_time/models/bot.rb +0 -9
  186. data/lib/slack/real_time/models/channel.rb +0 -13
  187. data/lib/slack/real_time/models/im.rb +0 -9
  188. data/lib/slack/real_time/models/mpim.rb +0 -9
  189. data/lib/slack/real_time/models/team.rb +0 -9
  190. data/lib/slack/real_time/models/user.rb +0 -9
  191. data/lib/slack/real_time/models.rb +0 -9
  192. data/lib/slack/real_time/socket.rb +0 -118
  193. data/lib/slack/real_time/stores/base.rb +0 -47
  194. data/lib/slack/real_time/stores/starter.rb +0 -449
  195. data/lib/slack/real_time/stores/store.rb +0 -624
  196. data/lib/slack/real_time/stores.rb +0 -5
  197. data/lib/slack/web/api/endpoints/workflows.rb +0 -63
  198. data/lib/tasks/real_time.rake +0 -81
@@ -1,624 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Slack
4
- module RealTime
5
- module Stores
6
- # Full store with initialization logic
7
- class Store < Base
8
- CONVERSATION_TYPES = {
9
- public_channels: 'public_channel',
10
- private_channels: 'private_channel',
11
- ims: 'im',
12
- mpims: 'mpim'
13
- }.freeze
14
-
15
- attr_reader :caches
16
-
17
- def initialize(attrs, options = {})
18
- @teams = {}
19
- @users = {}
20
- @bots = {}
21
- @public_channels = {}
22
- @private_channels = {}
23
- @ims = {}
24
- @mpims = {}
25
-
26
- if attrs.team
27
- @team_id = attrs.team.id
28
- @teams[@team_id] = Models::Team.new(attrs.team)
29
- end
30
-
31
- if attrs.self
32
- @self_id = attrs.self.id
33
- @users[@self_id] = Models::User.new(attrs.self)
34
- end
35
-
36
- @caches =
37
- if options[:caches].is_a?(Array) || options[:caches].nil?
38
- caches = options[:caches].to_a.map(&:to_sym)
39
- unknown_caches = caches - CACHES
40
- raise ArgumentError, "Unknown caches: #{unknown_caches.join(', ')}" unless unknown_caches.empty?
41
-
42
- Set.new(caches).freeze
43
- elsif options[:caches] == :all
44
- Set.new(CACHES).freeze
45
- else
46
- raise ArgumentError, 'Unexpected value for option `caches`. Expects :all or an array of caches'
47
- end
48
- end
49
-
50
- def self
51
- users[@self_id]
52
- end
53
-
54
- def team
55
- teams[@team_id]
56
- end
57
-
58
- ### RealTime Events
59
-
60
- # The list of accounts a user is signed into has changed.
61
- # @see https://api.slack.com/events/accounts_changed
62
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/accounts_changed.json
63
- # on :accounts_changed do |data|
64
-
65
- # A bot user was added.
66
- # @see https://api.slack.com/events/bot_added
67
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_added.json
68
- on :bot_added do |data|
69
- bot = Models::Bot.new(data.bot)
70
- bots[bot.id] = bot
71
- end
72
-
73
- # A bot user was changed.
74
- # @see https://api.slack.com/events/bot_changed
75
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
76
- on :bot_changed do |data|
77
- bot = bots[data.bot.id]
78
- bot&.merge!(data.bot)
79
- end
80
-
81
- # A channel was archived.
82
- # @see https://api.slack.com/events/channel_archive
83
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_archive.json
84
- on :channel_archive do |data|
85
- channel = public_channels[data.channel]
86
- channel.is_archived = true if channel
87
- end
88
-
89
- # A channel was created.
90
- # @see https://api.slack.com/events/channel_created
91
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_created.json
92
- on :channel_created do |data|
93
- channel = Models::Channel.new(data.channel)
94
- public_channels[channel.id] = channel
95
- end
96
-
97
- # A channel was deleted.
98
- # @see https://api.slack.com/events/channel_deleted
99
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_deleted.json
100
- on :channel_deleted do |data|
101
- public_channels.delete(data.channel)
102
- end
103
-
104
- # Bulk updates were made to a channel's history.
105
- # @see https://api.slack.com/events/channel_history_changed
106
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_history_changed.json
107
- # on :channel_history_changed do |data|
108
-
109
- # You joined a channel.
110
- # @see https://api.slack.com/events/channel_joined
111
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_joined.json
112
- on :channel_joined do |data|
113
- channel_id = data.channel.id
114
- if data.channel.is_private?
115
- channel = private_channels[channel_id]
116
- if channel
117
- channel.merge!(data.channel)
118
- else
119
- private_channels[channel_id] = Models::Channel.new(data.channel)
120
- end
121
- else
122
- channel = public_channels[channel_id]
123
- if channel
124
- channel.merge!(data.channel)
125
- else
126
- public_channels[channel_id] = Models::Channel.new(data.channel)
127
- end
128
- end
129
- end
130
-
131
- # You left a channel.
132
- # @see https://api.slack.com/events/channel_left
133
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_left.json
134
- on :channel_left do |data|
135
- channel = public_channels[data.channel]
136
- channel&.members&.delete(self.self.id)
137
- end
138
-
139
- # Your channel read marker was updated.
140
- # @see https://api.slack.com/events/channel_marked
141
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_marked.json
142
- # on :channel_marked do |data|
143
-
144
- # A channel was renamed.
145
- # @see https://api.slack.com/events/channel_rename
146
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_rename.json
147
- on :channel_rename do |data|
148
- channel = public_channels[data.channel.id]
149
- channel&.merge!(data.channel)
150
- end
151
-
152
- # A channel was unarchived.
153
- # @see https://api.slack.com/events/channel_unarchive
154
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_unarchive.json
155
- on :channel_unarchive do |data|
156
- channel = public_channels[data.channel]
157
- channel.is_archived = false if channel
158
- end
159
-
160
- # A slash command has been added or changed.
161
- # @see https://api.slack.com/events/commands_changed
162
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/commands_changed.json
163
- # on :commands_changed do |data|
164
-
165
- # Do not Disturb settings changed for the current user.
166
- # @see https://api.slack.com/events/dnd_updated
167
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated.json
168
- on :dnd_updated do |data|
169
- self.dnd_status = data.dnd_status
170
- end
171
-
172
- # Do not Disturb settings changed for a member.
173
- # @see https://api.slack.com/events/dnd_updated_user
174
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated_user.json
175
- on :dnd_updated_user do |data|
176
- user = users[data.user]
177
- user.dnd_status = data.dnd_status if user
178
- end
179
-
180
- # The workspace email domain has changed.
181
- # @see https://api.slack.com/events/email_domain_changed
182
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/email_domain_changed.json
183
- on :email_domain_changed do |data|
184
- team.email_domain = data.email_domain
185
- end
186
-
187
- # A custom emoji has been added or changed.
188
- # @see https://api.slack.com/events/emoji_changed
189
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/emoji_changed.json
190
- # on :emoji_changed do |data|
191
-
192
- # An enterprise grid migration has finished on an external workspace..
193
- # @see https://api.slack.com/events/external_org_migration_finished
194
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
195
- # on :external_org_migration_finished do |data|
196
-
197
- # An enterprise grid migration has started on an external workspace..
198
- # @see https://api.slack.com/events/external_org_migration_started
199
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
200
- # on :external_org_migration_started do |data|
201
-
202
- # A file was changed.
203
- # @see https://api.slack.com/events/file_change
204
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_change.json
205
- # on :file_change do |data|
206
-
207
- # A file comment was added.
208
- # @see https://api.slack.com/events/file_comment_added
209
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_added.json
210
- # on :file_comment_added do |data|
211
-
212
- # A file comment was deleted.
213
- # @see https://api.slack.com/events/file_comment_deleted
214
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_deleted.json
215
- # on :file_comment_deleted do |data|
216
-
217
- # A file comment was edited.
218
- # @see https://api.slack.com/events/file_comment_edited
219
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_edited.json
220
- # on :file_comment_edited do |data|
221
-
222
- # A file was created.
223
- # @see https://api.slack.com/events/file_created
224
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_created.json
225
- # on :file_created do |data|
226
-
227
- # A file was deleted.
228
- # @see https://api.slack.com/events/file_deleted
229
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_deleted.json
230
- # on :file_deleted do |data|
231
-
232
- # A file was made public.
233
- # @see https://api.slack.com/events/file_public
234
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_public.json
235
- # on :file_public do |data|
236
-
237
- # A file was shared.
238
- # @see https://api.slack.com/events/file_shared
239
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_shared.json
240
- # on :file_shared do |data|
241
-
242
- # A file was unshared.
243
- # @see https://api.slack.com/events/file_unshared
244
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_unshared.json
245
- # on :file_unshared do |data|
246
-
247
- # The server intends to close the connection soon..
248
- # @see https://api.slack.com/events/goodbye
249
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/goodbye.json
250
- # on :goodbye do |data|
251
-
252
- # A private channel was archived.
253
- # @see https://api.slack.com/events/group_archive
254
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_archive.json
255
- on :group_archive do |data|
256
- channel = private_channels[data.channel]
257
- channel.is_archived = true if channel
258
- end
259
-
260
- # You closed a private channel.
261
- # @see https://api.slack.com/events/group_close
262
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_close.json
263
- on :group_close do |data|
264
- channel = private_channels[data.channel]
265
- channel.is_open = false if channel
266
- end
267
-
268
- # A private channel was deleted.
269
- # @see https://api.slack.com/events/group_deleted
270
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
271
- on :group_deleted do |data|
272
- private_channels.delete(data.channel)
273
- end
274
-
275
- # Bulk updates were made to a private channel's history.
276
- # @see https://api.slack.com/events/group_history_changed
277
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_history_changed.json
278
- # on :group_history_changed do |data|
279
-
280
- # You joined a private channel.
281
- # @see https://api.slack.com/events/group_joined
282
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_joined.json
283
- on :group_joined do |data|
284
- channel = Models::Channel.new(data.channel)
285
- private_channels[channel.id] = channel
286
- end
287
-
288
- # You left a private channel.
289
- # @see https://api.slack.com/events/group_left
290
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_left.json
291
- on :group_left do |data|
292
- # Deleting because we can't access a private channel when we're not a member
293
- private_channels.delete(data.channel)
294
- end
295
-
296
- # A private channel read marker was updated.
297
- # @see https://api.slack.com/events/group_marked
298
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_marked.json
299
- # on :group_marked do |data|
300
-
301
- # You created a group DM.
302
- # @see https://api.slack.com/events/group_open
303
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_open.json
304
- on :group_open do |data|
305
- channel = private_channels[data.channel]
306
- channel.is_open = true if channel
307
- end
308
-
309
- # A private channel was renamed.
310
- # @see https://api.slack.com/events/group_rename
311
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_rename.json
312
- on :group_rename do |data|
313
- channel = private_channels[data.channel.id]
314
- channel&.merge!(data.channel)
315
- end
316
-
317
- # A private channel was unarchived.
318
- # @see https://api.slack.com/events/group_unarchive
319
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_unarchive.json
320
- on :group_unarchive do |data|
321
- channel = private_channels[data.channel]
322
- channel.is_archived = false if channel
323
- end
324
-
325
- # The client has successfully connected to the server.
326
- # @see https://api.slack.com/events/hello
327
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/hello.json
328
- on :hello do |_data, client|
329
- # rubocop:disable Metrics/BlockNesting
330
- if caches.include?(:teams)
331
- team_info = client.web_client.team_info
332
- team = Models::Team.new(team_info.team)
333
- teams[team.id] = teams.key?(team.id) ? teams[team.id].merge(team) : team
334
- end
335
-
336
- if caches.include?(:users) || caches.include?(:bots)
337
- client.web_client.users_list do |users_list|
338
- users_list.members.each do |user_data|
339
- if caches.include?(:users)
340
- user = Models::User.new(user_data)
341
- users[user.id] = users.key?(user.id) ? users[user.id].merge(user) : user
342
- end
343
-
344
- next unless user_data.is_bot? && caches.include?(:bots)
345
-
346
- bot_info = client.web_client.bots_info(bot: user_data.profile.bot_id)
347
- bot = Models::Bot.new(bot_info.bot)
348
- bots[bot.id] = bots.key?(bot.id) ? bots[bot.id].merge(bot) : bot
349
- end
350
- end
351
- end
352
-
353
- if caches.include?(:public_channels) || caches.include?(:private_channels) ||
354
- caches.include?(:ims) || caches.include?(:mpims)
355
- types = CONVERSATION_TYPES.slice(*caches).values.join(',')
356
- client.web_client.conversations_list(types: types) do |conversations|
357
- conversations.channels.each do |channel_data|
358
- if channel_data.is_mpim?
359
- mpim = Models::Mpim.new(channel_data)
360
- mpims[mpim.id] = mpims.key?(mpim.id) ? mpims[mpim.id].merge(mpim) : mpim
361
- elsif channel_data.is_im?
362
- im = Models::Im.new(channel_data)
363
- ims[im.id] = ims.key?(im.id) ? ims[im.id].merge(im) : im
364
- elsif channel_data.is_channel? || channel_data.is_group?
365
- channel = Models::Channel.new(channel_data)
366
- if channel.is_private?
367
- private_channels[channel.id] =
368
- private_channels.key?(channel.id) ? private_channels[channel.id].merge(channel) : channel
369
- else
370
- public_channels[channel.id] =
371
- public_channels.key?(channel.id) ? public_channels[channel.id].merge(channel) : channel
372
- end
373
- end
374
- end
375
- end
376
- end
377
- # rubocop:enable Metrics/BlockNesting
378
- end
379
-
380
- # You closed a DM.
381
- # @see https://api.slack.com/events/im_close
382
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
383
- on :im_close do |data|
384
- return unless ims&.key?(data.channel)
385
-
386
- ims[data.channel].is_open = false
387
- end
388
-
389
- # A DM was created.
390
- # @see https://api.slack.com/events/im_created
391
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_created.json
392
- on :im_created do |data|
393
- im = Models::Im.new(data.channel)
394
- ims[im.id] = im
395
- end
396
-
397
- # Bulk updates were made to a DM's history.
398
- # @see https://api.slack.com/events/im_history_changed
399
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
400
- # on :im_history_changed do |data|
401
-
402
- # A direct message read marker was updated.
403
- # @see https://api.slack.com/events/im_marked
404
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
405
- # on :im_marked do |data|
406
-
407
- # You opened a DM.
408
- # @see https://api.slack.com/events/im_open
409
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
410
- on :im_open do |data|
411
- return unless ims&.key?(data.channel)
412
-
413
- ims[data.channel].is_open = true
414
- end
415
-
416
- # You manually updated your presence.
417
- # @see https://api.slack.com/events/manual_presence_change
418
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/manual_presence_change.json
419
- on :manual_presence_change do |data|
420
- self.self.presence = data.presence
421
- end
422
-
423
- # A user joined a public channel, private channel or MPDM..
424
- # @see https://api.slack.com/events/member_joined_channel
425
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_joined_channel.json
426
- on :member_joined_channel do |data|
427
- channel = public_channels[data.channel] || private_channels[data.channel]
428
- if channel
429
- channel.members ||= Set.new
430
- channel.members << data.user
431
- end
432
- end
433
-
434
- # A user left a public or private channel.
435
- # @see https://api.slack.com/events/member_left_channel
436
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_left_channel.json
437
- on :member_left_channel do |data|
438
- channel = public_channels[data.channel] || private_channels[data.channel]
439
- channel&.members&.delete(data.user)
440
- end
441
-
442
- # A pin was added to a channel.
443
- # @see https://api.slack.com/events/pin_added
444
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_added.json
445
- # on :pin_added do |data|
446
-
447
- # A pin was removed from a channel.
448
- # @see https://api.slack.com/events/pin_removed
449
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_removed.json
450
- # on :pin_removed do |data|
451
-
452
- # You have updated your preferences.
453
- # @see https://api.slack.com/events/pref_change
454
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pref_change.json
455
- on :pref_change do |data|
456
- self.self.prefs ||= {}
457
- self.self.prefs[data.name] = data.value
458
- end
459
-
460
- # A member's presence changed.
461
- # @see https://api.slack.com/events/presence_change
462
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_change.json
463
- on :presence_change do |data|
464
- user = users[data.user]
465
- user.presence = data.presence if user
466
- end
467
-
468
- # Determine the current presence status for a list of users.
469
- # @see https://api.slack.com/events/presence_query
470
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_query.json
471
- # on :presence_query do |data|
472
-
473
- # Subscribe to presence events for the specified users.
474
- # @see https://api.slack.com/events/presence_sub
475
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_sub.json
476
- # on :presence_sub do |data|
477
-
478
- # A member has added an emoji reaction to an item.
479
- # @see https://api.slack.com/events/reaction_added
480
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_added.json
481
- # on :reaction_added do |data|
482
-
483
- # A member removed an emoji reaction.
484
- # @see https://api.slack.com/events/reaction_removed
485
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_removed.json
486
- # on :reaction_removed do |data|
487
-
488
- # Experimental.
489
- # @see https://api.slack.com/events/reconnect_url
490
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reconnect_url.json
491
- # on :reconnect_url do |data|
492
-
493
- # A shared channel invite was sent to a Slack user.
494
- # @see https://api.slack.com/events/shared_channel_invite_received
495
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/shared_channel_invite_received.json
496
- # on :shared_channel_invite_received do |data|
497
-
498
- # A member has saved an item for later or starred an item.
499
- # @see https://api.slack.com/events/star_added
500
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_added.json
501
- # on :star_added do |data|
502
-
503
- # A member has removed an item saved for later or starred an item.
504
- # @see https://api.slack.com/events/star_removed
505
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_removed.json
506
- # on :star_removed do |data|
507
-
508
- # A User Group has been added to the workspace.
509
- # @see https://api.slack.com/events/subteam_created
510
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_created.json
511
- # on :subteam_created do |data|
512
-
513
- # The membership of an existing User Group has changed.
514
- # @see https://api.slack.com/events/subteam_members_changed
515
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_members_changed.json
516
- # on :subteam_members_changed do |data|
517
-
518
- # You have been added to a User Group.
519
- # @see https://api.slack.com/events/subteam_self_added
520
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_added.json
521
- # on :subteam_self_added do |data|
522
-
523
- # You have been removed from a User Group.
524
- # @see https://api.slack.com/events/subteam_self_removed
525
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_removed.json
526
- # on :subteam_self_removed do |data|
527
-
528
- # An existing User Group has been updated or its members changed.
529
- # @see https://api.slack.com/events/subteam_updated
530
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_updated.json
531
- # on :subteam_updated do |data|
532
-
533
- # The workspace domain has changed.
534
- # @see https://api.slack.com/events/team_domain_change
535
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_domain_change.json
536
- on :team_domain_change do |data|
537
- team.url = data.url
538
- team.domain = data.domain
539
- end
540
-
541
- # A new member has joined.
542
- # @see https://api.slack.com/events/team_join
543
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_join.json
544
- on :team_join do |data|
545
- user = Models::User.new(data.user)
546
- users[user.id] = user
547
- end
548
-
549
- # The workspace is being migrated between servers.
550
- # @see https://api.slack.com/events/team_migration_started
551
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_migration_started.json
552
- # on :team_migration_started do |data|
553
-
554
- # The account billing plan has changed.
555
- # @see https://api.slack.com/events/team_plan_change
556
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_plan_change.json
557
- on :team_plan_change do |data|
558
- team.plan = data.plan
559
- end
560
-
561
- # A preference has been updated.
562
- # @see https://api.slack.com/events/team_pref_change
563
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_pref_change.json
564
- on :team_pref_change do |data|
565
- team.prefs ||= {}
566
- team.prefs[data.name] = data.value
567
- end
568
-
569
- # The workspace profile fields have been updated.
570
- # @see https://api.slack.com/events/team_profile_change
571
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_change.json
572
- # on :team_profile_change do |data|
573
-
574
- # The workspace profile fields have been deleted.
575
- # @see https://api.slack.com/events/team_profile_delete
576
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_delete.json
577
- # on :team_profile_delete do |data|
578
-
579
- # The workspace profile fields have been reordered.
580
- # @see https://api.slack.com/events/team_profile_reorder
581
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_reorder.json
582
- # on :team_profile_reorder do |data|
583
-
584
- # The workspace name has changed.
585
- # @see https://api.slack.com/events/team_rename
586
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_rename.json
587
- on :team_rename do |data|
588
- team.name = data.name
589
- end
590
-
591
- # A member's data has changed.
592
- # @see https://api.slack.com/events/user_change
593
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_change.json
594
- on :user_change do |data|
595
- user = Models::User.new(data.user)
596
- users[user.id] = user
597
- end
598
-
599
- # A user's huddle status has changed.
600
- # @see https://api.slack.com/events/user_huddle_changed
601
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_huddle_changed.json
602
- # on :user_huddle_changed do |data|
603
- # (handled by :user_change)
604
-
605
- # A user's profile data has changed.
606
- # @see https://api.slack.com/events/user_profile_changed
607
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_profile_changed.json
608
- # on :user_profile_changed do |data|
609
- # (handled by :user_change)
610
-
611
- # A user's status has changed.
612
- # @see https://api.slack.com/events/user_status_changed
613
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_status_changed.json
614
- # on :user_status_changed do |data|
615
- # (handled by :user_change)
616
-
617
- # A channel member is typing a message.
618
- # @see https://api.slack.com/events/user_typing
619
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_typing.json
620
- # on :user_typing do |data|
621
- end
622
- end
623
- end
624
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'stores/base'
4
- require_relative 'stores/starter'
5
- require_relative 'stores/store'