diff --git a/lib/getstream_ruby/generated/feeds_client.rb b/lib/getstream_ruby/generated/feeds_client.rb index 002a7c7..9897047 100644 --- a/lib/getstream_ruby/generated/feeds_client.rb +++ b/lib/getstream_ruby/generated/feeds_client.rb @@ -335,16 +335,25 @@ def delete_activity(_id, hard_delete = nil, delete_notification_activity = nil) # Returns activity by ID # # @param _id [String] + # @param comment_sort [String] + # @param comment_limit [Integer] + # @param user_id [String] # @return [Models::GetActivityResponse] - def get_activity(_id) + def get_activity(_id, comment_sort = nil, comment_limit = nil, user_id = nil) path = '/api/v2/feeds/activities/{id}' # Replace path parameters path = path.gsub('{id}', _id.to_s) + # Build query parameters + query_params = {} + query_params['comment_sort'] = comment_sort unless comment_sort.nil? + query_params['comment_limit'] = comment_limit unless comment_limit.nil? + query_params['user_id'] = user_id unless user_id.nil? # Make the API request @client.make_request( :get, - path + path, + query_params: query_params ) end @@ -676,6 +685,69 @@ def query_comments(query_comments_request) ) end + # Deletes a bookmark from a comment + # + # @param comment_id [String] + # @param folder_id [String] + # @param user_id [String] + # @return [Models::DeleteCommentBookmarkResponse] + def delete_comment_bookmark(comment_id, folder_id = nil, user_id = nil) + path = '/api/v2/feeds/comments/{comment_id}/bookmarks' + # Replace path parameters + path = path.gsub('{comment_id}', comment_id.to_s) + # Build query parameters + query_params = {} + query_params['folder_id'] = folder_id unless folder_id.nil? + query_params['user_id'] = user_id unless user_id.nil? + + # Make the API request + @client.make_request( + :delete, + path, + query_params: query_params + ) + end + + # Updates a bookmark for a comment + # + # @param comment_id [String] + # @param update_comment_bookmark_request [UpdateCommentBookmarkRequest] + # @return [Models::UpdateCommentBookmarkResponse] + def update_comment_bookmark(comment_id, update_comment_bookmark_request) + path = '/api/v2/feeds/comments/{comment_id}/bookmarks' + # Replace path parameters + path = path.gsub('{comment_id}', comment_id.to_s) + # Build request body + body = update_comment_bookmark_request + + # Make the API request + @client.make_request( + :patch, + path, + body: body + ) + end + + # Adds a bookmark to a comment + # + # @param comment_id [String] + # @param add_comment_bookmark_request [AddCommentBookmarkRequest] + # @return [Models::AddCommentBookmarkResponse] + def add_comment_bookmark(comment_id, add_comment_bookmark_request) + path = '/api/v2/feeds/comments/{comment_id}/bookmarks' + # Replace path parameters + path = path.gsub('{comment_id}', comment_id.to_s) + # Build request body + body = add_comment_bookmark_request + + # Make the API request + @client.make_request( + :post, + path, + body: body + ) + end + # Deletes a comment from an object (e.g., activity) and broadcasts appropriate events # # @param _id [String] @@ -702,16 +774,21 @@ def delete_comment(_id, hard_delete = nil, delete_notification_activity = nil) # Get a comment by ID # # @param _id [String] + # @param user_id [String] # @return [Models::GetCommentResponse] - def get_comment(_id) + def get_comment(_id, user_id = nil) path = '/api/v2/feeds/comments/{id}' # Replace path parameters path = path.gsub('{id}', _id.to_s) + # Build query parameters + query_params = {} + query_params['user_id'] = user_id unless user_id.nil? # Make the API request @client.make_request( :get, - path + path, + query_params: query_params ) end diff --git a/lib/getstream_ruby/generated/models/activity_request.rb b/lib/getstream_ruby/generated/models/activity_request.rb index a3dafca..3cf73af 100644 --- a/lib/getstream_ruby/generated/models/activity_request.rb +++ b/lib/getstream_ruby/generated/models/activity_request.rb @@ -74,7 +74,7 @@ class ActivityRequest < GetStream::BaseModel # @return [Object] Custom data for the activity attr_accessor :custom # @!attribute location - # @return [ActivityLocation] + # @return [Location] attr_accessor :location # @!attribute search_data # @return [Object] Additional data for search indexing diff --git a/lib/getstream_ruby/generated/models/activity_response.rb b/lib/getstream_ruby/generated/models/activity_response.rb index bd736c1..1e2bb83 100644 --- a/lib/getstream_ruby/generated/models/activity_response.rb +++ b/lib/getstream_ruby/generated/models/activity_response.rb @@ -133,7 +133,7 @@ class ActivityResponse < GetStream::BaseModel # @return [FeedResponse] attr_accessor :current_feed # @!attribute location - # @return [ActivityLocation] + # @return [Location] attr_accessor :location # @!attribute metrics # @return [Hash] diff --git a/lib/getstream_ruby/generated/models/add_activity_request.rb b/lib/getstream_ruby/generated/models/add_activity_request.rb index 880edc4..34c24dd 100644 --- a/lib/getstream_ruby/generated/models/add_activity_request.rb +++ b/lib/getstream_ruby/generated/models/add_activity_request.rb @@ -28,6 +28,9 @@ class AddActivityRequest < GetStream::BaseModel # @!attribute expires_at # @return [String] Expiration time for the activity attr_accessor :expires_at + # @!attribute force_moderation + # @return [Boolean] + attr_accessor :force_moderation # @!attribute id # @return [String] Optional ID for the activity attr_accessor :id @@ -77,7 +80,7 @@ class AddActivityRequest < GetStream::BaseModel # @return [Object] Custom data for the activity attr_accessor :custom # @!attribute location - # @return [ActivityLocation] + # @return [Location] attr_accessor :location # @!attribute search_data # @return [Object] Additional data for search indexing @@ -92,6 +95,7 @@ def initialize(attributes = {}) @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil @id = attributes[:id] || attributes['id'] || nil @parent_id = attributes[:parent_id] || attributes['parent_id'] || nil @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil @@ -121,6 +125,7 @@ def self.json_field_mappings create_notification_activity: 'create_notification_activity', enrich_own_fields: 'enrich_own_fields', expires_at: 'expires_at', + force_moderation: 'force_moderation', id: 'id', parent_id: 'parent_id', poll_id: 'poll_id', diff --git a/lib/getstream_ruby/generated/models/add_comment_bookmark_request.rb b/lib/getstream_ruby/generated/models/add_comment_bookmark_request.rb new file mode 100644 index 0000000..66bb703 --- /dev/null +++ b/lib/getstream_ruby/generated/models/add_comment_bookmark_request.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class AddCommentBookmarkRequest < GetStream::BaseModel + + # Model attributes + # @!attribute folder_id + # @return [String] ID of the folder to add the bookmark to + attr_accessor :folder_id + # @!attribute user_id + # @return [String] + attr_accessor :user_id + # @!attribute custom + # @return [Object] Custom data for the bookmark + attr_accessor :custom + # @!attribute new_folder + # @return [AddFolderRequest] + attr_accessor :new_folder + # @!attribute user + # @return [UserRequest] + attr_accessor :user + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @folder_id = attributes[:folder_id] || attributes['folder_id'] || nil + @user_id = attributes[:user_id] || attributes['user_id'] || nil + @custom = attributes[:custom] || attributes['custom'] || nil + @new_folder = attributes[:new_folder] || attributes['new_folder'] || nil + @user = attributes[:user] || attributes['user'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + folder_id: 'folder_id', + user_id: 'user_id', + custom: 'custom', + new_folder: 'new_folder', + user: 'user' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/add_comment_bookmark_response.rb b/lib/getstream_ruby/generated/models/add_comment_bookmark_response.rb new file mode 100644 index 0000000..78cef63 --- /dev/null +++ b/lib/getstream_ruby/generated/models/add_comment_bookmark_response.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class AddCommentBookmarkResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] + attr_accessor :duration + # @!attribute bookmark + # @return [BookmarkResponse] + attr_accessor :bookmark + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @bookmark = attributes[:bookmark] || attributes['bookmark'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + bookmark: 'bookmark' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/add_comment_request.rb b/lib/getstream_ruby/generated/models/add_comment_request.rb index 5e104b0..3824b4a 100644 --- a/lib/getstream_ruby/generated/models/add_comment_request.rb +++ b/lib/getstream_ruby/generated/models/add_comment_request.rb @@ -22,6 +22,9 @@ class AddCommentRequest < GetStream::BaseModel # @!attribute create_notification_activity # @return [Boolean] Whether to create a notification activity for this comment attr_accessor :create_notification_activity + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # @!attribute id # @return [String] Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated. attr_accessor :id @@ -60,6 +63,7 @@ def initialize(attributes = {}) @comment = attributes[:comment] || attributes['comment'] || nil @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil @id = attributes[:id] || attributes['id'] || nil @object_type = attributes[:object_type] || attributes['object_type'] || nil @parent_id = attributes[:parent_id] || attributes['parent_id'] || nil @@ -79,6 +83,7 @@ def self.json_field_mappings comment: 'comment', copy_custom_to_notification: 'copy_custom_to_notification', create_notification_activity: 'create_notification_activity', + force_moderation: 'force_moderation', id: 'id', object_type: 'object_type', parent_id: 'parent_id', diff --git a/lib/getstream_ruby/generated/models/aggregation_config.rb b/lib/getstream_ruby/generated/models/aggregation_config.rb index aaad343..590c7b3 100644 --- a/lib/getstream_ruby/generated/models/aggregation_config.rb +++ b/lib/getstream_ruby/generated/models/aggregation_config.rb @@ -9,6 +9,9 @@ module Models class AggregationConfig < GetStream::BaseModel # Model attributes + # @!attribute activities_sort + # @return [String] Order of member activities inside each aggregated group for non-stories feeds: created_at_desc (newest first, default) or created_at_asc (oldest first). Stories feeds ignore this and always use oldest first. + attr_accessor :activities_sort # @!attribute format # @return [String] Format for activity aggregation attr_accessor :format @@ -19,6 +22,7 @@ class AggregationConfig < GetStream::BaseModel # Initialize with attributes def initialize(attributes = {}) super(attributes) + @activities_sort = attributes[:activities_sort] || attributes['activities_sort'] || nil @format = attributes[:format] || attributes['format'] || nil @score_strategy = attributes[:score_strategy] || attributes['score_strategy'] || nil end @@ -26,6 +30,7 @@ def initialize(attributes = {}) # Override field mappings for JSON serialization def self.json_field_mappings { + activities_sort: 'activities_sort', format: 'format', score_strategy: 'score_strategy' } diff --git a/lib/getstream_ruby/generated/models/ban_action_request_payload.rb b/lib/getstream_ruby/generated/models/ban_action_request_payload.rb index 0870212..0cae0cc 100644 --- a/lib/getstream_ruby/generated/models/ban_action_request_payload.rb +++ b/lib/getstream_ruby/generated/models/ban_action_request_payload.rb @@ -9,6 +9,9 @@ module Models class BanActionRequestPayload < GetStream::BaseModel # Model attributes + # @!attribute ban_from_future_channels + # @return [Boolean] Also ban user from all channels this moderator creates in the future + attr_accessor :ban_from_future_channels # @!attribute channel_ban_only # @return [Boolean] Ban only from specific channel attr_accessor :channel_ban_only @@ -37,6 +40,7 @@ class BanActionRequestPayload < GetStream::BaseModel # Initialize with attributes def initialize(attributes = {}) super(attributes) + @ban_from_future_channels = attributes[:ban_from_future_channels] || attributes['ban_from_future_channels'] || nil @channel_ban_only = attributes[:channel_ban_only] || attributes['channel_ban_only'] || nil @channel_cid = attributes[:channel_cid] || attributes['channel_cid'] || nil @delete_messages = attributes[:delete_messages] || attributes['delete_messages'] || nil @@ -50,6 +54,7 @@ def initialize(attributes = {}) # Override field mappings for JSON serialization def self.json_field_mappings { + ban_from_future_channels: 'ban_from_future_channels', channel_ban_only: 'channel_ban_only', channel_cid: 'channel_cid', delete_messages: 'delete_messages', diff --git a/lib/getstream_ruby/generated/models/bookmark_response.rb b/lib/getstream_ruby/generated/models/bookmark_response.rb index 0d4dbff..b9a5b37 100644 --- a/lib/getstream_ruby/generated/models/bookmark_response.rb +++ b/lib/getstream_ruby/generated/models/bookmark_response.rb @@ -9,9 +9,15 @@ module Models class BookmarkResponse < GetStream::BaseModel # Model attributes + # @!attribute _object_id + # @return [String] ID of the bookmarked object + attr_accessor :_object_id # @!attribute created_at # @return [DateTime] When the bookmark was created attr_accessor :created_at + # @!attribute object_type + # @return [String] Type of the bookmarked object (activity or comment) + attr_accessor :object_type # @!attribute updated_at # @return [DateTime] When the bookmark was last updated attr_accessor :updated_at @@ -21,6 +27,12 @@ class BookmarkResponse < GetStream::BaseModel # @!attribute user # @return [UserResponse] attr_accessor :user + # @!attribute activity_id + # @return [String] + attr_accessor :activity_id + # @!attribute comment + # @return [CommentResponse] + attr_accessor :comment # @!attribute custom # @return [Object] Custom data for the bookmark attr_accessor :custom @@ -31,10 +43,14 @@ class BookmarkResponse < GetStream::BaseModel # Initialize with attributes def initialize(attributes = {}) super(attributes) + @_object_id = attributes[:_object_id] || attributes['object_id'] @created_at = attributes[:created_at] || attributes['created_at'] + @object_type = attributes[:object_type] || attributes['object_type'] @updated_at = attributes[:updated_at] || attributes['updated_at'] @activity = attributes[:activity] || attributes['activity'] @user = attributes[:user] || attributes['user'] + @activity_id = attributes[:activity_id] || attributes['activity_id'] || nil + @comment = attributes[:comment] || attributes['comment'] || nil @custom = attributes[:custom] || attributes['custom'] || nil @folder = attributes[:folder] || attributes['folder'] || nil end @@ -42,10 +58,14 @@ def initialize(attributes = {}) # Override field mappings for JSON serialization def self.json_field_mappings { + _object_id: 'object_id', created_at: 'created_at', + object_type: 'object_type', updated_at: 'updated_at', activity: 'activity', user: 'user', + activity_id: 'activity_id', + comment: 'comment', custom: 'custom', folder: 'folder' } diff --git a/lib/getstream_ruby/generated/models/bypass_action_request.rb b/lib/getstream_ruby/generated/models/bypass_action_request.rb new file mode 100644 index 0000000..3f029e8 --- /dev/null +++ b/lib/getstream_ruby/generated/models/bypass_action_request.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class BypassActionRequest < GetStream::BaseModel + + # Model attributes + # @!attribute enabled + # @return [Boolean] + attr_accessor :enabled + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @enabled = attributes[:enabled] || attributes['enabled'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + enabled: 'enabled' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/bypass_request.rb b/lib/getstream_ruby/generated/models/bypass_request.rb new file mode 100644 index 0000000..3c7b027 --- /dev/null +++ b/lib/getstream_ruby/generated/models/bypass_request.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class BypassRequest < GetStream::BaseModel + + # Model attributes + # @!attribute enabled + # @return [Boolean] Whether to enable moderation bypass for this user + attr_accessor :enabled + # @!attribute target_user_id + # @return [String] ID of the user to update + attr_accessor :target_user_id + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @enabled = attributes[:enabled] || attributes['enabled'] + @target_user_id = attributes[:target_user_id] || attributes['target_user_id'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + enabled: 'enabled', + target_user_id: 'target_user_id' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/bypass_response.rb b/lib/getstream_ruby/generated/models/bypass_response.rb new file mode 100644 index 0000000..8d4b295 --- /dev/null +++ b/lib/getstream_ruby/generated/models/bypass_response.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class BypassResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] + attr_accessor :duration + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb b/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb index fa885dc..c2d7842 100644 --- a/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +++ b/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb @@ -27,12 +27,24 @@ class CallStatsParticipantCounts < GetStream::BaseModel # @!attribute sessions # @return [Integer] attr_accessor :sessions + # @!attribute sfus_used + # @return [Integer] + attr_accessor :sfus_used + # @!attribute average_jitter_ms + # @return [Integer] + attr_accessor :average_jitter_ms + # @!attribute average_latency_ms + # @return [Integer] + attr_accessor :average_latency_ms # @!attribute call_event_count # @return [Integer] attr_accessor :call_event_count # @!attribute cq_score # @return [Integer] attr_accessor :cq_score + # @!attribute max_freezes_duration_ms + # @return [Integer] + attr_accessor :max_freezes_duration_ms # @!attribute total_participant_duration # @return [Integer] attr_accessor :total_participant_duration @@ -46,8 +58,12 @@ def initialize(attributes = {}) @peak_concurrent_users = attributes[:peak_concurrent_users] || attributes['peak_concurrent_users'] @publishers = attributes[:publishers] || attributes['publishers'] @sessions = attributes[:sessions] || attributes['sessions'] + @sfus_used = attributes[:sfus_used] || attributes['sfus_used'] + @average_jitter_ms = attributes[:average_jitter_ms] || attributes['average_jitter_ms'] || nil + @average_latency_ms = attributes[:average_latency_ms] || attributes['average_latency_ms'] || nil @call_event_count = attributes[:call_event_count] || attributes['call_event_count'] || nil @cq_score = attributes[:cq_score] || attributes['cq_score'] || nil + @max_freezes_duration_ms = attributes[:max_freezes_duration_ms] || attributes['max_freezes_duration_ms'] || nil @total_participant_duration = attributes[:total_participant_duration] || attributes['total_participant_duration'] || nil end @@ -60,8 +76,12 @@ def self.json_field_mappings peak_concurrent_users: 'peak_concurrent_users', publishers: 'publishers', sessions: 'sessions', + sfus_used: 'sfus_used', + average_jitter_ms: 'average_jitter_ms', + average_latency_ms: 'average_latency_ms', call_event_count: 'call_event_count', cq_score: 'cq_score', + max_freezes_duration_ms: 'max_freezes_duration_ms', total_participant_duration: 'total_participant_duration' } end diff --git a/lib/getstream_ruby/generated/models/call_stats_participant_session.rb b/lib/getstream_ruby/generated/models/call_stats_participant_session.rb index a408fe1..1d5c08c 100644 --- a/lib/getstream_ruby/generated/models/call_stats_participant_session.rb +++ b/lib/getstream_ruby/generated/models/call_stats_participant_session.rb @@ -39,6 +39,15 @@ class CallStatsParticipantSession < GetStream::BaseModel # @!attribute ended_at # @return [DateTime] attr_accessor :ended_at + # @!attribute freezes_duration_ms + # @return [Integer] + attr_accessor :freezes_duration_ms + # @!attribute jitter_ms + # @return [Integer] + attr_accessor :jitter_ms + # @!attribute latency_ms + # @return [Integer] + attr_accessor :latency_ms # @!attribute os # @return [String] attr_accessor :os @@ -77,6 +86,9 @@ def initialize(attributes = {}) @current_sfu = attributes[:current_sfu] || attributes['current_sfu'] || nil @distance_to_sfu_kilometers = attributes[:distance_to_sfu_kilometers] || attributes['distance_to_sfu_kilometers'] || nil @ended_at = attributes[:ended_at] || attributes['ended_at'] || nil + @freezes_duration_ms = attributes[:freezes_duration_ms] || attributes['freezes_duration_ms'] || nil + @jitter_ms = attributes[:jitter_ms] || attributes['jitter_ms'] || nil + @latency_ms = attributes[:latency_ms] || attributes['latency_ms'] || nil @os = attributes[:os] || attributes['os'] || nil @publisher_type = attributes[:publisher_type] || attributes['publisher_type'] || nil @sdk = attributes[:sdk] || attributes['sdk'] || nil @@ -100,6 +112,9 @@ def self.json_field_mappings current_sfu: 'current_sfu', distance_to_sfu_kilometers: 'distance_to_sfu_kilometers', ended_at: 'ended_at', + freezes_duration_ms: 'freezes_duration_ms', + jitter_ms: 'jitter_ms', + latency_ms: 'latency_ms', os: 'os', publisher_type: 'publisher_type', sdk: 'sdk', diff --git a/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb b/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb index 6a0c82c..c358819 100644 --- a/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb +++ b/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb @@ -18,6 +18,9 @@ class CallStatsReportReadyEvent < GetStream::BaseModel # @!attribute session_id # @return [String] Call session ID attr_accessor :session_id + # @!attribute counts + # @return [CallStatsParticipantCounts] + attr_accessor :counts # @!attribute type # @return [String] The type of event, "call.report_ready" in this case attr_accessor :type @@ -34,6 +37,7 @@ def initialize(attributes = {}) @call_cid = attributes[:call_cid] || attributes['call_cid'] @created_at = attributes[:created_at] || attributes['created_at'] @session_id = attributes[:session_id] || attributes['session_id'] + @counts = attributes[:counts] || attributes['counts'] @type = attributes[:type] || attributes['type'] || "call.stats_report_ready" @is_trimmed = attributes[:is_trimmed] || attributes['is_trimmed'] || nil @participants_overview = attributes[:participants_overview] || attributes['participants_overview'] || nil @@ -45,6 +49,7 @@ def self.json_field_mappings call_cid: 'call_cid', created_at: 'created_at', session_id: 'session_id', + counts: 'counts', type: 'type', is_trimmed: 'is_trimmed', participants_overview: 'participants_overview' diff --git a/lib/getstream_ruby/generated/models/call_stats_session_response.rb b/lib/getstream_ruby/generated/models/call_stats_session_response.rb new file mode 100644 index 0000000..3eaa254 --- /dev/null +++ b/lib/getstream_ruby/generated/models/call_stats_session_response.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class CallStatsSessionResponse < GetStream::BaseModel + + # Model attributes + # @!attribute call_id + # @return [String] + attr_accessor :call_id + # @!attribute call_session_id + # @return [String] + attr_accessor :call_session_id + # @!attribute call_type + # @return [String] + attr_accessor :call_type + # @!attribute generated_at + # @return [DateTime] + attr_accessor :generated_at + # @!attribute counts + # @return [CallStatsParticipantCounts] + attr_accessor :counts + # @!attribute call_ended_at + # @return [DateTime] + attr_accessor :call_ended_at + # @!attribute call_started_at + # @return [DateTime] + attr_accessor :call_started_at + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @call_id = attributes[:call_id] || attributes['call_id'] + @call_session_id = attributes[:call_session_id] || attributes['call_session_id'] + @call_type = attributes[:call_type] || attributes['call_type'] + @generated_at = attributes[:generated_at] || attributes['generated_at'] + @counts = attributes[:counts] || attributes['counts'] + @call_ended_at = attributes[:call_ended_at] || attributes['call_ended_at'] || nil + @call_started_at = attributes[:call_started_at] || attributes['call_started_at'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + call_id: 'call_id', + call_session_id: 'call_session_id', + call_type: 'call_type', + generated_at: 'generated_at', + counts: 'counts', + call_ended_at: 'call_ended_at', + call_started_at: 'call_started_at' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/comment_response.rb b/lib/getstream_ruby/generated/models/comment_response.rb index 8a4a68d..ac79402 100644 --- a/lib/getstream_ruby/generated/models/comment_response.rb +++ b/lib/getstream_ruby/generated/models/comment_response.rb @@ -12,6 +12,9 @@ class CommentResponse < GetStream::BaseModel # @!attribute _object_id # @return [String] ID of the object this comment is associated with attr_accessor :_object_id + # @!attribute bookmark_count + # @return [Integer] + attr_accessor :bookmark_count # @!attribute confidence_score # @return [Float] Confidence score of the comment attr_accessor :confidence_score @@ -89,6 +92,7 @@ class CommentResponse < GetStream::BaseModel def initialize(attributes = {}) super(attributes) @_object_id = attributes[:_object_id] || attributes['object_id'] + @bookmark_count = attributes[:bookmark_count] || attributes['bookmark_count'] @confidence_score = attributes[:confidence_score] || attributes['confidence_score'] @created_at = attributes[:created_at] || attributes['created_at'] @downvote_count = attributes[:downvote_count] || attributes['downvote_count'] @@ -119,6 +123,7 @@ def initialize(attributes = {}) def self.json_field_mappings { _object_id: 'object_id', + bookmark_count: 'bookmark_count', confidence_score: 'confidence_score', created_at: 'created_at', downvote_count: 'downvote_count', diff --git a/lib/getstream_ruby/generated/models/delete_comment_bookmark_response.rb b/lib/getstream_ruby/generated/models/delete_comment_bookmark_response.rb new file mode 100644 index 0000000..efe5f97 --- /dev/null +++ b/lib/getstream_ruby/generated/models/delete_comment_bookmark_response.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class DeleteCommentBookmarkResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] + attr_accessor :duration + # @!attribute bookmark + # @return [BookmarkResponse] + attr_accessor :bookmark + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @bookmark = attributes[:bookmark] || attributes['bookmark'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + bookmark: 'bookmark' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/emau_stats_response.rb b/lib/getstream_ruby/generated/models/emau_stats_response.rb new file mode 100644 index 0000000..3a1c230 --- /dev/null +++ b/lib/getstream_ruby/generated/models/emau_stats_response.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class EMAUStatsResponse < GetStream::BaseModel + + # Model attributes + # @!attribute daily + # @return [Array] Per-day unique engaged user counts + attr_accessor :daily + # @!attribute last_30_days + # @return [Array] Rolling 30-day engaged user count snapshots + attr_accessor :last_30_days + # @!attribute month_to_date + # @return [Array] Calendar month-to-date engaged user count snapshots + attr_accessor :month_to_date + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @daily = attributes[:daily] || attributes['daily'] + @last_30_days = attributes[:last_30_days] || attributes['last_30_days'] + @month_to_date = attributes[:month_to_date] || attributes['month_to_date'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + daily: 'daily', + last_30_days: 'last_30_days', + month_to_date: 'month_to_date' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/entity_creator_response.rb b/lib/getstream_ruby/generated/models/entity_creator_response.rb index 1c00498..66d2d4d 100644 --- a/lib/getstream_ruby/generated/models/entity_creator_response.rb +++ b/lib/getstream_ruby/generated/models/entity_creator_response.rb @@ -60,6 +60,9 @@ class EntityCreatorResponse < GetStream::BaseModel # @!attribute ban_expires # @return [DateTime] attr_accessor :ban_expires + # @!attribute bypass_moderation + # @return [Boolean] + attr_accessor :bypass_moderation # @!attribute deactivated_at # @return [DateTime] attr_accessor :deactivated_at @@ -111,6 +114,7 @@ def initialize(attributes = {}) @custom = attributes[:custom] || attributes['custom'] @avg_response_time = attributes[:avg_response_time] || attributes['avg_response_time'] || nil @ban_expires = attributes[:ban_expires] || attributes['ban_expires'] || nil + @bypass_moderation = attributes[:bypass_moderation] || attributes['bypass_moderation'] || nil @deactivated_at = attributes[:deactivated_at] || attributes['deactivated_at'] || nil @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil @image = attributes[:image] || attributes['image'] || nil @@ -143,6 +147,7 @@ def self.json_field_mappings custom: 'custom', avg_response_time: 'avg_response_time', ban_expires: 'ban_expires', + bypass_moderation: 'bypass_moderation', deactivated_at: 'deactivated_at', deleted_at: 'deleted_at', image: 'image', diff --git a/lib/getstream_ruby/generated/models/feed_input.rb b/lib/getstream_ruby/generated/models/feed_input.rb index 36a1ff4..4621c48 100644 --- a/lib/getstream_ruby/generated/models/feed_input.rb +++ b/lib/getstream_ruby/generated/models/feed_input.rb @@ -27,6 +27,9 @@ class FeedInput < GetStream::BaseModel # @!attribute custom # @return [Object] attr_accessor :custom + # @!attribute location + # @return [Location] + attr_accessor :location # Initialize with attributes def initialize(attributes = {}) @@ -37,6 +40,7 @@ def initialize(attributes = {}) @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil @members = attributes[:members] || attributes['members'] || nil @custom = attributes[:custom] || attributes['custom'] || nil + @location = attributes[:location] || attributes['location'] || nil end # Override field mappings for JSON serialization @@ -47,7 +51,8 @@ def self.json_field_mappings visibility: 'visibility', filter_tags: 'filter_tags', members: 'members', - custom: 'custom' + custom: 'custom', + location: 'location' } end end diff --git a/lib/getstream_ruby/generated/models/feed_request.rb b/lib/getstream_ruby/generated/models/feed_request.rb index bebe815..6f0a67a 100644 --- a/lib/getstream_ruby/generated/models/feed_request.rb +++ b/lib/getstream_ruby/generated/models/feed_request.rb @@ -36,6 +36,9 @@ class FeedRequest < GetStream::BaseModel # @!attribute custom # @return [Object] Custom data for the feed attr_accessor :custom + # @!attribute location + # @return [Location] + attr_accessor :location # Initialize with attributes def initialize(attributes = {}) @@ -49,6 +52,7 @@ def initialize(attributes = {}) @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil @members = attributes[:members] || attributes['members'] || nil @custom = attributes[:custom] || attributes['custom'] || nil + @location = attributes[:location] || attributes['location'] || nil end # Override field mappings for JSON serialization @@ -62,7 +66,8 @@ def self.json_field_mappings visibility: 'visibility', filter_tags: 'filter_tags', members: 'members', - custom: 'custom' + custom: 'custom', + location: 'location' } end end diff --git a/lib/getstream_ruby/generated/models/feed_response.rb b/lib/getstream_ruby/generated/models/feed_response.rb index bd0fc14..d968512 100644 --- a/lib/getstream_ruby/generated/models/feed_response.rb +++ b/lib/getstream_ruby/generated/models/feed_response.rb @@ -69,6 +69,9 @@ class FeedResponse < GetStream::BaseModel # @!attribute custom # @return [Object] Custom data for the feed attr_accessor :custom + # @!attribute location + # @return [Location] + attr_accessor :location # @!attribute own_membership # @return [FeedMemberResponse] attr_accessor :own_membership @@ -96,6 +99,7 @@ def initialize(attributes = {}) @own_followings = attributes[:own_followings] || attributes['own_followings'] || nil @own_follows = attributes[:own_follows] || attributes['own_follows'] || nil @custom = attributes[:custom] || attributes['custom'] || nil + @location = attributes[:location] || attributes['location'] || nil @own_membership = attributes[:own_membership] || attributes['own_membership'] || nil end @@ -122,6 +126,7 @@ def self.json_field_mappings own_followings: 'own_followings', own_follows: 'own_follows', custom: 'custom', + location: 'location', own_membership: 'own_membership' } end diff --git a/lib/getstream_ruby/generated/models/feed_suggestion_response.rb b/lib/getstream_ruby/generated/models/feed_suggestion_response.rb index 2b20bc2..efeb0c6 100644 --- a/lib/getstream_ruby/generated/models/feed_suggestion_response.rb +++ b/lib/getstream_ruby/generated/models/feed_suggestion_response.rb @@ -78,6 +78,9 @@ class FeedSuggestionResponse < GetStream::BaseModel # @!attribute custom # @return [Object] Custom data for the feed attr_accessor :custom + # @!attribute location + # @return [Location] + attr_accessor :location # @!attribute own_membership # @return [FeedMemberResponse] attr_accessor :own_membership @@ -108,6 +111,7 @@ def initialize(attributes = {}) @own_follows = attributes[:own_follows] || attributes['own_follows'] || nil @algorithm_scores = attributes[:algorithm_scores] || attributes['algorithm_scores'] || nil @custom = attributes[:custom] || attributes['custom'] || nil + @location = attributes[:location] || attributes['location'] || nil @own_membership = attributes[:own_membership] || attributes['own_membership'] || nil end @@ -137,6 +141,7 @@ def self.json_field_mappings own_follows: 'own_follows', algorithm_scores: 'algorithm_scores', custom: 'custom', + location: 'location', own_membership: 'own_membership' } end diff --git a/lib/getstream_ruby/generated/models/follow_batch_request.rb b/lib/getstream_ruby/generated/models/follow_batch_request.rb index 8099db4..26c120f 100644 --- a/lib/getstream_ruby/generated/models/follow_batch_request.rb +++ b/lib/getstream_ruby/generated/models/follow_batch_request.rb @@ -12,6 +12,9 @@ class FollowBatchRequest < GetStream::BaseModel # @!attribute follows # @return [Array] List of follow relationships to create attr_accessor :follows + # @!attribute create_users + # @return [Boolean] If true, auto-creates users referenced by source/target FIDs in the batch when they don't already exist. Server-side only. Defaults to false. This top-level field is the only supported batch/upsert create_users control. + attr_accessor :create_users # @!attribute enrich_own_fields # @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. attr_accessor :enrich_own_fields @@ -20,6 +23,7 @@ class FollowBatchRequest < GetStream::BaseModel def initialize(attributes = {}) super(attributes) @follows = attributes[:follows] || attributes['follows'] + @create_users = attributes[:create_users] || attributes['create_users'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil end @@ -27,6 +31,7 @@ def initialize(attributes = {}) def self.json_field_mappings { follows: 'follows', + create_users: 'create_users', enrich_own_fields: 'enrich_own_fields' } end diff --git a/lib/getstream_ruby/generated/models/follow_request.rb b/lib/getstream_ruby/generated/models/follow_request.rb index b88076f..d70a52d 100644 --- a/lib/getstream_ruby/generated/models/follow_request.rb +++ b/lib/getstream_ruby/generated/models/follow_request.rb @@ -15,6 +15,9 @@ class FollowRequest < GetStream::BaseModel # @!attribute target # @return [String] Fully qualified ID of the target feed attr_accessor :target + # @!attribute activity_copy_limit + # @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. + attr_accessor :activity_copy_limit # @!attribute copy_custom_to_notification # @deprecated This field is deprecated. # @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 @@ class FollowRequest < GetStream::BaseModel # @!attribute create_notification_activity # @return [Boolean] Whether to create a notification activity for this follow attr_accessor :create_notification_activity + # @!attribute create_users + # @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. + attr_accessor :create_users # @!attribute enrich_own_fields # @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. attr_accessor :enrich_own_fields @@ -43,8 +49,10 @@ def initialize(attributes = {}) super(attributes) @source = attributes[:source] || attributes['source'] @target = attributes[:target] || attributes['target'] + @activity_copy_limit = attributes[:activity_copy_limit] || attributes['activity_copy_limit'] || nil @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil + @create_users = attributes[:create_users] || attributes['create_users'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil @@ -57,8 +65,10 @@ def self.json_field_mappings { source: 'source', target: 'target', + activity_copy_limit: 'activity_copy_limit', copy_custom_to_notification: 'copy_custom_to_notification', create_notification_activity: 'create_notification_activity', + create_users: 'create_users', enrich_own_fields: 'enrich_own_fields', push_preference: 'push_preference', skip_push: 'skip_push', diff --git a/lib/getstream_ruby/generated/models/full_user_response.rb b/lib/getstream_ruby/generated/models/full_user_response.rb index f606abf..da9580e 100644 --- a/lib/getstream_ruby/generated/models/full_user_response.rb +++ b/lib/getstream_ruby/generated/models/full_user_response.rb @@ -72,6 +72,9 @@ class FullUserResponse < GetStream::BaseModel # @!attribute ban_expires # @return [DateTime] attr_accessor :ban_expires + # @!attribute bypass_moderation + # @return [Boolean] + attr_accessor :bypass_moderation # @!attribute deactivated_at # @return [DateTime] attr_accessor :deactivated_at @@ -124,6 +127,7 @@ def initialize(attributes = {}) @custom = attributes[:custom] || attributes['custom'] @avg_response_time = attributes[:avg_response_time] || attributes['avg_response_time'] || nil @ban_expires = attributes[:ban_expires] || attributes['ban_expires'] || nil + @bypass_moderation = attributes[:bypass_moderation] || attributes['bypass_moderation'] || nil @deactivated_at = attributes[:deactivated_at] || attributes['deactivated_at'] || nil @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil @image = attributes[:image] || attributes['image'] || nil @@ -159,6 +163,7 @@ def self.json_field_mappings custom: 'custom', avg_response_time: 'avg_response_time', ban_expires: 'ban_expires', + bypass_moderation: 'bypass_moderation', deactivated_at: 'deactivated_at', deleted_at: 'deleted_at', image: 'image', diff --git a/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb b/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb index 43be163..dc18b79 100644 --- a/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb +++ b/lib/getstream_ruby/generated/models/get_import_v2_task_response.rb @@ -33,6 +33,9 @@ class GetImportV2TaskResponse < GetStream::BaseModel # @!attribute settings # @return [ImportV2TaskSettings] attr_accessor :settings + # @!attribute result + # @return [Object] + attr_accessor :result # Initialize with attributes def initialize(attributes = {}) @@ -45,6 +48,7 @@ def initialize(attributes = {}) @state = attributes[:state] || attributes['state'] @updated_at = attributes[:updated_at] || attributes['updated_at'] @settings = attributes[:settings] || attributes['settings'] + @result = attributes[:result] || attributes['result'] || nil end # Override field mappings for JSON serialization @@ -57,7 +61,8 @@ def self.json_field_mappings product: 'product', state: 'state', updated_at: 'updated_at', - settings: 'settings' + settings: 'settings', + result: 'result' } end end diff --git a/lib/getstream_ruby/generated/models/import_v2_task_item.rb b/lib/getstream_ruby/generated/models/import_v2_task_item.rb index dfae0ba..32c300f 100644 --- a/lib/getstream_ruby/generated/models/import_v2_task_item.rb +++ b/lib/getstream_ruby/generated/models/import_v2_task_item.rb @@ -30,6 +30,9 @@ class ImportV2TaskItem < GetStream::BaseModel # @!attribute settings # @return [ImportV2TaskSettings] attr_accessor :settings + # @!attribute result + # @return [Object] + attr_accessor :result # Initialize with attributes def initialize(attributes = {}) @@ -41,6 +44,7 @@ def initialize(attributes = {}) @state = attributes[:state] || attributes['state'] @updated_at = attributes[:updated_at] || attributes['updated_at'] @settings = attributes[:settings] || attributes['settings'] + @result = attributes[:result] || attributes['result'] || nil end # Override field mappings for JSON serialization @@ -52,7 +56,8 @@ def self.json_field_mappings product: 'product', state: 'state', updated_at: 'updated_at', - settings: 'settings' + settings: 'settings', + result: 'result' } end end diff --git a/lib/getstream_ruby/generated/models/import_v2_task_settings.rb b/lib/getstream_ruby/generated/models/import_v2_task_settings.rb index 30f7f79..d802749 100644 --- a/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +++ b/lib/getstream_ruby/generated/models/import_v2_task_settings.rb @@ -21,6 +21,9 @@ class ImportV2TaskSettings < GetStream::BaseModel # @!attribute skip_references_check # @return [Boolean] attr_accessor :skip_references_check + # @!attribute source + # @return [String] + attr_accessor :source # @!attribute s3 # @return [ImportV2TaskSettingsS3] attr_accessor :s3 @@ -32,6 +35,7 @@ def initialize(attributes = {}) @mode = attributes[:mode] || attributes['mode'] || nil @path = attributes[:path] || attributes['path'] || nil @skip_references_check = attributes[:skip_references_check] || attributes['skip_references_check'] || nil + @source = attributes[:source] || attributes['source'] || nil @s3 = attributes[:s3] || attributes['s3'] || nil end @@ -42,6 +46,7 @@ def self.json_field_mappings mode: 'mode', path: 'path', skip_references_check: 'skip_references_check', + source: 'source', s3: 's3' } end diff --git a/lib/getstream_ruby/generated/models/location.rb b/lib/getstream_ruby/generated/models/location.rb index 2dec416..8dce3a4 100644 --- a/lib/getstream_ruby/generated/models/location.rb +++ b/lib/getstream_ruby/generated/models/location.rb @@ -9,30 +9,25 @@ module Models class Location < GetStream::BaseModel # Model attributes - # @!attribute continent_code - # @return [String] - attr_accessor :continent_code - # @!attribute country_iso_code - # @return [String] - attr_accessor :country_iso_code - # @!attribute subdivision_iso_code - # @return [String] - attr_accessor :subdivision_iso_code + # @!attribute lat + # @return [Float] Latitude coordinate + attr_accessor :lat + # @!attribute lng + # @return [Float] Longitude coordinate + attr_accessor :lng # Initialize with attributes def initialize(attributes = {}) super(attributes) - @continent_code = attributes[:continent_code] || attributes['continent_code'] - @country_iso_code = attributes[:country_iso_code] || attributes['country_iso_code'] - @subdivision_iso_code = attributes[:subdivision_iso_code] || attributes['subdivision_iso_code'] + @lat = attributes[:lat] || attributes['lat'] + @lng = attributes[:lng] || attributes['lng'] end # Override field mappings for JSON serialization def self.json_field_mappings { - continent_code: 'continent_code', - country_iso_code: 'country_iso_code', - subdivision_iso_code: 'subdivision_iso_code' + lat: 'lat', + lng: 'lng' } end end diff --git a/lib/getstream_ruby/generated/models/query_activities_request.rb b/lib/getstream_ruby/generated/models/query_activities_request.rb index 3b24dda..156bf52 100644 --- a/lib/getstream_ruby/generated/models/query_activities_request.rb +++ b/lib/getstream_ruby/generated/models/query_activities_request.rb @@ -18,6 +18,9 @@ class QueryActivitiesRequest < GetStream::BaseModel # @!attribute include_private_activities # @return [Boolean] attr_accessor :include_private_activities + # @!attribute include_soft_deleted_activities + # @return [Boolean] When true, include soft-deleted activities in the result. + attr_accessor :include_soft_deleted_activities # @!attribute limit # @return [Integer] attr_accessor :limit @@ -46,6 +49,7 @@ def initialize(attributes = {}) @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil @include_expired_activities = attributes[:include_expired_activities] || attributes['include_expired_activities'] || nil @include_private_activities = attributes[:include_private_activities] || attributes['include_private_activities'] || nil + @include_soft_deleted_activities = attributes[:include_soft_deleted_activities] || attributes['include_soft_deleted_activities'] || nil @limit = attributes[:limit] || attributes['limit'] || nil @next = attributes[:next] || attributes['next'] || nil @prev = attributes[:prev] || attributes['prev'] || nil @@ -61,6 +65,7 @@ def self.json_field_mappings enrich_own_fields: 'enrich_own_fields', include_expired_activities: 'include_expired_activities', include_private_activities: 'include_private_activities', + include_soft_deleted_activities: 'include_soft_deleted_activities', limit: 'limit', next: 'next', prev: 'prev', diff --git a/lib/getstream_ruby/generated/models/query_call_session_stats_request.rb b/lib/getstream_ruby/generated/models/query_call_session_stats_request.rb new file mode 100644 index 0000000..9979f22 --- /dev/null +++ b/lib/getstream_ruby/generated/models/query_call_session_stats_request.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class QueryCallSessionStatsRequest < GetStream::BaseModel + + # Model attributes + # @!attribute limit + # @return [Integer] + attr_accessor :limit + # @!attribute next + # @return [String] + attr_accessor :next + # @!attribute prev + # @return [String] + attr_accessor :prev + # @!attribute sort + # @return [Array] Array of sort parameters + attr_accessor :sort + # @!attribute filter_conditions + # @return [Object] Filter conditions to apply to the query + attr_accessor :filter_conditions + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @limit = attributes[:limit] || attributes['limit'] || nil + @next = attributes[:next] || attributes['next'] || nil + @prev = attributes[:prev] || attributes['prev'] || nil + @sort = attributes[:sort] || attributes['sort'] || nil + @filter_conditions = attributes[:filter_conditions] || attributes['filter_conditions'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + limit: 'limit', + next: 'next', + prev: 'prev', + sort: 'sort', + filter_conditions: 'filter_conditions' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/query_call_session_stats_response.rb b/lib/getstream_ruby/generated/models/query_call_session_stats_response.rb new file mode 100644 index 0000000..ddaebba --- /dev/null +++ b/lib/getstream_ruby/generated/models/query_call_session_stats_response.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # Basic response information + class QueryCallSessionStatsResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] Duration of the request in milliseconds + attr_accessor :duration + # @!attribute call_stats + # @return [Array] + attr_accessor :call_stats + # @!attribute next + # @return [String] + attr_accessor :next + # @!attribute prev + # @return [String] + attr_accessor :prev + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @call_stats = attributes[:call_stats] || attributes['call_stats'] + @next = attributes[:next] || attributes['next'] || nil + @prev = attributes[:prev] || attributes['prev'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + call_stats: 'call_stats', + next: 'next', + prev: 'prev' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/query_comments_request.rb b/lib/getstream_ruby/generated/models/query_comments_request.rb index 44bccdc..aa3743f 100644 --- a/lib/getstream_ruby/generated/models/query_comments_request.rb +++ b/lib/getstream_ruby/generated/models/query_comments_request.rb @@ -10,7 +10,7 @@ class QueryCommentsRequest < GetStream::BaseModel # Model attributes # @!attribute filter - # @return [Object] MongoDB-style filter for querying comments + # @return [Object] Filter to apply to the query attr_accessor :filter # @!attribute id_around # @return [String] Returns the comment with the specified ID along with surrounding comments for context @@ -25,7 +25,7 @@ class QueryCommentsRequest < GetStream::BaseModel # @return [String] attr_accessor :prev # @!attribute sort - # @return [String] first (oldest), last (newest) or top. One of: first, last, top, best, controversial + # @return [String] Array of sort parameters attr_accessor :sort # @!attribute user_id # @return [String] diff --git a/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb b/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb index ffc3f07..6d19b22 100644 --- a/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb +++ b/lib/getstream_ruby/generated/models/query_feeds_usage_stats_response.rb @@ -24,6 +24,9 @@ class QueryFeedsUsageStatsResponse < GetStream::BaseModel # @!attribute openai_requests # @return [DailyMetricStatsResponse] attr_accessor :openai_requests + # @!attribute emau + # @return [EMAUStatsResponse] + attr_accessor :emau # Initialize with attributes def initialize(attributes = {}) @@ -33,6 +36,7 @@ def initialize(attributes = {}) @api_requests = attributes[:api_requests] || attributes['api_requests'] @follows = attributes[:follows] || attributes['follows'] @openai_requests = attributes[:openai_requests] || attributes['openai_requests'] + @emau = attributes[:emau] || attributes['emau'] || nil end # Override field mappings for JSON serialization @@ -42,7 +46,8 @@ def self.json_field_mappings activities: 'activities', api_requests: 'api_requests', follows: 'follows', - openai_requests: 'openai_requests' + openai_requests: 'openai_requests', + emau: 'emau' } end end diff --git a/lib/getstream_ruby/generated/models/query_reactions_request.rb b/lib/getstream_ruby/generated/models/query_reactions_request.rb index 1e89da9..46db72a 100644 --- a/lib/getstream_ruby/generated/models/query_reactions_request.rb +++ b/lib/getstream_ruby/generated/models/query_reactions_request.rb @@ -22,10 +22,10 @@ class QueryReactionsRequest < GetStream::BaseModel # @return [String] attr_accessor :user_id # @!attribute sort - # @return [Array] + # @return [Array] Array of sort parameters attr_accessor :sort # @!attribute filter - # @return [Object] + # @return [Object] Filter to apply to the query attr_accessor :filter # @!attribute user # @return [UserRequest] diff --git a/lib/getstream_ruby/generated/models/query_threads_request.rb b/lib/getstream_ruby/generated/models/query_threads_request.rb index be29a14..9d459bc 100644 --- a/lib/getstream_ruby/generated/models/query_threads_request.rb +++ b/lib/getstream_ruby/generated/models/query_threads_request.rb @@ -31,10 +31,10 @@ class QueryThreadsRequest < GetStream::BaseModel # @return [String] attr_accessor :user_id # @!attribute sort - # @return [Array] Sort conditions to apply to threads + # @return [Array] Array of sort parameters attr_accessor :sort # @!attribute filter - # @return [Object] Filter conditions to apply to threads + # @return [Object] Filter to apply to the query attr_accessor :filter # @!attribute user # @return [UserRequest] diff --git a/lib/getstream_ruby/generated/models/raw_record_settings.rb b/lib/getstream_ruby/generated/models/raw_record_settings.rb index dbb8a14..a81714e 100644 --- a/lib/getstream_ruby/generated/models/raw_record_settings.rb +++ b/lib/getstream_ruby/generated/models/raw_record_settings.rb @@ -12,17 +12,22 @@ class RawRecordSettings < GetStream::BaseModel # @!attribute mode # @return [String] attr_accessor :mode + # @!attribute audio_only + # @return [Boolean] + attr_accessor :audio_only # Initialize with attributes def initialize(attributes = {}) super(attributes) @mode = attributes[:mode] || attributes['mode'] + @audio_only = attributes[:audio_only] || attributes['audio_only'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { - mode: 'mode' + mode: 'mode', + audio_only: 'audio_only' } end end diff --git a/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb b/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb index e78a487..dd03cd5 100644 --- a/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb +++ b/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb @@ -12,17 +12,22 @@ class RawRecordingSettingsRequest < GetStream::BaseModel # @!attribute mode # @return [String] Recording mode. One of: available, disabled, auto-on attr_accessor :mode + # @!attribute audio_only + # @return [Boolean] If true, only audio tracks will be recorded + attr_accessor :audio_only # Initialize with attributes def initialize(attributes = {}) super(attributes) @mode = attributes[:mode] || attributes['mode'] + @audio_only = attributes[:audio_only] || attributes['audio_only'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { - mode: 'mode' + mode: 'mode', + audio_only: 'audio_only' } end end diff --git a/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb b/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb index 72bf954..778e06f 100644 --- a/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb +++ b/lib/getstream_ruby/generated/models/raw_recording_settings_response.rb @@ -12,17 +12,22 @@ class RawRecordingSettingsResponse < GetStream::BaseModel # @!attribute mode # @return [String] attr_accessor :mode + # @!attribute audio_only + # @return [Boolean] + attr_accessor :audio_only # Initialize with attributes def initialize(attributes = {}) super(attributes) @mode = attributes[:mode] || attributes['mode'] + @audio_only = attributes[:audio_only] || attributes['audio_only'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { - mode: 'mode' + mode: 'mode', + audio_only: 'audio_only' } end end diff --git a/lib/getstream_ruby/generated/models/submit_action_request.rb b/lib/getstream_ruby/generated/models/submit_action_request.rb index c96ff83..70440f4 100644 --- a/lib/getstream_ruby/generated/models/submit_action_request.rb +++ b/lib/getstream_ruby/generated/models/submit_action_request.rb @@ -27,6 +27,9 @@ class SubmitActionRequest < GetStream::BaseModel # @!attribute block # @return [BlockActionRequestPayload] attr_accessor :block + # @!attribute bypass + # @return [BypassActionRequest] + attr_accessor :bypass # @!attribute custom # @return [CustomActionRequestPayload] attr_accessor :custom @@ -82,6 +85,7 @@ def initialize(attributes = {}) @user_id = attributes[:user_id] || attributes['user_id'] || nil @ban = attributes[:ban] || attributes['ban'] || nil @block = attributes[:block] || attributes['block'] || nil + @bypass = attributes[:bypass] || attributes['bypass'] || nil @custom = attributes[:custom] || attributes['custom'] || nil @delete_activity = attributes[:delete_activity] || attributes['delete_activity'] || nil @delete_comment = attributes[:delete_comment] || attributes['delete_comment'] || nil @@ -108,6 +112,7 @@ def self.json_field_mappings user_id: 'user_id', ban: 'ban', block: 'block', + bypass: 'bypass', custom: 'custom', delete_activity: 'delete_activity', delete_comment: 'delete_comment', diff --git a/lib/getstream_ruby/generated/models/threaded_comment_response.rb b/lib/getstream_ruby/generated/models/threaded_comment_response.rb index ca97a02..3fae656 100644 --- a/lib/getstream_ruby/generated/models/threaded_comment_response.rb +++ b/lib/getstream_ruby/generated/models/threaded_comment_response.rb @@ -12,6 +12,9 @@ class ThreadedCommentResponse < GetStream::BaseModel # @!attribute _object_id # @return [String] attr_accessor :_object_id + # @!attribute bookmark_count + # @return [Integer] + attr_accessor :bookmark_count # @!attribute confidence_score # @return [Float] attr_accessor :confidence_score @@ -95,6 +98,7 @@ class ThreadedCommentResponse < GetStream::BaseModel def initialize(attributes = {}) super(attributes) @_object_id = attributes[:_object_id] || attributes['object_id'] + @bookmark_count = attributes[:bookmark_count] || attributes['bookmark_count'] @confidence_score = attributes[:confidence_score] || attributes['confidence_score'] @created_at = attributes[:created_at] || attributes['created_at'] @downvote_count = attributes[:downvote_count] || attributes['downvote_count'] @@ -127,6 +131,7 @@ def initialize(attributes = {}) def self.json_field_mappings { _object_id: 'object_id', + bookmark_count: 'bookmark_count', confidence_score: 'confidence_score', created_at: 'created_at', downvote_count: 'downvote_count', diff --git a/lib/getstream_ruby/generated/models/unban_action_request_payload.rb b/lib/getstream_ruby/generated/models/unban_action_request_payload.rb index c75e456..ea31d5b 100644 --- a/lib/getstream_ruby/generated/models/unban_action_request_payload.rb +++ b/lib/getstream_ruby/generated/models/unban_action_request_payload.rb @@ -15,19 +15,24 @@ class UnbanActionRequestPayload < GetStream::BaseModel # @!attribute decision_reason # @return [String] Reason for the appeal decision attr_accessor :decision_reason + # @!attribute remove_future_channels_ban + # @return [Boolean] Also remove the future channels ban for this user + attr_accessor :remove_future_channels_ban # Initialize with attributes def initialize(attributes = {}) super(attributes) @channel_cid = attributes[:channel_cid] || attributes['channel_cid'] || nil @decision_reason = attributes[:decision_reason] || attributes['decision_reason'] || nil + @remove_future_channels_ban = attributes[:remove_future_channels_ban] || attributes['remove_future_channels_ban'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { channel_cid: 'channel_cid', - decision_reason: 'decision_reason' + decision_reason: 'decision_reason', + remove_future_channels_ban: 'remove_future_channels_ban' } end end diff --git a/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb b/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb index 12ef833..ed66e38 100644 --- a/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb +++ b/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb @@ -12,17 +12,22 @@ class UpdateActivitiesPartialBatchRequest < GetStream::BaseModel # @!attribute changes # @return [Array] List of activity changes to apply. Each change specifies an activity ID and the fields to set/unset attr_accessor :changes + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # Initialize with attributes def initialize(attributes = {}) super(attributes) @changes = attributes[:changes] || attributes['changes'] + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { - changes: 'changes' + changes: 'changes', + force_moderation: 'force_moderation' } end end diff --git a/lib/getstream_ruby/generated/models/update_activity_partial_request.rb b/lib/getstream_ruby/generated/models/update_activity_partial_request.rb index cb76d8d..ad0199c 100644 --- a/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +++ b/lib/getstream_ruby/generated/models/update_activity_partial_request.rb @@ -16,6 +16,9 @@ class UpdateActivityPartialRequest < GetStream::BaseModel # @!attribute enrich_own_fields # @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. attr_accessor :enrich_own_fields + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # @!attribute handle_mention_notifications # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned attr_accessor :handle_mention_notifications @@ -40,6 +43,7 @@ def initialize(attributes = {}) super(attributes) @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil @run_activity_processors = attributes[:run_activity_processors] || attributes['run_activity_processors'] || nil @user_id = attributes[:user_id] || attributes['user_id'] || nil @@ -53,6 +57,7 @@ def self.json_field_mappings { copy_custom_to_notification: 'copy_custom_to_notification', enrich_own_fields: 'enrich_own_fields', + force_moderation: 'force_moderation', handle_mention_notifications: 'handle_mention_notifications', run_activity_processors: 'run_activity_processors', user_id: 'user_id', diff --git a/lib/getstream_ruby/generated/models/update_activity_request.rb b/lib/getstream_ruby/generated/models/update_activity_request.rb index d389263..9e6322e 100644 --- a/lib/getstream_ruby/generated/models/update_activity_request.rb +++ b/lib/getstream_ruby/generated/models/update_activity_request.rb @@ -19,6 +19,9 @@ class UpdateActivityRequest < GetStream::BaseModel # @!attribute expires_at # @return [DateTime] Time when the activity will expire attr_accessor :expires_at + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # @!attribute handle_mention_notifications # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned attr_accessor :handle_mention_notifications @@ -68,7 +71,7 @@ class UpdateActivityRequest < GetStream::BaseModel # @return [Object] Custom data for the activity attr_accessor :custom # @!attribute location - # @return [ActivityLocation] + # @return [Location] attr_accessor :location # @!attribute search_data # @return [Object] Additional data for search indexing @@ -83,6 +86,7 @@ def initialize(attributes = {}) @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil @poll_id = attributes[:poll_id] || attributes['poll_id'] || nil @restrict_replies = attributes[:restrict_replies] || attributes['restrict_replies'] || nil @@ -110,6 +114,7 @@ def self.json_field_mappings copy_custom_to_notification: 'copy_custom_to_notification', enrich_own_fields: 'enrich_own_fields', expires_at: 'expires_at', + force_moderation: 'force_moderation', handle_mention_notifications: 'handle_mention_notifications', poll_id: 'poll_id', restrict_replies: 'restrict_replies', diff --git a/lib/getstream_ruby/generated/models/update_bookmark_request.rb b/lib/getstream_ruby/generated/models/update_bookmark_request.rb index 0d9a0be..3d6a4e2 100644 --- a/lib/getstream_ruby/generated/models/update_bookmark_request.rb +++ b/lib/getstream_ruby/generated/models/update_bookmark_request.rb @@ -10,10 +10,10 @@ class UpdateBookmarkRequest < GetStream::BaseModel # Model attributes # @!attribute folder_id - # @return [String] ID of the folder to move the bookmark to + # @return [String] ID of the folder containing the bookmark attr_accessor :folder_id # @!attribute new_folder_id - # @return [String] + # @return [String] Move the bookmark to this folder (empty string removes the folder) attr_accessor :new_folder_id # @!attribute user_id # @return [String] diff --git a/lib/getstream_ruby/generated/models/update_comment_bookmark_request.rb b/lib/getstream_ruby/generated/models/update_comment_bookmark_request.rb new file mode 100644 index 0000000..48b9404 --- /dev/null +++ b/lib/getstream_ruby/generated/models/update_comment_bookmark_request.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class UpdateCommentBookmarkRequest < GetStream::BaseModel + + # Model attributes + # @!attribute folder_id + # @return [String] ID of the folder containing the bookmark + attr_accessor :folder_id + # @!attribute new_folder_id + # @return [String] Move the bookmark to this folder (empty string removes the folder) + attr_accessor :new_folder_id + # @!attribute user_id + # @return [String] + attr_accessor :user_id + # @!attribute custom + # @return [Object] Custom data for the bookmark + attr_accessor :custom + # @!attribute new_folder + # @return [AddFolderRequest] + attr_accessor :new_folder + # @!attribute user + # @return [UserRequest] + attr_accessor :user + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @folder_id = attributes[:folder_id] || attributes['folder_id'] || nil + @new_folder_id = attributes[:new_folder_id] || attributes['new_folder_id'] || nil + @user_id = attributes[:user_id] || attributes['user_id'] || nil + @custom = attributes[:custom] || attributes['custom'] || nil + @new_folder = attributes[:new_folder] || attributes['new_folder'] || nil + @user = attributes[:user] || attributes['user'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + folder_id: 'folder_id', + new_folder_id: 'new_folder_id', + user_id: 'user_id', + custom: 'custom', + new_folder: 'new_folder', + user: 'user' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/update_comment_bookmark_response.rb b/lib/getstream_ruby/generated/models/update_comment_bookmark_response.rb new file mode 100644 index 0000000..fcfa31e --- /dev/null +++ b/lib/getstream_ruby/generated/models/update_comment_bookmark_response.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class UpdateCommentBookmarkResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] + attr_accessor :duration + # @!attribute bookmark + # @return [BookmarkResponse] + attr_accessor :bookmark + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @bookmark = attributes[:bookmark] || attributes['bookmark'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + bookmark: 'bookmark' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/update_comment_partial_request.rb b/lib/getstream_ruby/generated/models/update_comment_partial_request.rb index b83cb4a..657024c 100644 --- a/lib/getstream_ruby/generated/models/update_comment_partial_request.rb +++ b/lib/getstream_ruby/generated/models/update_comment_partial_request.rb @@ -13,6 +13,9 @@ class UpdateCommentPartialRequest < GetStream::BaseModel # @deprecated This field is deprecated. # @return [Boolean] Whether to copy custom data to notification activities Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead attr_accessor :copy_custom_to_notification + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # @!attribute handle_mention_notifications # @return [Boolean] Whether to handle mention notification changes attr_accessor :handle_mention_notifications @@ -39,6 +42,7 @@ class UpdateCommentPartialRequest < GetStream::BaseModel def initialize(attributes = {}) super(attributes) @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil @@ -52,6 +56,7 @@ def initialize(attributes = {}) def self.json_field_mappings { copy_custom_to_notification: 'copy_custom_to_notification', + force_moderation: 'force_moderation', handle_mention_notifications: 'handle_mention_notifications', skip_enrich_url: 'skip_enrich_url', skip_push: 'skip_push', diff --git a/lib/getstream_ruby/generated/models/update_comment_request.rb b/lib/getstream_ruby/generated/models/update_comment_request.rb index 4774cc4..e14ddaf 100644 --- a/lib/getstream_ruby/generated/models/update_comment_request.rb +++ b/lib/getstream_ruby/generated/models/update_comment_request.rb @@ -16,6 +16,9 @@ class UpdateCommentRequest < GetStream::BaseModel # @deprecated This field is deprecated. # @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 attr_accessor :copy_custom_to_notification + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # @!attribute handle_mention_notifications # @return [Boolean] If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned attr_accessor :handle_mention_notifications @@ -46,6 +49,7 @@ def initialize(attributes = {}) super(attributes) @comment = attributes[:comment] || attributes['comment'] || nil @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil @handle_mention_notifications = attributes[:handle_mention_notifications] || attributes['handle_mention_notifications'] || nil @skip_enrich_url = attributes[:skip_enrich_url] || attributes['skip_enrich_url'] || nil @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil @@ -61,6 +65,7 @@ def self.json_field_mappings { comment: 'comment', copy_custom_to_notification: 'copy_custom_to_notification', + force_moderation: 'force_moderation', handle_mention_notifications: 'handle_mention_notifications', skip_enrich_url: 'skip_enrich_url', skip_push: 'skip_push', diff --git a/lib/getstream_ruby/generated/models/update_feed_request.rb b/lib/getstream_ruby/generated/models/update_feed_request.rb index 0e73c92..c6ff1bc 100644 --- a/lib/getstream_ruby/generated/models/update_feed_request.rb +++ b/lib/getstream_ruby/generated/models/update_feed_request.rb @@ -9,6 +9,9 @@ module Models class UpdateFeedRequest < GetStream::BaseModel # Model attributes + # @!attribute clear_location + # @return [Boolean] If true, removes the geographic location from the feed + attr_accessor :clear_location # @!attribute created_by_id # @return [String] ID of the new feed creator (owner) attr_accessor :created_by_id @@ -27,27 +30,34 @@ class UpdateFeedRequest < GetStream::BaseModel # @!attribute custom # @return [Object] Custom data for the feed attr_accessor :custom + # @!attribute location + # @return [Location] + attr_accessor :location # Initialize with attributes def initialize(attributes = {}) super(attributes) + @clear_location = attributes[:clear_location] || attributes['clear_location'] || nil @created_by_id = attributes[:created_by_id] || attributes['created_by_id'] || nil @description = attributes[:description] || attributes['description'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil @name = attributes[:name] || attributes['name'] || nil @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil @custom = attributes[:custom] || attributes['custom'] || nil + @location = attributes[:location] || attributes['location'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { + clear_location: 'clear_location', created_by_id: 'created_by_id', description: 'description', enrich_own_fields: 'enrich_own_fields', name: 'name', filter_tags: 'filter_tags', - custom: 'custom' + custom: 'custom', + location: 'location' } end end diff --git a/lib/getstream_ruby/generated/models/update_follow_request.rb b/lib/getstream_ruby/generated/models/update_follow_request.rb index 4f7bc2c..c96994c 100644 --- a/lib/getstream_ruby/generated/models/update_follow_request.rb +++ b/lib/getstream_ruby/generated/models/update_follow_request.rb @@ -15,6 +15,9 @@ class UpdateFollowRequest < GetStream::BaseModel # @!attribute target # @return [String] Fully qualified ID of the target feed attr_accessor :target + # @!attribute activity_copy_limit + # @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. + attr_accessor :activity_copy_limit # @!attribute copy_custom_to_notification # @deprecated This field is deprecated. # @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 @@ class UpdateFollowRequest < GetStream::BaseModel # @!attribute create_notification_activity # @return [Boolean] Whether to create a notification activity for this follow attr_accessor :create_notification_activity + # @!attribute create_users + # @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. + attr_accessor :create_users # @!attribute enrich_own_fields # @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. attr_accessor :enrich_own_fields @@ -46,8 +52,10 @@ def initialize(attributes = {}) super(attributes) @source = attributes[:source] || attributes['source'] @target = attributes[:target] || attributes['target'] + @activity_copy_limit = attributes[:activity_copy_limit] || attributes['activity_copy_limit'] || nil @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil + @create_users = attributes[:create_users] || attributes['create_users'] || nil @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil @follower_role = attributes[:follower_role] || attributes['follower_role'] || nil @push_preference = attributes[:push_preference] || attributes['push_preference'] || nil @@ -61,8 +69,10 @@ def self.json_field_mappings { source: 'source', target: 'target', + activity_copy_limit: 'activity_copy_limit', copy_custom_to_notification: 'copy_custom_to_notification', create_notification_activity: 'create_notification_activity', + create_users: 'create_users', enrich_own_fields: 'enrich_own_fields', follower_role: 'follower_role', push_preference: 'push_preference', diff --git a/lib/getstream_ruby/generated/models/upsert_activities_request.rb b/lib/getstream_ruby/generated/models/upsert_activities_request.rb index 9cbf1ba..e768eee 100644 --- a/lib/getstream_ruby/generated/models/upsert_activities_request.rb +++ b/lib/getstream_ruby/generated/models/upsert_activities_request.rb @@ -15,19 +15,24 @@ class UpsertActivitiesRequest < GetStream::BaseModel # @!attribute enrich_own_fields # @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. attr_accessor :enrich_own_fields + # @!attribute force_moderation + # @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. + attr_accessor :force_moderation # Initialize with attributes def initialize(attributes = {}) super(attributes) @activities = attributes[:activities] || attributes['activities'] @enrich_own_fields = attributes[:enrich_own_fields] || attributes['enrich_own_fields'] || nil + @force_moderation = attributes[:force_moderation] || attributes['force_moderation'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { activities: 'activities', - enrich_own_fields: 'enrich_own_fields' + enrich_own_fields: 'enrich_own_fields', + force_moderation: 'force_moderation' } end end diff --git a/lib/getstream_ruby/generated/models/upsert_config_request.rb b/lib/getstream_ruby/generated/models/upsert_config_request.rb index ff2d476..5bd5409 100644 --- a/lib/getstream_ruby/generated/models/upsert_config_request.rb +++ b/lib/getstream_ruby/generated/models/upsert_config_request.rb @@ -19,7 +19,7 @@ class UpsertConfigRequest < GetStream::BaseModel # @return [String] Team associated with the configuration attr_accessor :team # @!attribute user_id - # @return [String] + # @return [String] Optional user ID to associate with the audit log entry attr_accessor :user_id # @!attribute ai_image_config # @return [AIImageConfig] diff --git a/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb b/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb index 0f9f423..fe4b780 100644 --- a/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb +++ b/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb @@ -10,41 +10,47 @@ class UpsertModerationRuleRequest < GetStream::BaseModel # Model attributes # @!attribute name - # @return [String] + # @return [String] Unique rule name attr_accessor :name # @!attribute rule_type - # @return [String] + # @return [String] Type of rule: user, content, or call attr_accessor :rule_type # @!attribute cooldown_period - # @return [String] + # @return [String] Duration before rule can trigger again (e.g. 24h, 7d) attr_accessor :cooldown_period # @!attribute description - # @return [String] + # @return [String] Optional description of the rule attr_accessor :description # @!attribute enabled - # @return [Boolean] + # @return [Boolean] Whether the rule is active attr_accessor :enabled # @!attribute logic - # @return [String] + # @return [String] Logical operator between conditions/groups: AND or OR attr_accessor :logic # @!attribute team - # @return [String] + # @return [String] Team scope for the rule attr_accessor :team + # @!attribute user_id + # @return [String] Optional user ID to associate with the audit log entry + attr_accessor :user_id # @!attribute action_sequences - # @return [Array] + # @return [Array] Escalation sequences for call rules attr_accessor :action_sequences # @!attribute conditions - # @return [Array] + # @return [Array] Flat list of conditions (legacy) attr_accessor :conditions # @!attribute config_keys - # @return [Array] + # @return [Array] List of config keys this rule applies to attr_accessor :config_keys # @!attribute groups - # @return [Array] + # @return [Array] Nested condition groups attr_accessor :groups # @!attribute action # @return [RuleBuilderAction] attr_accessor :action + # @!attribute user + # @return [UserRequest] + attr_accessor :user # Initialize with attributes def initialize(attributes = {}) @@ -56,11 +62,13 @@ def initialize(attributes = {}) @enabled = attributes[:enabled] || attributes['enabled'] || nil @logic = attributes[:logic] || attributes['logic'] || nil @team = attributes[:team] || attributes['team'] || nil + @user_id = attributes[:user_id] || attributes['user_id'] || nil @action_sequences = attributes[:action_sequences] || attributes['action_sequences'] || nil @conditions = attributes[:conditions] || attributes['conditions'] || nil @config_keys = attributes[:config_keys] || attributes['config_keys'] || nil @groups = attributes[:groups] || attributes['groups'] || nil @action = attributes[:action] || attributes['action'] || nil + @user = attributes[:user] || attributes['user'] || nil end # Override field mappings for JSON serialization @@ -73,11 +81,13 @@ def self.json_field_mappings enabled: 'enabled', logic: 'logic', team: 'team', + user_id: 'user_id', action_sequences: 'action_sequences', conditions: 'conditions', config_keys: 'config_keys', groups: 'groups', - action: 'action' + action: 'action', + user: 'user' } end end diff --git a/lib/getstream_ruby/generated/models/user_response.rb b/lib/getstream_ruby/generated/models/user_response.rb index 937b6b8..ec2f99e 100644 --- a/lib/getstream_ruby/generated/models/user_response.rb +++ b/lib/getstream_ruby/generated/models/user_response.rb @@ -51,6 +51,9 @@ class UserResponse < GetStream::BaseModel # @!attribute ban_expires # @return [DateTime] Date when ban expires attr_accessor :ban_expires + # @!attribute bypass_moderation + # @return [Boolean] + attr_accessor :bypass_moderation # @!attribute deactivated_at # @return [DateTime] Date of deactivation attr_accessor :deactivated_at @@ -99,6 +102,7 @@ def initialize(attributes = {}) @custom = attributes[:custom] || attributes['custom'] @avg_response_time = attributes[:avg_response_time] || attributes['avg_response_time'] || nil @ban_expires = attributes[:ban_expires] || attributes['ban_expires'] || nil + @bypass_moderation = attributes[:bypass_moderation] || attributes['bypass_moderation'] || nil @deactivated_at = attributes[:deactivated_at] || attributes['deactivated_at'] || nil @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil @image = attributes[:image] || attributes['image'] || nil @@ -128,6 +132,7 @@ def self.json_field_mappings custom: 'custom', avg_response_time: 'avg_response_time', ban_expires: 'ban_expires', + bypass_moderation: 'bypass_moderation', deactivated_at: 'deactivated_at', deleted_at: 'deleted_at', image: 'image', diff --git a/lib/getstream_ruby/generated/moderation_client.rb b/lib/getstream_ruby/generated/moderation_client.rb index a6cc02c..e7e2e8e 100644 --- a/lib/getstream_ruby/generated/moderation_client.rb +++ b/lib/getstream_ruby/generated/moderation_client.rb @@ -113,6 +113,23 @@ def bulk_image_moderation(bulk_image_moderation_request) ) end + # Enable or disable moderation bypass for a user. This endpoint is server-side only. + # + # @param bypass_request [BypassRequest] + # @return [Models::BypassResponse] + def bypass(bypass_request) + path = '/api/v2/moderation/bypass' + # Build request body + body = bypass_request + + # Make the API request + @client.make_request( + :post, + path, + body: body + ) + end + # Run moderation checks on the provided content # # @param check_request [CheckRequest] @@ -168,14 +185,16 @@ def upsert_config(upsert_config_request) # # @param key [String] # @param team [String] + # @param user_id [String] # @return [Models::DeleteModerationConfigResponse] - def delete_config(key, team = nil) + def delete_config(key, team = nil, user_id = nil) path = '/api/v2/moderation/config/{key}' # Replace path parameters path = path.gsub('{key}', key.to_s) # Build query parameters query_params = {} query_params['team'] = team unless team.nil? + query_params['user_id'] = user_id unless user_id.nil? # Make the API request @client.make_request( @@ -370,14 +389,19 @@ def upsert_moderation_rule(upsert_moderation_rule_request) # Delete an existing moderation rule # + # @param user_id [String] # @return [Models::DeleteModerationRuleResponse] - def delete_moderation_rule() + def delete_moderation_rule(user_id = nil) path = '/api/v2/moderation/moderation_rule/{id}' + # Build query parameters + query_params = {} + query_params['user_id'] = user_id unless user_id.nil? # Make the API request @client.make_request( :delete, - path + path, + query_params: query_params ) end diff --git a/lib/getstream_ruby/generated/video_client.rb b/lib/getstream_ruby/generated/video_client.rb index 61ebfcc..a1ac08a 100644 --- a/lib/getstream_ruby/generated/video_client.rb +++ b/lib/getstream_ruby/generated/video_client.rb @@ -970,6 +970,23 @@ def delete_transcription(_type, _id, session, filename) ) end + # + # + # @param query_call_session_stats_request [QueryCallSessionStatsRequest] + # @return [Models::QueryCallSessionStatsResponse] + def query_call_session_stats(query_call_session_stats_request) + path = '/api/v2/video/call_stats' + # Build request body + body = query_call_session_stats_request + + # Make the API request + @client.make_request( + :post, + path, + body: body + ) + end + # # # @param call_type [String]