getstream-ruby 3.0.0 → 4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c05ee76a2609090c89015e8f749f787897a27d1b5889475d5c771faefff06d8
4
- data.tar.gz: e9cf059b2263481ae707c56b05c866840743738fe58b9813b0a837643a49af85
3
+ metadata.gz: 2651ed36793bd25d2c0a13dd2dd60ec37a9fc5f80860db80d306cd1dc43e09bf
4
+ data.tar.gz: 6c76bfbdda3aa546ad03cdd7fa43cc8d5896e5aa292fc7af5634bfaee69a061e
5
5
  SHA512:
6
- metadata.gz: 8ffbff05d21cbf0d80bb97eed23117d9894ac2b4cf184fadf8497378e49c4ef8c23d28c484c15ac452e113a19d3e5d8e9fe877507938233c7722f2d655e9d10d
7
- data.tar.gz: f31b1cbb4e74629eacf03d8586c356ea7d2ef1f9d1cf59723909c1d50e7133772d409984246a07bd1f48bb63af5c4464107c3535440ba70170cc2ffb295fa674
6
+ metadata.gz: cbd216278cd04bfc6628a0e2d01e8b806c075643462b6f02ece2992d3e902be7ada6019636c70dade1f21e957bf27a7230db11320f5a8a36b516e693de4bb058
7
+ data.tar.gz: c21bf308e135705146a82e570f400bfb8863b8f38eb2f232c58361326fbf8a3544870dc30687f58c4ede53e47202e315a559d0326f318bd68aefcbe9a772a43b
data/README.md CHANGED
@@ -22,6 +22,10 @@ Or install it yourself as:
22
22
  $ gem install getstream-ruby
23
23
  ```
24
24
 
25
+ ## Migrating from stream-chat-ruby?
26
+
27
+ If you are currently using [`stream-chat-ruby`](https://github.com/GetStream/stream-chat-ruby), we have a detailed migration guide with side-by-side code examples for common Chat use cases. See the [Migration Guide](docs/migration-from-stream-chat-ruby/README.md).
28
+
25
29
  ## Configuration
26
30
 
27
31
  ### Method 1: Manual (Highest Priority)
@@ -49,6 +49,15 @@ module GetStream
49
49
  end
50
50
  end
51
51
 
52
+ # Apply field name mappings (e.g. _object_id -> object_id) if defined
53
+ if self.class.respond_to?(:json_field_mappings)
54
+ mappings = self.class.json_field_mappings
55
+ hash = hash.each_with_object({}) do |(key, value), mapped|
56
+ json_key = mappings[key] || key.to_s
57
+ mapped[json_key] = value
58
+ end
59
+ end
60
+
52
61
  hash.to_json(*args)
53
62
  end
54
63
 
@@ -501,7 +501,7 @@ module GetStream
501
501
  )
502
502
  end
503
503
 
504
- # Read collections with optional filtering by user ID and collection name. By default, users can only read their own collections.
504
+ # Read collections by their references. By default, users can only read their own collections.
505
505
  #
506
506
  # @param user_id [String]
507
507
  # @param collection_refs [Array<String>]
@@ -572,6 +572,23 @@ module GetStream
572
572
  )
573
573
  end
574
574
 
575
+ # Query collections with filter query
576
+ #
577
+ # @param query_collections_request [QueryCollectionsRequest]
578
+ # @return [Models::QueryCollectionsResponse]
579
+ def query_collections(query_collections_request)
580
+ path = '/api/v2/feeds/collections/query'
581
+ # Build request body
582
+ body = query_collections_request
583
+
584
+ # Make the API request
585
+ @client.make_request(
586
+ :post,
587
+ path,
588
+ body: body
589
+ )
590
+ end
591
+
575
592
  # Retrieve a threaded list of comments for a specific object (e.g., activity), with configurable depth, sorting, and pagination
576
593
  #
577
594
  # @param object_id [String]
@@ -9,6 +9,9 @@ module GetStream
9
9
  class AddCommentRequest < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute _object_id
13
+ # @return [String] ID of the object to comment on. Required for root comments
14
+ attr_accessor :_object_id
12
15
  # @!attribute comment
13
16
  # @return [String] Text content of the comment
14
17
  attr_accessor :comment
@@ -21,9 +24,6 @@ module GetStream
21
24
  # @!attribute id
22
25
  # @return [String] Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated.
23
26
  attr_accessor :id
24
- # @!attribute object_id
25
- # @return [String] ID of the object to comment on. Required for root comments
26
- attr_accessor :object_id
27
27
  # @!attribute object_type
28
28
  # @return [String] Type of the object to comment on. Required for root comments
29
29
  attr_accessor :object_type
@@ -55,11 +55,11 @@ module GetStream
55
55
  # Initialize with attributes
56
56
  def initialize(attributes = {})
57
57
  super(attributes)
58
+ @_object_id = attributes[:_object_id] || attributes['object_id'] || nil
58
59
  @comment = attributes[:comment] || attributes['comment'] || nil
59
60
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
60
61
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
61
62
  @id = attributes[:id] || attributes['id'] || nil
62
- @object_id = attributes[:object_id] || attributes['object_id'] || nil
63
63
  @object_type = attributes[:object_type] || attributes['object_type'] || nil
64
64
  @parent_id = attributes[:parent_id] || attributes['parent_id'] || nil
65
65
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
@@ -74,11 +74,11 @@ module GetStream
74
74
  # Override field mappings for JSON serialization
75
75
  def self.json_field_mappings
76
76
  {
77
+ _object_id: 'object_id',
77
78
  comment: 'comment',
78
79
  copy_custom_to_notification: 'copy_custom_to_notification',
79
80
  create_notification_activity: 'create_notification_activity',
80
81
  id: 'id',
81
- object_id: 'object_id',
82
82
  object_type: 'object_type',
83
83
  parent_id: 'parent_id',
84
84
  skip_enrich_url: 'skip_enrich_url',
@@ -43,7 +43,7 @@ module GetStream
43
43
  @started_at = attributes[:started_at] || attributes['started_at']
44
44
  @task_id = attributes[:task_id] || attributes['task_id']
45
45
  @custom = attributes[:custom] || attributes['custom']
46
- @type = attributes[:type] || attributes['type'] || "export.moderation_logs.error"
46
+ @type = attributes[:type] || attributes['type'] || "export.channels.error"
47
47
  @received_at = attributes[:received_at] || attributes['received_at'] || nil
48
48
  end
49
49
 
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute channel_ban_only
13
13
  # @return [Boolean] Ban only from specific channel
14
14
  attr_accessor :channel_ban_only
15
+ # @!attribute channel_cid
16
+ # @return [String]
17
+ attr_accessor :channel_cid
15
18
  # @!attribute delete_messages
16
19
  # @return [String] Message deletion mode: soft, pruning, or hard
17
20
  attr_accessor :delete_messages
@@ -35,6 +38,7 @@ module GetStream
35
38
  def initialize(attributes = {})
36
39
  super(attributes)
37
40
  @channel_ban_only = attributes[:channel_ban_only] || attributes['channel_ban_only'] || nil
41
+ @channel_cid = attributes[:channel_cid] || attributes['channel_cid'] || nil
38
42
  @delete_messages = attributes[:delete_messages] || attributes['delete_messages'] || nil
39
43
  @ip_ban = attributes[:ip_ban] || attributes['ip_ban'] || nil
40
44
  @reason = attributes[:reason] || attributes['reason'] || nil
@@ -47,6 +51,7 @@ module GetStream
47
51
  def self.json_field_mappings
48
52
  {
49
53
  channel_ban_only: 'channel_ban_only',
54
+ channel_cid: 'channel_cid',
50
55
  delete_messages: 'delete_messages',
51
56
  ip_ban: 'ip_ban',
52
57
  reason: 'reason',
@@ -9,6 +9,9 @@ module GetStream
9
9
  class CommentResponse < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute _object_id
13
+ # @return [String] ID of the object this comment is associated with
14
+ attr_accessor :_object_id
12
15
  # @!attribute confidence_score
13
16
  # @return [Float] Confidence score of the comment
14
17
  attr_accessor :confidence_score
@@ -21,9 +24,6 @@ module GetStream
21
24
  # @!attribute id
22
25
  # @return [String] Unique identifier for the comment
23
26
  attr_accessor :id
24
- # @!attribute object_id
25
- # @return [String] ID of the object this comment is associated with
26
- attr_accessor :object_id
27
27
  # @!attribute object_type
28
28
  # @return [String] Type of the object this comment is associated with
29
29
  attr_accessor :object_type
@@ -88,11 +88,11 @@ module GetStream
88
88
  # Initialize with attributes
89
89
  def initialize(attributes = {})
90
90
  super(attributes)
91
+ @_object_id = attributes[:_object_id] || attributes['object_id']
91
92
  @confidence_score = attributes[:confidence_score] || attributes['confidence_score']
92
93
  @created_at = attributes[:created_at] || attributes['created_at']
93
94
  @downvote_count = attributes[:downvote_count] || attributes['downvote_count']
94
95
  @id = attributes[:id] || attributes['id']
95
- @object_id = attributes[:object_id] || attributes['object_id']
96
96
  @object_type = attributes[:object_type] || attributes['object_type']
97
97
  @reaction_count = attributes[:reaction_count] || attributes['reaction_count']
98
98
  @reply_count = attributes[:reply_count] || attributes['reply_count']
@@ -118,11 +118,11 @@ module GetStream
118
118
  # Override field mappings for JSON serialization
119
119
  def self.json_field_mappings
120
120
  {
121
+ _object_id: 'object_id',
121
122
  confidence_score: 'confidence_score',
122
123
  created_at: 'created_at',
123
124
  downvote_count: 'downvote_count',
124
125
  id: 'id',
125
- object_id: 'object_id',
126
126
  object_type: 'object_type',
127
127
  reaction_count: 'reaction_count',
128
128
  reply_count: 'reply_count',
@@ -60,6 +60,9 @@ module GetStream
60
60
  # @!attribute attachments
61
61
  # @return [Array<Attachment>] Array of message attachments
62
62
  attr_accessor :attachments
63
+ # @!attribute mentioned_group_ids
64
+ # @return [Array<String>] List of user group IDs to mention. Group members who are also channel members will receive push notifications. Max 10 groups
65
+ attr_accessor :mentioned_group_ids
63
66
  # @!attribute mentioned_roles
64
67
  # @return [Array<String>]
65
68
  attr_accessor :mentioned_roles
@@ -99,6 +102,7 @@ module GetStream
99
102
  @type = attributes[:type] || attributes['type'] || nil
100
103
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
101
104
  @attachments = attributes[:attachments] || attributes['attachments'] || nil
105
+ @mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
102
106
  @mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
103
107
  @mentioned_users = attributes[:mentioned_users] || attributes['mentioned_users'] || nil
104
108
  @restricted_visibility = attributes[:restricted_visibility] || attributes['restricted_visibility'] || nil
@@ -127,6 +131,7 @@ module GetStream
127
131
  type: 'type',
128
132
  user_id: 'user_id',
129
133
  attachments: 'attachments',
134
+ mentioned_group_ids: 'mentioned_group_ids',
130
135
  mentioned_roles: 'mentioned_roles',
131
136
  mentioned_users: 'mentioned_users',
132
137
  restricted_visibility: 'restricted_visibility',
@@ -111,6 +111,9 @@ module GetStream
111
111
  # @!attribute show_in_channel
112
112
  # @return [Boolean] Whether thread reply should be shown in the channel as well
113
113
  attr_accessor :show_in_channel
114
+ # @!attribute mentioned_group_ids
115
+ # @return [Array<String>] List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups
116
+ attr_accessor :mentioned_group_ids
114
117
  # @!attribute mentioned_roles
115
118
  # @return [Array<String>] List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles
116
119
  attr_accessor :mentioned_roles
@@ -188,6 +191,7 @@ module GetStream
188
191
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
189
192
  @quoted_message_id = attributes[:quoted_message_id] || attributes['quoted_message_id'] || nil
190
193
  @show_in_channel = attributes[:show_in_channel] || attributes['show_in_channel'] || nil
194
+ @mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
191
195
  @mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
192
196
  @thread_participants = attributes[:thread_participants] || attributes['thread_participants'] || nil
193
197
  @draft = attributes[:draft] || attributes['draft'] || nil
@@ -240,6 +244,7 @@ module GetStream
240
244
  poll_id: 'poll_id',
241
245
  quoted_message_id: 'quoted_message_id',
242
246
  show_in_channel: 'show_in_channel',
247
+ mentioned_group_ids: 'mentioned_group_ids',
243
248
  mentioned_roles: 'mentioned_roles',
244
249
  thread_participants: 'thread_participants',
245
250
  draft: 'draft',
@@ -114,6 +114,9 @@ module GetStream
114
114
  # @!attribute show_in_channel
115
115
  # @return [Boolean] Whether thread reply should be shown in the channel as well
116
116
  attr_accessor :show_in_channel
117
+ # @!attribute mentioned_group_ids
118
+ # @return [Array<String>] List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups
119
+ attr_accessor :mentioned_group_ids
117
120
  # @!attribute mentioned_roles
118
121
  # @return [Array<String>] List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles
119
122
  attr_accessor :mentioned_roles
@@ -192,6 +195,7 @@ module GetStream
192
195
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
193
196
  @quoted_message_id = attributes[:quoted_message_id] || attributes['quoted_message_id'] || nil
194
197
  @show_in_channel = attributes[:show_in_channel] || attributes['show_in_channel'] || nil
198
+ @mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
195
199
  @mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
196
200
  @thread_participants = attributes[:thread_participants] || attributes['thread_participants'] || nil
197
201
  @draft = attributes[:draft] || attributes['draft'] || nil
@@ -245,6 +249,7 @@ module GetStream
245
249
  poll_id: 'poll_id',
246
250
  quoted_message_id: 'quoted_message_id',
247
251
  show_in_channel: 'show_in_channel',
252
+ mentioned_group_ids: 'mentioned_group_ids',
248
253
  mentioned_roles: 'mentioned_roles',
249
254
  thread_participants: 'thread_participants',
250
255
  draft: 'draft',
@@ -27,6 +27,9 @@ module GetStream
27
27
  # @!attribute allowed_moderation_action_reasons
28
28
  # @return [Array<String>]
29
29
  attr_accessor :allowed_moderation_action_reasons
30
+ # @!attribute keyframe_classifications_map
31
+ # @return [Hash<String, Hash<String, Boolean>>]
32
+ attr_accessor :keyframe_classifications_map
30
33
  # @!attribute overview_dashboard
31
34
  # @return [OverviewDashboardConfig]
32
35
  attr_accessor :overview_dashboard
@@ -40,6 +43,7 @@ module GetStream
40
43
  @flag_user_on_flagged_content = attributes[:flag_user_on_flagged_content] || attributes['flag_user_on_flagged_content'] || nil
41
44
  @media_queue_blur_enabled = attributes[:media_queue_blur_enabled] || attributes['media_queue_blur_enabled'] || nil
42
45
  @allowed_moderation_action_reasons = attributes[:allowed_moderation_action_reasons] || attributes['allowed_moderation_action_reasons'] || nil
46
+ @keyframe_classifications_map = attributes[:keyframe_classifications_map] || attributes['keyframe_classifications_map'] || nil
43
47
  @overview_dashboard = attributes[:overview_dashboard] || attributes['overview_dashboard'] || nil
44
48
  end
45
49
 
@@ -52,6 +56,7 @@ module GetStream
52
56
  flag_user_on_flagged_content: 'flag_user_on_flagged_content',
53
57
  media_queue_blur_enabled: 'media_queue_blur_enabled',
54
58
  allowed_moderation_action_reasons: 'allowed_moderation_action_reasons',
59
+ keyframe_classifications_map: 'keyframe_classifications_map',
55
60
  overview_dashboard: 'overview_dashboard'
56
61
  }
57
62
  end
@@ -9,15 +9,15 @@ module GetStream
9
9
  class ModerationFlaggedEvent < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute _object_id
13
+ # @return [String] The ID of the flagged content
14
+ attr_accessor :_object_id
12
15
  # @!attribute content_type
13
16
  # @return [String] The type of content that was flagged
14
17
  attr_accessor :content_type
15
18
  # @!attribute created_at
16
19
  # @return [DateTime]
17
20
  attr_accessor :created_at
18
- # @!attribute object_id
19
- # @return [String] The ID of the flagged content
20
- attr_accessor :object_id
21
21
  # @!attribute custom
22
22
  # @return [Object]
23
23
  attr_accessor :custom
@@ -31,9 +31,9 @@ module GetStream
31
31
  # Initialize with attributes
32
32
  def initialize(attributes = {})
33
33
  super(attributes)
34
+ @_object_id = attributes[:_object_id] || attributes['object_id']
34
35
  @content_type = attributes[:content_type] || attributes['content_type']
35
36
  @created_at = attributes[:created_at] || attributes['created_at']
36
- @object_id = attributes[:object_id] || attributes['object_id']
37
37
  @custom = attributes[:custom] || attributes['custom']
38
38
  @type = attributes[:type] || attributes['type'] || "moderation.flagged"
39
39
  @received_at = attributes[:received_at] || attributes['received_at'] || nil
@@ -42,9 +42,9 @@ module GetStream
42
42
  # Override field mappings for JSON serialization
43
43
  def self.json_field_mappings
44
44
  {
45
+ _object_id: 'object_id',
45
46
  content_type: 'content_type',
46
47
  created_at: 'created_at',
47
- object_id: 'object_id',
48
48
  custom: 'custom',
49
49
  type: 'type',
50
50
  received_at: 'received_at'
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class QueryCollectionsRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute limit
13
+ # @return [Integer]
14
+ attr_accessor :limit
15
+ # @!attribute next
16
+ # @return [String]
17
+ attr_accessor :next
18
+ # @!attribute prev
19
+ # @return [String]
20
+ attr_accessor :prev
21
+ # @!attribute user_id
22
+ # @return [String]
23
+ attr_accessor :user_id
24
+ # @!attribute sort
25
+ # @return [Array<SortParamRequest>] Sorting parameters for the query
26
+ attr_accessor :sort
27
+ # @!attribute filter
28
+ # @return [Object] Filters to apply to the query
29
+ attr_accessor :filter
30
+ # @!attribute user
31
+ # @return [UserRequest]
32
+ attr_accessor :user
33
+
34
+ # Initialize with attributes
35
+ def initialize(attributes = {})
36
+ super(attributes)
37
+ @limit = attributes[:limit] || attributes['limit'] || nil
38
+ @next = attributes[:next] || attributes['next'] || nil
39
+ @prev = attributes[:prev] || attributes['prev'] || nil
40
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
41
+ @sort = attributes[:sort] || attributes['sort'] || nil
42
+ @filter = attributes[:filter] || attributes['filter'] || nil
43
+ @user = attributes[:user] || attributes['user'] || nil
44
+ end
45
+
46
+ # Override field mappings for JSON serialization
47
+ def self.json_field_mappings
48
+ {
49
+ limit: 'limit',
50
+ next: 'next',
51
+ prev: 'prev',
52
+ user_id: 'user_id',
53
+ sort: 'sort',
54
+ filter: 'filter',
55
+ user: 'user'
56
+ }
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class QueryCollectionsResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute collections
16
+ # @return [Array<CollectionResponse>] List of collections matching the query
17
+ attr_accessor :collections
18
+ # @!attribute next
19
+ # @return [String] Cursor for next page
20
+ attr_accessor :next
21
+ # @!attribute prev
22
+ # @return [String] Cursor for previous page
23
+ attr_accessor :prev
24
+
25
+ # Initialize with attributes
26
+ def initialize(attributes = {})
27
+ super(attributes)
28
+ @duration = attributes[:duration] || attributes['duration']
29
+ @collections = attributes[:collections] || attributes['collections']
30
+ @next = attributes[:next] || attributes['next'] || nil
31
+ @prev = attributes[:prev] || attributes['prev'] || nil
32
+ end
33
+
34
+ # Override field mappings for JSON serialization
35
+ def self.json_field_mappings
36
+ {
37
+ duration: 'duration',
38
+ collections: 'collections',
39
+ next: 'next',
40
+ prev: 'prev'
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -13,31 +13,21 @@ module GetStream
13
13
  # @return [String]
14
14
  attr_accessor :duration
15
15
  # @!attribute collections
16
- # @return [Array<CollectionResponse>] List of collections matching the query
16
+ # @return [Array<CollectionResponse>] List of collections matching the references
17
17
  attr_accessor :collections
18
- # @!attribute next
19
- # @return [String] Cursor for next page (when listing without collection_refs)
20
- attr_accessor :next
21
- # @!attribute prev
22
- # @return [String] Cursor for previous page (when listing without collection_refs)
23
- attr_accessor :prev
24
18
 
25
19
  # Initialize with attributes
26
20
  def initialize(attributes = {})
27
21
  super(attributes)
28
22
  @duration = attributes[:duration] || attributes['duration']
29
23
  @collections = attributes[:collections] || attributes['collections']
30
- @next = attributes[:next] || attributes['next'] || nil
31
- @prev = attributes[:prev] || attributes['prev'] || nil
32
24
  end
33
25
 
34
26
  # Override field mappings for JSON serialization
35
27
  def self.json_field_mappings
36
28
  {
37
29
  duration: 'duration',
38
- collections: 'collections',
39
- next: 'next',
40
- prev: 'prev'
30
+ collections: 'collections'
41
31
  }
42
32
  end
43
33
  end
@@ -111,6 +111,9 @@ module GetStream
111
111
  # @!attribute show_in_channel
112
112
  # @return [Boolean]
113
113
  attr_accessor :show_in_channel
114
+ # @!attribute mentioned_group_ids
115
+ # @return [Array<String>]
116
+ attr_accessor :mentioned_group_ids
114
117
  # @!attribute mentioned_roles
115
118
  # @return [Array<String>]
116
119
  attr_accessor :mentioned_roles
@@ -191,6 +194,7 @@ module GetStream
191
194
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
192
195
  @quoted_message_id = attributes[:quoted_message_id] || attributes['quoted_message_id'] || nil
193
196
  @show_in_channel = attributes[:show_in_channel] || attributes['show_in_channel'] || nil
197
+ @mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
194
198
  @mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
195
199
  @thread_participants = attributes[:thread_participants] || attributes['thread_participants'] || nil
196
200
  @channel = attributes[:channel] || attributes['channel'] || nil
@@ -244,6 +248,7 @@ module GetStream
244
248
  poll_id: 'poll_id',
245
249
  quoted_message_id: 'quoted_message_id',
246
250
  show_in_channel: 'show_in_channel',
251
+ mentioned_group_ids: 'mentioned_group_ids',
247
252
  mentioned_roles: 'mentioned_roles',
248
253
  thread_participants: 'thread_participants',
249
254
  channel: 'channel',
@@ -9,6 +9,9 @@ module GetStream
9
9
  class ThreadedCommentResponse < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute _object_id
13
+ # @return [String]
14
+ attr_accessor :_object_id
12
15
  # @!attribute confidence_score
13
16
  # @return [Float]
14
17
  attr_accessor :confidence_score
@@ -21,9 +24,6 @@ module GetStream
21
24
  # @!attribute id
22
25
  # @return [String]
23
26
  attr_accessor :id
24
- # @!attribute object_id
25
- # @return [String]
26
- attr_accessor :object_id
27
27
  # @!attribute object_type
28
28
  # @return [String]
29
29
  attr_accessor :object_type
@@ -94,11 +94,11 @@ module GetStream
94
94
  # Initialize with attributes
95
95
  def initialize(attributes = {})
96
96
  super(attributes)
97
+ @_object_id = attributes[:_object_id] || attributes['object_id']
97
98
  @confidence_score = attributes[:confidence_score] || attributes['confidence_score']
98
99
  @created_at = attributes[:created_at] || attributes['created_at']
99
100
  @downvote_count = attributes[:downvote_count] || attributes['downvote_count']
100
101
  @id = attributes[:id] || attributes['id']
101
- @object_id = attributes[:object_id] || attributes['object_id']
102
102
  @object_type = attributes[:object_type] || attributes['object_type']
103
103
  @reaction_count = attributes[:reaction_count] || attributes['reaction_count']
104
104
  @reply_count = attributes[:reply_count] || attributes['reply_count']
@@ -126,11 +126,11 @@ module GetStream
126
126
  # Override field mappings for JSON serialization
127
127
  def self.json_field_mappings
128
128
  {
129
+ _object_id: 'object_id',
129
130
  confidence_score: 'confidence_score',
130
131
  created_at: 'created_at',
131
132
  downvote_count: 'downvote_count',
132
133
  id: 'id',
133
- object_id: 'object_id',
134
134
  object_type: 'object_type',
135
135
  reaction_count: 'reaction_count',
136
136
  reply_count: 'reply_count',
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GetStreamRuby
4
4
 
5
- VERSION = '3.0.0'
5
+ VERSION = '4.0.0'
6
6
 
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getstream-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GetStream
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-05 00:00:00.000000000 Z
11
+ date: 2026-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -968,6 +968,8 @@ files:
968
968
  - lib/getstream_ruby/generated/models/query_campaigns_response.rb
969
969
  - lib/getstream_ruby/generated/models/query_channels_request.rb
970
970
  - lib/getstream_ruby/generated/models/query_channels_response.rb
971
+ - lib/getstream_ruby/generated/models/query_collections_request.rb
972
+ - lib/getstream_ruby/generated/models/query_collections_response.rb
971
973
  - lib/getstream_ruby/generated/models/query_comment_reactions_request.rb
972
974
  - lib/getstream_ruby/generated/models/query_comment_reactions_response.rb
973
975
  - lib/getstream_ruby/generated/models/query_comments_request.rb