getstream-ruby 1.0.0 → 1.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/lib/getstream_ruby/client.rb +81 -0
  3. data/lib/getstream_ruby/generated/common_client.rb +67 -0
  4. data/lib/getstream_ruby/generated/feeds_client.rb +6 -2
  5. data/lib/getstream_ruby/generated/models/activity_request.rb +11 -1
  6. data/lib/getstream_ruby/generated/models/activity_response.rb +5 -0
  7. data/lib/getstream_ruby/generated/models/add_activity_request.rb +11 -1
  8. data/lib/getstream_ruby/generated/models/add_activity_response.rb +6 -1
  9. data/lib/getstream_ruby/generated/models/add_comment_reaction_response.rb +6 -1
  10. data/lib/getstream_ruby/generated/models/add_comment_response.rb +11 -1
  11. data/lib/getstream_ruby/generated/models/add_reaction_response.rb +6 -1
  12. data/lib/getstream_ruby/generated/models/appeal_accepted_event.rb +51 -0
  13. data/lib/getstream_ruby/generated/models/appeal_created_event.rb +51 -0
  14. data/lib/getstream_ruby/generated/models/appeal_item_response.rb +81 -0
  15. data/lib/getstream_ruby/generated/models/appeal_rejected_event.rb +51 -0
  16. data/lib/getstream_ruby/generated/models/appeal_request.rb +56 -0
  17. data/lib/getstream_ruby/generated/models/appeal_response.rb +36 -0
  18. data/lib/getstream_ruby/generated/models/call_recording_failed_event.rb +5 -0
  19. data/lib/getstream_ruby/generated/models/call_recording_ready_event.rb +5 -0
  20. data/lib/getstream_ruby/generated/models/call_recording_started_event.rb +5 -0
  21. data/lib/getstream_ruby/generated/models/call_recording_stopped_event.rb +5 -0
  22. data/lib/getstream_ruby/generated/models/call_response.rb +5 -0
  23. data/lib/getstream_ruby/generated/models/call_settings.rb +10 -0
  24. data/lib/getstream_ruby/generated/models/call_settings_request.rb +10 -0
  25. data/lib/getstream_ruby/generated/models/call_settings_response.rb +10 -0
  26. data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +6 -1
  27. data/lib/getstream_ruby/generated/models/channel_batch_completed_event.rb +81 -0
  28. data/lib/getstream_ruby/generated/models/channel_batch_started_event.rb +81 -0
  29. data/lib/getstream_ruby/generated/models/comment_response.rb +5 -0
  30. data/lib/getstream_ruby/generated/models/composite_recording_response.rb +31 -0
  31. data/lib/getstream_ruby/generated/models/create_import_v2_task_request.rb +46 -0
  32. data/lib/getstream_ruby/generated/models/create_import_v2_task_response.rb +66 -0
  33. data/lib/getstream_ruby/generated/models/delete_import_v2_task_response.rb +31 -0
  34. data/lib/getstream_ruby/generated/models/egress_response.rb +16 -1
  35. data/lib/getstream_ruby/generated/models/enrichment_options.rb +23 -18
  36. data/lib/getstream_ruby/generated/models/event_hook.rb +5 -0
  37. data/lib/getstream_ruby/generated/models/feed_own_data.rb +5 -0
  38. data/lib/getstream_ruby/generated/models/feed_response.rb +5 -0
  39. data/lib/getstream_ruby/generated/models/feed_suggestion_response.rb +5 -0
  40. data/lib/getstream_ruby/generated/models/future_channel_ban_response.rb +56 -0
  41. data/lib/getstream_ruby/generated/models/get_appeal_response.rb +36 -0
  42. data/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb +66 -0
  43. data/lib/getstream_ruby/generated/models/go_live_request.rb +15 -0
  44. data/lib/getstream_ruby/generated/models/import_v2_task_item.rb +61 -0
  45. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +36 -0
  46. data/lib/getstream_ruby/generated/models/import_v2_task_settings_s3.rb +41 -0
  47. data/lib/getstream_ruby/generated/models/individual_record_settings.rb +31 -0
  48. data/lib/getstream_ruby/generated/models/individual_recording_response.rb +31 -0
  49. data/lib/getstream_ruby/generated/models/individual_recording_settings_request.rb +31 -0
  50. data/lib/getstream_ruby/generated/models/individual_recording_settings_response.rb +31 -0
  51. data/lib/getstream_ruby/generated/models/ingress_error_event.rb +61 -0
  52. data/lib/getstream_ruby/generated/models/ingress_started_event.rb +71 -0
  53. data/lib/getstream_ruby/generated/models/ingress_stopped_event.rb +51 -0
  54. data/lib/getstream_ruby/generated/models/list_import_v2_tasks_response.rb +46 -0
  55. data/lib/getstream_ruby/generated/models/mark_reviewed_request.rb +5 -0
  56. data/lib/getstream_ruby/generated/models/message_new_event.rb +1 -1
  57. data/lib/getstream_ruby/generated/models/own_batch_request.rb +2 -2
  58. data/lib/getstream_ruby/generated/models/participant_session_details.rb +61 -0
  59. data/lib/getstream_ruby/generated/models/poll_vote_response.rb +5 -0
  60. data/lib/getstream_ruby/generated/models/query_appeals_request.rb +61 -0
  61. data/lib/getstream_ruby/generated/models/query_appeals_response.rb +46 -0
  62. data/lib/getstream_ruby/generated/models/query_call_participant_sessions_response.rb +76 -0
  63. data/lib/getstream_ruby/generated/models/query_channels_request.rb +15 -0
  64. data/lib/getstream_ruby/generated/models/query_future_channel_bans_payload.rb +56 -0
  65. data/lib/getstream_ruby/generated/models/query_future_channel_bans_response.rb +36 -0
  66. data/lib/getstream_ruby/generated/models/ranking_config.rb +1 -1
  67. data/lib/getstream_ruby/generated/models/raw_record_settings.rb +31 -0
  68. data/lib/getstream_ruby/generated/models/raw_recording_response.rb +31 -0
  69. data/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb +31 -0
  70. data/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb +31 -0
  71. data/lib/getstream_ruby/generated/models/reject_appeal_request.rb +31 -0
  72. data/lib/getstream_ruby/generated/models/resolve_sip_inbound_request.rb +5 -0
  73. data/lib/getstream_ruby/generated/models/restore_action_request.rb +18 -1
  74. data/lib/getstream_ruby/generated/models/review_queue_item_response.rb +5 -0
  75. data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +10 -0
  76. data/lib/getstream_ruby/generated/models/search_payload.rb +5 -0
  77. data/lib/getstream_ruby/generated/models/single_follow_response.rb +6 -1
  78. data/lib/getstream_ruby/generated/models/stop_live_request.rb +15 -0
  79. data/lib/getstream_ruby/generated/models/submit_action_request.rb +21 -1
  80. data/lib/getstream_ruby/generated/models/submit_action_response.rb +5 -0
  81. data/lib/getstream_ruby/generated/models/text_rule_parameters.rb +10 -0
  82. data/lib/getstream_ruby/generated/models/threaded_comment_response.rb +5 -0
  83. data/lib/getstream_ruby/generated/models/unban_action_request.rb +18 -1
  84. data/lib/getstream_ruby/generated/models/unblock_action_request.rb +18 -1
  85. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +2 -2
  86. data/lib/getstream_ruby/generated/models/update_activity_request.rb +10 -0
  87. data/lib/getstream_ruby/generated/models/update_comment_request.rb +5 -0
  88. data/lib/getstream_ruby/generated/models/update_feed_request.rb +15 -0
  89. data/lib/getstream_ruby/generated/models/upsert_activities_response.rb +6 -1
  90. data/lib/getstream_ruby/generated/models/user_identical_content_count_parameters.rb +36 -0
  91. data/lib/getstream_ruby/generated/models/user_role_parameters.rb +36 -0
  92. data/lib/getstream_ruby/generated/moderation_client.rb +50 -0
  93. data/lib/getstream_ruby/version.rb +1 -1
  94. metadata +55 -2
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute action_type
13
13
  # @return [String] Type of moderation action to perform (mark_reviewed, delete_message, etc.)
14
14
  attr_accessor :action_type
15
+ # @!attribute appeal_id
16
+ # @return [String] UUID of the appeal to act on (required for reject_appeal, optional for other actions)
17
+ attr_accessor :appeal_id
15
18
  # @!attribute item_id
16
19
  # @return [String] UUID of the review queue item to act on
17
20
  attr_accessor :item_id
@@ -45,12 +48,21 @@ module GetStream
45
48
  # @!attribute mark_reviewed
46
49
  # @return [MarkReviewedRequest]
47
50
  attr_accessor :mark_reviewed
51
+ # @!attribute reject_appeal
52
+ # @return [RejectAppealRequest]
53
+ attr_accessor :reject_appeal
54
+ # @!attribute restore
55
+ # @return [RestoreActionRequest]
56
+ attr_accessor :restore
48
57
  # @!attribute shadow_block
49
58
  # @return [ShadowBlockActionRequest]
50
59
  attr_accessor :shadow_block
51
60
  # @!attribute unban
52
61
  # @return [UnbanActionRequest]
53
62
  attr_accessor :unban
63
+ # @!attribute unblock
64
+ # @return [UnblockActionRequest]
65
+ attr_accessor :unblock
54
66
  # @!attribute user
55
67
  # @return [UserRequest]
56
68
  attr_accessor :user
@@ -59,7 +71,8 @@ module GetStream
59
71
  def initialize(attributes = {})
60
72
  super(attributes)
61
73
  @action_type = attributes[:action_type] || attributes['action_type']
62
- @item_id = attributes[:item_id] || attributes['item_id']
74
+ @appeal_id = attributes[:appeal_id] || attributes['appeal_id'] || nil
75
+ @item_id = attributes[:item_id] || attributes['item_id'] || nil
63
76
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
64
77
  @ban = attributes[:ban] || attributes['ban'] || nil
65
78
  @block = attributes[:block] || attributes['block'] || nil
@@ -70,8 +83,11 @@ module GetStream
70
83
  @delete_reaction = attributes[:delete_reaction] || attributes['delete_reaction'] || nil
71
84
  @delete_user = attributes[:delete_user] || attributes['delete_user'] || nil
72
85
  @mark_reviewed = attributes[:mark_reviewed] || attributes['mark_reviewed'] || nil
86
+ @reject_appeal = attributes[:reject_appeal] || attributes['reject_appeal'] || nil
87
+ @restore = attributes[:restore] || attributes['restore'] || nil
73
88
  @shadow_block = attributes[:shadow_block] || attributes['shadow_block'] || nil
74
89
  @unban = attributes[:unban] || attributes['unban'] || nil
90
+ @unblock = attributes[:unblock] || attributes['unblock'] || nil
75
91
  @user = attributes[:user] || attributes['user'] || nil
76
92
  end
77
93
 
@@ -79,6 +95,7 @@ module GetStream
79
95
  def self.json_field_mappings
80
96
  {
81
97
  action_type: 'action_type',
98
+ appeal_id: 'appeal_id',
82
99
  item_id: 'item_id',
83
100
  user_id: 'user_id',
84
101
  ban: 'ban',
@@ -90,8 +107,11 @@ module GetStream
90
107
  delete_reaction: 'delete_reaction',
91
108
  delete_user: 'delete_user',
92
109
  mark_reviewed: 'mark_reviewed',
110
+ reject_appeal: 'reject_appeal',
111
+ restore: 'restore',
93
112
  shadow_block: 'shadow_block',
94
113
  unban: 'unban',
114
+ unblock: 'unblock',
95
115
  user: 'user'
96
116
  }
97
117
  end
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute duration
13
13
  # @return [String]
14
14
  attr_accessor :duration
15
+ # @!attribute appeal_item
16
+ # @return [AppealItemResponse]
17
+ attr_accessor :appeal_item
15
18
  # @!attribute item
16
19
  # @return [ReviewQueueItemResponse]
17
20
  attr_accessor :item
@@ -20,6 +23,7 @@ module GetStream
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @duration = attributes[:duration] || attributes['duration']
26
+ @appeal_item = attributes[:appeal_item] || attributes['appeal_item'] || nil
23
27
  @item = attributes[:item] || attributes['item'] || nil
24
28
  end
25
29
 
@@ -27,6 +31,7 @@ module GetStream
27
31
  def self.json_field_mappings
28
32
  {
29
33
  duration: 'duration',
34
+ appeal_item: 'appeal_item',
30
35
  item: 'item'
31
36
  }
32
37
  end
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute contains_url
13
13
  # @return [Boolean]
14
14
  attr_accessor :contains_url
15
+ # @!attribute semantic_filter_min_threshold
16
+ # @return [Float]
17
+ attr_accessor :semantic_filter_min_threshold
15
18
  # @!attribute severity
16
19
  # @return [String]
17
20
  attr_accessor :severity
@@ -27,6 +30,9 @@ module GetStream
27
30
  # @!attribute harm_labels
28
31
  # @return [Array<String>]
29
32
  attr_accessor :harm_labels
33
+ # @!attribute semantic_filter_names
34
+ # @return [Array<String>]
35
+ attr_accessor :semantic_filter_names
30
36
  # @!attribute llm_harm_labels
31
37
  # @return [Hash<String, String>]
32
38
  attr_accessor :llm_harm_labels
@@ -35,11 +41,13 @@ module GetStream
35
41
  def initialize(attributes = {})
36
42
  super(attributes)
37
43
  @contains_url = attributes[:contains_url] || attributes['contains_url'] || nil
44
+ @semantic_filter_min_threshold = attributes[:semantic_filter_min_threshold] || attributes['semantic_filter_min_threshold'] || nil
38
45
  @severity = attributes[:severity] || attributes['severity'] || nil
39
46
  @threshold = attributes[:threshold] || attributes['threshold'] || nil
40
47
  @time_window = attributes[:time_window] || attributes['time_window'] || nil
41
48
  @blocklist_match = attributes[:blocklist_match] || attributes['blocklist_match'] || nil
42
49
  @harm_labels = attributes[:harm_labels] || attributes['harm_labels'] || nil
50
+ @semantic_filter_names = attributes[:semantic_filter_names] || attributes['semantic_filter_names'] || nil
43
51
  @llm_harm_labels = attributes[:llm_harm_labels] || attributes['llm_harm_labels'] || nil
44
52
  end
45
53
 
@@ -47,11 +55,13 @@ module GetStream
47
55
  def self.json_field_mappings
48
56
  {
49
57
  contains_url: 'contains_url',
58
+ semantic_filter_min_threshold: 'semantic_filter_min_threshold',
50
59
  severity: 'severity',
51
60
  threshold: 'threshold',
52
61
  time_window: 'time_window',
53
62
  blocklist_match: 'blocklist_match',
54
63
  harm_labels: 'harm_labels',
64
+ semantic_filter_names: 'semantic_filter_names',
55
65
  llm_harm_labels: 'llm_harm_labels'
56
66
  }
57
67
  end
@@ -60,6 +60,9 @@ module GetStream
60
60
  # @!attribute deleted_at
61
61
  # @return [DateTime]
62
62
  attr_accessor :deleted_at
63
+ # @!attribute edited_at
64
+ # @return [DateTime]
65
+ attr_accessor :edited_at
63
66
  # @!attribute parent_id
64
67
  # @return [String]
65
68
  attr_accessor :parent_id
@@ -108,6 +111,7 @@ module GetStream
108
111
  @user = attributes[:user] || attributes['user']
109
112
  @controversy_score = attributes[:controversy_score] || attributes['controversy_score'] || nil
110
113
  @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil
114
+ @edited_at = attributes[:edited_at] || attributes['edited_at'] || nil
111
115
  @parent_id = attributes[:parent_id] || attributes['parent_id'] || nil
112
116
  @text = attributes[:text] || attributes['text'] || nil
113
117
  @attachments = attributes[:attachments] || attributes['attachments'] || nil
@@ -139,6 +143,7 @@ module GetStream
139
143
  user: 'user',
140
144
  controversy_score: 'controversy_score',
141
145
  deleted_at: 'deleted_at',
146
+ edited_at: 'edited_at',
142
147
  parent_id: 'parent_id',
143
148
  text: 'text',
144
149
  attachments: 'attachments',
@@ -7,7 +7,24 @@ module GetStream
7
7
  module Models
8
8
  #
9
9
  class UnbanActionRequest < GetStream::BaseModel
10
- # Empty model - inherits all functionality from BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute decision_reason
13
+ # @return [String]
14
+ attr_accessor :decision_reason
15
+
16
+ # Initialize with attributes
17
+ def initialize(attributes = {})
18
+ super(attributes)
19
+ @decision_reason = attributes[:decision_reason] || attributes['decision_reason'] || nil
20
+ end
21
+
22
+ # Override field mappings for JSON serialization
23
+ def self.json_field_mappings
24
+ {
25
+ decision_reason: 'decision_reason'
26
+ }
27
+ end
11
28
  end
12
29
  end
13
30
  end
@@ -7,7 +7,24 @@ module GetStream
7
7
  module Models
8
8
  #
9
9
  class UnblockActionRequest < GetStream::BaseModel
10
- # Empty model - inherits all functionality from BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute decision_reason
13
+ # @return [String]
14
+ attr_accessor :decision_reason
15
+
16
+ # Initialize with attributes
17
+ def initialize(attributes = {})
18
+ super(attributes)
19
+ @decision_reason = attributes[:decision_reason] || attributes['decision_reason'] || nil
20
+ end
21
+
22
+ # Override field mappings for JSON serialization
23
+ def self.json_field_mappings
24
+ {
25
+ decision_reason: 'decision_reason'
26
+ }
27
+ end
11
28
  end
12
29
  end
13
30
  end
@@ -13,10 +13,10 @@ module GetStream
13
13
  # @return [String]
14
14
  attr_accessor :user_id
15
15
  # @!attribute unset
16
- # @return [Array<String>] List of field names to remove. Supported fields: 'custom', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_users'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')
16
+ # @return [Array<String>] List of field names to remove. Supported fields: 'custom', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_user_ids'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')
17
17
  attr_accessor :unset
18
18
  # @!attribute set
19
- # @return [Object] Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility', 'restrict_replies' (values: 'everyone', 'people_i_follow', 'nobody'), 'location', 'expires_at', 'filter_tags', 'interest_tags', 'poll_id', 'feeds', 'mentioned_users'. For custom fields, use dot-notation (e.g., 'custom.field_name')
19
+ # @return [Object] Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility', 'visibility_tag', 'restrict_replies' (values: 'everyone', 'people_i_follow', 'nobody'), 'location', 'expires_at', 'filter_tags', 'interest_tags', 'poll_id', 'feeds', 'mentioned_user_ids'. For custom fields, use dot-notation (e.g., 'custom.field_name')
20
20
  attr_accessor :set
21
21
  # @!attribute user
22
22
  # @return [UserRequest]
@@ -30,6 +30,9 @@ module GetStream
30
30
  # @!attribute visibility
31
31
  # @return [String] Visibility setting for the activity
32
32
  attr_accessor :visibility
33
+ # @!attribute visibility_tag
34
+ # @return [String] If visibility is 'tag', this is the tag name and is required
35
+ attr_accessor :visibility_tag
33
36
  # @!attribute attachments
34
37
  # @return [Array<Attachment>] List of attachments for the activity
35
38
  attr_accessor :attachments
@@ -45,6 +48,9 @@ module GetStream
45
48
  # @!attribute interest_tags
46
49
  # @return [Array<String>] Tags indicating interest categories
47
50
  attr_accessor :interest_tags
51
+ # @!attribute mentioned_user_ids
52
+ # @return [Array<String>] List of user IDs mentioned in the activity
53
+ attr_accessor :mentioned_user_ids
48
54
  # @!attribute custom
49
55
  # @return [Object] Custom data for the activity
50
56
  attr_accessor :custom
@@ -65,11 +71,13 @@ module GetStream
65
71
  @text = attributes[:text] || attributes['text'] || nil
66
72
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
67
73
  @visibility = attributes[:visibility] || attributes['visibility'] || nil
74
+ @visibility_tag = attributes[:visibility_tag] || attributes['visibility_tag'] || nil
68
75
  @attachments = attributes[:attachments] || attributes['attachments'] || nil
69
76
  @collection_refs = attributes[:collection_refs] || attributes['collection_refs'] || nil
70
77
  @feeds = attributes[:feeds] || attributes['feeds'] || nil
71
78
  @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil
72
79
  @interest_tags = attributes[:interest_tags] || attributes['interest_tags'] || nil
80
+ @mentioned_user_ids = attributes[:mentioned_user_ids] || attributes['mentioned_user_ids'] || nil
73
81
  @custom = attributes[:custom] || attributes['custom'] || nil
74
82
  @location = attributes[:location] || attributes['location'] || nil
75
83
  @user = attributes[:user] || attributes['user'] || nil
@@ -85,11 +93,13 @@ module GetStream
85
93
  text: 'text',
86
94
  user_id: 'user_id',
87
95
  visibility: 'visibility',
96
+ visibility_tag: 'visibility_tag',
88
97
  attachments: 'attachments',
89
98
  collection_refs: 'collection_refs',
90
99
  feeds: 'feeds',
91
100
  filter_tags: 'filter_tags',
92
101
  interest_tags: 'interest_tags',
102
+ mentioned_user_ids: 'mentioned_user_ids',
93
103
  custom: 'custom',
94
104
  location: 'location',
95
105
  user: 'user'
@@ -21,6 +21,9 @@ module GetStream
21
21
  # @!attribute user_id
22
22
  # @return [String]
23
23
  attr_accessor :user_id
24
+ # @!attribute attachments
25
+ # @return [Array<Attachment>] Updated media attachments for the comment. Providing this field will replace all existing attachments.
26
+ attr_accessor :attachments
24
27
  # @!attribute custom
25
28
  # @return [Object] Updated custom data for the comment
26
29
  attr_accessor :custom
@@ -35,6 +38,7 @@ module GetStream
35
38
  @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil
36
39
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
37
40
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
41
+ @attachments = attributes[:attachments] || attributes['attachments'] || nil
38
42
  @custom = attributes[:custom] || attributes['custom'] || nil
39
43
  @user = attributes[:user] || attributes['user'] || nil
40
44
  end
@@ -46,6 +50,7 @@ module GetStream
46
50
  skip_enrich_url: 'skip_enrich_url',
47
51
  skip_push: 'skip_push',
48
52
  user_id: 'user_id',
53
+ attachments: 'attachments',
49
54
  custom: 'custom',
50
55
  user: 'user'
51
56
  }
@@ -12,6 +12,15 @@ module GetStream
12
12
  # @!attribute created_by_id
13
13
  # @return [String] ID of the new feed creator (owner)
14
14
  attr_accessor :created_by_id
15
+ # @!attribute description
16
+ # @return [String] Description of the feed
17
+ attr_accessor :description
18
+ # @!attribute name
19
+ # @return [String] Name of the feed
20
+ attr_accessor :name
21
+ # @!attribute filter_tags
22
+ # @return [Array<String>] Tags used for filtering feeds
23
+ attr_accessor :filter_tags
15
24
  # @!attribute custom
16
25
  # @return [Object] Custom data for the feed
17
26
  attr_accessor :custom
@@ -20,6 +29,9 @@ module GetStream
20
29
  def initialize(attributes = {})
21
30
  super(attributes)
22
31
  @created_by_id = attributes[:created_by_id] || attributes['created_by_id'] || nil
32
+ @description = attributes[:description] || attributes['description'] || nil
33
+ @name = attributes[:name] || attributes['name'] || nil
34
+ @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil
23
35
  @custom = attributes[:custom] || attributes['custom'] || nil
24
36
  end
25
37
 
@@ -27,6 +39,9 @@ module GetStream
27
39
  def self.json_field_mappings
28
40
  {
29
41
  created_by_id: 'created_by_id',
42
+ description: 'description',
43
+ name: 'name',
44
+ filter_tags: 'filter_tags',
30
45
  custom: 'custom'
31
46
  }
32
47
  end
@@ -15,19 +15,24 @@ module GetStream
15
15
  # @!attribute activities
16
16
  # @return [Array<ActivityResponse>] List of created or updated activities
17
17
  attr_accessor :activities
18
+ # @!attribute mention_notifications_created
19
+ # @return [Integer] Total number of mention notification activities created for mentioned users across all activities
20
+ attr_accessor :mention_notifications_created
18
21
 
19
22
  # Initialize with attributes
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @duration = attributes[:duration] || attributes['duration']
23
26
  @activities = attributes[:activities] || attributes['activities']
27
+ @mention_notifications_created = attributes[:mention_notifications_created] || attributes['mention_notifications_created'] || 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
  duration: 'duration',
30
- activities: 'activities'
34
+ activities: 'activities',
35
+ mention_notifications_created: 'mention_notifications_created'
31
36
  }
32
37
  end
33
38
  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 UserIdenticalContentCountParameters < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute threshold
13
+ # @return [Integer]
14
+ attr_accessor :threshold
15
+ # @!attribute time_window
16
+ # @return [String]
17
+ attr_accessor :time_window
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @threshold = attributes[:threshold] || attributes['threshold'] || nil
23
+ @time_window = attributes[:time_window] || attributes['time_window'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ threshold: 'threshold',
30
+ time_window: 'time_window'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ 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 UserRoleParameters < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute operator
13
+ # @return [String]
14
+ attr_accessor :operator
15
+ # @!attribute role
16
+ # @return [String]
17
+ attr_accessor :role
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @operator = attributes[:operator] || attributes['operator'] || nil
23
+ @role = attributes[:role] || attributes['role'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ operator: 'operator',
30
+ role: 'role'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -12,6 +12,56 @@ module GetStream
12
12
  def initialize(client)
13
13
  @client = client
14
14
  end
15
+ # Appeal against the moderation decision
16
+ #
17
+ # @param appeal_request [AppealRequest]
18
+ # @return [Models::AppealResponse]
19
+ def appeal(appeal_request)
20
+ path = '/api/v2/moderation/appeal'
21
+ # Build request body
22
+ body = appeal_request
23
+
24
+ # Make the API request
25
+ @client.make_request(
26
+ :post,
27
+ path,
28
+ body: body
29
+ )
30
+ end
31
+
32
+ # Retrieve a specific appeal item by its ID
33
+ #
34
+ # @param _id [String]
35
+ # @return [Models::GetAppealResponse]
36
+ def get_appeal(_id)
37
+ path = '/api/v2/moderation/appeal/{id}'
38
+ # Replace path parameters
39
+ path = path.gsub('{id}', _id.to_s)
40
+
41
+ # Make the API request
42
+ @client.make_request(
43
+ :get,
44
+ path
45
+ )
46
+ end
47
+
48
+ # Query Appeals
49
+ #
50
+ # @param query_appeals_request [QueryAppealsRequest]
51
+ # @return [Models::QueryAppealsResponse]
52
+ def query_appeals(query_appeals_request)
53
+ path = '/api/v2/moderation/appeals'
54
+ # Build request body
55
+ body = query_appeals_request
56
+
57
+ # Make the API request
58
+ @client.make_request(
59
+ :post,
60
+ path,
61
+ body: body
62
+ )
63
+ end
64
+
15
65
  # Ban a user from a channel or the entire app
16
66
  #
17
67
  # @param ban_request [BanRequest]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GetStreamRuby
4
4
 
5
- VERSION = '1.0.0'
5
+ VERSION = '1.1.0'
6
6
 
7
7
  end