stream-chat-ruby 3.6.0 → 3.7.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: 0c55fc395f5169324a1b1d53db03f76c6722a1ca7814a30727ea2d75bf83695c
4
- data.tar.gz: 9eecd44ef605e60b4d614517e0d8ab3fe5b8e28d5526bb73c5b6db83d951f97d
3
+ metadata.gz: a9d9b7da9ed7b34e26558596b67c8163034c2fb7d15b5f484bd1183aa38a8977
4
+ data.tar.gz: 3b7a1bd942807c920c10208b64018422dac7893a6fb8432fd390892d594d52a9
5
5
  SHA512:
6
- metadata.gz: dcc91071484ff66878abee7eb51a22595960a66477b0652ee873fd9e0f416a563981b35ad73a2836df4df554f45e2193247dff766c53b9cb4c3940a026a05238
7
- data.tar.gz: ea9ea94c91b9feff61e144ce0e5afb94bfed3e7502aa39a786ceaf9767869c42970c18831168511ea998a042ba64946cc603d81e8a75fa733e5ccbcb93c39411
6
+ metadata.gz: 51087799d97d03e6d4f9530c3e39c9956b279d51d32ecc47fb0dcf242d12ef5c2bf1cccfb25b523d774ba31ff063284c3c013e30be8b8b0c75183648e457c728
7
+ data.tar.gz: 2fc7f5f3e3c3df330bd24980b5672767982bd2e66166ff245741042cbe1cdc02de2f17eeb55b82e7f60f09f854a5c62b636d28a69789aace2000061faa0234c9
data/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [3.7.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.6.0...v3.7.0) (2024-12-09)
6
+
5
7
  ## [3.6.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.5.1...v3.6.0) (2024-05-22)
6
8
 
7
9
 
@@ -16,6 +16,9 @@ module StreamChat
16
16
  sig { returns(String) }
17
17
  attr_reader :channel_type
18
18
 
19
+ sig { returns(String) }
20
+ attr_reader :cid
21
+
19
22
  sig { returns(StringKeyHash) }
20
23
  attr_reader :custom_data
21
24
 
@@ -166,6 +169,68 @@ module StreamChat
166
169
  @client.post('moderation/unmute/channel', data: { 'user_id' => user_id, 'channel_cid' => @cid })
167
170
  end
168
171
 
172
+ # Pins a channel for a user.
173
+ sig { params(user_id: String).returns(StreamChat::StreamResponse) }
174
+ def pin(user_id)
175
+ raise StreamChannelException, 'user ID must not be empty' if user_id.empty?
176
+
177
+ payload = {
178
+ set: {
179
+ pinned: true
180
+ }
181
+ }
182
+ @client.patch("#{url}/member/#{CGI.escape(user_id)}", data: payload)
183
+ end
184
+
185
+ # Unins a channel for a user.
186
+ sig { params(user_id: String).returns(StreamChat::StreamResponse) }
187
+ def unpin(user_id)
188
+ raise StreamChannelException, 'user ID must not be empty' if user_id.empty?
189
+
190
+ payload = {
191
+ set: {
192
+ pinned: false
193
+ }
194
+ }
195
+ @client.patch("#{url}/member/#{CGI.escape(user_id)}", data: payload)
196
+ end
197
+
198
+ # Archives a channel for a user.
199
+ sig { params(user_id: String).returns(StreamChat::StreamResponse) }
200
+ def archive(user_id)
201
+ raise StreamChannelException, 'user ID must not be empty' if user_id.empty?
202
+
203
+ payload = {
204
+ set: {
205
+ archived: true
206
+ }
207
+ }
208
+ @client.patch("#{url}/member/#{CGI.escape(user_id)}", data: payload)
209
+ end
210
+
211
+ # Archives a channel for a user.
212
+ sig { params(user_id: String).returns(StreamChat::StreamResponse) }
213
+ def unarchive(user_id)
214
+ raise StreamChannelException, 'user ID must not be empty' if user_id.empty?
215
+
216
+ payload = {
217
+ set: {
218
+ archived: false
219
+ }
220
+ }
221
+ @client.patch("#{url}/member/#{CGI.escape(user_id)}", data: payload)
222
+ end
223
+
224
+ # Updates a member partially in the channel.
225
+ sig { params(user_id: String, set: T.nilable(StringKeyHash), unset: T.nilable(T::Array[String])).returns(StreamChat::StreamResponse) }
226
+ def update_member_partial(user_id, set: nil, unset: nil)
227
+ raise StreamChannelException, 'user ID must not be empty' if user_id.empty?
228
+ raise StreamChannelException, 'set or unset is required' if set.nil? && unset.nil?
229
+
230
+ payload = { set: set, unset: unset }
231
+ @client.patch("#{url}/member/#{CGI.escape(user_id)}", data: payload)
232
+ end
233
+
169
234
  # Adds members to the channel.
170
235
  sig { params(user_ids: T::Array[String], options: T.untyped).returns(StreamChat::StreamResponse) }
171
236
  def add_members(user_ids, **options)
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module StreamChat
5
- VERSION = '3.6.0'
5
+ VERSION = '3.7.0'
6
6
  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: 3.6.0
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - getstream.io
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-22 00:00:00.000000000 Z
11
+ date: 2024-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday