stream-chat-ruby 2.11.3 → 2.15.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c930a4ce8f695581d1dbf0eb027fc94433a2bdf126cf626ef243dd7c78b572c
4
- data.tar.gz: dcbe225ab70ddb6088bb7a8478e003ddcb6fb2d4a53fd9e113137257bc6464ce
3
+ metadata.gz: '0188b515566df9e25d6e029ed012f7a2336dbedb4c21813290e665d3f2c5c614'
4
+ data.tar.gz: efb67ea25cd0bd37a96da63767903143b1615ad4d9836d665c51aa378bf67437
5
5
  SHA512:
6
- metadata.gz: 70346465f94bf6d84ffb0d98d5852f27bfd5a17dcb349238f19e7398fcb3061bbb10c3e3eedd62ff65b1c2a1158cb267903ec4fda9a4cfae5d3aa77ce31d3eff
7
- data.tar.gz: 61aa20fe924e7a16f454593c223b4abcbf78d4bcbe1e7443876ca7194d64f9167e826f47a856276cf1fbef68be86868ed3d3ad6003692054c9d5e811cc770c59
6
+ metadata.gz: 16b6f96446839731c186b90aa14d267dfb0256ced2c836fef04f83376dffc894f1fcb799644383999e6bf5221c79cf527068a1e0cd117460054b64684679af05
7
+ data.tar.gz: 6fdd966d7323e50ec7ab699a380402536e5b9930864341b17d4c077fe4eae5e070527aa7a42bd0414cb97e37118fbbe5f06200c05be6452074d8f4b27da7e6ec
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## November 25th, 2021 - 2.15.0
2
+
3
+ - Add configuration support for channel truncate
4
+ - truncated_at: to truncate channel up to given time
5
+ - message: a system message to be added via truncation
6
+ - skip_push: don't send a push notification for system message
7
+ - hard_delete: true if truncation should delete messages instead of hiding
8
+
9
+ ## November 24th, 2021 - 2.14.0
10
+
11
+ - Add new flags for export channels
12
+ - clear_deleted_message_text (default: false)
13
+ - include_truncated_messages (default: false)
14
+
15
+ ## November 17th, 2021 - 2.13.0
16
+
17
+ - Add support for shadow banning user
18
+ - shadow_ban
19
+ - remove_shadow_ban
20
+ - Add support for pinning messages
21
+ - pin_message
22
+ - unpin_message
23
+ - Add support for partial updating messages
24
+ - update_message_partial
25
+ - Add support for updating channel ownership for Deleted Users
26
+
27
+ ## November 1st, 2021 - 2.12.0
28
+
29
+ - Add support for async endpoints
30
+ - get_task
31
+ - delete_channels
32
+ - delete_users
33
+
1
34
  ## October 22nd, 2021 - 2.11.3
2
35
 
3
36
  - Don't log the entire response when creating exception
@@ -95,8 +95,8 @@ module StreamChat
95
95
  @client.delete(url)
96
96
  end
97
97
 
98
- def truncate
99
- @client.post("#{url}/truncate")
98
+ def truncate(**options)
99
+ @client.post("#{url}/truncate", data: options)
100
100
  end
101
101
 
102
102
  def add_members(user_ids)
@@ -12,6 +12,8 @@ require 'stream-chat/util'
12
12
 
13
13
  module StreamChat
14
14
  DEFAULT_BLOCKLIST = 'profanity_en_2020_v1'
15
+ SOFT_DELETE = 'soft'
16
+ HARD_DELETE = 'hard'
15
17
 
16
18
  class Client
17
19
  BASE_URL = 'https://chat.stream-io-api.com'
@@ -158,6 +160,16 @@ module StreamChat
158
160
  delete('moderation/ban', params: params)
159
161
  end
160
162
 
163
+ def shadow_ban(target_id, **options)
164
+ payload = { target_user_id: target_id, shadow: true }.merge(options)
165
+ post('moderation/ban', data: payload)
166
+ end
167
+
168
+ def remove_shadow_ban(target_id, **options)
169
+ params = { target_user_id: target_id, shadow: true }.merge(options)
170
+ delete('moderation/ban', params: params)
171
+ end
172
+
161
173
  def mute_user(target_id, user_id)
162
174
  payload = { target_id: target_id, user_id: user_id }
163
175
  post('moderation/mute', data: payload)
@@ -173,12 +185,37 @@ module StreamChat
173
185
  post('channels/read', data: payload)
174
186
  end
175
187
 
188
+ def pin_message(message_id, user_id, expiration: nil)
189
+ updates = {
190
+ set: {
191
+ pinned: true,
192
+ pin_expires: expiration
193
+ }
194
+ }
195
+ update_message_partial(message_id, updates, user_id: user_id)
196
+ end
197
+
198
+ def unpin_message(message_id, user_id)
199
+ updates = {
200
+ set: {
201
+ pinned: false
202
+ }
203
+ }
204
+ update_message_partial(message_id, updates, user_id: user_id)
205
+ end
206
+
176
207
  def update_message(message)
177
208
  raise ArgumentError 'message must have an id' unless message.key? 'id'
178
209
 
179
210
  post("messages/#{message['id']}", data: { message: message })
180
211
  end
181
212
 
213
+ def update_message_partial(message_id, updates, user_id: nil, **options)
214
+ params = updates.merge(options)
215
+ params['user'] = { id: user_id } if user_id
216
+ put("messages/#{message_id}", data: params)
217
+ end
218
+
182
219
  def delete_message(message_id)
183
220
  delete("messages/#{message_id}")
184
221
  end
@@ -285,14 +322,26 @@ module StreamChat
285
322
  delete("blocklists/#{name}")
286
323
  end
287
324
 
288
- def export_channels(*channels)
289
- post('export_channels', data: { channels: channels })
325
+ def export_channels(*channels, **options)
326
+ post('export_channels', data: { channels: channels, **options })
290
327
  end
291
328
 
292
329
  def get_export_channel_status(task_id)
293
330
  get("export_channels/#{task_id}")
294
331
  end
295
332
 
333
+ def get_task(task_id)
334
+ get("tasks/#{task_id}")
335
+ end
336
+
337
+ def delete_users(user_ids, user: SOFT_DELETE, messages: nil, conversations: nil)
338
+ post('users/delete', data: { user_ids: user_ids, user: user, messages: messages, conversations: conversations })
339
+ end
340
+
341
+ def delete_channels(cids, hard_delete: false)
342
+ post('channels/delete', data: { cids: cids, hard_delete: hard_delete })
343
+ end
344
+
296
345
  def revoke_tokens(before)
297
346
  before = before.rfc3339 if before.instance_of?(DateTime)
298
347
  update_app_settings({ 'revoke_tokens_issued_before' => before })
@@ -3,5 +3,5 @@
3
3
  # lib/version.rb
4
4
 
5
5
  module StreamChat
6
- VERSION = '2.11.3'
6
+ VERSION = '2.15.0'
7
7
  end
data/stream-chat.gemspec CHANGED
@@ -23,4 +23,5 @@ Gem::Specification.new do |gem|
23
23
  gem.add_development_dependency 'rake'
24
24
  gem.add_development_dependency 'rspec'
25
25
  gem.add_development_dependency 'simplecov'
26
+ gem.metadata['rubygems_mfa_required'] = 'true'
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stream-chat-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.3
4
+ version: 2.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mircea Cosbuc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-22 00:00:00.000000000 Z
11
+ date: 2021-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -105,7 +105,8 @@ files:
105
105
  - stream-chat.gemspec
106
106
  homepage: http://github.com/GetStream/stream-chat-ruby
107
107
  licenses: []
108
- metadata: {}
108
+ metadata:
109
+ rubygems_mfa_required: 'true'
109
110
  post_install_message:
110
111
  rdoc_options: []
111
112
  require_paths:
@@ -121,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
122
  - !ruby/object:Gem::Version
122
123
  version: '0'
123
124
  requirements: []
124
- rubygems_version: 3.0.3
125
+ rubygems_version: 3.1.2
125
126
  signing_key:
126
127
  specification_version: 4
127
128
  summary: The low level client for serverside calls for Stream Chat.