getstream-ruby 4.1.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/lib/getstream_ruby/generated/chat_client.rb +7 -10
  3. data/lib/getstream_ruby/generated/common_client.rb +56 -0
  4. data/lib/getstream_ruby/generated/feeds_client.rb +130 -7
  5. data/lib/getstream_ruby/generated/models/activity_request.rb +3 -2
  6. data/lib/getstream_ruby/generated/models/activity_response.rb +7 -2
  7. data/lib/getstream_ruby/generated/models/add_activity_request.rb +8 -2
  8. data/lib/getstream_ruby/generated/models/add_comment_bookmark_request.rb +51 -0
  9. data/lib/getstream_ruby/generated/models/add_comment_bookmark_response.rb +36 -0
  10. data/lib/getstream_ruby/generated/models/add_comment_reaction_request.rb +2 -1
  11. data/lib/getstream_ruby/generated/models/add_comment_request.rb +7 -1
  12. data/lib/getstream_ruby/generated/models/add_reaction_request.rb +2 -1
  13. data/lib/getstream_ruby/generated/models/add_user_group_members_request.rb +5 -0
  14. data/lib/getstream_ruby/generated/models/aggregation_config.rb +11 -1
  15. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  16. data/lib/getstream_ruby/generated/models/ban_action_request_payload.rb +5 -0
  17. data/lib/getstream_ruby/generated/models/bookmark_response.rb +20 -0
  18. data/lib/getstream_ruby/generated/models/bypass_action_request.rb +31 -0
  19. data/lib/getstream_ruby/generated/models/bypass_request.rb +36 -0
  20. data/lib/getstream_ruby/generated/models/bypass_response.rb +31 -0
  21. data/lib/getstream_ruby/generated/models/call_level_event_payload.rb +46 -0
  22. data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +30 -0
  23. data/lib/getstream_ruby/generated/models/call_stats_participant_session.rb +15 -0
  24. data/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb +5 -0
  25. data/lib/getstream_ruby/generated/models/call_stats_session_response.rb +61 -0
  26. data/lib/getstream_ruby/generated/models/check_request.rb +5 -0
  27. data/lib/getstream_ruby/generated/models/comment_response.rb +5 -0
  28. data/lib/getstream_ruby/generated/models/comment_restored_event.rb +66 -0
  29. data/lib/getstream_ruby/generated/models/delete_comment_bookmark_response.rb +36 -0
  30. data/lib/getstream_ruby/generated/models/delete_retention_policy_request.rb +1 -1
  31. data/lib/getstream_ruby/generated/models/emau_stats_response.rb +41 -0
  32. data/lib/getstream_ruby/generated/models/enriched_collection.rb +61 -0
  33. data/lib/getstream_ruby/generated/models/enrichment_options.rb +5 -0
  34. data/lib/getstream_ruby/generated/models/entity_creator_response.rb +5 -0
  35. data/lib/getstream_ruby/generated/models/escalate_payload.rb +41 -0
  36. data/lib/getstream_ruby/generated/models/escalation_metadata.rb +41 -0
  37. data/lib/getstream_ruby/generated/models/feed_input.rb +6 -1
  38. data/lib/getstream_ruby/generated/models/feed_request.rb +6 -1
  39. data/lib/getstream_ruby/generated/models/feed_response.rb +5 -0
  40. data/lib/getstream_ruby/generated/models/feed_suggestion_response.rb +5 -0
  41. data/lib/getstream_ruby/generated/models/feeds_preferences.rb +6 -1
  42. data/lib/getstream_ruby/generated/models/feeds_preferences_response.rb +5 -0
  43. data/lib/getstream_ruby/generated/models/feeds_reaction_group.rb +41 -0
  44. data/lib/getstream_ruby/generated/models/feeds_v3_activity_response.rb +206 -0
  45. data/lib/getstream_ruby/generated/models/feeds_v3_comment_response.rb +141 -0
  46. data/lib/getstream_ruby/generated/models/follow_batch_request.rb +5 -0
  47. data/lib/getstream_ruby/generated/models/follow_request.rb +12 -1
  48. data/lib/getstream_ruby/generated/models/full_user_response.rb +5 -0
  49. data/lib/getstream_ruby/generated/models/get_external_storage_awss3_response.rb +46 -0
  50. data/lib/getstream_ruby/generated/models/get_external_storage_response.rb +51 -0
  51. data/lib/getstream_ruby/generated/models/get_flag_count_request.rb +36 -0
  52. data/lib/getstream_ruby/generated/models/get_flag_count_response.rb +36 -0
  53. data/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb +6 -1
  54. data/lib/getstream_ruby/generated/models/get_retention_policy_runs_request.rb +51 -0
  55. data/lib/getstream_ruby/generated/models/get_retention_policy_runs_response.rb +12 -2
  56. data/lib/getstream_ruby/generated/models/image_content_parameters.rb +5 -0
  57. data/lib/getstream_ruby/generated/models/import_v2_task_item.rb +6 -1
  58. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
  59. data/lib/getstream_ruby/generated/models/insert_action_log_request.rb +56 -0
  60. data/lib/getstream_ruby/generated/models/insert_action_log_response.rb +31 -0
  61. data/lib/getstream_ruby/generated/models/location.rb +10 -15
  62. data/lib/getstream_ruby/generated/models/moderation_action_config_response.rb +5 -0
  63. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +10 -0
  64. data/lib/getstream_ruby/generated/models/notification_target.rb +5 -0
  65. data/lib/getstream_ruby/generated/models/notification_trigger.rb +6 -1
  66. data/lib/getstream_ruby/generated/models/query_activities_request.rb +5 -0
  67. data/lib/getstream_ruby/generated/models/query_banned_users_payload.rb +1 -1
  68. data/lib/getstream_ruby/generated/models/query_call_members_request.rb +2 -2
  69. data/lib/getstream_ruby/generated/models/query_call_participants_request.rb +1 -1
  70. data/lib/getstream_ruby/generated/models/query_call_session_participant_stats_response.rb +6 -1
  71. data/lib/getstream_ruby/generated/models/query_call_session_stats_request.rb +51 -0
  72. data/lib/getstream_ruby/generated/models/query_call_session_stats_response.rb +46 -0
  73. data/lib/getstream_ruby/generated/models/query_call_stats_request.rb +2 -2
  74. data/lib/getstream_ruby/generated/models/query_calls_request.rb +1 -1
  75. data/lib/getstream_ruby/generated/models/query_channels_request.rb +1 -1
  76. data/lib/getstream_ruby/generated/models/query_comments_request.rb +2 -2
  77. data/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb +6 -1
  78. data/lib/getstream_ruby/generated/models/query_members_payload.rb +3 -3
  79. data/lib/getstream_ruby/generated/models/query_message_flags_payload.rb +2 -2
  80. data/lib/getstream_ruby/generated/models/query_reactions_request.rb +2 -2
  81. data/lib/getstream_ruby/generated/models/query_threads_request.rb +2 -2
  82. data/lib/getstream_ruby/generated/models/query_user_feedback_request.rb +2 -2
  83. data/lib/getstream_ruby/generated/models/query_users_payload.rb +3 -3
  84. data/lib/getstream_ruby/generated/models/raw_record_settings.rb +6 -1
  85. data/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb +6 -1
  86. data/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb +6 -1
  87. data/lib/getstream_ruby/generated/models/reaction_group_response.rb +6 -1
  88. data/lib/getstream_ruby/generated/models/reaction_group_user_response.rb +41 -0
  89. data/lib/getstream_ruby/generated/models/restore_comment_request.rb +36 -0
  90. data/lib/getstream_ruby/generated/models/restore_comment_response.rb +41 -0
  91. data/lib/getstream_ruby/generated/models/retention_run_response.rb +46 -0
  92. data/lib/getstream_ruby/generated/models/review_queue_item_response.rb +22 -2
  93. data/lib/getstream_ruby/generated/models/set_retention_policy_request.rb +2 -2
  94. data/lib/getstream_ruby/generated/models/submit_action_request.rb +11 -1
  95. data/lib/getstream_ruby/generated/models/text_content_parameters.rb +5 -0
  96. data/lib/getstream_ruby/generated/models/threaded_comment_response.rb +5 -0
  97. data/lib/getstream_ruby/generated/models/triggered_rule_response.rb +2 -2
  98. data/lib/getstream_ruby/generated/models/unban_action_request_payload.rb +6 -1
  99. data/lib/getstream_ruby/generated/models/unfollow_batch_request.rb +1 -1
  100. data/lib/getstream_ruby/generated/models/unfollow_pair.rb +41 -0
  101. data/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb +6 -1
  102. data/lib/getstream_ruby/generated/models/update_activity_partial_change_request.rb +2 -1
  103. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +7 -1
  104. data/lib/getstream_ruby/generated/models/update_activity_request.rb +8 -2
  105. data/lib/getstream_ruby/generated/models/update_bookmark_request.rb +2 -2
  106. data/lib/getstream_ruby/generated/models/update_comment_bookmark_request.rb +56 -0
  107. data/lib/getstream_ruby/generated/models/update_comment_bookmark_response.rb +36 -0
  108. data/lib/getstream_ruby/generated/models/update_comment_partial_request.rb +72 -0
  109. data/lib/getstream_ruby/generated/models/update_comment_partial_response.rb +36 -0
  110. data/lib/getstream_ruby/generated/models/update_comment_request.rb +7 -1
  111. data/lib/getstream_ruby/generated/models/update_feed_request.rb +11 -1
  112. data/lib/getstream_ruby/generated/models/update_follow_request.rb +12 -1
  113. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +6 -1
  114. data/lib/getstream_ruby/generated/models/upsert_config_request.rb +1 -1
  115. data/lib/getstream_ruby/generated/models/upsert_external_storage_awss3_request.rb +46 -0
  116. data/lib/getstream_ruby/generated/models/upsert_external_storage_request.rb +36 -0
  117. data/lib/getstream_ruby/generated/models/upsert_external_storage_response.rb +31 -0
  118. data/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb +22 -12
  119. data/lib/getstream_ruby/generated/models/user_response.rb +5 -0
  120. data/lib/getstream_ruby/generated/models/validate_external_storage_response.rb +31 -0
  121. data/lib/getstream_ruby/generated/models/video_content_parameters.rb +5 -0
  122. data/lib/getstream_ruby/generated/moderation_client.rb +61 -3
  123. data/lib/getstream_ruby/generated/video_client.rb +17 -0
  124. data/lib/getstream_ruby/generated/webhook.rb +4 -0
  125. data/lib/getstream_ruby/version.rb +1 -1
  126. metadata +40 -2
@@ -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
@@ -0,0 +1,72 @@
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 UpdateCommentPartialRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute copy_custom_to_notification
13
+ # @deprecated This field is deprecated.
14
+ # @return [Boolean] Whether to copy custom data to notification activities Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
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
19
+ # @!attribute handle_mention_notifications
20
+ # @return [Boolean] Whether to handle mention notification changes
21
+ attr_accessor :handle_mention_notifications
22
+ # @!attribute skip_enrich_url
23
+ # @return [Boolean] Whether to skip URL enrichment
24
+ attr_accessor :skip_enrich_url
25
+ # @!attribute skip_push
26
+ # @return [Boolean] Whether to skip push notifications
27
+ attr_accessor :skip_push
28
+ # @!attribute user_id
29
+ # @return [String]
30
+ attr_accessor :user_id
31
+ # @!attribute unset
32
+ # @return [Array<String>] List of field names to remove. Supported fields: 'custom', 'attachments', 'mentioned_user_ids', 'status'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')
33
+ attr_accessor :unset
34
+ # @!attribute set
35
+ # @return [Object] Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'mentioned_user_ids', 'status'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')
36
+ attr_accessor :set
37
+ # @!attribute user
38
+ # @return [UserRequest]
39
+ attr_accessor :user
40
+
41
+ # Initialize with attributes
42
+ def initialize(attributes = {})
43
+ super(attributes)
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
46
+ @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
47
+ @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
48
+ @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
49
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
50
+ @unset = attributes[:unset] || attributes['unset'] || nil
51
+ @set = attributes[:set] || attributes['set'] || nil
52
+ @user = attributes[:user] || attributes['user'] || nil
53
+ end
54
+
55
+ # Override field mappings for JSON serialization
56
+ def self.json_field_mappings
57
+ {
58
+ copy_custom_to_notification: 'copy_custom_to_notification',
59
+ force_moderation: 'force_moderation',
60
+ handle_mention_notifications: 'handle_mention_notifications',
61
+ skip_enrich_url: 'skip_enrich_url',
62
+ skip_push: 'skip_push',
63
+ user_id: 'user_id',
64
+ unset: 'unset',
65
+ set: 'set',
66
+ user: 'user'
67
+ }
68
+ end
69
+ end
70
+ end
71
+ end
72
+ 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 UpdateCommentPartialResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute comment
16
+ # @return [CommentResponse]
17
+ attr_accessor :comment
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @comment = attributes[:comment] || attributes['comment']
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ comment: 'comment'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -13,8 +13,12 @@ module GetStream
13
13
  # @return [String] Updated text content of the comment
14
14
  attr_accessor :comment
15
15
  # @!attribute copy_custom_to_notification
16
- # @return [Boolean] Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications)
16
+ # @deprecated This field is deprecated.
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
17
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
18
22
  # @!attribute handle_mention_notifications
19
23
  # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
20
24
  attr_accessor :handle_mention_notifications
@@ -45,6 +49,7 @@ module GetStream
45
49
  super(attributes)
46
50
  @comment = attributes[:comment] || attributes['comment'] || nil
47
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
48
53
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
49
54
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
50
55
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
@@ -60,6 +65,7 @@ module GetStream
60
65
  {
61
66
  comment: 'comment',
62
67
  copy_custom_to_notification: 'copy_custom_to_notification',
68
+ force_moderation: 'force_moderation',
63
69
  handle_mention_notifications: 'handle_mention_notifications',
64
70
  skip_enrich_url: 'skip_enrich_url',
65
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,12 +15,19 @@ 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
- # @return [Boolean] Whether to copy custom data to the notification activity (only applies when create_notification_activity is true)
22
+ # @deprecated This field is deprecated.
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
20
24
  attr_accessor :copy_custom_to_notification
21
25
  # @!attribute create_notification_activity
22
26
  # @return [Boolean] Whether to create a notification activity for this follow
23
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
24
31
  # @!attribute enrich_own_fields
25
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.
26
33
  attr_accessor :enrich_own_fields
@@ -45,8 +52,10 @@ module GetStream
45
52
  super(attributes)
46
53
  @source = attributes[:source] || attributes['source']
47
54
  @target = attributes[:target] || attributes['target']
55
+ @activity_copy_limit = attributes[:activity_copy_limit] || attributes['activity_copy_limit'] || nil
48
56
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
49
57
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
58
+ @create_users = attributes[:create_users] || attributes['create_users'] || nil
50
59
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
51
60
  @follower_role = attributes[:follower_role] || attributes['follower_role'] || nil
52
61
  @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil
@@ -60,8 +69,10 @@ module GetStream
60
69
  {
61
70
  source: 'source',
62
71
  target: 'target',
72
+ activity_copy_limit: 'activity_copy_limit',
63
73
  copy_custom_to_notification: 'copy_custom_to_notification',
64
74
  create_notification_activity: 'create_notification_activity',
75
+ create_users: 'create_users',
65
76
  enrich_own_fields: 'enrich_own_fields',
66
77
  follower_role: 'follower_role',
67
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]
@@ -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 UpsertExternalStorageAWSS3Request < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute bucket
13
+ # @return [String]
14
+ attr_accessor :bucket
15
+ # @!attribute region
16
+ # @return [String]
17
+ attr_accessor :region
18
+ # @!attribute role_arn
19
+ # @return [String]
20
+ attr_accessor :role_arn
21
+ # @!attribute path_prefix
22
+ # @return [String]
23
+ attr_accessor :path_prefix
24
+
25
+ # Initialize with attributes
26
+ def initialize(attributes = {})
27
+ super(attributes)
28
+ @bucket = attributes[:bucket] || attributes['bucket']
29
+ @region = attributes[:region] || attributes['region']
30
+ @role_arn = attributes[:role_arn] || attributes['role_arn']
31
+ @path_prefix = attributes[:path_prefix] || attributes['path_prefix'] || nil
32
+ end
33
+
34
+ # Override field mappings for JSON serialization
35
+ def self.json_field_mappings
36
+ {
37
+ bucket: 'bucket',
38
+ region: 'region',
39
+ role_arn: 'role_arn',
40
+ path_prefix: 'path_prefix'
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ 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 UpsertExternalStorageRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute type
13
+ # @return [String]
14
+ attr_accessor :type
15
+ # @!attribute aws_s3
16
+ # @return [UpsertExternalStorageAWSS3Request]
17
+ attr_accessor :aws_s3
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @type = attributes[:type] || attributes['type']
23
+ @aws_s3 = attributes[:aws_s3] || attributes['aws_s3'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ type: 'type',
30
+ aws_s3: 'aws_s3'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,31 @@
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
+ # Basic response information
9
+ class UpsertExternalStorageResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String] Duration of the request in milliseconds
14
+ attr_accessor :duration
15
+
16
+ # Initialize with attributes
17
+ def initialize(attributes = {})
18
+ super(attributes)
19
+ @duration = attributes[:duration] || attributes['duration']
20
+ end
21
+
22
+ # Override field mappings for JSON serialization
23
+ def self.json_field_mappings
24
+ {
25
+ duration: 'duration'
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -10,41 +10,47 @@ module GetStream
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute name
13
- # @return [String]
13
+ # @return [String] Unique rule name
14
14
  attr_accessor :name
15
15
  # @!attribute rule_type
16
- # @return [String]
16
+ # @return [String] Type of rule: user, content, or call
17
17
  attr_accessor :rule_type
18
18
  # @!attribute cooldown_period
19
- # @return [String]
19
+ # @return [String] Duration before rule can trigger again (e.g. 24h, 7d)
20
20
  attr_accessor :cooldown_period
21
21
  # @!attribute description
22
- # @return [String]
22
+ # @return [String] Optional description of the rule
23
23
  attr_accessor :description
24
24
  # @!attribute enabled
25
- # @return [Boolean]
25
+ # @return [Boolean] Whether the rule is active
26
26
  attr_accessor :enabled
27
27
  # @!attribute logic
28
- # @return [String]
28
+ # @return [String] Logical operator between conditions/groups: AND or OR
29
29
  attr_accessor :logic
30
30
  # @!attribute team
31
- # @return [String]
31
+ # @return [String] Team scope for the rule
32
32
  attr_accessor :team
33
+ # @!attribute user_id
34
+ # @return [String] Optional user ID to associate with the audit log entry
35
+ attr_accessor :user_id
33
36
  # @!attribute action_sequences
34
- # @return [Array<CallRuleActionSequence>]
37
+ # @return [Array<CallRuleActionSequence>] Escalation sequences for call rules
35
38
  attr_accessor :action_sequences
36
39
  # @!attribute conditions
37
- # @return [Array<RuleBuilderCondition>]
40
+ # @return [Array<RuleBuilderCondition>] Flat list of conditions (legacy)
38
41
  attr_accessor :conditions
39
42
  # @!attribute config_keys
40
- # @return [Array<String>]
43
+ # @return [Array<String>] List of config keys this rule applies to
41
44
  attr_accessor :config_keys
42
45
  # @!attribute groups
43
- # @return [Array<RuleBuilderConditionGroup>]
46
+ # @return [Array<RuleBuilderConditionGroup>] Nested condition groups
44
47
  attr_accessor :groups
45
48
  # @!attribute action
46
49
  # @return [RuleBuilderAction]
47
50
  attr_accessor :action
51
+ # @!attribute user
52
+ # @return [UserRequest]
53
+ attr_accessor :user
48
54
 
49
55
  # Initialize with attributes
50
56
  def initialize(attributes = {})
@@ -56,11 +62,13 @@ module GetStream
56
62
  @enabled = attributes[:enabled] || attributes['enabled'] || nil
57
63
  @logic = attributes[:logic] || attributes['logic'] || nil
58
64
  @team = attributes[:team] || attributes['team'] || nil
65
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
59
66
  @action_sequences = attributes[:action_sequences] || attributes['action_sequences'] || nil
60
67
  @conditions = attributes[:conditions] || attributes['conditions'] || nil
61
68
  @config_keys = attributes[:config_keys] || attributes['config_keys'] || nil
62
69
  @groups = attributes[:groups] || attributes['groups'] || nil
63
70
  @action = attributes[:action] || attributes['action'] || nil
71
+ @user = attributes[:user] || attributes['user'] || nil
64
72
  end
65
73
 
66
74
  # Override field mappings for JSON serialization
@@ -73,11 +81,13 @@ module GetStream
73
81
  enabled: 'enabled',
74
82
  logic: 'logic',
75
83
  team: 'team',
84
+ user_id: 'user_id',
76
85
  action_sequences: 'action_sequences',
77
86
  conditions: 'conditions',
78
87
  config_keys: 'config_keys',
79
88
  groups: 'groups',
80
- action: 'action'
89
+ action: 'action',
90
+ user: 'user'
81
91
  }
82
92
  end
83
93
  end
@@ -51,6 +51,9 @@ module GetStream
51
51
  # @!attribute ban_expires
52
52
  # @return [DateTime] Date when ban expires
53
53
  attr_accessor :ban_expires
54
+ # @!attribute bypass_moderation
55
+ # @return [Boolean]
56
+ attr_accessor :bypass_moderation
54
57
  # @!attribute deactivated_at
55
58
  # @return [DateTime] Date of deactivation
56
59
  attr_accessor :deactivated_at
@@ -99,6 +102,7 @@ module GetStream
99
102
  @custom = attributes[:custom] || attributes['custom']
100
103
  @avg_response_time = attributes[:avg_response_time] || attributes['avg_response_time'] || nil
101
104
  @ban_expires = attributes[:ban_expires] || attributes['ban_expires'] || nil
105
+ @bypass_moderation = attributes[:bypass_moderation] || attributes['bypass_moderation'] || nil
102
106
  @deactivated_at = attributes[:deactivated_at] || attributes['deactivated_at'] || nil
103
107
  @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil
104
108
  @image = attributes[:image] || attributes['image'] || nil
@@ -128,6 +132,7 @@ module GetStream
128
132
  custom: 'custom',
129
133
  avg_response_time: 'avg_response_time',
130
134
  ban_expires: 'ban_expires',
135
+ bypass_moderation: 'bypass_moderation',
131
136
  deactivated_at: 'deactivated_at',
132
137
  deleted_at: 'deleted_at',
133
138
  image: 'image',
@@ -0,0 +1,31 @@
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
+ # Basic response information
9
+ class ValidateExternalStorageResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String] Duration of the request in milliseconds
14
+ attr_accessor :duration
15
+
16
+ # Initialize with attributes
17
+ def initialize(attributes = {})
18
+ super(attributes)
19
+ @duration = attributes[:duration] || attributes['duration']
20
+ end
21
+
22
+ # Override field mappings for JSON serialization
23
+ def self.json_field_mappings
24
+ {
25
+ duration: 'duration'
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -9,6 +9,9 @@ module GetStream
9
9
  class VideoContentParameters < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute label_operator
13
+ # @return [String]
14
+ attr_accessor :label_operator
12
15
  # @!attribute harm_labels
13
16
  # @return [Array<String>]
14
17
  attr_accessor :harm_labels
@@ -16,12 +19,14 @@ module GetStream
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
22
+ @label_operator = attributes[:label_operator] || attributes['label_operator'] || nil
19
23
  @harm_labels = attributes[:harm_labels] || attributes['harm_labels'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
29
+ label_operator: 'label_operator',
25
30
  harm_labels: 'harm_labels'
26
31
  }
27
32
  end