getstream-ruby 6.0.0 → 6.1.1

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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -0
  3. data/lib/getstream_ruby/client.rb +16 -5
  4. data/lib/getstream_ruby/configuration.rb +32 -5
  5. data/lib/getstream_ruby/generated/chat_client.rb +70 -0
  6. data/lib/getstream_ruby/generated/feed.rb +10 -0
  7. data/lib/getstream_ruby/generated/feeds_client.rb +41 -2
  8. data/lib/getstream_ruby/generated/models/action_log_response.rb +5 -0
  9. data/lib/getstream_ruby/generated/models/{coordinates.rb → activity_filter_config.rb} +6 -11
  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 +5 -0
  13. data/lib/getstream_ruby/generated/models/add_reaction_request.rb +5 -0
  14. data/lib/getstream_ruby/generated/models/app_response_fields.rb +5 -0
  15. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  16. data/lib/getstream_ruby/generated/models/{label.rb → bodyguard_profile_summary.rb} +11 -11
  17. data/lib/getstream_ruby/generated/models/{delete_bookmark_folder_request.rb → bulk_delete_action_config_request.rb} +6 -1
  18. data/lib/getstream_ruby/generated/models/bulk_delete_action_config_response.rb +36 -0
  19. data/lib/getstream_ruby/generated/models/bulk_upsert_action_config_request.rb +41 -0
  20. data/lib/getstream_ruby/generated/models/bulk_upsert_action_config_response.rb +36 -0
  21. data/lib/getstream_ruby/generated/models/call_stats_participant_session.rb +5 -0
  22. data/lib/getstream_ruby/generated/models/campaign_channel_template.rb +6 -6
  23. data/lib/getstream_ruby/generated/models/campaign_message_template.rb +8 -8
  24. data/lib/getstream_ruby/generated/models/change_feed_visibility_request.rb +36 -0
  25. data/lib/getstream_ruby/generated/models/{reject_appeal_request.rb → change_feed_visibility_response.rb} +10 -5
  26. data/lib/getstream_ruby/generated/models/{custom_action_request.rb → channel_message_count_rule_parameters.rb} +10 -10
  27. data/lib/getstream_ruby/generated/models/chat_draft_payload_response.rb +91 -0
  28. data/lib/getstream_ruby/generated/models/chat_draft_response.rb +56 -0
  29. data/lib/getstream_ruby/generated/models/{message.rb → chat_message_response.rb} +48 -28
  30. data/lib/getstream_ruby/generated/models/chat_moderation_v2_response.rb +66 -0
  31. data/lib/getstream_ruby/generated/models/chat_reaction_group_response.rb +51 -0
  32. data/lib/getstream_ruby/generated/models/{any_event.rb → chat_reaction_group_user_response.rb} +10 -5
  33. data/lib/getstream_ruby/generated/models/chat_reaction_response.rb +66 -0
  34. data/lib/getstream_ruby/generated/models/{message_reminder.rb → chat_reminder_response_data.rb} +3 -13
  35. data/lib/getstream_ruby/generated/models/chat_shared_location_response_data.rb +76 -0
  36. data/lib/getstream_ruby/generated/models/config_response.rb +5 -0
  37. data/lib/getstream_ruby/generated/models/create_campaign_request.rb +96 -0
  38. data/lib/getstream_ruby/generated/models/create_campaign_response.rb +41 -0
  39. data/lib/getstream_ruby/generated/models/create_feed_group_request.rb +5 -0
  40. data/lib/getstream_ruby/generated/models/delete_action_config_response.rb +36 -0
  41. data/lib/getstream_ruby/generated/models/{delivery_receipts.rb → delete_campaign_response.rb} +7 -7
  42. data/lib/getstream_ruby/generated/models/enrichment_options.rb +5 -0
  43. data/lib/getstream_ruby/generated/models/error_result.rb +5 -0
  44. data/lib/getstream_ruby/generated/models/event_hook.rb +6 -1
  45. data/lib/getstream_ruby/generated/models/feed_group.rb +5 -0
  46. data/lib/getstream_ruby/generated/models/feed_group_response.rb +5 -0
  47. data/lib/getstream_ruby/generated/models/{activity_location.rb → feeds_activity_location.rb} +3 -3
  48. data/lib/getstream_ruby/generated/models/feeds_bookmark_response.rb +61 -0
  49. data/lib/getstream_ruby/generated/models/{poll_vote.rb → feeds_enriched_collection_response.rb} +15 -25
  50. data/lib/getstream_ruby/generated/models/feeds_feed_response.rb +116 -0
  51. data/lib/getstream_ruby/generated/models/feeds_notification_comment.rb +46 -0
  52. data/lib/getstream_ruby/generated/models/{follow_pair.rb → feeds_notification_context.rb} +9 -9
  53. data/lib/getstream_ruby/generated/models/feeds_notification_parent_activity.rb +51 -0
  54. data/lib/getstream_ruby/generated/models/feeds_notification_target.rb +71 -0
  55. data/lib/getstream_ruby/generated/models/{poll_option.rb → feeds_notification_trigger.rb} +12 -7
  56. data/lib/getstream_ruby/generated/models/feeds_reaction_group_response.rb +3 -3
  57. data/lib/getstream_ruby/generated/models/feeds_reaction_response.rb +6 -6
  58. data/lib/getstream_ruby/generated/models/feeds_v3_activity_response.rb +66 -6
  59. data/lib/getstream_ruby/generated/models/feeds_v3_comment_response.rb +17 -2
  60. data/lib/getstream_ruby/generated/models/get_action_config_response.rb +36 -0
  61. data/lib/getstream_ruby/generated/models/get_or_create_feed_group_request.rb +5 -0
  62. data/lib/getstream_ruby/generated/models/grouped_channels_bucket.rb +36 -0
  63. data/lib/getstream_ruby/generated/models/{delete_collections_request.rb → grouped_query_channels_request.rb} +6 -1
  64. data/lib/getstream_ruby/generated/models/grouped_query_channels_response.rb +36 -0
  65. data/lib/getstream_ruby/generated/models/insert_action_log_request.rb +10 -0
  66. data/lib/getstream_ruby/generated/models/label_result_response.rb +101 -0
  67. data/lib/getstream_ruby/generated/models/labels_request.rb +56 -0
  68. data/lib/getstream_ruby/generated/models/labels_response.rb +71 -0
  69. data/lib/getstream_ruby/generated/models/message_new_event.rb +5 -0
  70. data/lib/getstream_ruby/generated/models/moderation_action_config_response.rb +5 -0
  71. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +5 -0
  72. data/lib/getstream_ruby/generated/models/notification_mark_unread_event.rb +5 -0
  73. data/lib/getstream_ruby/generated/models/query_label_results_request.rb +61 -0
  74. data/lib/getstream_ruby/generated/models/query_label_results_response.rb +46 -0
  75. data/lib/getstream_ruby/generated/models/query_review_queue_request.rb +5 -0
  76. data/lib/getstream_ruby/generated/models/query_review_queue_response.rb +5 -0
  77. data/lib/getstream_ruby/generated/models/query_revision_history_request.rb +51 -0
  78. data/lib/getstream_ruby/generated/models/query_revision_history_response.rb +46 -0
  79. data/lib/getstream_ruby/generated/models/review_queue_item_response.rb +1 -1
  80. data/lib/getstream_ruby/generated/models/revision_history_response.rb +66 -0
  81. data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +5 -0
  82. data/lib/getstream_ruby/generated/models/submit_moderation_feedback_request.rb +71 -0
  83. data/lib/getstream_ruby/generated/models/{block_action_request.rb → submit_moderation_feedback_response.rb} +5 -5
  84. data/lib/getstream_ruby/generated/models/update_app_request.rb +5 -0
  85. data/lib/getstream_ruby/generated/models/update_campaign_request.rb +96 -0
  86. data/lib/getstream_ruby/generated/models/update_feed_group_request.rb +5 -0
  87. data/lib/getstream_ruby/generated/models/{moderation_action_config.rb → upsert_action_config_item.rb} +22 -12
  88. data/lib/getstream_ruby/generated/models/upsert_action_config_request.rb +76 -0
  89. data/lib/getstream_ruby/generated/models/upsert_action_config_response.rb +36 -0
  90. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +5 -0
  91. data/lib/getstream_ruby/generated/models/webhook_failover_config.rb +46 -0
  92. data/lib/getstream_ruby/generated/moderation_client.rb +149 -0
  93. data/lib/getstream_ruby/version.rb +1 -1
  94. data/lib/getstream_ruby.rb +2 -3
  95. metadata +52 -94
  96. data/lib/getstream_ruby/generated/models/activity_marked_event.rb +0 -66
  97. data/lib/getstream_ruby/generated/models/automod_details.rb +0 -51
  98. data/lib/getstream_ruby/generated/models/ban.rb +0 -61
  99. data/lib/getstream_ruby/generated/models/ban_action_request.rb +0 -56
  100. data/lib/getstream_ruby/generated/models/channel.rb +0 -161
  101. data/lib/getstream_ruby/generated/models/channel_batch_updated_completed_event.rb +0 -81
  102. data/lib/getstream_ruby/generated/models/channel_batch_updated_started_event.rb +0 -81
  103. data/lib/getstream_ruby/generated/models/channel_member.rb +0 -141
  104. data/lib/getstream_ruby/generated/models/channel_member_lookup.rb +0 -66
  105. data/lib/getstream_ruby/generated/models/channel_messages.rb +0 -36
  106. data/lib/getstream_ruby/generated/models/channel_push_preferences.rb +0 -36
  107. data/lib/getstream_ruby/generated/models/config_overrides.rb +0 -96
  108. data/lib/getstream_ruby/generated/models/delete_activity_reaction_request.rb +0 -14
  109. data/lib/getstream_ruby/generated/models/delete_activity_request.rb +0 -14
  110. data/lib/getstream_ruby/generated/models/delete_block_list_request.rb +0 -14
  111. data/lib/getstream_ruby/generated/models/delete_bookmark_request.rb +0 -14
  112. data/lib/getstream_ruby/generated/models/delete_call_type_request.rb +0 -14
  113. data/lib/getstream_ruby/generated/models/delete_channel_request.rb +0 -14
  114. data/lib/getstream_ruby/generated/models/delete_command_request.rb +0 -14
  115. data/lib/getstream_ruby/generated/models/delete_comment_reaction_request.rb +0 -14
  116. data/lib/getstream_ruby/generated/models/delete_comment_request.rb +0 -14
  117. data/lib/getstream_ruby/generated/models/delete_custom_role_request.rb +0 -14
  118. data/lib/getstream_ruby/generated/models/delete_device_request.rb +0 -14
  119. data/lib/getstream_ruby/generated/models/delete_draft_request.rb +0 -14
  120. data/lib/getstream_ruby/generated/models/delete_external_storage_request.rb +0 -14
  121. data/lib/getstream_ruby/generated/models/delete_feed_group_request.rb +0 -14
  122. data/lib/getstream_ruby/generated/models/delete_feed_request.rb +0 -14
  123. data/lib/getstream_ruby/generated/models/delete_feed_view_request.rb +0 -14
  124. data/lib/getstream_ruby/generated/models/delete_import_v2_task_request.rb +0 -14
  125. data/lib/getstream_ruby/generated/models/delete_membership_level_request.rb +0 -14
  126. data/lib/getstream_ruby/generated/models/delete_message_request.rb +0 -14
  127. data/lib/getstream_ruby/generated/models/delete_moderation_config_request.rb +0 -14
  128. data/lib/getstream_ruby/generated/models/delete_moderation_template_request.rb +0 -31
  129. data/lib/getstream_ruby/generated/models/delete_poll_option_request.rb +0 -14
  130. data/lib/getstream_ruby/generated/models/delete_poll_request.rb +0 -14
  131. data/lib/getstream_ruby/generated/models/delete_poll_vote_request.rb +0 -14
  132. data/lib/getstream_ruby/generated/models/delete_push_provider_request.rb +0 -14
  133. data/lib/getstream_ruby/generated/models/delete_reaction_request.rb +0 -14
  134. data/lib/getstream_ruby/generated/models/delete_recording_request.rb +0 -14
  135. data/lib/getstream_ruby/generated/models/delete_reminder_request.rb +0 -14
  136. data/lib/getstream_ruby/generated/models/delete_segment_request.rb +0 -14
  137. data/lib/getstream_ruby/generated/models/delete_sip_inbound_routing_rule_request.rb +0 -14
  138. data/lib/getstream_ruby/generated/models/delete_sip_trunk_request.rb +0 -14
  139. data/lib/getstream_ruby/generated/models/delete_transcription_request.rb +0 -14
  140. data/lib/getstream_ruby/generated/models/delete_user_group_request.rb +0 -14
  141. data/lib/getstream_ruby/generated/models/delete_user_request.rb +0 -51
  142. data/lib/getstream_ruby/generated/models/denormalized_channel_fields.rb +0 -81
  143. data/lib/getstream_ruby/generated/models/device.rb +0 -66
  144. data/lib/getstream_ruby/generated/models/feeds_moderation_template_config.rb +0 -36
  145. data/lib/getstream_ruby/generated/models/file_delete_request.rb +0 -14
  146. data/lib/getstream_ruby/generated/models/flag.rb +0 -96
  147. data/lib/getstream_ruby/generated/models/flag_details.rb +0 -41
  148. data/lib/getstream_ruby/generated/models/flag_feedback.rb +0 -41
  149. data/lib/getstream_ruby/generated/models/flag_message_details.rb +0 -46
  150. data/lib/getstream_ruby/generated/models/get_channel_type_request.rb +0 -14
  151. data/lib/getstream_ruby/generated/models/limit_info.rb +0 -41
  152. data/lib/getstream_ruby/generated/models/mark_reviewed_request.rb +0 -41
  153. data/lib/getstream_ruby/generated/models/own_user.rb +0 -166
  154. data/lib/getstream_ruby/generated/models/poll.rb +0 -131
  155. data/lib/getstream_ruby/generated/models/privacy_settings.rb +0 -41
  156. data/lib/getstream_ruby/generated/models/push_preferences.rb +0 -51
  157. data/lib/getstream_ruby/generated/models/read_receipts.rb +0 -31
  158. data/lib/getstream_ruby/generated/models/restore_action_request.rb +0 -31
  159. data/lib/getstream_ruby/generated/models/retention_cleanup_run.rb +0 -76
  160. data/lib/getstream_ruby/generated/models/shadow_block_action_request.rb +0 -31
  161. data/lib/getstream_ruby/generated/models/sip_challenge.rb +0 -106
  162. data/lib/getstream_ruby/generated/models/sort_param.rb +0 -41
  163. data/lib/getstream_ruby/generated/models/typing_indicators.rb +0 -31
  164. data/lib/getstream_ruby/generated/models/unban_action_request.rb +0 -31
  165. data/lib/getstream_ruby/generated/models/unblock_action_request.rb +0 -31
  166. data/lib/getstream_ruby/generated/models/unfollow_request.rb +0 -14
  167. data/lib/getstream_ruby/generated/models/unpin_activity_request.rb +0 -14
  168. data/lib/getstream_ruby/generated/models/user_mute.rb +0 -51
  169. data/lib/getstream_ruby/generated/models/video_end_call_request.rb +0 -14
  170. data/lib/getstream_ruby/generated/models/video_kick_user_request.rb +0 -14
  171. data/lib/getstream_ruby/generated/models/webhook_event.rb +0 -31
@@ -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',
@@ -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
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute activities
13
13
  # @return [Array<ActivityRequest>] List of activities to create or update
14
14
  attr_accessor :activities
15
+ # @!attribute create_users
16
+ # @return [Boolean] Server-side only. If true, auto-creates users referenced by activity user_id values that don't already exist. Default: false.
17
+ attr_accessor :create_users
15
18
  # @!attribute enrich_own_fields
16
19
  # @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
20
  attr_accessor :enrich_own_fields
@@ -23,6 +26,7 @@ module GetStream
23
26
  def initialize(attributes = {})
24
27
  super(attributes)
25
28
  @activities = attributes[:activities] || attributes['activities']
29
+ @create_users = attributes[:create_users] || attributes['create_users'] || nil
26
30
  @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
27
31
  @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil
28
32
  end
@@ -31,6 +35,7 @@ module GetStream
31
35
  def self.json_field_mappings
32
36
  {
33
37
  activities: 'activities',
38
+ create_users: 'create_users',
34
39
  enrich_own_fields: 'enrich_own_fields',
35
40
  force_moderation: 'force_moderation'
36
41
  }
@@ -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
@@ -12,6 +12,104 @@ module GetStream
12
12
  def initialize(client)
13
13
  @client = client
14
14
  end
15
+ # Returns moderation action configs grouped by entity type, sorted by order ascending. Supports fetching DB-configured actions, hardcoded defaults, or both.
16
+ #
17
+ # @param queue_type [String]
18
+ # @param entity_type [String]
19
+ # @param exclude_defaults [Boolean]
20
+ # @param only_defaults [Boolean]
21
+ # @param user_id [String]
22
+ # @return [Models::GetActionConfigResponse]
23
+ def get_action_config(queue_type = nil, entity_type = nil, exclude_defaults = nil, only_defaults = nil, user_id = nil)
24
+ path = '/api/v2/moderation/action_config'
25
+ # Build query parameters
26
+ query_params = {}
27
+ query_params['queue_type'] = queue_type unless queue_type.nil?
28
+ query_params['entity_type'] = entity_type unless entity_type.nil?
29
+ query_params['exclude_defaults'] = exclude_defaults unless exclude_defaults.nil?
30
+ query_params['only_defaults'] = only_defaults unless only_defaults.nil?
31
+ query_params['user_id'] = user_id unless user_id.nil?
32
+
33
+ # Make the API request
34
+ @client.make_request(
35
+ :get,
36
+ path,
37
+ query_params: query_params
38
+ )
39
+ end
40
+
41
+ # Create a new moderation action config entry or update an existing one. Action configs control the action buttons displayed in the moderation dashboard for each entity type.
42
+ #
43
+ # @param upsert_action_config_request [UpsertActionConfigRequest]
44
+ # @return [Models::UpsertActionConfigResponse]
45
+ def upsert_action_config(upsert_action_config_request)
46
+ path = '/api/v2/moderation/action_config'
47
+ # Build request body
48
+ body = upsert_action_config_request
49
+
50
+ # Make the API request
51
+ @client.make_request(
52
+ :post,
53
+ path,
54
+ body: body
55
+ )
56
+ end
57
+
58
+ # Create or update multiple moderation action config entries in a single request. Omit the ID field to create; provide an ID to update.
59
+ #
60
+ # @param bulk_upsert_action_config_request [BulkUpsertActionConfigRequest]
61
+ # @return [Models::BulkUpsertActionConfigResponse]
62
+ def bulk_upsert_action_config(bulk_upsert_action_config_request)
63
+ path = '/api/v2/moderation/action_config/bulk'
64
+ # Build request body
65
+ body = bulk_upsert_action_config_request
66
+
67
+ # Make the API request
68
+ @client.make_request(
69
+ :post,
70
+ path,
71
+ body: body
72
+ )
73
+ end
74
+
75
+ # Delete multiple moderation action config entries by UUID in a single request.
76
+ #
77
+ # @param bulk_delete_action_config_request [BulkDeleteActionConfigRequest]
78
+ # @return [Models::BulkDeleteActionConfigResponse]
79
+ def bulk_delete_action_config(bulk_delete_action_config_request)
80
+ path = '/api/v2/moderation/action_config/bulk_delete'
81
+ # Build request body
82
+ body = bulk_delete_action_config_request
83
+
84
+ # Make the API request
85
+ @client.make_request(
86
+ :post,
87
+ path,
88
+ body: body
89
+ )
90
+ end
91
+
92
+ # Delete a specific moderation action config entry by its UUID.
93
+ #
94
+ # @param _id [String]
95
+ # @param user_id [String]
96
+ # @return [Models::DeleteActionConfigResponse]
97
+ def delete_action_config(_id, user_id = nil)
98
+ path = '/api/v2/moderation/action_config/{id}'
99
+ # Replace path parameters
100
+ path = path.gsub('{id}', _id.to_s)
101
+ # Build query parameters
102
+ query_params = {}
103
+ query_params['user_id'] = user_id unless user_id.nil?
104
+
105
+ # Make the API request
106
+ @client.make_request(
107
+ :delete,
108
+ path,
109
+ query_params: query_params
110
+ )
111
+ end
112
+
15
113
  # Insert a moderation action log entry. Server-side only. Used by product services to log moderation-related actions.
16
114
  #
17
115
  # @param insert_action_log_request [InsertActionLogRequest]
@@ -353,6 +451,40 @@ module GetStream
353
451
  )
354
452
  end
355
453
 
454
+ # Run moderation on text and return labels
455
+ #
456
+ # @param labels_request [LabelsRequest]
457
+ # @return [Models::LabelsResponse]
458
+ def labels(labels_request)
459
+ path = '/api/v2/moderation/labels'
460
+ # Build request body
461
+ body = labels_request
462
+
463
+ # Make the API request
464
+ @client.make_request(
465
+ :post,
466
+ path,
467
+ body: body
468
+ )
469
+ end
470
+
471
+ # Search and filter moderation label results with support for pagination and sorting. View the history of moderation labels applied to content.
472
+ #
473
+ # @param query_label_results_request [QueryLabelResultsRequest]
474
+ # @return [Models::QueryLabelResultsResponse]
475
+ def query_label_results(query_label_results_request)
476
+ path = '/api/v2/moderation/labels/results'
477
+ # Build request body
478
+ body = query_label_results_request
479
+
480
+ # Make the API request
481
+ @client.make_request(
482
+ :post,
483
+ path,
484
+ body: body
485
+ )
486
+ end
487
+
356
488
  # Search and filter moderation action logs with support for pagination. View the history of moderation actions taken, including who performed them and when.
357
489
  #
358
490
  # @param query_moderation_logs_request [QueryModerationLogsRequest]
@@ -502,6 +634,23 @@ module GetStream
502
634
  )
503
635
  end
504
636
 
637
+ # Forward a moderator-supplied correction to the moderation feedback pipeline. Server-side only.
638
+ #
639
+ # @param submit_moderation_feedback_request [SubmitModerationFeedbackRequest]
640
+ # @return [Models::SubmitModerationFeedbackResponse]
641
+ def submit_moderation_feedback(submit_moderation_feedback_request)
642
+ path = '/api/v2/moderation/submit_moderation_feedback'
643
+ # Build request body
644
+ body = submit_moderation_feedback_request
645
+
646
+ # Make the API request
647
+ @client.make_request(
648
+ :post,
649
+ path,
650
+ body: body
651
+ )
652
+ end
653
+
505
654
  # Unban a user from a channel or globally.
506
655
  #
507
656
  # @param unban_request [UnbanRequest]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GetStreamRuby
4
4
 
5
- VERSION = '6.0.0'
5
+ VERSION = '6.1.1'
6
6
 
7
7
  end
@@ -12,12 +12,11 @@ module GetStreamRuby
12
12
  class << self
13
13
 
14
14
  # Method 1: Manual configuration (highest priority)
15
- def manual(api_key:, api_secret:, base_url: nil, timeout: nil)
15
+ def manual(api_key:, api_secret:, **options)
16
16
  config = Configuration.manual(
17
17
  api_key: api_key,
18
18
  api_secret: api_secret,
19
- base_url: base_url,
20
- timeout: timeout,
19
+ **options,
21
20
  )
22
21
  Client.new(config)
23
22
  end