diff --git a/lib/getstream_ruby/generated/chat_client.rb b/lib/getstream_ruby/generated/chat_client.rb index 9db0b4d..dc3b943 100644 --- a/lib/getstream_ruby/generated/chat_client.rb +++ b/lib/getstream_ruby/generated/chat_client.rb @@ -640,6 +640,57 @@ def get_many_messages(_type, _id, ids, member_custom_include = nil) ) end + # Returns pinned messages for the channel + # + # @param _type [String] + # @param _id [String] + # @param limit [Integer] + # @param offset [Integer] + # @param id_gte [String] + # @param id_gt [String] + # @param id_lte [String] + # @param id_lt [String] + # @param pinned_at_after_or_equal [DateTime] + # @param pinned_at_after [DateTime] + # @param pinned_at_before_or_equal [DateTime] + # @param pinned_at_before [DateTime] + # @param id_around [String] + # @param pinned_at_around [DateTime] + # @param user_id [String] + # @param sort [Array] + # @param member_custom_include [Array] + # @return [Models::GetPinnedMessagesResponse] + def get_pinned_messages(_type, _id, limit = nil, offset = nil, id_gte = nil, id_gt = nil, id_lte = nil, id_lt = nil, pinned_at_after_or_equal = nil, pinned_at_after = nil, pinned_at_before_or_equal = nil, pinned_at_before = nil, id_around = nil, pinned_at_around = nil, user_id = nil, sort = nil, member_custom_include = nil) + path = '/api/v2/chat/channels/{type}/{id}/pinned_messages' + # Replace path parameters + path = path.gsub('{type}', _type.to_s) + path = path.gsub('{id}', _id.to_s) + # Build query parameters + query_params = {} + query_params['limit'] = limit unless limit.nil? + query_params['offset'] = offset unless offset.nil? + query_params['id_gte'] = id_gte unless id_gte.nil? + query_params['id_gt'] = id_gt unless id_gt.nil? + query_params['id_lte'] = id_lte unless id_lte.nil? + query_params['id_lt'] = id_lt unless id_lt.nil? + query_params['pinned_at_after_or_equal'] = pinned_at_after_or_equal unless pinned_at_after_or_equal.nil? + query_params['pinned_at_after'] = pinned_at_after unless pinned_at_after.nil? + query_params['pinned_at_before_or_equal'] = pinned_at_before_or_equal unless pinned_at_before_or_equal.nil? + query_params['pinned_at_before'] = pinned_at_before unless pinned_at_before.nil? + query_params['id_around'] = id_around unless id_around.nil? + query_params['pinned_at_around'] = pinned_at_around unless pinned_at_around.nil? + query_params['user_id'] = user_id unless user_id.nil? + query_params['sort'] = sort unless sort.nil? + query_params['member_custom_include'] = member_custom_include unless member_custom_include.nil? + + # Make the API request + @client.make_request( + :get, + path, + query_params: query_params + ) + end + # This Method creates a channel or returns an existing one with matching attributesSends events:- channel.created- member.added- member.removed- member.updated- user.watching.start # # @param _type [String] @@ -1450,6 +1501,95 @@ def unmute_channel(unmute_channel_request) ) end + # Get all predefined filters with optional sorting by created_at, updated_at, name, or operation + # + # @param include_stats [Boolean] + # @param sort [Array] + # @return [Models::QueryPredefinedFiltersResponse] + def get_predefined_filters(include_stats = nil, sort = nil) + path = '/api/v2/chat/predefined_filters' + # Build query parameters + query_params = {} + query_params['include_stats'] = include_stats unless include_stats.nil? + query_params['sort'] = sort unless sort.nil? + + # Make the API request + @client.make_request( + :get, + path, + query_params: query_params + ) + end + + # Create a predefined filter that can be used in Query endpoints + # + # @param create_predefined_filter_request [CreatePredefinedFilterRequest] + # @return [Models::CreatePredefinedFilterResponse] + def create_predefined_filter(create_predefined_filter_request) + path = '/api/v2/chat/predefined_filters' + # Build request body + body = create_predefined_filter_request + + # Make the API request + @client.make_request( + :post, + path, + body: body + ) + end + + # Delete a predefined filter by name + # + # @param name [String] + # @return [Models::Response] + def delete_predefined_filter(name) + path = '/api/v2/chat/predefined_filters/{name}' + # Replace path parameters + path = path.gsub('{name}', name.to_s) + + # Make the API request + @client.make_request( + :delete, + path + ) + end + + # Get a predefined filter by name + # + # @param name [String] + # @return [Models::GetPredefinedFilterResponse] + def get_predefined_filter(name) + path = '/api/v2/chat/predefined_filters/{name}' + # Replace path parameters + path = path.gsub('{name}', name.to_s) + + # Make the API request + @client.make_request( + :get, + path + ) + end + + # Update a predefined filter by name + # + # @param name [String] + # @param update_predefined_filter_request [UpdatePredefinedFilterRequest] + # @return [Models::UpdatePredefinedFilterResponse] + def update_predefined_filter(name, update_predefined_filter_request) + path = '/api/v2/chat/predefined_filters/{name}' + # Replace path parameters + path = path.gsub('{name}', name.to_s) + # Build request body + body = update_predefined_filter_request + + # Make the API request + @client.make_request( + :put, + path, + body: body + ) + end + # Find and filter channel scoped or global user bans # # @param payload [QueryBannedUsersPayload] @@ -1749,7 +1889,7 @@ def query_segment_targets(_id, query_segment_targets_request) ) end - # Retrieve team-level usage statistics from the warehouse database.Returns all 16 metrics grouped by team with cursor-based pagination.**Date Range Options (mutually exclusive):**- Use 'month' parameter (YYYY-MM format) for monthly aggregated values- Use 'start_date'/'end_date' parameters (YYYY-MM-DD format) for daily breakdown- If neither provided, defaults to current month (monthly mode)This endpoint is server-side only. + # Retrieve team-level usage statistics from the warehouse database.Returns all 16 metrics grouped by team with cursor-based pagination.**Date Range Options (mutually exclusive):**- Use 'month' parameter (YYYY-MM format) for monthly aggregated values- Use 'start_date'/'end_date' parameters (YYYY-MM-DD format) for daily breakdown- If neither provided, defaults to current month (monthly mode)**Team Filter:**- Use 'team' to return a single team's stats (empty string selects users not assigned to any team)- Mutually exclusive with the 'next' pagination cursorThis endpoint is server-side only. # # @param query_team_usage_stats_request [QueryTeamUsageStatsRequest] # @return [Models::QueryTeamUsageStatsResponse] diff --git a/lib/getstream_ruby/generated/common_client.rb b/lib/getstream_ruby/generated/common_client.rb index da5d948..2a9cc96 100644 --- a/lib/getstream_ruby/generated/common_client.rb +++ b/lib/getstream_ruby/generated/common_client.rb @@ -620,6 +620,39 @@ def list_permissions() ) end + # Creates permission + # + # @param create_permission_request [CreatePermissionRequest] + # @return [Models::Response] + def create_permission(create_permission_request) + path = '/api/v2/permissions' + # Build request body + body = create_permission_request + + # Make the API request + @client.make_request( + :post, + path, + body: body + ) + end + + # Deletes custom permission + # + # @param _id [String] + # @return [Models::Response] + def delete_permission(_id) + path = '/api/v2/permissions/{id}' + # Replace path parameters + path = path.gsub('{id}', _id.to_s) + + # Make the API request + @client.make_request( + :delete, + path + ) + end + # Gets custom permission # # @param _id [String] @@ -636,6 +669,26 @@ def get_permission(_id) ) end + # Updates custom permission + # + # @param _id [String] + # @param permission_request [PermissionRequest] + # @return [Models::Response] + def update_permission(_id, permission_request) + path = '/api/v2/permissions/{id}' + # Replace path parameters + path = path.gsub('{id}', _id.to_s) + # Build request body + body = permission_request + + # Make the API request + @client.make_request( + :put, + path, + body: body + ) + end + # Creates a new poll # # @param create_poll_request [CreatePollRequest] diff --git a/lib/getstream_ruby/generated/feed.rb b/lib/getstream_ruby/generated/feed.rb index 30abf95..da60928 100644 --- a/lib/getstream_ruby/generated/feed.rb +++ b/lib/getstream_ruby/generated/feed.rb @@ -102,6 +102,15 @@ def change_feed_visibility(change_feed_visibility_request) @client.feeds.change_feed_visibility(@feed_group_id, @feed_id, change_feed_visibility_request) end + # Returns the number of activities in a feed, the total number of comments on those activities (including nested replies), and the sum of both. The comment total is cached for a few seconds on large feeds. + # + # @return [Models::GetFeedCountsResponse] + def get_feed_counts() + + # Delegate to the FeedsClient + @client.feeds.get_feed_counts(@feed_group_id, @feed_id) + end + # Add, remove, or set members for a feed # # @param update_feed_members_request [UpdateFeedMembersRequest] diff --git a/lib/getstream_ruby/generated/feeds_client.rb b/lib/getstream_ruby/generated/feeds_client.rb index 4e0d873..caaa0be 100644 --- a/lib/getstream_ruby/generated/feeds_client.rb +++ b/lib/getstream_ruby/generated/feeds_client.rb @@ -1294,6 +1294,24 @@ def change_feed_visibility(feed_group_id, feed_id, change_feed_visibility_reques ) end + # Returns the number of activities in a feed, the total number of comments on those activities (including nested replies), and the sum of both. The comment total is cached for a few seconds on large feeds. + # + # @param feed_group_id [String] + # @param feed_id [String] + # @return [Models::GetFeedCountsResponse] + def get_feed_counts(feed_group_id, feed_id) + path = '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/counts' + # Replace path parameters + path = path.gsub('{feed_group_id}', feed_group_id.to_s) + path = path.gsub('{feed_id}', feed_id.to_s) + + # Make the API request + @client.make_request( + :get, + path + ) + end + # Add, remove, or set members for a feed # # @param feed_group_id [String] diff --git a/lib/getstream_ruby/generated/models/activity_processor_config.rb b/lib/getstream_ruby/generated/models/activity_processor_config.rb index a210f2b..0f09976 100644 --- a/lib/getstream_ruby/generated/models/activity_processor_config.rb +++ b/lib/getstream_ruby/generated/models/activity_processor_config.rb @@ -12,17 +12,27 @@ class ActivityProcessorConfig < GetStream::BaseModel # @!attribute type # @return [String] Type of activity processor (required) attr_accessor :type + # @!attribute min_text_length + # @return [Integer] Minimum number of characters the activity text must have before this processor runs. 0 (the default) disables the check. Only applies to text_interest_tags. + attr_accessor :min_text_length + # @!attribute min_word_count + # @return [Integer] Minimum number of words the activity text must have before this processor runs. 0 (the default) disables the check. Only applies to text_interest_tags. Words are whitespace-separated, so scripts written without word spacing (Chinese, Japanese, Thai) always count as 1 word regardless of length — use min_text_length for those. + attr_accessor :min_word_count # Initialize with attributes def initialize(attributes = {}) super(attributes) @type = attributes[:type] || attributes['type'] + @min_text_length = attributes[:min_text_length] || attributes['min_text_length'] || nil + @min_word_count = attributes[:min_word_count] || attributes['min_word_count'] || nil end # Override field mappings for JSON serialization def self.json_field_mappings { - type: 'type' + type: 'type', + min_text_length: 'min_text_length', + min_word_count: 'min_word_count' } end end diff --git a/lib/getstream_ruby/generated/models/async_export_error_event.rb b/lib/getstream_ruby/generated/models/async_export_error_event.rb index 93f6071..1e922a8 100644 --- a/lib/getstream_ruby/generated/models/async_export_error_event.rb +++ b/lib/getstream_ruby/generated/models/async_export_error_event.rb @@ -43,7 +43,7 @@ def initialize(attributes = {}) @started_at = attributes[:started_at] || attributes['started_at'] @task_id = attributes[:task_id] || attributes['task_id'] @custom = attributes[:custom] || attributes['custom'] - @type = attributes[:type] || attributes['type'] || "export.review_queue.error" + @type = attributes[:type] || attributes['type'] || "export.users.error" @received_at = attributes[:received_at] || attributes['received_at'] || nil end diff --git a/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb b/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb index ab1dbce..53cc026 100644 --- a/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb +++ b/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb @@ -25,13 +25,13 @@ class BulkActionAppealsRequest < GetStream::BaseModel # @return [RejectAppealRequestPayload] Configuration for rejecting an appeal attr_accessor :reject_appeal # @!attribute restore - # @return [RestoreActionRequestPayload] Configuration for restore action + # @return [RestoreActionRequestPayload] Configuration for restore action. State-aware: reverses whichever of a delete, a block, or a shadow block currently applies to the content (including both a delete and a block/shadow block at once). attr_accessor :restore # @!attribute unban # @return [UnbanActionRequestPayload] Configuration for unban moderation action attr_accessor :unban # @!attribute unblock - # @return [UnblockActionRequestPayload] Configuration for unblock action + # @return [UnblockActionRequestPayload] Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action. attr_accessor :unblock # @!attribute user # @return [UserRequest] User request object diff --git a/lib/getstream_ruby/generated/models/channel_config.rb b/lib/getstream_ruby/generated/models/channel_config.rb index 8715050..b0c969a 100644 --- a/lib/getstream_ruby/generated/models/channel_config.rb +++ b/lib/getstream_ruby/generated/models/channel_config.rb @@ -36,6 +36,9 @@ class ChannelConfig < GetStream::BaseModel # @!attribute max_message_length # @return [Integer] attr_accessor :max_message_length + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -130,6 +133,7 @@ def initialize(attributes = {}) @delivery_events = attributes[:delivery_events] || attributes['delivery_events'] @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] @max_message_length = attributes[:max_message_length] || attributes['max_message_length'] + @message_retention = attributes[:message_retention] || attributes['message_retention'] @mutes = attributes[:mutes] || attributes['mutes'] @name = attributes[:name] || attributes['name'] @polls = attributes[:polls] || attributes['polls'] @@ -171,6 +175,7 @@ def self.json_field_mappings delivery_events: 'delivery_events', mark_messages_pending: 'mark_messages_pending', max_message_length: 'max_message_length', + message_retention: 'message_retention', mutes: 'mutes', name: 'name', polls: 'polls', diff --git a/lib/getstream_ruby/generated/models/channel_config_with_info.rb b/lib/getstream_ruby/generated/models/channel_config_with_info.rb index 8652f61..67fabc4 100644 --- a/lib/getstream_ruby/generated/models/channel_config_with_info.rb +++ b/lib/getstream_ruby/generated/models/channel_config_with_info.rb @@ -36,6 +36,9 @@ class ChannelConfigWithInfo < GetStream::BaseModel # @!attribute max_message_length # @return [Integer] attr_accessor :max_message_length + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -133,6 +136,7 @@ def initialize(attributes = {}) @delivery_events = attributes[:delivery_events] || attributes['delivery_events'] @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] @max_message_length = attributes[:max_message_length] || attributes['max_message_length'] + @message_retention = attributes[:message_retention] || attributes['message_retention'] @mutes = attributes[:mutes] || attributes['mutes'] @name = attributes[:name] || attributes['name'] @polls = attributes[:polls] || attributes['polls'] @@ -175,6 +179,7 @@ def self.json_field_mappings delivery_events: 'delivery_events', mark_messages_pending: 'mark_messages_pending', max_message_length: 'max_message_length', + message_retention: 'message_retention', mutes: 'mutes', name: 'name', polls: 'polls', diff --git a/lib/getstream_ruby/generated/models/channel_type_config.rb b/lib/getstream_ruby/generated/models/channel_type_config.rb index 1516e3b..47cce04 100644 --- a/lib/getstream_ruby/generated/models/channel_type_config.rb +++ b/lib/getstream_ruby/generated/models/channel_type_config.rb @@ -36,6 +36,9 @@ class ChannelTypeConfig < GetStream::BaseModel # @!attribute max_message_length # @return [Integer] attr_accessor :max_message_length + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -136,6 +139,7 @@ def initialize(attributes = {}) @delivery_events = attributes[:delivery_events] || attributes['delivery_events'] @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] @max_message_length = attributes[:max_message_length] || attributes['max_message_length'] + @message_retention = attributes[:message_retention] || attributes['message_retention'] @mutes = attributes[:mutes] || attributes['mutes'] @name = attributes[:name] || attributes['name'] @polls = attributes[:polls] || attributes['polls'] @@ -179,6 +183,7 @@ def self.json_field_mappings delivery_events: 'delivery_events', mark_messages_pending: 'mark_messages_pending', max_message_length: 'max_message_length', + message_retention: 'message_retention', mutes: 'mutes', name: 'name', polls: 'polls', diff --git a/lib/getstream_ruby/generated/models/classification.rb b/lib/getstream_ruby/generated/models/classification.rb index 72cb5e3..b87e748 100644 --- a/lib/getstream_ruby/generated/models/classification.rb +++ b/lib/getstream_ruby/generated/models/classification.rb @@ -18,6 +18,9 @@ class Classification < GetStream::BaseModel # @!attribute severity # @return [String] attr_accessor :severity + # @!attribute matched_contributors + # @return [Array] + attr_accessor :matched_contributors # @!attribute subclassifications # @return [Array] attr_accessor :subclassifications @@ -28,6 +31,7 @@ def initialize(attributes = {}) @name = attributes[:name] || attributes['name'] @confidence = attributes[:confidence] || attributes['confidence'] || nil @severity = attributes[:severity] || attributes['severity'] || nil + @matched_contributors = attributes[:matched_contributors] || attributes['matched_contributors'] || nil @subclassifications = attributes[:subclassifications] || attributes['subclassifications'] || nil end @@ -37,6 +41,7 @@ def self.json_field_mappings name: 'name', confidence: 'confidence', severity: 'severity', + matched_contributors: 'matched_contributors', subclassifications: 'subclassifications' } end diff --git a/lib/getstream_ruby/generated/models/create_channel_type_response.rb b/lib/getstream_ruby/generated/models/create_channel_type_response.rb index e442ddc..3e27698 100644 --- a/lib/getstream_ruby/generated/models/create_channel_type_response.rb +++ b/lib/getstream_ruby/generated/models/create_channel_type_response.rb @@ -39,6 +39,9 @@ class CreateChannelTypeResponse < GetStream::BaseModel # @!attribute max_message_length # @return [Integer] attr_accessor :max_message_length + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -140,6 +143,7 @@ def initialize(attributes = {}) @duration = attributes[:duration] || attributes['duration'] @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] @max_message_length = attributes[:max_message_length] || attributes['max_message_length'] + @message_retention = attributes[:message_retention] || attributes['message_retention'] @mutes = attributes[:mutes] || attributes['mutes'] @name = attributes[:name] || attributes['name'] @polls = attributes[:polls] || attributes['polls'] @@ -184,6 +188,7 @@ def self.json_field_mappings duration: 'duration', mark_messages_pending: 'mark_messages_pending', max_message_length: 'max_message_length', + message_retention: 'message_retention', mutes: 'mutes', name: 'name', polls: 'polls', diff --git a/lib/getstream_ruby/generated/models/create_permission_request.rb b/lib/getstream_ruby/generated/models/create_permission_request.rb new file mode 100644 index 0000000..28b6200 --- /dev/null +++ b/lib/getstream_ruby/generated/models/create_permission_request.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 CreatePermissionRequest < GetStream::BaseModel + + # Model attributes + # @!attribute action + # @return [String] Action name this permission is for (e.g. SendMessage) + attr_accessor :action + # @!attribute id + # @return [String] Unique permission ID + attr_accessor :id + # @!attribute name + # @return [String] Name of the permission + attr_accessor :name + # @!attribute condition + # @return [Object] MongoDB style condition which decides whether or not the permission is granted + attr_accessor :condition + # @!attribute description + # @return [String] Description of the permission + attr_accessor :description + # @!attribute owner + # @return [Boolean] Whether this permission applies to resource owner or not + attr_accessor :owner + # @!attribute same_team + # @return [Boolean] Whether this permission applies to teammates (multi-tenancy mode only) + attr_accessor :same_team + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @action = attributes[:action] || attributes['action'] + @id = attributes[:id] || attributes['id'] + @name = attributes[:name] || attributes['name'] + @condition = attributes[:condition] || attributes['condition'] + @description = attributes[:description] || attributes['description'] || nil + @owner = attributes[:owner] || attributes['owner'] || nil + @same_team = attributes[:same_team] || attributes['same_team'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + action: 'action', + id: 'id', + name: 'name', + condition: 'condition', + description: 'description', + owner: 'owner', + same_team: 'same_team' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/create_predefined_filter_request.rb b/lib/getstream_ruby/generated/models/create_predefined_filter_request.rb new file mode 100644 index 0000000..c013ec1 --- /dev/null +++ b/lib/getstream_ruby/generated/models/create_predefined_filter_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 CreatePredefinedFilterRequest < GetStream::BaseModel + + # Model attributes + # @!attribute name + # @return [String] The unique name of the predefined filter (alphanumeric, _, - only) + attr_accessor :name + # @!attribute operation + # @return [String] The operation this filter is for (e.g., QueryChannels) + attr_accessor :operation + # @!attribute filter + # @return [Object] Filter to apply to the query + attr_accessor :filter + # @!attribute description + # @return [String] The description of the predefined filter + attr_accessor :description + # @!attribute sort + # @return [Array] + attr_accessor :sort + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @name = attributes[:name] || attributes['name'] + @operation = attributes[:operation] || attributes['operation'] + @filter = attributes[:filter] || attributes['filter'] + @description = attributes[:description] || attributes['description'] || nil + @sort = attributes[:sort] || attributes['sort'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + name: 'name', + operation: 'operation', + filter: 'filter', + description: 'description', + sort: 'sort' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/create_predefined_filter_response.rb b/lib/getstream_ruby/generated/models/create_predefined_filter_response.rb new file mode 100644 index 0000000..dc9b2e4 --- /dev/null +++ b/lib/getstream_ruby/generated/models/create_predefined_filter_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 CreatePredefinedFilterResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] Duration of the request in milliseconds + attr_accessor :duration + # @!attribute predefined_filter + # @return [PredefinedFilterResponse] + attr_accessor :predefined_filter + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @predefined_filter = attributes[:predefined_filter] || attributes['predefined_filter'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + predefined_filter: 'predefined_filter' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/get_channel_type_response.rb b/lib/getstream_ruby/generated/models/get_channel_type_response.rb index a2b7281..026e455 100644 --- a/lib/getstream_ruby/generated/models/get_channel_type_response.rb +++ b/lib/getstream_ruby/generated/models/get_channel_type_response.rb @@ -39,6 +39,9 @@ class GetChannelTypeResponse < GetStream::BaseModel # @!attribute max_message_length # @return [Integer] attr_accessor :max_message_length + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -140,6 +143,7 @@ def initialize(attributes = {}) @duration = attributes[:duration] || attributes['duration'] @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] @max_message_length = attributes[:max_message_length] || attributes['max_message_length'] + @message_retention = attributes[:message_retention] || attributes['message_retention'] @mutes = attributes[:mutes] || attributes['mutes'] @name = attributes[:name] || attributes['name'] @polls = attributes[:polls] || attributes['polls'] @@ -184,6 +188,7 @@ def self.json_field_mappings duration: 'duration', mark_messages_pending: 'mark_messages_pending', max_message_length: 'max_message_length', + message_retention: 'message_retention', mutes: 'mutes', name: 'name', polls: 'polls', diff --git a/lib/getstream_ruby/generated/models/get_feed_counts_response.rb b/lib/getstream_ruby/generated/models/get_feed_counts_response.rb new file mode 100644 index 0000000..5cf8d9f --- /dev/null +++ b/lib/getstream_ruby/generated/models/get_feed_counts_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 + # + class GetFeedCountsResponse < GetStream::BaseModel + + # Model attributes + # @!attribute activity_count + # @return [Integer] Number of activities in the feed + attr_accessor :activity_count + # @!attribute comment_count + # @return [Integer] Total number of comments on those activities, including nested replies + attr_accessor :comment_count + # @!attribute duration + # @return [String] + attr_accessor :duration + # @!attribute total_count + # @return [Integer] Sum of activity_count and comment_count + attr_accessor :total_count + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @activity_count = attributes[:activity_count] || attributes['activity_count'] + @comment_count = attributes[:comment_count] || attributes['comment_count'] + @duration = attributes[:duration] || attributes['duration'] + @total_count = attributes[:total_count] || attributes['total_count'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + activity_count: 'activity_count', + comment_count: 'comment_count', + duration: 'duration', + total_count: 'total_count' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/get_pinned_messages_response.rb b/lib/getstream_ruby/generated/models/get_pinned_messages_response.rb new file mode 100644 index 0000000..2b838ea --- /dev/null +++ b/lib/getstream_ruby/generated/models/get_pinned_messages_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 GetPinnedMessagesResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] Duration of the request in milliseconds + attr_accessor :duration + # @!attribute messages + # @return [Array] Messages + attr_accessor :messages + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @messages = attributes[:messages] || attributes['messages'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + messages: 'messages' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/get_predefined_filter_response.rb b/lib/getstream_ruby/generated/models/get_predefined_filter_response.rb new file mode 100644 index 0000000..4efa342 --- /dev/null +++ b/lib/getstream_ruby/generated/models/get_predefined_filter_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 GetPredefinedFilterResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] Duration of the request in milliseconds + attr_accessor :duration + # @!attribute predefined_filter + # @return [PredefinedFilterResponse] + attr_accessor :predefined_filter + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @predefined_filter = attributes[:predefined_filter] || attributes['predefined_filter'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + predefined_filter: 'predefined_filter' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/performance_analysis_response.rb b/lib/getstream_ruby/generated/models/performance_analysis_response.rb new file mode 100644 index 0000000..90e8547 --- /dev/null +++ b/lib/getstream_ruby/generated/models/performance_analysis_response.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class PerformanceAnalysisResponse < GetStream::BaseModel + + # Model attributes + # @!attribute analysis_type + # @return [String] + attr_accessor :analysis_type + # @!attribute score + # @return [String] + attr_accessor :score + # @!attribute indexed_fields + # @return [Array] + attr_accessor :indexed_fields + # @!attribute recommendations + # @return [Array] + attr_accessor :recommendations + # @!attribute unindexed_fields + # @return [Array] + attr_accessor :unindexed_fields + # @!attribute unindexed_sort_fields + # @return [Array] + attr_accessor :unindexed_sort_fields + # @!attribute warnings + # @return [Array] + attr_accessor :warnings + # @!attribute last_analyzed + # @return [DateTime] + attr_accessor :last_analyzed + # @!attribute scan_type + # @return [String] + attr_accessor :scan_type + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @analysis_type = attributes[:analysis_type] || attributes['analysis_type'] + @score = attributes[:score] || attributes['score'] + @indexed_fields = attributes[:indexed_fields] || attributes['indexed_fields'] + @recommendations = attributes[:recommendations] || attributes['recommendations'] + @unindexed_fields = attributes[:unindexed_fields] || attributes['unindexed_fields'] + @unindexed_sort_fields = attributes[:unindexed_sort_fields] || attributes['unindexed_sort_fields'] + @warnings = attributes[:warnings] || attributes['warnings'] + @last_analyzed = attributes[:last_analyzed] || attributes['last_analyzed'] || nil + @scan_type = attributes[:scan_type] || attributes['scan_type'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + analysis_type: 'analysis_type', + score: 'score', + indexed_fields: 'indexed_fields', + recommendations: 'recommendations', + unindexed_fields: 'unindexed_fields', + unindexed_sort_fields: 'unindexed_sort_fields', + warnings: 'warnings', + last_analyzed: 'last_analyzed', + scan_type: 'scan_type' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/permission_request.rb b/lib/getstream_ruby/generated/models/permission_request.rb new file mode 100644 index 0000000..9ba0bfa --- /dev/null +++ b/lib/getstream_ruby/generated/models/permission_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 PermissionRequest < GetStream::BaseModel + + # Model attributes + # @!attribute action + # @return [String] Action name this permission is for (e.g. SendMessage) + attr_accessor :action + # @!attribute name + # @return [String] Name of the permission + attr_accessor :name + # @!attribute condition + # @return [Object] MongoDB style condition which decides whether or not the permission is granted + attr_accessor :condition + # @!attribute description + # @return [String] Description of the permission + attr_accessor :description + # @!attribute owner + # @return [Boolean] Whether this permission applies to resource owner or not + attr_accessor :owner + # @!attribute same_team + # @return [Boolean] Whether this permission applies to teammates (multi-tenancy mode only) + attr_accessor :same_team + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @action = attributes[:action] || attributes['action'] + @name = attributes[:name] || attributes['name'] + @condition = attributes[:condition] || attributes['condition'] + @description = attributes[:description] || attributes['description'] || nil + @owner = attributes[:owner] || attributes['owner'] || nil + @same_team = attributes[:same_team] || attributes['same_team'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + action: 'action', + name: 'name', + condition: 'condition', + description: 'description', + owner: 'owner', + same_team: 'same_team' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/predefined_filter_response.rb b/lib/getstream_ruby/generated/models/predefined_filter_response.rb new file mode 100644 index 0000000..81c6b3f --- /dev/null +++ b/lib/getstream_ruby/generated/models/predefined_filter_response.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +# Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. + +module GetStream + module Generated + module Models + # + class PredefinedFilterResponse < GetStream::BaseModel + + # Model attributes + # @!attribute created_at + # @return [DateTime] + attr_accessor :created_at + # @!attribute name + # @return [String] + attr_accessor :name + # @!attribute operation + # @return [String] + attr_accessor :operation + # @!attribute updated_at + # @return [DateTime] + attr_accessor :updated_at + # @!attribute filter + # @return [Object] + attr_accessor :filter + # @!attribute description + # @return [String] + attr_accessor :description + # @!attribute query_id + # @return [Integer] + attr_accessor :query_id + # @!attribute sort + # @return [Array] + attr_accessor :sort + # @!attribute performance + # @return [PerformanceAnalysisResponse] + attr_accessor :performance + # @!attribute stats + # @return [PredefinedFilterStatsResponse] + attr_accessor :stats + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @created_at = attributes[:created_at] || attributes['created_at'] + @name = attributes[:name] || attributes['name'] + @operation = attributes[:operation] || attributes['operation'] + @updated_at = attributes[:updated_at] || attributes['updated_at'] + @filter = attributes[:filter] || attributes['filter'] + @description = attributes[:description] || attributes['description'] || nil + @query_id = attributes[:query_id] || attributes['query_id'] || nil + @sort = attributes[:sort] || attributes['sort'] || nil + @performance = attributes[:performance] || attributes['performance'] || nil + @stats = attributes[:stats] || attributes['stats'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + created_at: 'created_at', + name: 'name', + operation: 'operation', + updated_at: 'updated_at', + filter: 'filter', + description: 'description', + query_id: 'query_id', + sort: 'sort', + performance: 'performance', + stats: 'stats' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/predefined_filter_stats_response.rb b/lib/getstream_ruby/generated/models/predefined_filter_stats_response.rb new file mode 100644 index 0000000..325ae4e --- /dev/null +++ b/lib/getstream_ruby/generated/models/predefined_filter_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 PredefinedFilterStatsResponse < GetStream::BaseModel + + # Model attributes + # @!attribute calls + # @return [Integer] + attr_accessor :calls + # @!attribute max_latency_ms + # @return [Integer] + attr_accessor :max_latency_ms + # @!attribute last_seen + # @return [DateTime] + attr_accessor :last_seen + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @calls = attributes[:calls] || attributes['calls'] + @max_latency_ms = attributes[:max_latency_ms] || attributes['max_latency_ms'] + @last_seen = attributes[:last_seen] || attributes['last_seen'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + calls: 'calls', + max_latency_ms: 'max_latency_ms', + last_seen: 'last_seen' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/push_notification_config.rb b/lib/getstream_ruby/generated/models/push_notification_config.rb index 7122e5f..f82e6c8 100644 --- a/lib/getstream_ruby/generated/models/push_notification_config.rb +++ b/lib/getstream_ruby/generated/models/push_notification_config.rb @@ -13,7 +13,7 @@ class PushNotificationConfig < GetStream::BaseModel # @return [Boolean] Whether push notifications are enabled for this feed group attr_accessor :enable_push # @!attribute push_types - # @return [Array] List of notification types that should trigger push notifications (e.g., follow, comment, reaction, comment_reaction, mention) + # @return [Array] Allowlist of notification types that may trigger push (e.g. follow, comment, reaction, comment_reaction, mention, or any custom activity.type). Empty or omitted means no types. Built-in notifications match notification_context.trigger.type; manually added notification activities match activity.type. attr_accessor :push_types # Initialize with attributes diff --git a/lib/getstream_ruby/generated/models/query_predefined_filters_response.rb b/lib/getstream_ruby/generated/models/query_predefined_filters_response.rb new file mode 100644 index 0000000..c3ffc1f --- /dev/null +++ b/lib/getstream_ruby/generated/models/query_predefined_filters_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 + # + class QueryPredefinedFiltersResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] Duration of the request in milliseconds + attr_accessor :duration + # @!attribute predefined_filters + # @return [Array] Predefined filters + attr_accessor :predefined_filters + # @!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'] + @predefined_filters = attributes[:predefined_filters] || attributes['predefined_filters'] + @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', + predefined_filters: 'predefined_filters', + next: 'next', + prev: 'prev' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/query_team_usage_stats_request.rb b/lib/getstream_ruby/generated/models/query_team_usage_stats_request.rb index 1a008c0..60930f7 100644 --- a/lib/getstream_ruby/generated/models/query_team_usage_stats_request.rb +++ b/lib/getstream_ruby/generated/models/query_team_usage_stats_request.rb @@ -24,6 +24,9 @@ class QueryTeamUsageStatsRequest < GetStream::BaseModel # @!attribute start_date # @return [String] Start date in YYYY-MM-DD format. Used with end_date for custom date range. Returns daily breakdown. attr_accessor :start_date + # @!attribute team + # @return [String] Filter results to a single team ID. Empty string selects users not assigned to any team. Mutually exclusive with 'next'. + attr_accessor :team # Initialize with attributes def initialize(attributes = {}) @@ -33,6 +36,7 @@ def initialize(attributes = {}) @month = attributes[:month] || attributes['month'] || nil @next = attributes[:next] || attributes['next'] || nil @start_date = attributes[:start_date] || attributes['start_date'] || nil + @team = attributes[:team] || attributes['team'] || nil end # Override field mappings for JSON serialization @@ -42,7 +46,8 @@ def self.json_field_mappings limit: 'limit', month: 'month', next: 'next', - start_date: 'start_date' + start_date: 'start_date', + team: 'team' } end end diff --git a/lib/getstream_ruby/generated/models/restore_action_request_payload.rb b/lib/getstream_ruby/generated/models/restore_action_request_payload.rb index 812bb33..3a5319c 100644 --- a/lib/getstream_ruby/generated/models/restore_action_request_payload.rb +++ b/lib/getstream_ruby/generated/models/restore_action_request_payload.rb @@ -5,7 +5,7 @@ module GetStream module Generated module Models - # Configuration for restore action + # Configuration for restore action. State-aware: reverses whichever of a delete, a block, or a shadow block currently applies to the content (including both a delete and a block/shadow block at once). class RestoreActionRequestPayload < GetStream::BaseModel # Model attributes diff --git a/lib/getstream_ruby/generated/models/sort_param.rb b/lib/getstream_ruby/generated/models/sort_param.rb new file mode 100644 index 0000000..868cce8 --- /dev/null +++ b/lib/getstream_ruby/generated/models/sort_param.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 SortParam < GetStream::BaseModel + + # Model attributes + # @!attribute direction + # @return [Integer] + attr_accessor :direction + # @!attribute field + # @return [String] + attr_accessor :field + # @!attribute type + # @return [String] + attr_accessor :type + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @direction = attributes[:direction] || attributes['direction'] + @field = attributes[:field] || attributes['field'] + @type = attributes[:type] || attributes['type'] + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + direction: 'direction', + field: 'field', + type: 'type' + } + end + end + end + 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 7798f6f..f0d27a1 100644 --- a/lib/getstream_ruby/generated/models/submit_action_request.rb +++ b/lib/getstream_ruby/generated/models/submit_action_request.rb @@ -64,7 +64,7 @@ class SubmitActionRequest < GetStream::BaseModel # @return [RejectAppealRequestPayload] Configuration for rejecting an appeal attr_accessor :reject_appeal # @!attribute restore - # @return [RestoreActionRequestPayload] Configuration for restore action + # @return [RestoreActionRequestPayload] Configuration for restore action. State-aware: reverses whichever of a delete, a block, or a shadow block currently applies to the content (including both a delete and a block/shadow block at once). attr_accessor :restore # @!attribute shadow_block # @return [ShadowBlockActionRequestPayload] Configuration for shadow block action @@ -73,7 +73,7 @@ class SubmitActionRequest < GetStream::BaseModel # @return [UnbanActionRequestPayload] Configuration for unban moderation action attr_accessor :unban # @!attribute unblock - # @return [UnblockActionRequestPayload] Configuration for unblock action + # @return [UnblockActionRequestPayload] Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action. attr_accessor :unblock # @!attribute user # @return [UserRequest] User request object diff --git a/lib/getstream_ruby/generated/models/unblock_action_request_payload.rb b/lib/getstream_ruby/generated/models/unblock_action_request_payload.rb index 3b8a95f..7508b2a 100644 --- a/lib/getstream_ruby/generated/models/unblock_action_request_payload.rb +++ b/lib/getstream_ruby/generated/models/unblock_action_request_payload.rb @@ -5,7 +5,7 @@ module GetStream module Generated module Models - # Configuration for unblock action + # Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action. class UnblockActionRequestPayload < GetStream::BaseModel # Model attributes diff --git a/lib/getstream_ruby/generated/models/update_channel_type_request.rb b/lib/getstream_ruby/generated/models/update_channel_type_request.rb index 231255e..d8c1950 100644 --- a/lib/getstream_ruby/generated/models/update_channel_type_request.rb +++ b/lib/getstream_ruby/generated/models/update_channel_type_request.rb @@ -39,6 +39,9 @@ class UpdateChannelTypeRequest < GetStream::BaseModel # @!attribute mark_messages_pending # @return [Boolean] attr_accessor :mark_messages_pending + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -128,6 +131,7 @@ def initialize(attributes = {}) @custom_events = attributes[:custom_events] || attributes['custom_events'] || nil @delivery_events = attributes[:delivery_events] || attributes['delivery_events'] || nil @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] || nil + @message_retention = attributes[:message_retention] || attributes['message_retention'] || nil @mutes = attributes[:mutes] || attributes['mutes'] || nil @partition_size = attributes[:partition_size] || attributes['partition_size'] || nil @partition_ttl = attributes[:partition_ttl] || attributes['partition_ttl'] || nil @@ -168,6 +172,7 @@ def self.json_field_mappings custom_events: 'custom_events', delivery_events: 'delivery_events', mark_messages_pending: 'mark_messages_pending', + message_retention: 'message_retention', mutes: 'mutes', partition_size: 'partition_size', partition_ttl: 'partition_ttl', diff --git a/lib/getstream_ruby/generated/models/update_channel_type_response.rb b/lib/getstream_ruby/generated/models/update_channel_type_response.rb index 60da79b..7579e52 100644 --- a/lib/getstream_ruby/generated/models/update_channel_type_response.rb +++ b/lib/getstream_ruby/generated/models/update_channel_type_response.rb @@ -39,6 +39,9 @@ class UpdateChannelTypeResponse < GetStream::BaseModel # @!attribute max_message_length # @return [Integer] attr_accessor :max_message_length + # @!attribute message_retention + # @return [String] + attr_accessor :message_retention # @!attribute mutes # @return [Boolean] attr_accessor :mutes @@ -140,6 +143,7 @@ def initialize(attributes = {}) @duration = attributes[:duration] || attributes['duration'] @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending'] @max_message_length = attributes[:max_message_length] || attributes['max_message_length'] + @message_retention = attributes[:message_retention] || attributes['message_retention'] @mutes = attributes[:mutes] || attributes['mutes'] @name = attributes[:name] || attributes['name'] @polls = attributes[:polls] || attributes['polls'] @@ -184,6 +188,7 @@ def self.json_field_mappings duration: 'duration', mark_messages_pending: 'mark_messages_pending', max_message_length: 'max_message_length', + message_retention: 'message_retention', mutes: 'mutes', name: 'name', polls: 'polls', diff --git a/lib/getstream_ruby/generated/models/update_predefined_filter_request.rb b/lib/getstream_ruby/generated/models/update_predefined_filter_request.rb new file mode 100644 index 0000000..97fc951 --- /dev/null +++ b/lib/getstream_ruby/generated/models/update_predefined_filter_request.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 + # + class UpdatePredefinedFilterRequest < GetStream::BaseModel + + # Model attributes + # @!attribute operation + # @return [String] The operation this filter is for (e.g., QueryChannels) + attr_accessor :operation + # @!attribute filter + # @return [Object] Filter to apply to the query + attr_accessor :filter + # @!attribute description + # @return [String] The description of the predefined filter + attr_accessor :description + # @!attribute sort + # @return [Array] + attr_accessor :sort + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @operation = attributes[:operation] || attributes['operation'] + @filter = attributes[:filter] || attributes['filter'] + @description = attributes[:description] || attributes['description'] || nil + @sort = attributes[:sort] || attributes['sort'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + operation: 'operation', + filter: 'filter', + description: 'description', + sort: 'sort' + } + end + end + end + end +end diff --git a/lib/getstream_ruby/generated/models/update_predefined_filter_response.rb b/lib/getstream_ruby/generated/models/update_predefined_filter_response.rb new file mode 100644 index 0000000..6ac215d --- /dev/null +++ b/lib/getstream_ruby/generated/models/update_predefined_filter_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 UpdatePredefinedFilterResponse < GetStream::BaseModel + + # Model attributes + # @!attribute duration + # @return [String] Duration of the request in milliseconds + attr_accessor :duration + # @!attribute predefined_filter + # @return [PredefinedFilterResponse] + attr_accessor :predefined_filter + + # Initialize with attributes + def initialize(attributes = {}) + super(attributes) + @duration = attributes[:duration] || attributes['duration'] + @predefined_filter = attributes[:predefined_filter] || attributes['predefined_filter'] || nil + end + + # Override field mappings for JSON serialization + def self.json_field_mappings + { + duration: 'duration', + predefined_filter: 'predefined_filter' + } + end + end + end + end +end