stream-chat-ruby 2.12.0 → 2.16.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/ci.yml +3 -3
- data/CHANGELOG.md +31 -1
- data/lib/stream-chat/channel.rb +6 -2
- data/lib/stream-chat/client.rb +69 -2
- data/lib/stream-chat/version.rb +1 -1
- data/stream-chat.gemspec +1 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 145d6248ef8e3ba19eabf0a6faaeeb75b944cfc4a0c21fb056fbf53a2b938990
|
4
|
+
data.tar.gz: 0000d699ce54ced068043adbb1f9f54c1f136be0ebf87d08df162202ee7e2ae8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83857f5388fdf6b40c80c972a0d5c721d230d593edf243a282b76d181643cd0ab3e6337b00dda5c78846958542d4fc18e9f635450f85b66dc4442dc703e96c06
|
7
|
+
data.tar.gz: 6686e2291b956bcfcdcdd95c233c225ee5d46be8fe06e529a49ffc5b11b3546553690f3bd647f1b9784312d0c1ff9615cbc98316f414b076c02a4853ec09e256
|
data/.github/workflows/ci.yml
CHANGED
@@ -17,9 +17,9 @@ jobs:
|
|
17
17
|
ruby-version: ${{ matrix.ruby }}
|
18
18
|
bundler-cache: true
|
19
19
|
|
20
|
+
- run: bundle exec rake rubocop
|
20
21
|
- env:
|
21
22
|
STREAM_CHAT_API_KEY: ${{ secrets.STREAM_CHAT_API_KEY }}
|
22
23
|
STREAM_CHAT_API_SECRET: ${{ secrets.STREAM_CHAT_API_SECRET }}
|
23
|
-
|
24
|
-
|
25
|
-
bundle exec rake test
|
24
|
+
STREAM_CHAT_API_HOST: ${{ secrets.STREAM_CHAT_API_HOST }}
|
25
|
+
run: bundle exec rake test
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,39 @@
|
|
1
|
+
## December 1st, 2021 - 2.16.0
|
2
|
+
|
3
|
+
- Add permissions v2 APIs
|
4
|
+
|
5
|
+
## November 25th, 2021 - 2.15.0
|
6
|
+
|
7
|
+
- Add configuration support for channel truncate
|
8
|
+
- truncated_at: to truncate channel up to given time
|
9
|
+
- message: a system message to be added via truncation
|
10
|
+
- skip_push: don't send a push notification for system message
|
11
|
+
- hard_delete: true if truncation should delete messages instead of hiding
|
12
|
+
|
13
|
+
## November 24th, 2021 - 2.14.0
|
14
|
+
|
15
|
+
- Add new flags for export channels
|
16
|
+
- clear_deleted_message_text (default: false)
|
17
|
+
- include_truncated_messages (default: false)
|
18
|
+
|
19
|
+
## November 17th, 2021 - 2.13.0
|
20
|
+
|
21
|
+
- Add support for shadow banning user
|
22
|
+
- shadow_ban
|
23
|
+
- remove_shadow_ban
|
24
|
+
- Add support for pinning messages
|
25
|
+
- pin_message
|
26
|
+
- unpin_message
|
27
|
+
- Add support for partial updating messages
|
28
|
+
- update_message_partial
|
29
|
+
- Add support for updating channel ownership for Deleted Users
|
30
|
+
|
1
31
|
## November 1st, 2021 - 2.12.0
|
2
32
|
|
3
33
|
- Add support for async endpoints
|
4
34
|
- get_task
|
5
35
|
- delete_channels
|
6
|
-
|
36
|
+
- delete_users
|
7
37
|
|
8
38
|
## October 22nd, 2021 - 2.11.3
|
9
39
|
|
data/lib/stream-chat/channel.rb
CHANGED
@@ -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)
|
@@ -115,6 +115,10 @@ module StreamChat
|
|
115
115
|
@client.post(url, data: { remove_members: user_ids })
|
116
116
|
end
|
117
117
|
|
118
|
+
def assign_roles(members, message = nil)
|
119
|
+
@client.post(url, data: { assign_roles: members, message: message })
|
120
|
+
end
|
121
|
+
|
118
122
|
def demote_moderators(user_ids)
|
119
123
|
@client.post(url, data: { demote_moderators: user_ids })
|
120
124
|
end
|
data/lib/stream-chat/client.rb
CHANGED
@@ -160,6 +160,16 @@ module StreamChat
|
|
160
160
|
delete('moderation/ban', params: params)
|
161
161
|
end
|
162
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
|
+
|
163
173
|
def mute_user(target_id, user_id)
|
164
174
|
payload = { target_id: target_id, user_id: user_id }
|
165
175
|
post('moderation/mute', data: payload)
|
@@ -175,12 +185,37 @@ module StreamChat
|
|
175
185
|
post('channels/read', data: payload)
|
176
186
|
end
|
177
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
|
+
|
178
207
|
def update_message(message)
|
179
208
|
raise ArgumentError 'message must have an id' unless message.key? 'id'
|
180
209
|
|
181
210
|
post("messages/#{message['id']}", data: { message: message })
|
182
211
|
end
|
183
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
|
+
|
184
219
|
def delete_message(message_id)
|
185
220
|
delete("messages/#{message_id}")
|
186
221
|
end
|
@@ -287,8 +322,8 @@ module StreamChat
|
|
287
322
|
delete("blocklists/#{name}")
|
288
323
|
end
|
289
324
|
|
290
|
-
def export_channels(*channels)
|
291
|
-
post('export_channels', data: { channels: channels })
|
325
|
+
def export_channels(*channels, **options)
|
326
|
+
post('export_channels', data: { channels: channels, **options })
|
292
327
|
end
|
293
328
|
|
294
329
|
def get_export_channel_status(task_id)
|
@@ -394,6 +429,38 @@ module StreamChat
|
|
394
429
|
get('commands')
|
395
430
|
end
|
396
431
|
|
432
|
+
def list_permissions
|
433
|
+
get('permissions')
|
434
|
+
end
|
435
|
+
|
436
|
+
def get_permission(id)
|
437
|
+
get("permissions/#{id}")
|
438
|
+
end
|
439
|
+
|
440
|
+
def create_permission(permission)
|
441
|
+
post('permissions', data: permission)
|
442
|
+
end
|
443
|
+
|
444
|
+
def update_permission(id, permission)
|
445
|
+
put("permissions/#{id}", data: permission)
|
446
|
+
end
|
447
|
+
|
448
|
+
def delete_permission(id)
|
449
|
+
delete("permissions/#{id}")
|
450
|
+
end
|
451
|
+
|
452
|
+
def create_role(name)
|
453
|
+
post('roles', data: { name: name })
|
454
|
+
end
|
455
|
+
|
456
|
+
def delete_role(name)
|
457
|
+
delete("roles/#{name}")
|
458
|
+
end
|
459
|
+
|
460
|
+
def list_roles
|
461
|
+
get('roles')
|
462
|
+
end
|
463
|
+
|
397
464
|
private
|
398
465
|
|
399
466
|
def get_default_params
|
data/lib/stream-chat/version.rb
CHANGED
data/stream-chat.gemspec
CHANGED
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.
|
4
|
+
version: 2.16.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-
|
11
|
+
date: 2021-12-01 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.
|
125
|
+
rubygems_version: 3.0.3
|
125
126
|
signing_key:
|
126
127
|
specification_version: 4
|
127
128
|
summary: The low level client for serverside calls for Stream Chat.
|