getstream-ruby 5.0.0 → 6.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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/lib/getstream_ruby/generated/feeds_client.rb +81 -4
  3. data/lib/getstream_ruby/generated/models/activity_request.rb +1 -1
  4. data/lib/getstream_ruby/generated/models/activity_response.rb +1 -1
  5. data/lib/getstream_ruby/generated/models/add_activity_request.rb +6 -1
  6. data/lib/getstream_ruby/generated/models/add_comment_bookmark_request.rb +51 -0
  7. data/lib/getstream_ruby/generated/models/add_comment_bookmark_response.rb +36 -0
  8. data/lib/getstream_ruby/generated/models/add_comment_request.rb +5 -0
  9. data/lib/getstream_ruby/generated/models/aggregation_config.rb +5 -0
  10. data/lib/getstream_ruby/generated/models/ban_action_request_payload.rb +5 -0
  11. data/lib/getstream_ruby/generated/models/bookmark_response.rb +20 -0
  12. data/lib/getstream_ruby/generated/models/bypass_action_request.rb +31 -0
  13. data/lib/getstream_ruby/generated/models/bypass_request.rb +36 -0
  14. data/lib/getstream_ruby/generated/models/bypass_response.rb +31 -0
  15. data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +20 -0
  16. data/lib/getstream_ruby/generated/models/call_stats_participant_session.rb +15 -0
  17. data/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb +5 -0
  18. data/lib/getstream_ruby/generated/models/call_stats_session_response.rb +61 -0
  19. data/lib/getstream_ruby/generated/models/comment_response.rb +5 -0
  20. data/lib/getstream_ruby/generated/models/delete_comment_bookmark_response.rb +36 -0
  21. data/lib/getstream_ruby/generated/models/emau_stats_response.rb +41 -0
  22. data/lib/getstream_ruby/generated/models/entity_creator_response.rb +5 -0
  23. data/lib/getstream_ruby/generated/models/feed_input.rb +6 -1
  24. data/lib/getstream_ruby/generated/models/feed_request.rb +6 -1
  25. data/lib/getstream_ruby/generated/models/feed_response.rb +5 -0
  26. data/lib/getstream_ruby/generated/models/feed_suggestion_response.rb +5 -0
  27. data/lib/getstream_ruby/generated/models/follow_batch_request.rb +5 -0
  28. data/lib/getstream_ruby/generated/models/follow_request.rb +10 -0
  29. data/lib/getstream_ruby/generated/models/full_user_response.rb +5 -0
  30. data/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb +6 -1
  31. data/lib/getstream_ruby/generated/models/import_v2_task_item.rb +6 -1
  32. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
  33. data/lib/getstream_ruby/generated/models/location.rb +10 -15
  34. data/lib/getstream_ruby/generated/models/query_activities_request.rb +5 -0
  35. data/lib/getstream_ruby/generated/models/query_call_session_stats_request.rb +51 -0
  36. data/lib/getstream_ruby/generated/models/query_call_session_stats_response.rb +46 -0
  37. data/lib/getstream_ruby/generated/models/query_comments_request.rb +2 -2
  38. data/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb +6 -1
  39. data/lib/getstream_ruby/generated/models/query_reactions_request.rb +2 -2
  40. data/lib/getstream_ruby/generated/models/query_threads_request.rb +2 -2
  41. data/lib/getstream_ruby/generated/models/raw_record_settings.rb +6 -1
  42. data/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb +6 -1
  43. data/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb +6 -1
  44. data/lib/getstream_ruby/generated/models/submit_action_request.rb +5 -0
  45. data/lib/getstream_ruby/generated/models/threaded_comment_response.rb +5 -0
  46. data/lib/getstream_ruby/generated/models/unban_action_request_payload.rb +6 -1
  47. data/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb +6 -1
  48. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +5 -0
  49. data/lib/getstream_ruby/generated/models/update_activity_request.rb +6 -1
  50. data/lib/getstream_ruby/generated/models/update_bookmark_request.rb +2 -2
  51. data/lib/getstream_ruby/generated/models/update_comment_bookmark_request.rb +56 -0
  52. data/lib/getstream_ruby/generated/models/update_comment_bookmark_response.rb +36 -0
  53. data/lib/getstream_ruby/generated/models/update_comment_partial_request.rb +5 -0
  54. data/lib/getstream_ruby/generated/models/update_comment_request.rb +5 -0
  55. data/lib/getstream_ruby/generated/models/update_feed_request.rb +11 -1
  56. data/lib/getstream_ruby/generated/models/update_follow_request.rb +10 -0
  57. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +6 -1
  58. data/lib/getstream_ruby/generated/models/upsert_config_request.rb +1 -1
  59. data/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb +22 -12
  60. data/lib/getstream_ruby/generated/models/user_response.rb +5 -0
  61. data/lib/getstream_ruby/generated/moderation_client.rb +27 -3
  62. data/lib/getstream_ruby/generated/video_client.rb +17 -0
  63. data/lib/getstream_ruby/version.rb +1 -1
  64. metadata +14 -2
@@ -24,6 +24,9 @@ module GetStream
24
24
  # @!attribute openai_requests
25
25
  # @return [DailyMetricStatsResponse]
26
26
  attr_accessor :openai_requests
27
+ # @!attribute emau
28
+ # @return [EMAUStatsResponse]
29
+ attr_accessor :emau
27
30
 
28
31
  # Initialize with attributes
29
32
  def initialize(attributes = {})
@@ -33,6 +36,7 @@ module GetStream
33
36
  @api_requests = attributes[:api_requests] || attributes['api_requests']
34
37
  @follows = attributes[:follows] || attributes['follows']
35
38
  @openai_requests = attributes[:openai_requests] || attributes['openai_requests']
39
+ @emau = attributes[:emau] || attributes['emau'] || nil
36
40
  end
37
41
 
38
42
  # Override field mappings for JSON serialization
@@ -42,7 +46,8 @@ module GetStream
42
46
  activities: 'activities',
43
47
  api_requests: 'api_requests',
44
48
  follows: 'follows',
45
- openai_requests: 'openai_requests'
49
+ openai_requests: 'openai_requests',
50
+ emau: 'emau'
46
51
  }
47
52
  end
48
53
  end
@@ -22,10 +22,10 @@ module GetStream
22
22
  # @return [String]
23
23
  attr_accessor :user_id
24
24
  # @!attribute sort
25
- # @return [Array<SortParamRequest>]
25
+ # @return [Array<SortParamRequest>] Array of sort parameters
26
26
  attr_accessor :sort
27
27
  # @!attribute filter
28
- # @return [Object]
28
+ # @return [Object] Filter to apply to the query
29
29
  attr_accessor :filter
30
30
  # @!attribute user
31
31
  # @return [UserRequest]
@@ -31,10 +31,10 @@ module GetStream
31
31
  # @return [String]
32
32
  attr_accessor :user_id
33
33
  # @!attribute sort
34
- # @return [Array<SortParamRequest>] Sort conditions to apply to threads
34
+ # @return [Array<SortParamRequest>] Array of sort parameters
35
35
  attr_accessor :sort
36
36
  # @!attribute filter
37
- # @return [Object] Filter conditions to apply to threads
37
+ # @return [Object] Filter to apply to the query
38
38
  attr_accessor :filter
39
39
  # @!attribute user
40
40
  # @return [UserRequest]
@@ -12,17 +12,22 @@ module GetStream
12
12
  # @!attribute mode
13
13
  # @return [String]
14
14
  attr_accessor :mode
15
+ # @!attribute audio_only
16
+ # @return [Boolean]
17
+ attr_accessor :audio_only
15
18
 
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
19
22
  @mode = attributes[:mode] || attributes['mode']
23
+ @audio_only = attributes[:audio_only] || attributes['audio_only'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
25
- mode: 'mode'
29
+ mode: 'mode',
30
+ audio_only: 'audio_only'
26
31
  }
27
32
  end
28
33
  end
@@ -12,17 +12,22 @@ module GetStream
12
12
  # @!attribute mode
13
13
  # @return [String] Recording mode. One of: available, disabled, auto-on
14
14
  attr_accessor :mode
15
+ # @!attribute audio_only
16
+ # @return [Boolean] If true, only audio tracks will be recorded
17
+ attr_accessor :audio_only
15
18
 
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
19
22
  @mode = attributes[:mode] || attributes['mode']
23
+ @audio_only = attributes[:audio_only] || attributes['audio_only'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
25
- mode: 'mode'
29
+ mode: 'mode',
30
+ audio_only: 'audio_only'
26
31
  }
27
32
  end
28
33
  end
@@ -12,17 +12,22 @@ module GetStream
12
12
  # @!attribute mode
13
13
  # @return [String]
14
14
  attr_accessor :mode
15
+ # @!attribute audio_only
16
+ # @return [Boolean]
17
+ attr_accessor :audio_only
15
18
 
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
19
22
  @mode = attributes[:mode] || attributes['mode']
23
+ @audio_only = attributes[:audio_only] || attributes['audio_only'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
25
- mode: 'mode'
29
+ mode: 'mode',
30
+ audio_only: 'audio_only'
26
31
  }
27
32
  end
28
33
  end
@@ -27,6 +27,9 @@ module GetStream
27
27
  # @!attribute block
28
28
  # @return [BlockActionRequestPayload]
29
29
  attr_accessor :block
30
+ # @!attribute bypass
31
+ # @return [BypassActionRequest]
32
+ attr_accessor :bypass
30
33
  # @!attribute custom
31
34
  # @return [CustomActionRequestPayload]
32
35
  attr_accessor :custom
@@ -82,6 +85,7 @@ module GetStream
82
85
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
83
86
  @ban = attributes[:ban] || attributes['ban'] || nil
84
87
  @block = attributes[:block] || attributes['block'] || nil
88
+ @bypass = attributes[:bypass] || attributes['bypass'] || nil
85
89
  @custom = attributes[:custom] || attributes['custom'] || nil
86
90
  @delete_activity = attributes[:delete_activity] || attributes['delete_activity'] || nil
87
91
  @delete_comment = attributes[:delete_comment] || attributes['delete_comment'] || nil
@@ -108,6 +112,7 @@ module GetStream
108
112
  user_id: 'user_id',
109
113
  ban: 'ban',
110
114
  block: 'block',
115
+ bypass: 'bypass',
111
116
  custom: 'custom',
112
117
  delete_activity: 'delete_activity',
113
118
  delete_comment: 'delete_comment',
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute _object_id
13
13
  # @return [String]
14
14
  attr_accessor :_object_id
15
+ # @!attribute bookmark_count
16
+ # @return [Integer]
17
+ attr_accessor :bookmark_count
15
18
  # @!attribute confidence_score
16
19
  # @return [Float]
17
20
  attr_accessor :confidence_score
@@ -95,6 +98,7 @@ module GetStream
95
98
  def initialize(attributes = {})
96
99
  super(attributes)
97
100
  @_object_id = attributes[:_object_id] || attributes['object_id']
101
+ @bookmark_count = attributes[:bookmark_count] || attributes['bookmark_count']
98
102
  @confidence_score = attributes[:confidence_score] || attributes['confidence_score']
99
103
  @created_at = attributes[:created_at] || attributes['created_at']
100
104
  @downvote_count = attributes[:downvote_count] || attributes['downvote_count']
@@ -127,6 +131,7 @@ module GetStream
127
131
  def self.json_field_mappings
128
132
  {
129
133
  _object_id: 'object_id',
134
+ bookmark_count: 'bookmark_count',
130
135
  confidence_score: 'confidence_score',
131
136
  created_at: 'created_at',
132
137
  downvote_count: 'downvote_count',
@@ -15,19 +15,24 @@ module GetStream
15
15
  # @!attribute decision_reason
16
16
  # @return [String] Reason for the appeal decision
17
17
  attr_accessor :decision_reason
18
+ # @!attribute remove_future_channels_ban
19
+ # @return [Boolean] Also remove the future channels ban for this user
20
+ attr_accessor :remove_future_channels_ban
18
21
 
19
22
  # Initialize with attributes
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @channel_cid = attributes[:channel_cid] || attributes['channel_cid'] || nil
23
26
  @decision_reason = attributes[:decision_reason] || attributes['decision_reason'] || nil
27
+ @remove_future_channels_ban = attributes[:remove_future_channels_ban] || attributes['remove_future_channels_ban'] || 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
  channel_cid: 'channel_cid',
30
- decision_reason: 'decision_reason'
34
+ decision_reason: 'decision_reason',
35
+ remove_future_channels_ban: 'remove_future_channels_ban'
31
36
  }
32
37
  end
33
38
  end
@@ -12,17 +12,22 @@ module GetStream
12
12
  # @!attribute changes
13
13
  # @return [Array<UpdateActivityPartialChangeRequest>] List of activity changes to apply. Each change specifies an activity ID and the fields to set/unset
14
14
  attr_accessor :changes
15
+ # @!attribute force_moderation
16
+ # @return [Boolean] If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
17
+ attr_accessor :force_moderation
15
18
 
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
19
22
  @changes = attributes[:changes] || attributes['changes']
23
+ @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
25
- changes: 'changes'
29
+ changes: 'changes',
30
+ force_moderation: 'force_moderation'
26
31
  }
27
32
  end
28
33
  end
@@ -16,6 +16,9 @@ module GetStream
16
16
  # @!attribute enrich_own_fields
17
17
  # @return [Boolean] If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
18
18
  attr_accessor :enrich_own_fields
19
+ # @!attribute force_moderation
20
+ # @return [Boolean] If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
21
+ attr_accessor :force_moderation
19
22
  # @!attribute handle_mention_notifications
20
23
  # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
21
24
  attr_accessor :handle_mention_notifications
@@ -40,6 +43,7 @@ module GetStream
40
43
  super(attributes)
41
44
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
42
45
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
46
+ @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil
43
47
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
44
48
  @run_activity_processors = attributes[:run_activity_processors] || attributes['run_activity_processors'] || nil
45
49
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
@@ -53,6 +57,7 @@ module GetStream
53
57
  {
54
58
  copy_custom_to_notification: 'copy_custom_to_notification',
55
59
  enrich_own_fields: 'enrich_own_fields',
60
+ force_moderation: 'force_moderation',
56
61
  handle_mention_notifications: 'handle_mention_notifications',
57
62
  run_activity_processors: 'run_activity_processors',
58
63
  user_id: 'user_id',
@@ -19,6 +19,9 @@ module GetStream
19
19
  # @!attribute expires_at
20
20
  # @return [DateTime] Time when the activity will expire
21
21
  attr_accessor :expires_at
22
+ # @!attribute force_moderation
23
+ # @return [Boolean] If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
24
+ attr_accessor :force_moderation
22
25
  # @!attribute handle_mention_notifications
23
26
  # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
24
27
  attr_accessor :handle_mention_notifications
@@ -68,7 +71,7 @@ module GetStream
68
71
  # @return [Object] Custom data for the activity
69
72
  attr_accessor :custom
70
73
  # @!attribute location
71
- # @return [ActivityLocation]
74
+ # @return [Location]
72
75
  attr_accessor :location
73
76
  # @!attribute search_data
74
77
  # @return [Object] Additional data for search indexing
@@ -83,6 +86,7 @@ module GetStream
83
86
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
84
87
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
85
88
  @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil
89
+ @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil
86
90
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
87
91
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
88
92
  @restrict_replies = attributes[:restrict_replies] || attributes['restrict_replies'] || nil
@@ -110,6 +114,7 @@ module GetStream
110
114
  copy_custom_to_notification: 'copy_custom_to_notification',
111
115
  enrich_own_fields: 'enrich_own_fields',
112
116
  expires_at: 'expires_at',
117
+ force_moderation: 'force_moderation',
113
118
  handle_mention_notifications: 'handle_mention_notifications',
114
119
  poll_id: 'poll_id',
115
120
  restrict_replies: 'restrict_replies',
@@ -10,10 +10,10 @@ module GetStream
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute folder_id
13
- # @return [String] ID of the folder to move the bookmark to
13
+ # @return [String] ID of the folder containing the bookmark
14
14
  attr_accessor :folder_id
15
15
  # @!attribute new_folder_id
16
- # @return [String]
16
+ # @return [String] Move the bookmark to this folder (empty string removes the folder)
17
17
  attr_accessor :new_folder_id
18
18
  # @!attribute user_id
19
19
  # @return [String]
@@ -0,0 +1,56 @@
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 UpdateCommentBookmarkRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute folder_id
13
+ # @return [String] ID of the folder containing the bookmark
14
+ attr_accessor :folder_id
15
+ # @!attribute new_folder_id
16
+ # @return [String] Move the bookmark to this folder (empty string removes the folder)
17
+ attr_accessor :new_folder_id
18
+ # @!attribute user_id
19
+ # @return [String]
20
+ attr_accessor :user_id
21
+ # @!attribute custom
22
+ # @return [Object] Custom data for the bookmark
23
+ attr_accessor :custom
24
+ # @!attribute new_folder
25
+ # @return [AddFolderRequest]
26
+ attr_accessor :new_folder
27
+ # @!attribute user
28
+ # @return [UserRequest]
29
+ attr_accessor :user
30
+
31
+ # Initialize with attributes
32
+ def initialize(attributes = {})
33
+ super(attributes)
34
+ @folder_id = attributes[:folder_id] || attributes['folder_id'] || nil
35
+ @new_folder_id = attributes[:new_folder_id] || attributes['new_folder_id'] || nil
36
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
37
+ @custom = attributes[:custom] || attributes['custom'] || nil
38
+ @new_folder = attributes[:new_folder] || attributes['new_folder'] || nil
39
+ @user = attributes[:user] || attributes['user'] || nil
40
+ end
41
+
42
+ # Override field mappings for JSON serialization
43
+ def self.json_field_mappings
44
+ {
45
+ folder_id: 'folder_id',
46
+ new_folder_id: 'new_folder_id',
47
+ user_id: 'user_id',
48
+ custom: 'custom',
49
+ new_folder: 'new_folder',
50
+ user: 'user'
51
+ }
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,36 @@
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 UpdateCommentBookmarkResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute bookmark
16
+ # @return [BookmarkResponse]
17
+ attr_accessor :bookmark
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @bookmark = attributes[:bookmark] || attributes['bookmark']
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ bookmark: 'bookmark'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -13,6 +13,9 @@ module GetStream
13
13
  # @deprecated This field is deprecated.
14
14
  # @return [Boolean] Whether to copy custom data to notification activities Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
15
15
  attr_accessor :copy_custom_to_notification
16
+ # @!attribute force_moderation
17
+ # @return [Boolean] If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
18
+ attr_accessor :force_moderation
16
19
  # @!attribute handle_mention_notifications
17
20
  # @return [Boolean] Whether to handle mention notification changes
18
21
  attr_accessor :handle_mention_notifications
@@ -39,6 +42,7 @@ module GetStream
39
42
  def initialize(attributes = {})
40
43
  super(attributes)
41
44
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
45
+ @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil
42
46
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
43
47
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
44
48
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
@@ -52,6 +56,7 @@ module GetStream
52
56
  def self.json_field_mappings
53
57
  {
54
58
  copy_custom_to_notification: 'copy_custom_to_notification',
59
+ force_moderation: 'force_moderation',
55
60
  handle_mention_notifications: 'handle_mention_notifications',
56
61
  skip_enrich_url: 'skip_enrich_url',
57
62
  skip_push: 'skip_push',
@@ -16,6 +16,9 @@ module GetStream
16
16
  # @deprecated This field is deprecated.
17
17
  # @return [Boolean] Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
18
18
  attr_accessor :copy_custom_to_notification
19
+ # @!attribute force_moderation
20
+ # @return [Boolean] If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
21
+ attr_accessor :force_moderation
19
22
  # @!attribute handle_mention_notifications
20
23
  # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
21
24
  attr_accessor :handle_mention_notifications
@@ -46,6 +49,7 @@ module GetStream
46
49
  super(attributes)
47
50
  @comment = attributes[:comment] || attributes['comment'] || nil
48
51
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
52
+ @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil
49
53
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
50
54
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
51
55
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
@@ -61,6 +65,7 @@ module GetStream
61
65
  {
62
66
  comment: 'comment',
63
67
  copy_custom_to_notification: 'copy_custom_to_notification',
68
+ force_moderation: 'force_moderation',
64
69
  handle_mention_notifications: 'handle_mention_notifications',
65
70
  skip_enrich_url: 'skip_enrich_url',
66
71
  skip_push: 'skip_push',
@@ -9,6 +9,9 @@ module GetStream
9
9
  class UpdateFeedRequest < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute clear_location
13
+ # @return [Boolean] If true, removes the geographic location from the feed
14
+ attr_accessor :clear_location
12
15
  # @!attribute created_by_id
13
16
  # @return [String] ID of the new feed creator (owner)
14
17
  attr_accessor :created_by_id
@@ -27,27 +30,34 @@ module GetStream
27
30
  # @!attribute custom
28
31
  # @return [Object] Custom data for the feed
29
32
  attr_accessor :custom
33
+ # @!attribute location
34
+ # @return [Location]
35
+ attr_accessor :location
30
36
 
31
37
  # Initialize with attributes
32
38
  def initialize(attributes = {})
33
39
  super(attributes)
40
+ @clear_location = attributes[:clear_location] || attributes['clear_location'] || nil
34
41
  @created_by_id = attributes[:created_by_id] || attributes['created_by_id'] || nil
35
42
  @description = attributes[:description] || attributes['description'] || nil
36
43
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
37
44
  @name = attributes[:name] || attributes['name'] || nil
38
45
  @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil
39
46
  @custom = attributes[:custom] || attributes['custom'] || nil
47
+ @location = attributes[:location] || attributes['location'] || nil
40
48
  end
41
49
 
42
50
  # Override field mappings for JSON serialization
43
51
  def self.json_field_mappings
44
52
  {
53
+ clear_location: 'clear_location',
45
54
  created_by_id: 'created_by_id',
46
55
  description: 'description',
47
56
  enrich_own_fields: 'enrich_own_fields',
48
57
  name: 'name',
49
58
  filter_tags: 'filter_tags',
50
- custom: 'custom'
59
+ custom: 'custom',
60
+ location: 'location'
51
61
  }
52
62
  end
53
63
  end
@@ -15,6 +15,9 @@ module GetStream
15
15
  # @!attribute target
16
16
  # @return [String] Fully qualified ID of the target feed
17
17
  attr_accessor :target
18
+ # @!attribute activity_copy_limit
19
+ # @return [Integer] Maximum number of historical activities to copy from the target feed when the follow is first materialized. Not set = unlimited (default). 0 = copy nothing. Range: 0-1000.
20
+ attr_accessor :activity_copy_limit
18
21
  # @!attribute copy_custom_to_notification
19
22
  # @deprecated This field is deprecated.
20
23
  # @return [Boolean] Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
@@ -22,6 +25,9 @@ module GetStream
22
25
  # @!attribute create_notification_activity
23
26
  # @return [Boolean] Whether to create a notification activity for this follow
24
27
  attr_accessor :create_notification_activity
28
+ # @!attribute create_users
29
+ # @return [Boolean] If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. For FollowBatch/GetOrCreateFollows, use the top-level create_users field; per-item follows[i].create_users is rejected.
30
+ attr_accessor :create_users
25
31
  # @!attribute enrich_own_fields
26
32
  # @return [Boolean] If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
27
33
  attr_accessor :enrich_own_fields
@@ -46,8 +52,10 @@ module GetStream
46
52
  super(attributes)
47
53
  @source = attributes[:source] || attributes['source']
48
54
  @target = attributes[:target] || attributes['target']
55
+ @activity_copy_limit = attributes[:activity_copy_limit] || attributes['activity_copy_limit'] || nil
49
56
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
50
57
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
58
+ @create_users = attributes[:create_users] || attributes['create_users'] || nil
51
59
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
52
60
  @follower_role = attributes[:follower_role] || attributes['follower_role'] || nil
53
61
  @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil
@@ -61,8 +69,10 @@ module GetStream
61
69
  {
62
70
  source: 'source',
63
71
  target: 'target',
72
+ activity_copy_limit: 'activity_copy_limit',
64
73
  copy_custom_to_notification: 'copy_custom_to_notification',
65
74
  create_notification_activity: 'create_notification_activity',
75
+ create_users: 'create_users',
66
76
  enrich_own_fields: 'enrich_own_fields',
67
77
  follower_role: 'follower_role',
68
78
  push_preference: 'push_preference',
@@ -15,19 +15,24 @@ module GetStream
15
15
  # @!attribute enrich_own_fields
16
16
  # @return [Boolean] If true, enriches the activities' current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
17
17
  attr_accessor :enrich_own_fields
18
+ # @!attribute force_moderation
19
+ # @return [Boolean] If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
20
+ attr_accessor :force_moderation
18
21
 
19
22
  # Initialize with attributes
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @activities = attributes[:activities] || attributes['activities']
23
26
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
27
+ @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || 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
  activities: 'activities',
30
- enrich_own_fields: 'enrich_own_fields'
34
+ enrich_own_fields: 'enrich_own_fields',
35
+ force_moderation: 'force_moderation'
31
36
  }
32
37
  end
33
38
  end
@@ -19,7 +19,7 @@ module GetStream
19
19
  # @return [String] Team associated with the configuration
20
20
  attr_accessor :team
21
21
  # @!attribute user_id
22
- # @return [String]
22
+ # @return [String] Optional user ID to associate with the audit log entry
23
23
  attr_accessor :user_id
24
24
  # @!attribute ai_image_config
25
25
  # @return [AIImageConfig]