getstream-ruby 1.1.1 → 2.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: a54e5958413819747abae58c5ee45c3df97987b614b07196219b48836f2b1f3f
4
- data.tar.gz: c1c1e014ab19ca4273f90b40658f2888402eb58de91a123dc7afd1f4bc5d8d6b
3
+ metadata.gz: e4f60a683f78da5f12df84138a70bcf3baca7fbef94ff834025aeeca010a513b
4
+ data.tar.gz: 02ad9dbcc9d9406dacf351184b78851a12ee5e67bd0278dca85ae26ab49299aa
5
5
  SHA512:
6
- metadata.gz: cc21cd22116749d29b434ec3fcb662ff01252e0fabdd4acfa5deb8de5417b48acb3741070e78c4050a1792ec23805fc769fc05c00db4886a157c9ce4dc4b58b6
7
- data.tar.gz: ff72c1beca9aed131b1717848913f8da813b20c25786170c5c9ba3b5a53a09d055c2e8b3eb853157026fd4bc2c1bdee4f973eeadb5bae87278ff07d1fce9e58c
6
+ metadata.gz: e891556e05e169f4d7941916361910eaed74146fbcea72df786cd2ea0ac57859a4a10b1aa2537c6d44f8dc7c2661b892f4282bf688cfb6ebfa0222b4b0bfc38d
7
+ data.tar.gz: c98a4285cd5679cfe447d6439f7b01573c00e60f5327bf735c8f71537ac36a777915c7f604e144e92ac6918cca7a3e9d11ba9262df79446d13ce94b338a798ce
@@ -254,15 +254,17 @@ module GetStream
254
254
  #
255
255
  # @param activity_id [String]
256
256
  # @param _type [String]
257
+ # @param delete_notification_activity [Boolean]
257
258
  # @param user_id [String]
258
259
  # @return [Models::DeleteActivityReactionResponse]
259
- def delete_activity_reaction(activity_id, _type, user_id = nil)
260
+ def delete_activity_reaction(activity_id, _type, delete_notification_activity = nil, user_id = nil)
260
261
  path = '/api/v2/feeds/activities/{activity_id}/reactions/{type}'
261
262
  # Replace path parameters
262
263
  path = path.gsub('{activity_id}', activity_id.to_s)
263
264
  path = path.gsub('{type}', _type.to_s)
264
265
  # Build query parameters
265
266
  query_params = {}
267
+ query_params['delete_notification_activity'] = delete_notification_activity unless delete_notification_activity.nil?
266
268
  query_params['user_id'] = user_id unless user_id.nil?
267
269
 
268
270
  # Make the API request
@@ -277,14 +279,16 @@ module GetStream
277
279
  #
278
280
  # @param _id [String]
279
281
  # @param hard_delete [Boolean]
282
+ # @param delete_notification_activity [Boolean]
280
283
  # @return [Models::DeleteActivityResponse]
281
- def delete_activity(_id, hard_delete = nil)
284
+ def delete_activity(_id, hard_delete = nil, delete_notification_activity = nil)
282
285
  path = '/api/v2/feeds/activities/{id}'
283
286
  # Replace path parameters
284
287
  path = path.gsub('{id}', _id.to_s)
285
288
  # Build query parameters
286
289
  query_params = {}
287
290
  query_params['hard_delete'] = hard_delete unless hard_delete.nil?
291
+ query_params['delete_notification_activity'] = delete_notification_activity unless delete_notification_activity.nil?
288
292
 
289
293
  # Make the API request
290
294
  @client.make_request(
@@ -350,6 +354,26 @@ module GetStream
350
354
  )
351
355
  end
352
356
 
357
+ # Restores a soft-deleted activity by its ID. Only the activity owner can restore their own activities.
358
+ #
359
+ # @param _id [String]
360
+ # @param restore_activity_request [RestoreActivityRequest]
361
+ # @return [Models::RestoreActivityResponse]
362
+ def restore_activity(_id, restore_activity_request)
363
+ path = '/api/v2/feeds/activities/{id}/restore'
364
+ # Replace path parameters
365
+ path = path.gsub('{id}', _id.to_s)
366
+ # Build request body
367
+ body = restore_activity_request
368
+
369
+ # Make the API request
370
+ @client.make_request(
371
+ :post,
372
+ path,
373
+ body: body
374
+ )
375
+ end
376
+
353
377
  # Query bookmark folders with filter query
354
378
  #
355
379
  # @param query_bookmark_folders_request [QueryBookmarkFoldersRequest]
@@ -598,14 +622,16 @@ module GetStream
598
622
  #
599
623
  # @param _id [String]
600
624
  # @param hard_delete [Boolean]
625
+ # @param delete_notification_activity [Boolean]
601
626
  # @return [Models::DeleteCommentResponse]
602
- def delete_comment(_id, hard_delete = nil)
627
+ def delete_comment(_id, hard_delete = nil, delete_notification_activity = nil)
603
628
  path = '/api/v2/feeds/comments/{id}'
604
629
  # Replace path parameters
605
630
  path = path.gsub('{id}', _id.to_s)
606
631
  # Build query parameters
607
632
  query_params = {}
608
633
  query_params['hard_delete'] = hard_delete unless hard_delete.nil?
634
+ query_params['delete_notification_activity'] = delete_notification_activity unless delete_notification_activity.nil?
609
635
 
610
636
  # Make the API request
611
637
  @client.make_request(
@@ -695,15 +721,17 @@ module GetStream
695
721
  #
696
722
  # @param _id [String]
697
723
  # @param _type [String]
724
+ # @param delete_notification_activity [Boolean]
698
725
  # @param user_id [String]
699
726
  # @return [Models::DeleteCommentReactionResponse]
700
- def delete_comment_reaction(_id, _type, user_id = nil)
727
+ def delete_comment_reaction(_id, _type, delete_notification_activity = nil, user_id = nil)
701
728
  path = '/api/v2/feeds/comments/{id}/reactions/{type}'
702
729
  # Replace path parameters
703
730
  path = path.gsub('{id}', _id.to_s)
704
731
  path = path.gsub('{type}', _type.to_s)
705
732
  # Build query parameters
706
733
  query_params = {}
734
+ query_params['delete_notification_activity'] = delete_notification_activity unless delete_notification_activity.nil?
707
735
  query_params['user_id'] = user_id unless user_id.nil?
708
736
 
709
737
  # Make the API request
@@ -1481,17 +1509,22 @@ module GetStream
1481
1509
  #
1482
1510
  # @param source [String]
1483
1511
  # @param target [String]
1512
+ # @param delete_notification_activity [Boolean]
1484
1513
  # @return [Models::UnfollowResponse]
1485
- def unfollow(source, target)
1514
+ def unfollow(source, target, delete_notification_activity = nil)
1486
1515
  path = '/api/v2/feeds/follows/{source}/{target}'
1487
1516
  # Replace path parameters
1488
1517
  path = path.gsub('{source}', source.to_s)
1489
1518
  path = path.gsub('{target}', target.to_s)
1519
+ # Build query parameters
1520
+ query_params = {}
1521
+ query_params['delete_notification_activity'] = delete_notification_activity unless delete_notification_activity.nil?
1490
1522
 
1491
1523
  # Make the API request
1492
1524
  @client.make_request(
1493
1525
  :delete,
1494
- path
1526
+ path,
1527
+ query_params: query_params
1495
1528
  )
1496
1529
  end
1497
1530
 
@@ -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.bulk_image_moderation.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 ids
13
13
  # @return [Array<String>] List of activity IDs to delete
14
14
  attr_accessor :ids
15
+ # @!attribute delete_notification_activity
16
+ # @return [Boolean] Whether to also delete any notification activities created from mentions in these activities
17
+ attr_accessor :delete_notification_activity
15
18
  # @!attribute hard_delete
16
19
  # @return [Boolean] Whether to permanently delete the activities
17
20
  attr_accessor :hard_delete
@@ -26,6 +29,7 @@ module GetStream
26
29
  def initialize(attributes = {})
27
30
  super(attributes)
28
31
  @ids = attributes[:ids] || attributes['ids']
32
+ @delete_notification_activity = attributes[:delete_notification_activity] || attributes['delete_notification_activity'] || nil
29
33
  @hard_delete = attributes[:hard_delete] || attributes['hard_delete'] || nil
30
34
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
31
35
  @user = attributes[:user] || attributes['user'] || nil
@@ -35,6 +39,7 @@ module GetStream
35
39
  def self.json_field_mappings
36
40
  {
37
41
  ids: 'ids',
42
+ delete_notification_activity: 'delete_notification_activity',
38
43
  hard_delete: 'hard_delete',
39
44
  user_id: 'user_id',
40
45
  user: 'user'
@@ -22,8 +22,11 @@ module GetStream
22
22
  # @return [String] Push preference for the follow relationship
23
23
  attr_accessor :push_preference
24
24
  # @!attribute skip_push
25
- # @return [Boolean]
25
+ # @return [Boolean] Whether to skip push for this follow
26
26
  attr_accessor :skip_push
27
+ # @!attribute status
28
+ # @return [String] Status of the follow relationship
29
+ attr_accessor :status
27
30
  # @!attribute custom
28
31
  # @return [Object] Custom data for the follow relationship
29
32
  attr_accessor :custom
@@ -36,6 +39,7 @@ module GetStream
36
39
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
37
40
  @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil
38
41
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
42
+ @status = attributes[:status] || attributes['status'] || nil
39
43
  @custom = attributes[:custom] || attributes['custom'] || nil
40
44
  end
41
45
 
@@ -47,6 +51,7 @@ module GetStream
47
51
  create_notification_activity: 'create_notification_activity',
48
52
  push_preference: 'push_preference',
49
53
  skip_push: 'skip_push',
54
+ status: 'status',
50
55
  custom: 'custom'
51
56
  }
52
57
  end
@@ -9,6 +9,12 @@ module GetStream
9
9
  class ImportV2TaskSettings < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute mode
13
+ # @return [String]
14
+ attr_accessor :mode
15
+ # @!attribute path
16
+ # @return [String]
17
+ attr_accessor :path
12
18
  # @!attribute skip_references_check
13
19
  # @return [Boolean]
14
20
  attr_accessor :skip_references_check
@@ -19,6 +25,8 @@ module GetStream
19
25
  # Initialize with attributes
20
26
  def initialize(attributes = {})
21
27
  super(attributes)
28
+ @mode = attributes[:mode] || attributes['mode'] || nil
29
+ @path = attributes[:path] || attributes['path'] || nil
22
30
  @skip_references_check = attributes[:skip_references_check] || attributes['skip_references_check'] || nil
23
31
  @s3 = attributes[:s3] || attributes['s3'] || nil
24
32
  end
@@ -26,6 +34,8 @@ module GetStream
26
34
  # Override field mappings for JSON serialization
27
35
  def self.json_field_mappings
28
36
  {
37
+ mode: 'mode',
38
+ path: 'path',
29
39
  skip_references_check: 'skip_references_check',
30
40
  s3: 's3'
31
41
  }
@@ -15,19 +15,24 @@ module GetStream
15
15
  # @!attribute channels
16
16
  # @return [Array<ChannelStateResponseFields>] List of channels
17
17
  attr_accessor :channels
18
+ # @!attribute predefined_filter
19
+ # @return [ParsedPredefinedFilterResponse]
20
+ attr_accessor :predefined_filter
18
21
 
19
22
  # Initialize with attributes
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @duration = attributes[:duration] || attributes['duration']
23
26
  @channels = attributes[:channels] || attributes['channels']
27
+ @predefined_filter = attributes[:predefined_filter] || attributes['predefined_filter'] || nil
24
28
  end
25
29
 
26
30
  # Override field mappings for JSON serialization
27
31
  def self.json_field_mappings
28
32
  {
29
33
  duration: 'duration',
30
- channels: 'channels'
34
+ channels: 'channels',
35
+ predefined_filter: 'predefined_filter'
31
36
  }
32
37
  end
33
38
  end
@@ -12,17 +12,22 @@ module GetStream
12
12
  # @!attribute follows
13
13
  # @return [Array<FollowPair>] List of follow relationships to remove
14
14
  attr_accessor :follows
15
+ # @!attribute delete_notification_activity
16
+ # @return [Boolean] Whether to delete the corresponding notification activity (default: false)
17
+ attr_accessor :delete_notification_activity
15
18
 
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
19
22
  @follows = attributes[:follows] || attributes['follows']
23
+ @delete_notification_activity = attributes[:delete_notification_activity] || attributes['delete_notification_activity'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
25
- follows: 'follows'
29
+ follows: 'follows',
30
+ delete_notification_activity: 'delete_notification_activity'
26
31
  }
27
32
  end
28
33
  end
@@ -9,6 +9,9 @@ module GetStream
9
9
  class UpdateActivityPartialRequest < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute handle_mention_notifications
13
+ # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
14
+ attr_accessor :handle_mention_notifications
12
15
  # @!attribute user_id
13
16
  # @return [String]
14
17
  attr_accessor :user_id
@@ -25,6 +28,7 @@ module GetStream
25
28
  # Initialize with attributes
26
29
  def initialize(attributes = {})
27
30
  super(attributes)
31
+ @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
28
32
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
29
33
  @unset = attributes[:unset] || attributes['unset'] || nil
30
34
  @set = attributes[:set] || attributes['set'] || nil
@@ -34,6 +38,7 @@ module GetStream
34
38
  # Override field mappings for JSON serialization
35
39
  def self.json_field_mappings
36
40
  {
41
+ handle_mention_notifications: 'handle_mention_notifications',
37
42
  user_id: 'user_id',
38
43
  unset: 'unset',
39
44
  set: 'set',
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute expires_at
13
13
  # @return [DateTime] Time when the activity will expire
14
14
  attr_accessor :expires_at
15
+ # @!attribute handle_mention_notifications
16
+ # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
17
+ attr_accessor :handle_mention_notifications
15
18
  # @!attribute poll_id
16
19
  # @return [String] Poll ID
17
20
  attr_accessor :poll_id
@@ -65,6 +68,7 @@ module GetStream
65
68
  def initialize(attributes = {})
66
69
  super(attributes)
67
70
  @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil
71
+ @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
68
72
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
69
73
  @restrict_replies = attributes[:restrict_replies] || attributes['restrict_replies'] || nil
70
74
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
@@ -87,6 +91,7 @@ module GetStream
87
91
  def self.json_field_mappings
88
92
  {
89
93
  expires_at: 'expires_at',
94
+ handle_mention_notifications: 'handle_mention_notifications',
90
95
  poll_id: 'poll_id',
91
96
  restrict_replies: 'restrict_replies',
92
97
  skip_enrich_url: 'skip_enrich_url',
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute comment
13
13
  # @return [String] Updated text content of the comment
14
14
  attr_accessor :comment
15
+ # @!attribute handle_mention_notifications
16
+ # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
17
+ attr_accessor :handle_mention_notifications
15
18
  # @!attribute skip_enrich_url
16
19
  # @return [Boolean] Whether to skip URL enrichment for this comment
17
20
  attr_accessor :skip_enrich_url
@@ -24,6 +27,9 @@ module GetStream
24
27
  # @!attribute attachments
25
28
  # @return [Array<Attachment>] Updated media attachments for the comment. Providing this field will replace all existing attachments.
26
29
  attr_accessor :attachments
30
+ # @!attribute mentioned_user_ids
31
+ # @return [Array<String>] List of user IDs mentioned in the comment
32
+ attr_accessor :mentioned_user_ids
27
33
  # @!attribute custom
28
34
  # @return [Object] Updated custom data for the comment
29
35
  attr_accessor :custom
@@ -35,10 +41,12 @@ module GetStream
35
41
  def initialize(attributes = {})
36
42
  super(attributes)
37
43
  @comment = attributes[:comment] || attributes['comment'] || nil
44
+ @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
38
45
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
39
46
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
40
47
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
41
48
  @attachments = attributes[:attachments] || attributes['attachments'] || nil
49
+ @mentioned_user_ids = attributes[:mentioned_user_ids] || attributes['mentioned_user_ids'] || nil
42
50
  @custom = attributes[:custom] || attributes['custom'] || nil
43
51
  @user = attributes[:user] || attributes['user'] || nil
44
52
  end
@@ -47,10 +55,12 @@ module GetStream
47
55
  def self.json_field_mappings
48
56
  {
49
57
  comment: 'comment',
58
+ handle_mention_notifications: 'handle_mention_notifications',
50
59
  skip_enrich_url: 'skip_enrich_url',
51
60
  skip_push: 'skip_push',
52
61
  user_id: 'user_id',
53
62
  attachments: 'attachments',
63
+ mentioned_user_ids: 'mentioned_user_ids',
54
64
  custom: 'custom',
55
65
  user: 'user'
56
66
  }
@@ -25,8 +25,11 @@ module GetStream
25
25
  # @return [String] Push preference for the follow relationship
26
26
  attr_accessor :push_preference
27
27
  # @!attribute skip_push
28
- # @return [Boolean]
28
+ # @return [Boolean] Whether to skip push for this follow
29
29
  attr_accessor :skip_push
30
+ # @!attribute status
31
+ # @return [String] Status of the follow relationship
32
+ attr_accessor :status
30
33
  # @!attribute custom
31
34
  # @return [Object] Custom data for the follow relationship
32
35
  attr_accessor :custom
@@ -40,6 +43,7 @@ module GetStream
40
43
  @follower_role = attributes[:follower_role] || attributes['follower_role'] || nil
41
44
  @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil
42
45
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
46
+ @status = attributes[:status] || attributes['status'] || nil
43
47
  @custom = attributes[:custom] || attributes['custom'] || nil
44
48
  end
45
49
 
@@ -52,6 +56,7 @@ module GetStream
52
56
  follower_role: 'follower_role',
53
57
  push_preference: 'push_preference',
54
58
  skip_push: 'skip_push',
59
+ status: 'status',
55
60
  custom: 'custom'
56
61
  }
57
62
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GetStreamRuby
4
4
 
5
- VERSION = '1.1.1'
5
+ VERSION = '2.0.0'
6
6
 
7
7
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getstream-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 2.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-01-29 00:00:00.000000000 Z
11
+ date: 2026-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency