getstream-ruby 5.0.0 → 6.1.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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -0
  3. data/lib/getstream_ruby/generated/chat_client.rb +70 -0
  4. data/lib/getstream_ruby/generated/feed.rb +10 -0
  5. data/lib/getstream_ruby/generated/feeds_client.rb +122 -6
  6. data/lib/getstream_ruby/generated/models/action_log_response.rb +5 -0
  7. data/lib/getstream_ruby/generated/models/{coordinates.rb → activity_filter_config.rb} +6 -11
  8. data/lib/getstream_ruby/generated/models/activity_request.rb +1 -1
  9. data/lib/getstream_ruby/generated/models/activity_response.rb +1 -1
  10. data/lib/getstream_ruby/generated/models/activity_selector_config.rb +1 -1
  11. data/lib/getstream_ruby/generated/models/activity_selector_config_response.rb +1 -1
  12. data/lib/getstream_ruby/generated/models/add_activity_request.rb +6 -1
  13. data/lib/getstream_ruby/generated/models/add_comment_bookmark_request.rb +51 -0
  14. data/lib/getstream_ruby/generated/models/{custom_action_request.rb → add_comment_bookmark_response.rb} +10 -10
  15. data/lib/getstream_ruby/generated/models/add_comment_request.rb +5 -0
  16. data/lib/getstream_ruby/generated/models/aggregation_config.rb +5 -0
  17. data/lib/getstream_ruby/generated/models/app_response_fields.rb +5 -0
  18. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  19. data/lib/getstream_ruby/generated/models/ban_action_request_payload.rb +5 -0
  20. data/lib/getstream_ruby/generated/models/{delete_moderation_template_request.rb → bodyguard_profile_summary.rb} +8 -3
  21. data/lib/getstream_ruby/generated/models/bookmark_response.rb +20 -0
  22. data/lib/getstream_ruby/generated/models/{delete_bookmark_folder_request.rb → bulk_delete_action_config_request.rb} +6 -1
  23. data/lib/getstream_ruby/generated/models/bulk_delete_action_config_response.rb +36 -0
  24. data/lib/getstream_ruby/generated/models/bulk_upsert_action_config_request.rb +41 -0
  25. data/lib/getstream_ruby/generated/models/bulk_upsert_action_config_response.rb +36 -0
  26. data/lib/getstream_ruby/generated/models/{delivery_receipts.rb → bypass_action_request.rb} +1 -1
  27. data/lib/getstream_ruby/generated/models/{typing_indicators.rb → bypass_request.rb} +9 -4
  28. data/lib/getstream_ruby/generated/models/{block_action_request.rb → bypass_response.rb} +5 -5
  29. data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +20 -0
  30. data/lib/getstream_ruby/generated/models/call_stats_participant_session.rb +20 -0
  31. data/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb +5 -0
  32. data/lib/getstream_ruby/generated/models/call_stats_session_response.rb +61 -0
  33. data/lib/getstream_ruby/generated/models/campaign_channel_template.rb +6 -6
  34. data/lib/getstream_ruby/generated/models/campaign_message_template.rb +8 -8
  35. data/lib/getstream_ruby/generated/models/change_feed_visibility_request.rb +36 -0
  36. data/lib/getstream_ruby/generated/models/{reject_appeal_request.rb → change_feed_visibility_response.rb} +10 -5
  37. data/lib/getstream_ruby/generated/models/channel_message_count_rule_parameters.rb +36 -0
  38. data/lib/getstream_ruby/generated/models/{message.rb → chat_message_response.rb} +23 -58
  39. data/lib/getstream_ruby/generated/models/comment_response.rb +5 -0
  40. data/lib/getstream_ruby/generated/models/config_response.rb +5 -0
  41. data/lib/getstream_ruby/generated/models/create_campaign_request.rb +96 -0
  42. data/lib/getstream_ruby/generated/models/create_campaign_response.rb +41 -0
  43. data/lib/getstream_ruby/generated/models/create_feed_group_request.rb +5 -0
  44. data/lib/getstream_ruby/generated/models/delete_action_config_response.rb +36 -0
  45. data/lib/getstream_ruby/generated/models/{read_receipts.rb → delete_campaign_response.rb} +7 -7
  46. data/lib/getstream_ruby/generated/models/{any_event.rb → delete_comment_bookmark_response.rb} +10 -10
  47. data/lib/getstream_ruby/generated/models/emau_stats_response.rb +41 -0
  48. data/lib/getstream_ruby/generated/models/enrichment_options.rb +5 -0
  49. data/lib/getstream_ruby/generated/models/entity_creator_response.rb +5 -0
  50. data/lib/getstream_ruby/generated/models/error_result.rb +5 -0
  51. data/lib/getstream_ruby/generated/models/event_hook.rb +6 -1
  52. data/lib/getstream_ruby/generated/models/feed_group.rb +5 -0
  53. data/lib/getstream_ruby/generated/models/feed_group_response.rb +5 -0
  54. data/lib/getstream_ruby/generated/models/feed_input.rb +6 -1
  55. data/lib/getstream_ruby/generated/models/feed_request.rb +6 -1
  56. data/lib/getstream_ruby/generated/models/feed_response.rb +5 -0
  57. data/lib/getstream_ruby/generated/models/feed_suggestion_response.rb +5 -0
  58. data/lib/getstream_ruby/generated/models/follow_batch_request.rb +5 -0
  59. data/lib/getstream_ruby/generated/models/follow_request.rb +10 -0
  60. data/lib/getstream_ruby/generated/models/full_user_response.rb +5 -0
  61. data/lib/getstream_ruby/generated/models/get_action_config_response.rb +36 -0
  62. data/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb +6 -1
  63. data/lib/getstream_ruby/generated/models/get_or_create_feed_group_request.rb +5 -0
  64. data/lib/getstream_ruby/generated/models/grouped_channels_bucket.rb +36 -0
  65. data/lib/getstream_ruby/generated/models/{delete_collections_request.rb → grouped_query_channels_request.rb} +6 -1
  66. data/lib/getstream_ruby/generated/models/grouped_query_channels_response.rb +36 -0
  67. data/lib/getstream_ruby/generated/models/import_v2_task_item.rb +6 -1
  68. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
  69. data/lib/getstream_ruby/generated/models/insert_action_log_request.rb +10 -0
  70. data/lib/getstream_ruby/generated/models/label_result_response.rb +101 -0
  71. data/lib/getstream_ruby/generated/models/labels_request.rb +56 -0
  72. data/lib/getstream_ruby/generated/models/labels_response.rb +71 -0
  73. data/lib/getstream_ruby/generated/models/location.rb +10 -15
  74. data/lib/getstream_ruby/generated/models/message_new_event.rb +5 -0
  75. data/lib/getstream_ruby/generated/models/moderation_action_config_response.rb +5 -0
  76. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +5 -0
  77. data/lib/getstream_ruby/generated/models/notification_mark_unread_event.rb +5 -0
  78. data/lib/getstream_ruby/generated/models/query_activities_request.rb +5 -0
  79. data/lib/getstream_ruby/generated/models/query_call_session_stats_request.rb +51 -0
  80. data/lib/getstream_ruby/generated/models/query_call_session_stats_response.rb +46 -0
  81. data/lib/getstream_ruby/generated/models/query_comments_request.rb +2 -2
  82. data/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb +6 -1
  83. data/lib/getstream_ruby/generated/models/query_label_results_request.rb +61 -0
  84. data/lib/getstream_ruby/generated/models/query_label_results_response.rb +46 -0
  85. data/lib/getstream_ruby/generated/models/query_reactions_request.rb +2 -2
  86. data/lib/getstream_ruby/generated/models/query_review_queue_request.rb +5 -0
  87. data/lib/getstream_ruby/generated/models/query_review_queue_response.rb +5 -0
  88. data/lib/getstream_ruby/generated/models/query_revision_history_request.rb +51 -0
  89. data/lib/getstream_ruby/generated/models/query_revision_history_response.rb +46 -0
  90. data/lib/getstream_ruby/generated/models/query_threads_request.rb +2 -2
  91. data/lib/getstream_ruby/generated/models/raw_record_settings.rb +6 -1
  92. data/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb +6 -1
  93. data/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb +6 -1
  94. data/lib/getstream_ruby/generated/models/review_queue_item_response.rb +1 -1
  95. data/lib/getstream_ruby/generated/models/revision_history_response.rb +66 -0
  96. data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +5 -0
  97. data/lib/getstream_ruby/generated/models/submit_action_request.rb +5 -0
  98. data/lib/getstream_ruby/generated/models/threaded_comment_response.rb +5 -0
  99. data/lib/getstream_ruby/generated/models/unban_action_request_payload.rb +6 -1
  100. data/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb +6 -1
  101. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +5 -0
  102. data/lib/getstream_ruby/generated/models/update_activity_request.rb +6 -1
  103. data/lib/getstream_ruby/generated/models/update_bookmark_request.rb +2 -2
  104. data/lib/getstream_ruby/generated/models/update_campaign_request.rb +96 -0
  105. data/lib/getstream_ruby/generated/models/update_comment_bookmark_request.rb +56 -0
  106. data/lib/getstream_ruby/generated/models/update_comment_bookmark_response.rb +36 -0
  107. data/lib/getstream_ruby/generated/models/update_comment_partial_request.rb +5 -0
  108. data/lib/getstream_ruby/generated/models/update_comment_request.rb +5 -0
  109. data/lib/getstream_ruby/generated/models/update_feed_group_request.rb +5 -0
  110. data/lib/getstream_ruby/generated/models/update_feed_request.rb +11 -1
  111. data/lib/getstream_ruby/generated/models/update_follow_request.rb +10 -0
  112. data/lib/getstream_ruby/generated/models/{moderation_action_config.rb → upsert_action_config_item.rb} +22 -12
  113. data/lib/getstream_ruby/generated/models/upsert_action_config_request.rb +76 -0
  114. data/lib/getstream_ruby/generated/models/upsert_action_config_response.rb +36 -0
  115. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +6 -1
  116. data/lib/getstream_ruby/generated/models/upsert_config_request.rb +1 -1
  117. data/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb +22 -12
  118. data/lib/getstream_ruby/generated/models/user_response.rb +5 -0
  119. data/lib/getstream_ruby/generated/models/webhook_failover_config.rb +46 -0
  120. data/lib/getstream_ruby/generated/moderation_client.rb +159 -3
  121. data/lib/getstream_ruby/generated/video_client.rb +17 -0
  122. data/lib/getstream_ruby/version.rb +1 -1
  123. metadata +45 -94
  124. data/lib/getstream_ruby/generated/models/activity_location.rb +0 -36
  125. data/lib/getstream_ruby/generated/models/activity_marked_event.rb +0 -66
  126. data/lib/getstream_ruby/generated/models/automod_details.rb +0 -51
  127. data/lib/getstream_ruby/generated/models/ban.rb +0 -61
  128. data/lib/getstream_ruby/generated/models/ban_action_request.rb +0 -56
  129. data/lib/getstream_ruby/generated/models/channel.rb +0 -161
  130. data/lib/getstream_ruby/generated/models/channel_batch_updated_completed_event.rb +0 -81
  131. data/lib/getstream_ruby/generated/models/channel_batch_updated_started_event.rb +0 -81
  132. data/lib/getstream_ruby/generated/models/channel_member.rb +0 -141
  133. data/lib/getstream_ruby/generated/models/channel_member_lookup.rb +0 -66
  134. data/lib/getstream_ruby/generated/models/channel_messages.rb +0 -36
  135. data/lib/getstream_ruby/generated/models/channel_push_preferences.rb +0 -36
  136. data/lib/getstream_ruby/generated/models/config_overrides.rb +0 -96
  137. data/lib/getstream_ruby/generated/models/delete_activity_reaction_request.rb +0 -14
  138. data/lib/getstream_ruby/generated/models/delete_activity_request.rb +0 -14
  139. data/lib/getstream_ruby/generated/models/delete_block_list_request.rb +0 -14
  140. data/lib/getstream_ruby/generated/models/delete_bookmark_request.rb +0 -14
  141. data/lib/getstream_ruby/generated/models/delete_call_type_request.rb +0 -14
  142. data/lib/getstream_ruby/generated/models/delete_channel_request.rb +0 -14
  143. data/lib/getstream_ruby/generated/models/delete_command_request.rb +0 -14
  144. data/lib/getstream_ruby/generated/models/delete_comment_reaction_request.rb +0 -14
  145. data/lib/getstream_ruby/generated/models/delete_comment_request.rb +0 -14
  146. data/lib/getstream_ruby/generated/models/delete_custom_role_request.rb +0 -14
  147. data/lib/getstream_ruby/generated/models/delete_device_request.rb +0 -14
  148. data/lib/getstream_ruby/generated/models/delete_draft_request.rb +0 -14
  149. data/lib/getstream_ruby/generated/models/delete_external_storage_request.rb +0 -14
  150. data/lib/getstream_ruby/generated/models/delete_feed_group_request.rb +0 -14
  151. data/lib/getstream_ruby/generated/models/delete_feed_request.rb +0 -14
  152. data/lib/getstream_ruby/generated/models/delete_feed_view_request.rb +0 -14
  153. data/lib/getstream_ruby/generated/models/delete_import_v2_task_request.rb +0 -14
  154. data/lib/getstream_ruby/generated/models/delete_membership_level_request.rb +0 -14
  155. data/lib/getstream_ruby/generated/models/delete_message_request.rb +0 -14
  156. data/lib/getstream_ruby/generated/models/delete_moderation_config_request.rb +0 -14
  157. data/lib/getstream_ruby/generated/models/delete_poll_option_request.rb +0 -14
  158. data/lib/getstream_ruby/generated/models/delete_poll_request.rb +0 -14
  159. data/lib/getstream_ruby/generated/models/delete_poll_vote_request.rb +0 -14
  160. data/lib/getstream_ruby/generated/models/delete_push_provider_request.rb +0 -14
  161. data/lib/getstream_ruby/generated/models/delete_reaction_request.rb +0 -14
  162. data/lib/getstream_ruby/generated/models/delete_recording_request.rb +0 -14
  163. data/lib/getstream_ruby/generated/models/delete_reminder_request.rb +0 -14
  164. data/lib/getstream_ruby/generated/models/delete_segment_request.rb +0 -14
  165. data/lib/getstream_ruby/generated/models/delete_sip_inbound_routing_rule_request.rb +0 -14
  166. data/lib/getstream_ruby/generated/models/delete_sip_trunk_request.rb +0 -14
  167. data/lib/getstream_ruby/generated/models/delete_transcription_request.rb +0 -14
  168. data/lib/getstream_ruby/generated/models/delete_user_group_request.rb +0 -14
  169. data/lib/getstream_ruby/generated/models/delete_user_request.rb +0 -51
  170. data/lib/getstream_ruby/generated/models/denormalized_channel_fields.rb +0 -81
  171. data/lib/getstream_ruby/generated/models/device.rb +0 -66
  172. data/lib/getstream_ruby/generated/models/feeds_moderation_template_config.rb +0 -36
  173. data/lib/getstream_ruby/generated/models/file_delete_request.rb +0 -14
  174. data/lib/getstream_ruby/generated/models/flag.rb +0 -96
  175. data/lib/getstream_ruby/generated/models/flag_details.rb +0 -41
  176. data/lib/getstream_ruby/generated/models/flag_feedback.rb +0 -41
  177. data/lib/getstream_ruby/generated/models/flag_message_details.rb +0 -46
  178. data/lib/getstream_ruby/generated/models/follow_pair.rb +0 -36
  179. data/lib/getstream_ruby/generated/models/get_channel_type_request.rb +0 -14
  180. data/lib/getstream_ruby/generated/models/label.rb +0 -41
  181. data/lib/getstream_ruby/generated/models/limit_info.rb +0 -41
  182. data/lib/getstream_ruby/generated/models/mark_reviewed_request.rb +0 -41
  183. data/lib/getstream_ruby/generated/models/message_reminder.rb +0 -76
  184. data/lib/getstream_ruby/generated/models/own_user.rb +0 -166
  185. data/lib/getstream_ruby/generated/models/poll.rb +0 -131
  186. data/lib/getstream_ruby/generated/models/poll_option.rb +0 -41
  187. data/lib/getstream_ruby/generated/models/poll_vote.rb +0 -71
  188. data/lib/getstream_ruby/generated/models/privacy_settings.rb +0 -41
  189. data/lib/getstream_ruby/generated/models/push_preferences.rb +0 -51
  190. data/lib/getstream_ruby/generated/models/restore_action_request.rb +0 -31
  191. data/lib/getstream_ruby/generated/models/retention_cleanup_run.rb +0 -76
  192. data/lib/getstream_ruby/generated/models/shadow_block_action_request.rb +0 -31
  193. data/lib/getstream_ruby/generated/models/sip_challenge.rb +0 -106
  194. data/lib/getstream_ruby/generated/models/sort_param.rb +0 -41
  195. data/lib/getstream_ruby/generated/models/unban_action_request.rb +0 -31
  196. data/lib/getstream_ruby/generated/models/unblock_action_request.rb +0 -31
  197. data/lib/getstream_ruby/generated/models/unfollow_request.rb +0 -14
  198. data/lib/getstream_ruby/generated/models/unpin_activity_request.rb +0 -14
  199. data/lib/getstream_ruby/generated/models/user_mute.rb +0 -51
  200. data/lib/getstream_ruby/generated/models/video_end_call_request.rb +0 -14
  201. data/lib/getstream_ruby/generated/models/video_kick_user_request.rb +0 -14
  202. data/lib/getstream_ruby/generated/models/webhook_event.rb +0 -31
@@ -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',
@@ -18,6 +18,9 @@ module GetStream
18
18
  # @!attribute activity_selectors
19
19
  # @return [Array<ActivitySelectorConfig>] Configuration for activity selectors
20
20
  attr_accessor :activity_selectors
21
+ # @!attribute activity_filter
22
+ # @return [ActivityFilterConfig]
23
+ attr_accessor :activity_filter
21
24
  # @!attribute aggregation
22
25
  # @return [AggregationConfig]
23
26
  attr_accessor :aggregation
@@ -43,6 +46,7 @@ module GetStream
43
46
  @default_visibility = attributes[:default_visibility] || attributes['default_visibility'] || nil
44
47
  @activity_processors = attributes[:activity_processors] || attributes['activity_processors'] || nil
45
48
  @activity_selectors = attributes[:activity_selectors] || attributes['activity_selectors'] || nil
49
+ @activity_filter = attributes[:activity_filter] || attributes['activity_filter'] || nil
46
50
  @aggregation = attributes[:aggregation] || attributes['aggregation'] || nil
47
51
  @custom = attributes[:custom] || attributes['custom'] || nil
48
52
  @notification = attributes[:notification] || attributes['notification'] || nil
@@ -57,6 +61,7 @@ module GetStream
57
61
  default_visibility: 'default_visibility',
58
62
  activity_processors: 'activity_processors',
59
63
  activity_selectors: 'activity_selectors',
64
+ activity_filter: 'activity_filter',
60
65
  aggregation: 'aggregation',
61
66
  custom: 'custom',
62
67
  notification: 'notification',
@@ -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',
@@ -6,24 +6,30 @@ module GetStream
6
6
  module Generated
7
7
  module Models
8
8
  #
9
- class ModerationActionConfig < GetStream::BaseModel
9
+ class UpsertActionConfigItem < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute action
13
13
  # @return [String]
14
14
  attr_accessor :action
15
- # @!attribute description
16
- # @return [String]
17
- attr_accessor :description
18
15
  # @!attribute entity_type
19
16
  # @return [String]
20
17
  attr_accessor :entity_type
21
- # @!attribute icon
22
- # @return [String]
23
- attr_accessor :icon
24
18
  # @!attribute order
25
19
  # @return [Integer]
26
20
  attr_accessor :order
21
+ # @!attribute description
22
+ # @return [String]
23
+ attr_accessor :description
24
+ # @!attribute icon
25
+ # @return [String]
26
+ attr_accessor :icon
27
+ # @!attribute id
28
+ # @return [String]
29
+ attr_accessor :id
30
+ # @!attribute queue_type
31
+ # @return [String]
32
+ attr_accessor :queue_type
27
33
  # @!attribute custom
28
34
  # @return [Object]
29
35
  attr_accessor :custom
@@ -32,21 +38,25 @@ module GetStream
32
38
  def initialize(attributes = {})
33
39
  super(attributes)
34
40
  @action = attributes[:action] || attributes['action']
35
- @description = attributes[:description] || attributes['description']
36
41
  @entity_type = attributes[:entity_type] || attributes['entity_type']
37
- @icon = attributes[:icon] || attributes['icon']
38
42
  @order = attributes[:order] || attributes['order']
39
- @custom = attributes[:custom] || attributes['custom']
43
+ @description = attributes[:description] || attributes['description'] || nil
44
+ @icon = attributes[:icon] || attributes['icon'] || nil
45
+ @id = attributes[:id] || attributes['id'] || nil
46
+ @queue_type = attributes[:queue_type] || attributes['queue_type'] || nil
47
+ @custom = attributes[:custom] || attributes['custom'] || nil
40
48
  end
41
49
 
42
50
  # Override field mappings for JSON serialization
43
51
  def self.json_field_mappings
44
52
  {
45
53
  action: 'action',
46
- description: 'description',
47
54
  entity_type: 'entity_type',
48
- icon: 'icon',
49
55
  order: 'order',
56
+ description: 'description',
57
+ icon: 'icon',
58
+ id: 'id',
59
+ queue_type: 'queue_type',
50
60
  custom: 'custom'
51
61
  }
52
62
  end
@@ -0,0 +1,76 @@
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 UpsertActionConfigRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute action
13
+ # @return [String] The action to perform (e.g. ban, delete_message, custom)
14
+ attr_accessor :action
15
+ # @!attribute entity_type
16
+ # @return [String] Type of entity this action applies to (e.g. stream:chat:v1:message)
17
+ attr_accessor :entity_type
18
+ # @!attribute order
19
+ # @return [Integer] Display order in the dashboard (0–100, lower numbers shown first)
20
+ attr_accessor :order
21
+ # @!attribute description
22
+ # @return [String] Human-readable label for the dashboard button
23
+ attr_accessor :description
24
+ # @!attribute icon
25
+ # @return [String] Icon identifier for the dashboard button
26
+ attr_accessor :icon
27
+ # @!attribute id
28
+ # @return [String] UUID of an existing action config to update; omit to create a new record
29
+ attr_accessor :id
30
+ # @!attribute queue_type
31
+ # @return [String] Queue this config belongs to; null means the default queue
32
+ attr_accessor :queue_type
33
+ # @!attribute user_id
34
+ # @return [String] Optional user ID to associate with the audit log entry
35
+ attr_accessor :user_id
36
+ # @!attribute custom
37
+ # @return [Object] Action-specific parameters passed to the action handler
38
+ attr_accessor :custom
39
+ # @!attribute user
40
+ # @return [UserRequest]
41
+ attr_accessor :user
42
+
43
+ # Initialize with attributes
44
+ def initialize(attributes = {})
45
+ super(attributes)
46
+ @action = attributes[:action] || attributes['action']
47
+ @entity_type = attributes[:entity_type] || attributes['entity_type']
48
+ @order = attributes[:order] || attributes['order']
49
+ @description = attributes[:description] || attributes['description'] || nil
50
+ @icon = attributes[:icon] || attributes['icon'] || nil
51
+ @id = attributes[:id] || attributes['id'] || nil
52
+ @queue_type = attributes[:queue_type] || attributes['queue_type'] || nil
53
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
54
+ @custom = attributes[:custom] || attributes['custom'] || nil
55
+ @user = attributes[:user] || attributes['user'] || nil
56
+ end
57
+
58
+ # Override field mappings for JSON serialization
59
+ def self.json_field_mappings
60
+ {
61
+ action: 'action',
62
+ entity_type: 'entity_type',
63
+ order: 'order',
64
+ description: 'description',
65
+ icon: 'icon',
66
+ id: 'id',
67
+ queue_type: 'queue_type',
68
+ user_id: 'user_id',
69
+ custom: 'custom',
70
+ user: 'user'
71
+ }
72
+ end
73
+ end
74
+ end
75
+ end
76
+ 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 UpsertActionConfigResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute action_config
16
+ # @return [ModerationActionConfigResponse]
17
+ attr_accessor :action_config
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @action_config = attributes[:action_config] || attributes['action_config'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ action_config: 'action_config'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -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]
@@ -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,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 WebhookFailoverConfig < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute gcs_bucket
13
+ # @return [String]
14
+ attr_accessor :gcs_bucket
15
+ # @!attribute gcs_credentials
16
+ # @return [String]
17
+ attr_accessor :gcs_credentials
18
+ # @!attribute gcs_path
19
+ # @return [String]
20
+ attr_accessor :gcs_path
21
+ # @!attribute type
22
+ # @return [String]
23
+ attr_accessor :type
24
+
25
+ # Initialize with attributes
26
+ def initialize(attributes = {})
27
+ super(attributes)
28
+ @gcs_bucket = attributes[:gcs_bucket] || attributes['gcs_bucket'] || nil
29
+ @gcs_credentials = attributes[:gcs_credentials] || attributes['gcs_credentials'] || nil
30
+ @gcs_path = attributes[:gcs_path] || attributes['gcs_path'] || nil
31
+ @type = attributes[:type] || attributes['type'] || nil
32
+ end
33
+
34
+ # Override field mappings for JSON serialization
35
+ def self.json_field_mappings
36
+ {
37
+ gcs_bucket: 'gcs_bucket',
38
+ gcs_credentials: 'gcs_credentials',
39
+ gcs_path: 'gcs_path',
40
+ type: 'type'
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end