getstream-ruby 3.0.0.beta.1 → 4.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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/lib/getstream_ruby/client.rb +12 -0
  4. data/lib/getstream_ruby/generated/base_model.rb +9 -0
  5. data/lib/getstream_ruby/generated/chat_client.rb +1652 -0
  6. data/lib/getstream_ruby/generated/common_client.rb +14 -14
  7. data/lib/getstream_ruby/generated/feed.rb +3 -1
  8. data/lib/getstream_ruby/generated/feeds_client.rb +47 -4
  9. data/lib/getstream_ruby/generated/models/activity_response.rb +15 -0
  10. data/lib/getstream_ruby/generated/models/add_activity_request.rb +5 -0
  11. data/lib/getstream_ruby/generated/models/add_comment_request.rb +5 -5
  12. data/lib/getstream_ruby/generated/models/aggregated_activity_response.rb +10 -0
  13. data/lib/getstream_ruby/generated/models/app_response_fields.rb +5 -0
  14. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  15. data/lib/getstream_ruby/generated/models/ban_action_request_payload.rb +5 -0
  16. data/lib/getstream_ruby/generated/models/block_list_config.rb +5 -0
  17. data/lib/getstream_ruby/generated/models/channel_batch_member_request.rb +36 -0
  18. data/lib/getstream_ruby/generated/models/channel_batch_update_request.rb +46 -0
  19. data/lib/getstream_ruby/generated/models/channel_batch_update_response.rb +36 -0
  20. data/lib/getstream_ruby/generated/models/channel_data_update.rb +61 -0
  21. data/lib/getstream_ruby/generated/models/check_s3_access_request.rb +31 -0
  22. data/lib/getstream_ruby/generated/models/check_s3_access_response.rb +41 -0
  23. data/lib/getstream_ruby/generated/models/comment_response.rb +5 -5
  24. data/lib/getstream_ruby/generated/models/create_feeds_batch_request.rb +6 -1
  25. data/lib/getstream_ruby/generated/models/delete_activity_reaction_request.rb +14 -0
  26. data/lib/getstream_ruby/generated/models/delete_activity_request.rb +1 -23
  27. data/lib/getstream_ruby/generated/models/delete_block_list_request.rb +14 -0
  28. data/lib/getstream_ruby/generated/models/delete_bookmark_folder_request.rb +36 -0
  29. data/lib/getstream_ruby/generated/models/delete_bookmark_request.rb +14 -0
  30. data/lib/getstream_ruby/generated/models/delete_call_type_request.rb +14 -0
  31. data/lib/getstream_ruby/generated/models/delete_channel_request.rb +14 -0
  32. data/lib/getstream_ruby/generated/models/delete_collections_request.rb +36 -0
  33. data/lib/getstream_ruby/generated/models/delete_command_request.rb +14 -0
  34. data/lib/getstream_ruby/generated/models/delete_comment_reaction_request.rb +14 -0
  35. data/lib/getstream_ruby/generated/models/delete_comment_request.rb +1 -23
  36. data/lib/getstream_ruby/generated/models/delete_custom_role_request.rb +14 -0
  37. data/lib/getstream_ruby/generated/models/delete_device_request.rb +14 -0
  38. data/lib/getstream_ruby/generated/models/delete_draft_request.rb +14 -0
  39. data/lib/getstream_ruby/generated/models/delete_external_storage_request.rb +14 -0
  40. data/lib/getstream_ruby/generated/models/delete_feed_group_request.rb +14 -0
  41. data/lib/getstream_ruby/generated/models/delete_feed_request.rb +14 -0
  42. data/lib/getstream_ruby/generated/models/delete_feed_view_request.rb +14 -0
  43. data/lib/getstream_ruby/generated/models/delete_import_v2_task_request.rb +14 -0
  44. data/lib/getstream_ruby/generated/models/delete_membership_level_request.rb +14 -0
  45. data/lib/getstream_ruby/generated/models/delete_message_request.rb +1 -23
  46. data/lib/getstream_ruby/generated/models/delete_moderation_config_request.rb +14 -0
  47. data/lib/getstream_ruby/generated/models/delete_moderation_template_request.rb +31 -0
  48. data/lib/getstream_ruby/generated/models/delete_poll_option_request.rb +14 -0
  49. data/lib/getstream_ruby/generated/models/delete_poll_request.rb +14 -0
  50. data/lib/getstream_ruby/generated/models/delete_poll_vote_request.rb +14 -0
  51. data/lib/getstream_ruby/generated/models/delete_push_provider_request.rb +14 -0
  52. data/lib/getstream_ruby/generated/models/delete_reaction_request.rb +2 -24
  53. data/lib/getstream_ruby/generated/models/delete_recording_request.rb +14 -0
  54. data/lib/getstream_ruby/generated/models/delete_reminder_request.rb +14 -0
  55. data/lib/getstream_ruby/generated/models/delete_segment_request.rb +14 -0
  56. data/lib/getstream_ruby/generated/models/delete_sip_inbound_routing_rule_request.rb +14 -0
  57. data/lib/getstream_ruby/generated/models/delete_sip_trunk_request.rb +14 -0
  58. data/lib/getstream_ruby/generated/models/delete_transcription_request.rb +14 -0
  59. data/lib/getstream_ruby/generated/models/delete_user_group_request.rb +14 -0
  60. data/lib/getstream_ruby/generated/models/feed_own_capability.rb +1 -1
  61. data/lib/getstream_ruby/generated/models/feed_updated_event.rb +1 -1
  62. data/lib/getstream_ruby/generated/models/file_delete_request.rb +14 -0
  63. data/lib/getstream_ruby/generated/models/follow_batch_request.rb +6 -1
  64. data/lib/getstream_ruby/generated/models/follow_request.rb +5 -0
  65. data/lib/getstream_ruby/generated/models/get_channel_type_request.rb +14 -0
  66. data/lib/getstream_ruby/generated/models/message_request.rb +5 -0
  67. data/lib/getstream_ruby/generated/models/message_response.rb +5 -0
  68. data/lib/getstream_ruby/generated/models/message_with_channel_response.rb +5 -0
  69. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +5 -0
  70. data/lib/getstream_ruby/generated/models/moderation_flagged_event.rb +5 -5
  71. data/lib/getstream_ruby/generated/models/notification_status_response.rb +3 -3
  72. data/lib/getstream_ruby/generated/models/pin_activity_request.rb +5 -0
  73. data/lib/getstream_ruby/generated/models/query_activities_request.rb +5 -0
  74. data/lib/getstream_ruby/generated/models/query_bookmarks_request.rb +5 -0
  75. data/lib/getstream_ruby/generated/models/query_collections_request.rb +61 -0
  76. data/lib/getstream_ruby/generated/models/query_collections_response.rb +46 -0
  77. data/lib/getstream_ruby/generated/models/query_comments_request.rb +16 -1
  78. data/lib/getstream_ruby/generated/models/query_feeds_request.rb +5 -0
  79. data/lib/getstream_ruby/generated/models/query_moderation_rules_response.rb +6 -1
  80. data/lib/getstream_ruby/generated/models/query_pinned_activities_request.rb +5 -0
  81. data/lib/getstream_ruby/generated/models/read_collections_response.rb +2 -12
  82. data/lib/getstream_ruby/generated/models/remove_user_group_members_request.rb +1 -1
  83. data/lib/getstream_ruby/generated/models/search_result_message.rb +5 -0
  84. data/lib/getstream_ruby/generated/models/threaded_comment_response.rb +5 -5
  85. data/lib/getstream_ruby/generated/models/track_activity_metrics_event.rb +41 -0
  86. data/lib/getstream_ruby/generated/models/track_activity_metrics_event_result.rb +46 -0
  87. data/lib/getstream_ruby/generated/models/track_activity_metrics_request.rb +41 -0
  88. data/lib/getstream_ruby/generated/models/track_activity_metrics_response.rb +36 -0
  89. data/lib/getstream_ruby/generated/models/unfollow_batch_request.rb +6 -1
  90. data/lib/getstream_ruby/generated/models/unfollow_request.rb +14 -0
  91. data/lib/getstream_ruby/generated/models/unpin_activity_request.rb +14 -0
  92. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +5 -0
  93. data/lib/getstream_ruby/generated/models/update_activity_request.rb +5 -0
  94. data/lib/getstream_ruby/generated/models/update_app_request.rb +5 -0
  95. data/lib/getstream_ruby/generated/models/update_feed_request.rb +5 -0
  96. data/lib/getstream_ruby/generated/models/update_follow_request.rb +5 -0
  97. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +6 -1
  98. data/lib/getstream_ruby/generated/moderation_client.rb +17 -0
  99. data/lib/getstream_ruby/generated/video_client.rb +1385 -0
  100. data/lib/getstream_ruby/version.rb +1 -1
  101. metadata +53 -4
@@ -16,7 +16,7 @@ module GetStream
16
16
  # @return [Array<String>] Available harm labels for closed caption rules
17
17
  attr_accessor :closed_caption_labels
18
18
  # @!attribute keyframe_labels
19
- # @return [Array<String>] Available harm labels for keyframe rules
19
+ # @return [Array<String>] Deprecated: use keyframe_label_classifications instead. Available L1 harm labels for keyframe rules
20
20
  attr_accessor :keyframe_labels
21
21
  # @!attribute rules
22
22
  # @return [Array<ModerationRuleV2Response>] List of moderation rules
@@ -24,6 +24,9 @@ module GetStream
24
24
  # @!attribute default_llm_labels
25
25
  # @return [Hash<String, String>] Default LLM label descriptions
26
26
  attr_accessor :default_llm_labels
27
+ # @!attribute keyframe_label_classifications
28
+ # @return [Hash<String, Array<String>>] L1 to L2 mapping of keyframe harm label classifications
29
+ attr_accessor :keyframe_label_classifications
27
30
  # @!attribute next
28
31
  # @return [String]
29
32
  attr_accessor :next
@@ -39,6 +42,7 @@ module GetStream
39
42
  @keyframe_labels = attributes[:keyframe_labels] || attributes['keyframe_labels']
40
43
  @rules = attributes[:rules] || attributes['rules']
41
44
  @default_llm_labels = attributes[:default_llm_labels] || attributes['default_llm_labels']
45
+ @keyframe_label_classifications = attributes[:keyframe_label_classifications] || attributes['keyframe_label_classifications']
42
46
  @next = attributes[:next] || attributes['next'] || nil
43
47
  @prev = attributes[:prev] || attributes['prev'] || nil
44
48
  end
@@ -51,6 +55,7 @@ module GetStream
51
55
  keyframe_labels: 'keyframe_labels',
52
56
  rules: 'rules',
53
57
  default_llm_labels: 'default_llm_labels',
58
+ keyframe_label_classifications: 'keyframe_label_classifications',
54
59
  next: 'next',
55
60
  prev: 'prev'
56
61
  }
@@ -9,6 +9,9 @@ module GetStream
9
9
  class QueryPinnedActivitiesRequest < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute enrich_own_fields
13
+ # @return [Boolean]
14
+ attr_accessor :enrich_own_fields
12
15
  # @!attribute limit
13
16
  # @return [Integer]
14
17
  attr_accessor :limit
@@ -28,6 +31,7 @@ module GetStream
28
31
  # Initialize with attributes
29
32
  def initialize(attributes = {})
30
33
  super(attributes)
34
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
31
35
  @limit = attributes[:limit] || attributes['limit'] || nil
32
36
  @next = attributes[:next] || attributes['next'] || nil
33
37
  @prev = attributes[:prev] || attributes['prev'] || nil
@@ -38,6 +42,7 @@ module GetStream
38
42
  # Override field mappings for JSON serialization
39
43
  def self.json_field_mappings
40
44
  {
45
+ enrich_own_fields: 'enrich_own_fields',
41
46
  limit: 'limit',
42
47
  next: 'next',
43
48
  prev: 'prev',
@@ -13,31 +13,21 @@ module GetStream
13
13
  # @return [String]
14
14
  attr_accessor :duration
15
15
  # @!attribute collections
16
- # @return [Array<CollectionResponse>] List of collections matching the query
16
+ # @return [Array<CollectionResponse>] List of collections matching the references
17
17
  attr_accessor :collections
18
- # @!attribute next
19
- # @return [String] Cursor for next page (when listing without collection_refs)
20
- attr_accessor :next
21
- # @!attribute prev
22
- # @return [String] Cursor for previous page (when listing without collection_refs)
23
- attr_accessor :prev
24
18
 
25
19
  # Initialize with attributes
26
20
  def initialize(attributes = {})
27
21
  super(attributes)
28
22
  @duration = attributes[:duration] || attributes['duration']
29
23
  @collections = attributes[:collections] || attributes['collections']
30
- @next = attributes[:next] || attributes['next'] || nil
31
- @prev = attributes[:prev] || attributes['prev'] || nil
32
24
  end
33
25
 
34
26
  # Override field mappings for JSON serialization
35
27
  def self.json_field_mappings
36
28
  {
37
29
  duration: 'duration',
38
- collections: 'collections',
39
- next: 'next',
40
- prev: 'prev'
30
+ collections: 'collections'
41
31
  }
42
32
  end
43
33
  end
@@ -10,7 +10,7 @@ module GetStream
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute member_ids
13
- # @return [Array<String>] List of user IDs to remove from the group
13
+ # @return [Array<String>] List of user IDs to remove
14
14
  attr_accessor :member_ids
15
15
  # @!attribute team_id
16
16
  # @return [String]
@@ -111,6 +111,9 @@ module GetStream
111
111
  # @!attribute show_in_channel
112
112
  # @return [Boolean]
113
113
  attr_accessor :show_in_channel
114
+ # @!attribute mentioned_group_ids
115
+ # @return [Array<String>]
116
+ attr_accessor :mentioned_group_ids
114
117
  # @!attribute mentioned_roles
115
118
  # @return [Array<String>]
116
119
  attr_accessor :mentioned_roles
@@ -191,6 +194,7 @@ module GetStream
191
194
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
192
195
  @quoted_message_id = attributes[:quoted_message_id] || attributes['quoted_message_id'] || nil
193
196
  @show_in_channel = attributes[:show_in_channel] || attributes['show_in_channel'] || nil
197
+ @mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
194
198
  @mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
195
199
  @thread_participants = attributes[:thread_participants] || attributes['thread_participants'] || nil
196
200
  @channel = attributes[:channel] || attributes['channel'] || nil
@@ -244,6 +248,7 @@ module GetStream
244
248
  poll_id: 'poll_id',
245
249
  quoted_message_id: 'quoted_message_id',
246
250
  show_in_channel: 'show_in_channel',
251
+ mentioned_group_ids: 'mentioned_group_ids',
247
252
  mentioned_roles: 'mentioned_roles',
248
253
  thread_participants: 'thread_participants',
249
254
  channel: 'channel',
@@ -9,6 +9,9 @@ module GetStream
9
9
  class ThreadedCommentResponse < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute _object_id
13
+ # @return [String]
14
+ attr_accessor :_object_id
12
15
  # @!attribute confidence_score
13
16
  # @return [Float]
14
17
  attr_accessor :confidence_score
@@ -21,9 +24,6 @@ module GetStream
21
24
  # @!attribute id
22
25
  # @return [String]
23
26
  attr_accessor :id
24
- # @!attribute object_id
25
- # @return [String]
26
- attr_accessor :object_id
27
27
  # @!attribute object_type
28
28
  # @return [String]
29
29
  attr_accessor :object_type
@@ -94,11 +94,11 @@ module GetStream
94
94
  # Initialize with attributes
95
95
  def initialize(attributes = {})
96
96
  super(attributes)
97
+ @_object_id = attributes[:_object_id] || attributes['object_id']
97
98
  @confidence_score = attributes[:confidence_score] || attributes['confidence_score']
98
99
  @created_at = attributes[:created_at] || attributes['created_at']
99
100
  @downvote_count = attributes[:downvote_count] || attributes['downvote_count']
100
101
  @id = attributes[:id] || attributes['id']
101
- @object_id = attributes[:object_id] || attributes['object_id']
102
102
  @object_type = attributes[:object_type] || attributes['object_type']
103
103
  @reaction_count = attributes[:reaction_count] || attributes['reaction_count']
104
104
  @reply_count = attributes[:reply_count] || attributes['reply_count']
@@ -126,11 +126,11 @@ module GetStream
126
126
  # Override field mappings for JSON serialization
127
127
  def self.json_field_mappings
128
128
  {
129
+ _object_id: 'object_id',
129
130
  confidence_score: 'confidence_score',
130
131
  created_at: 'created_at',
131
132
  downvote_count: 'downvote_count',
132
133
  id: 'id',
133
- object_id: 'object_id',
134
134
  object_type: 'object_type',
135
135
  reaction_count: 'reaction_count',
136
136
  reply_count: 'reply_count',
@@ -0,0 +1,41 @@
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
+ # A single metric event to track for an activity
9
+ class TrackActivityMetricsEvent < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute activity_id
13
+ # @return [String] The ID of the activity to track the metric for
14
+ attr_accessor :activity_id
15
+ # @!attribute metric
16
+ # @return [String] The metric name (e.g. views, clicks, impressions). Alphanumeric and underscores only.
17
+ attr_accessor :metric
18
+ # @!attribute delta
19
+ # @return [Integer] The amount to increment (positive) or decrement (negative). Defaults to 1. The absolute value counts against rate limits.
20
+ attr_accessor :delta
21
+
22
+ # Initialize with attributes
23
+ def initialize(attributes = {})
24
+ super(attributes)
25
+ @activity_id = attributes[:activity_id] || attributes['activity_id']
26
+ @metric = attributes[:metric] || attributes['metric']
27
+ @delta = attributes[:delta] || attributes['delta'] || nil
28
+ end
29
+
30
+ # Override field mappings for JSON serialization
31
+ def self.json_field_mappings
32
+ {
33
+ activity_id: 'activity_id',
34
+ metric: 'metric',
35
+ delta: 'delta'
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -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
+ # Result of tracking a single metric event
9
+ class TrackActivityMetricsEventResult < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute activity_id
13
+ # @return [String] The activity ID from the request
14
+ attr_accessor :activity_id
15
+ # @!attribute allowed
16
+ # @return [Boolean] Whether the metric was counted (false if rate-limited)
17
+ attr_accessor :allowed
18
+ # @!attribute metric
19
+ # @return [String] The metric name from the request
20
+ attr_accessor :metric
21
+ # @!attribute error
22
+ # @return [String] Error message if processing failed
23
+ attr_accessor :error
24
+
25
+ # Initialize with attributes
26
+ def initialize(attributes = {})
27
+ super(attributes)
28
+ @activity_id = attributes[:activity_id] || attributes['activity_id']
29
+ @allowed = attributes[:allowed] || attributes['allowed']
30
+ @metric = attributes[:metric] || attributes['metric']
31
+ @error = attributes[:error] || attributes['error'] || nil
32
+ end
33
+
34
+ # Override field mappings for JSON serialization
35
+ def self.json_field_mappings
36
+ {
37
+ activity_id: 'activity_id',
38
+ allowed: 'allowed',
39
+ metric: 'metric',
40
+ error: 'error'
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,41 @@
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
+ # Batch request to track metric events for activities. Rate-limited per user/IP per activity per metric.
9
+ class TrackActivityMetricsRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute events
13
+ # @return [Array<TrackActivityMetricsEvent>] List of metric events to track (max 100 per request)
14
+ attr_accessor :events
15
+ # @!attribute user_id
16
+ # @return [String]
17
+ attr_accessor :user_id
18
+ # @!attribute user
19
+ # @return [UserRequest]
20
+ attr_accessor :user
21
+
22
+ # Initialize with attributes
23
+ def initialize(attributes = {})
24
+ super(attributes)
25
+ @events = attributes[:events] || attributes['events']
26
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
27
+ @user = attributes[:user] || attributes['user'] || nil
28
+ end
29
+
30
+ # Override field mappings for JSON serialization
31
+ def self.json_field_mappings
32
+ {
33
+ events: 'events',
34
+ user_id: 'user_id',
35
+ user: 'user'
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ 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
+ # Response containing results for each tracked metric event
9
+ class TrackActivityMetricsResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute results
16
+ # @return [Array<TrackActivityMetricsEventResult>] Results for each event in the request, in the same order
17
+ attr_accessor :results
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @results = attributes[:results] || attributes['results']
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ results: 'results'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -15,19 +15,24 @@ module GetStream
15
15
  # @!attribute delete_notification_activity
16
16
  # @return [Boolean] Whether to delete the corresponding notification activity (default: false)
17
17
  attr_accessor :delete_notification_activity
18
+ # @!attribute enrich_own_fields
19
+ # @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.
20
+ attr_accessor :enrich_own_fields
18
21
 
19
22
  # Initialize with attributes
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @follows = attributes[:follows] || attributes['follows']
23
26
  @delete_notification_activity = attributes[:delete_notification_activity] || attributes['delete_notification_activity'] || nil
27
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || 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
  follows: 'follows',
30
- delete_notification_activity: 'delete_notification_activity'
34
+ delete_notification_activity: 'delete_notification_activity',
35
+ enrich_own_fields: 'enrich_own_fields'
31
36
  }
32
37
  end
33
38
  end
@@ -0,0 +1,14 @@
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 UnfollowRequest < GetStream::BaseModel
10
+ # Empty model - inherits all functionality from BaseModel
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
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 UnpinActivityRequest < GetStream::BaseModel
10
+ # Empty model - inherits all functionality from BaseModel
11
+ end
12
+ end
13
+ end
14
+ end
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute copy_custom_to_notification
13
13
  # @return [Boolean] Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications)
14
14
  attr_accessor :copy_custom_to_notification
15
+ # @!attribute enrich_own_fields
16
+ # @return [Boolean] If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
17
+ attr_accessor :enrich_own_fields
15
18
  # @!attribute handle_mention_notifications
16
19
  # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
17
20
  attr_accessor :handle_mention_notifications
@@ -35,6 +38,7 @@ module GetStream
35
38
  def initialize(attributes = {})
36
39
  super(attributes)
37
40
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
41
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
38
42
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
39
43
  @run_activity_processors = attributes[:run_activity_processors] || attributes['run_activity_processors'] || nil
40
44
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
@@ -47,6 +51,7 @@ module GetStream
47
51
  def self.json_field_mappings
48
52
  {
49
53
  copy_custom_to_notification: 'copy_custom_to_notification',
54
+ enrich_own_fields: 'enrich_own_fields',
50
55
  handle_mention_notifications: 'handle_mention_notifications',
51
56
  run_activity_processors: 'run_activity_processors',
52
57
  user_id: 'user_id',
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute copy_custom_to_notification
13
13
  # @return [Boolean] Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications)
14
14
  attr_accessor :copy_custom_to_notification
15
+ # @!attribute enrich_own_fields
16
+ # @return [Boolean] If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
17
+ attr_accessor :enrich_own_fields
15
18
  # @!attribute expires_at
16
19
  # @return [DateTime] Time when the activity will expire
17
20
  attr_accessor :expires_at
@@ -77,6 +80,7 @@ module GetStream
77
80
  def initialize(attributes = {})
78
81
  super(attributes)
79
82
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
83
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
80
84
  @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil
81
85
  @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil
82
86
  @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil
@@ -103,6 +107,7 @@ module GetStream
103
107
  def self.json_field_mappings
104
108
  {
105
109
  copy_custom_to_notification: 'copy_custom_to_notification',
110
+ enrich_own_fields: 'enrich_own_fields',
106
111
  expires_at: 'expires_at',
107
112
  handle_mention_notifications: 'handle_mention_notifications',
108
113
  poll_id: 'poll_id',
@@ -60,6 +60,9 @@ module GetStream
60
60
  # @!attribute moderation_enabled
61
61
  # @return [Boolean]
62
62
  attr_accessor :moderation_enabled
63
+ # @!attribute moderation_s3_image_access_role_arn
64
+ # @return [String]
65
+ attr_accessor :moderation_s3_image_access_role_arn
63
66
  # @!attribute moderation_webhook_url
64
67
  # @return [String]
65
68
  attr_accessor :moderation_webhook_url
@@ -174,6 +177,7 @@ module GetStream
174
177
  @migrate_permissions_to_v2 = attributes[:migrate_permissions_to_v2] || attributes['migrate_permissions_to_v2'] || nil
175
178
  @moderation_analytics_enabled = attributes[:moderation_analytics_enabled] || attributes['moderation_analytics_enabled'] || nil
176
179
  @moderation_enabled = attributes[:moderation_enabled] || attributes['moderation_enabled'] || nil
180
+ @moderation_s3_image_access_role_arn = attributes[:moderation_s3_image_access_role_arn] || attributes['moderation_s3_image_access_role_arn'] || nil
177
181
  @moderation_webhook_url = attributes[:moderation_webhook_url] || attributes['moderation_webhook_url'] || nil
178
182
  @multi_tenant_enabled = attributes[:multi_tenant_enabled] || attributes['multi_tenant_enabled'] || nil
179
183
  @permission_version = attributes[:permission_version] || attributes['permission_version'] || nil
@@ -227,6 +231,7 @@ module GetStream
227
231
  migrate_permissions_to_v2: 'migrate_permissions_to_v2',
228
232
  moderation_analytics_enabled: 'moderation_analytics_enabled',
229
233
  moderation_enabled: 'moderation_enabled',
234
+ moderation_s3_image_access_role_arn: 'moderation_s3_image_access_role_arn',
230
235
  moderation_webhook_url: 'moderation_webhook_url',
231
236
  multi_tenant_enabled: 'multi_tenant_enabled',
232
237
  permission_version: 'permission_version',
@@ -15,6 +15,9 @@ module GetStream
15
15
  # @!attribute description
16
16
  # @return [String] Description of the feed
17
17
  attr_accessor :description
18
+ # @!attribute enrich_own_fields
19
+ # @return [Boolean] If true, enriches the feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
20
+ attr_accessor :enrich_own_fields
18
21
  # @!attribute name
19
22
  # @return [String] Name of the feed
20
23
  attr_accessor :name
@@ -30,6 +33,7 @@ module GetStream
30
33
  super(attributes)
31
34
  @created_by_id = attributes[:created_by_id] || attributes['created_by_id'] || nil
32
35
  @description = attributes[:description] || attributes['description'] || nil
36
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
33
37
  @name = attributes[:name] || attributes['name'] || nil
34
38
  @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil
35
39
  @custom = attributes[:custom] || attributes['custom'] || nil
@@ -40,6 +44,7 @@ module GetStream
40
44
  {
41
45
  created_by_id: 'created_by_id',
42
46
  description: 'description',
47
+ enrich_own_fields: 'enrich_own_fields',
43
48
  name: 'name',
44
49
  filter_tags: 'filter_tags',
45
50
  custom: 'custom'
@@ -21,6 +21,9 @@ module GetStream
21
21
  # @!attribute create_notification_activity
22
22
  # @return [Boolean] Whether to create a notification activity for this follow
23
23
  attr_accessor :create_notification_activity
24
+ # @!attribute enrich_own_fields
25
+ # @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
+ attr_accessor :enrich_own_fields
24
27
  # @!attribute follower_role
25
28
  # @return [String]
26
29
  attr_accessor :follower_role
@@ -44,6 +47,7 @@ module GetStream
44
47
  @target = attributes[:target] || attributes['target']
45
48
  @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
46
49
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
50
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
47
51
  @follower_role = attributes[:follower_role] || attributes['follower_role'] || nil
48
52
  @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil
49
53
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
@@ -58,6 +62,7 @@ module GetStream
58
62
  target: 'target',
59
63
  copy_custom_to_notification: 'copy_custom_to_notification',
60
64
  create_notification_activity: 'create_notification_activity',
65
+ enrich_own_fields: 'enrich_own_fields',
61
66
  follower_role: 'follower_role',
62
67
  push_preference: 'push_preference',
63
68
  skip_push: 'skip_push',
@@ -12,17 +12,22 @@ 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 enrich_own_fields
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
+ attr_accessor :enrich_own_fields
15
18
 
16
19
  # Initialize with attributes
17
20
  def initialize(attributes = {})
18
21
  super(attributes)
19
22
  @activities = attributes[:activities] || attributes['activities']
23
+ @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil
20
24
  end
21
25
 
22
26
  # Override field mappings for JSON serialization
23
27
  def self.json_field_mappings
24
28
  {
25
- activities: 'activities'
29
+ activities: 'activities',
30
+ enrich_own_fields: 'enrich_own_fields'
26
31
  }
27
32
  end
28
33
  end
@@ -113,6 +113,23 @@ module GetStream
113
113
  )
114
114
  end
115
115
 
116
+ # Verifies that the configured IAM role ARN can access private S3 images for moderation. Optionally accepts a stream+s3:// URL to check access to a specific object.
117
+ #
118
+ # @param check_s3_access_request [CheckS3AccessRequest]
119
+ # @return [Models::CheckS3AccessResponse]
120
+ def check_s3_access(check_s3_access_request)
121
+ path = '/api/v2/moderation/check_s3_access'
122
+ # Build request body
123
+ body = check_s3_access_request
124
+
125
+ # Make the API request
126
+ @client.make_request(
127
+ :post,
128
+ path,
129
+ body: body
130
+ )
131
+ end
132
+
116
133
  # Create a new moderation configuration or update an existing one. Configure settings for content filtering, AI analysis, toxicity detection, and other moderation features.
117
134
  #
118
135
  # @param upsert_config_request [UpsertConfigRequest]