getstream-ruby 11.0.1 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/getstream_ruby/generated/chat_client.rb +141 -1
  3. data/lib/getstream_ruby/generated/common_client.rb +53 -0
  4. data/lib/getstream_ruby/generated/feed.rb +9 -0
  5. data/lib/getstream_ruby/generated/feeds_client.rb +18 -0
  6. data/lib/getstream_ruby/generated/models/activity_processor_config.rb +11 -1
  7. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  8. data/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb +2 -2
  9. data/lib/getstream_ruby/generated/models/channel_config.rb +5 -0
  10. data/lib/getstream_ruby/generated/models/channel_config_with_info.rb +5 -0
  11. data/lib/getstream_ruby/generated/models/channel_type_config.rb +5 -0
  12. data/lib/getstream_ruby/generated/models/classification.rb +5 -0
  13. data/lib/getstream_ruby/generated/models/create_channel_type_response.rb +5 -0
  14. data/lib/getstream_ruby/generated/models/create_permission_request.rb +61 -0
  15. data/lib/getstream_ruby/generated/models/create_predefined_filter_request.rb +51 -0
  16. data/lib/getstream_ruby/generated/models/create_predefined_filter_response.rb +36 -0
  17. data/lib/getstream_ruby/generated/models/get_channel_type_response.rb +5 -0
  18. data/lib/getstream_ruby/generated/models/get_feed_counts_response.rb +46 -0
  19. data/lib/getstream_ruby/generated/models/get_pinned_messages_response.rb +36 -0
  20. data/lib/getstream_ruby/generated/models/get_predefined_filter_response.rb +36 -0
  21. data/lib/getstream_ruby/generated/models/performance_analysis_response.rb +71 -0
  22. data/lib/getstream_ruby/generated/models/permission_request.rb +56 -0
  23. data/lib/getstream_ruby/generated/models/predefined_filter_response.rb +76 -0
  24. data/lib/getstream_ruby/generated/models/predefined_filter_stats_response.rb +41 -0
  25. data/lib/getstream_ruby/generated/models/push_notification_config.rb +1 -1
  26. data/lib/getstream_ruby/generated/models/query_predefined_filters_response.rb +46 -0
  27. data/lib/getstream_ruby/generated/models/query_team_usage_stats_request.rb +6 -1
  28. data/lib/getstream_ruby/generated/models/restore_action_request_payload.rb +1 -1
  29. data/lib/getstream_ruby/generated/models/sort_param.rb +41 -0
  30. data/lib/getstream_ruby/generated/models/submit_action_request.rb +2 -2
  31. data/lib/getstream_ruby/generated/models/unblock_action_request_payload.rb +1 -1
  32. data/lib/getstream_ruby/generated/models/update_channel_type_request.rb +5 -0
  33. data/lib/getstream_ruby/generated/models/update_channel_type_response.rb +5 -0
  34. data/lib/getstream_ruby/generated/models/update_predefined_filter_request.rb +46 -0
  35. data/lib/getstream_ruby/generated/models/update_predefined_filter_response.rb +36 -0
  36. data/lib/getstream_ruby/version.rb +1 -1
  37. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4d6bbf24fdc6b3ec8fe5caad8fba23c912f8aa182f824d0be7027914c1d1edc
4
- data.tar.gz: c536a6554a200b62b0d0648ef097bd40b947e06d958588e53fc23a617e3066e8
3
+ metadata.gz: 13ad474f2087bc33af5a85570b1b0ed6b981040edf420ff1dfa1355983626aff
4
+ data.tar.gz: c0e29e7e6cad4cbee6983d06358d7f03b09822902cf6555537b1ad96a0faae2b
5
5
  SHA512:
6
- metadata.gz: 4b51a4eddac9bb0e90fc5871f07236077701c37b74a79f583b96a9f00dc170eb671ff25cdee632fd75ac0eb2529ac46b8bebf3a3caf59a4e4655561633527a96
7
- data.tar.gz: 2ec1e43078cef984faa2317e69ddd16eb7818c80b9cb68472aba4e42fde09802ccb29000091836d810fbff316aaac9be6154e15cbe7cb970b40f6cef6f8dbcc6
6
+ metadata.gz: 7bf60c039529217a57f09929f53af978660dabe27673e691e85d59c14400db9d57c879fdde14b78ea3c67a348da10892dea64c8e174c1ef2c90e67a7136f41a4
7
+ data.tar.gz: 1fa85c952aa9f7d961aa49dda1a2c2a1cb090624ac69ec2e1efb792ddfbd9cf4014c734472682b07b7da5737de744fe9819539974777828da631f3fe4f787bfb
@@ -640,6 +640,57 @@ module GetStream
640
640
  )
641
641
  end
642
642
 
643
+ # Returns pinned messages for the channel
644
+ #
645
+ # @param _type [String]
646
+ # @param _id [String]
647
+ # @param limit [Integer]
648
+ # @param offset [Integer]
649
+ # @param id_gte [String]
650
+ # @param id_gt [String]
651
+ # @param id_lte [String]
652
+ # @param id_lt [String]
653
+ # @param pinned_at_after_or_equal [DateTime]
654
+ # @param pinned_at_after [DateTime]
655
+ # @param pinned_at_before_or_equal [DateTime]
656
+ # @param pinned_at_before [DateTime]
657
+ # @param id_around [String]
658
+ # @param pinned_at_around [DateTime]
659
+ # @param user_id [String]
660
+ # @param sort [Array<SortParamRequest>]
661
+ # @param member_custom_include [Array<String>]
662
+ # @return [Models::GetPinnedMessagesResponse]
663
+ 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)
664
+ path = '/api/v2/chat/channels/{type}/{id}/pinned_messages'
665
+ # Replace path parameters
666
+ path = path.gsub('{type}', _type.to_s)
667
+ path = path.gsub('{id}', _id.to_s)
668
+ # Build query parameters
669
+ query_params = {}
670
+ query_params['limit'] = limit unless limit.nil?
671
+ query_params['offset'] = offset unless offset.nil?
672
+ query_params['id_gte'] = id_gte unless id_gte.nil?
673
+ query_params['id_gt'] = id_gt unless id_gt.nil?
674
+ query_params['id_lte'] = id_lte unless id_lte.nil?
675
+ query_params['id_lt'] = id_lt unless id_lt.nil?
676
+ query_params['pinned_at_after_or_equal'] = pinned_at_after_or_equal unless pinned_at_after_or_equal.nil?
677
+ query_params['pinned_at_after'] = pinned_at_after unless pinned_at_after.nil?
678
+ query_params['pinned_at_before_or_equal'] = pinned_at_before_or_equal unless pinned_at_before_or_equal.nil?
679
+ query_params['pinned_at_before'] = pinned_at_before unless pinned_at_before.nil?
680
+ query_params['id_around'] = id_around unless id_around.nil?
681
+ query_params['pinned_at_around'] = pinned_at_around unless pinned_at_around.nil?
682
+ query_params['user_id'] = user_id unless user_id.nil?
683
+ query_params['sort'] = sort unless sort.nil?
684
+ query_params['member_custom_include'] = member_custom_include unless member_custom_include.nil?
685
+
686
+ # Make the API request
687
+ @client.make_request(
688
+ :get,
689
+ path,
690
+ query_params: query_params
691
+ )
692
+ end
693
+
643
694
  # 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
644
695
  #
645
696
  # @param _type [String]
@@ -1450,6 +1501,95 @@ module GetStream
1450
1501
  )
1451
1502
  end
1452
1503
 
1504
+ # Get all predefined filters with optional sorting by created_at, updated_at, name, or operation
1505
+ #
1506
+ # @param include_stats [Boolean]
1507
+ # @param sort [Array<SortParamRequest>]
1508
+ # @return [Models::QueryPredefinedFiltersResponse]
1509
+ def get_predefined_filters(include_stats = nil, sort = nil)
1510
+ path = '/api/v2/chat/predefined_filters'
1511
+ # Build query parameters
1512
+ query_params = {}
1513
+ query_params['include_stats'] = include_stats unless include_stats.nil?
1514
+ query_params['sort'] = sort unless sort.nil?
1515
+
1516
+ # Make the API request
1517
+ @client.make_request(
1518
+ :get,
1519
+ path,
1520
+ query_params: query_params
1521
+ )
1522
+ end
1523
+
1524
+ # Create a predefined filter that can be used in Query endpoints
1525
+ #
1526
+ # @param create_predefined_filter_request [CreatePredefinedFilterRequest]
1527
+ # @return [Models::CreatePredefinedFilterResponse]
1528
+ def create_predefined_filter(create_predefined_filter_request)
1529
+ path = '/api/v2/chat/predefined_filters'
1530
+ # Build request body
1531
+ body = create_predefined_filter_request
1532
+
1533
+ # Make the API request
1534
+ @client.make_request(
1535
+ :post,
1536
+ path,
1537
+ body: body
1538
+ )
1539
+ end
1540
+
1541
+ # Delete a predefined filter by name
1542
+ #
1543
+ # @param name [String]
1544
+ # @return [Models::Response]
1545
+ def delete_predefined_filter(name)
1546
+ path = '/api/v2/chat/predefined_filters/{name}'
1547
+ # Replace path parameters
1548
+ path = path.gsub('{name}', name.to_s)
1549
+
1550
+ # Make the API request
1551
+ @client.make_request(
1552
+ :delete,
1553
+ path
1554
+ )
1555
+ end
1556
+
1557
+ # Get a predefined filter by name
1558
+ #
1559
+ # @param name [String]
1560
+ # @return [Models::GetPredefinedFilterResponse]
1561
+ def get_predefined_filter(name)
1562
+ path = '/api/v2/chat/predefined_filters/{name}'
1563
+ # Replace path parameters
1564
+ path = path.gsub('{name}', name.to_s)
1565
+
1566
+ # Make the API request
1567
+ @client.make_request(
1568
+ :get,
1569
+ path
1570
+ )
1571
+ end
1572
+
1573
+ # Update a predefined filter by name
1574
+ #
1575
+ # @param name [String]
1576
+ # @param update_predefined_filter_request [UpdatePredefinedFilterRequest]
1577
+ # @return [Models::UpdatePredefinedFilterResponse]
1578
+ def update_predefined_filter(name, update_predefined_filter_request)
1579
+ path = '/api/v2/chat/predefined_filters/{name}'
1580
+ # Replace path parameters
1581
+ path = path.gsub('{name}', name.to_s)
1582
+ # Build request body
1583
+ body = update_predefined_filter_request
1584
+
1585
+ # Make the API request
1586
+ @client.make_request(
1587
+ :put,
1588
+ path,
1589
+ body: body
1590
+ )
1591
+ end
1592
+
1453
1593
  # Find and filter channel scoped or global user bans
1454
1594
  #
1455
1595
  # @param payload [QueryBannedUsersPayload]
@@ -1749,7 +1889,7 @@ module GetStream
1749
1889
  )
1750
1890
  end
1751
1891
 
1752
- # 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.
1892
+ # 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.
1753
1893
  #
1754
1894
  # @param query_team_usage_stats_request [QueryTeamUsageStatsRequest]
1755
1895
  # @return [Models::QueryTeamUsageStatsResponse]
@@ -620,6 +620,39 @@ module GetStream
620
620
  )
621
621
  end
622
622
 
623
+ # Creates permission
624
+ #
625
+ # @param create_permission_request [CreatePermissionRequest]
626
+ # @return [Models::Response]
627
+ def create_permission(create_permission_request)
628
+ path = '/api/v2/permissions'
629
+ # Build request body
630
+ body = create_permission_request
631
+
632
+ # Make the API request
633
+ @client.make_request(
634
+ :post,
635
+ path,
636
+ body: body
637
+ )
638
+ end
639
+
640
+ # Deletes custom permission
641
+ #
642
+ # @param _id [String]
643
+ # @return [Models::Response]
644
+ def delete_permission(_id)
645
+ path = '/api/v2/permissions/{id}'
646
+ # Replace path parameters
647
+ path = path.gsub('{id}', _id.to_s)
648
+
649
+ # Make the API request
650
+ @client.make_request(
651
+ :delete,
652
+ path
653
+ )
654
+ end
655
+
623
656
  # Gets custom permission
624
657
  #
625
658
  # @param _id [String]
@@ -636,6 +669,26 @@ module GetStream
636
669
  )
637
670
  end
638
671
 
672
+ # Updates custom permission
673
+ #
674
+ # @param _id [String]
675
+ # @param permission_request [PermissionRequest]
676
+ # @return [Models::Response]
677
+ def update_permission(_id, permission_request)
678
+ path = '/api/v2/permissions/{id}'
679
+ # Replace path parameters
680
+ path = path.gsub('{id}', _id.to_s)
681
+ # Build request body
682
+ body = permission_request
683
+
684
+ # Make the API request
685
+ @client.make_request(
686
+ :put,
687
+ path,
688
+ body: body
689
+ )
690
+ end
691
+
639
692
  # Creates a new poll
640
693
  #
641
694
  # @param create_poll_request [CreatePollRequest]
@@ -102,6 +102,15 @@ module GetStream
102
102
  @client.feeds.change_feed_visibility(@feed_group_id, @feed_id, change_feed_visibility_request)
103
103
  end
104
104
 
105
+ # 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.
106
+ #
107
+ # @return [Models::GetFeedCountsResponse]
108
+ def get_feed_counts()
109
+
110
+ # Delegate to the FeedsClient
111
+ @client.feeds.get_feed_counts(@feed_group_id, @feed_id)
112
+ end
113
+
105
114
  # Add, remove, or set members for a feed
106
115
  #
107
116
  # @param update_feed_members_request [UpdateFeedMembersRequest]
@@ -1294,6 +1294,24 @@ module GetStream
1294
1294
  )
1295
1295
  end
1296
1296
 
1297
+ # 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.
1298
+ #
1299
+ # @param feed_group_id [String]
1300
+ # @param feed_id [String]
1301
+ # @return [Models::GetFeedCountsResponse]
1302
+ def get_feed_counts(feed_group_id, feed_id)
1303
+ path = '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/counts'
1304
+ # Replace path parameters
1305
+ path = path.gsub('{feed_group_id}', feed_group_id.to_s)
1306
+ path = path.gsub('{feed_id}', feed_id.to_s)
1307
+
1308
+ # Make the API request
1309
+ @client.make_request(
1310
+ :get,
1311
+ path
1312
+ )
1313
+ end
1314
+
1297
1315
  # Add, remove, or set members for a feed
1298
1316
  #
1299
1317
  # @param feed_group_id [String]
@@ -12,17 +12,27 @@ module GetStream
12
12
  # @!attribute type
13
13
  # @return [String] Type of activity processor (required)
14
14
  attr_accessor :type
15
+ # @!attribute min_text_length
16
+ # @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.
17
+ attr_accessor :min_text_length
18
+ # @!attribute min_word_count
19
+ # @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.
20
+ attr_accessor :min_word_count
15
21
 
16
22
  # Initialize with attributes
17
23
  def initialize(attributes = {})
18
24
  super(attributes)
19
25
  @type = attributes[:type] || attributes['type']
26
+ @min_text_length = attributes[:min_text_length] || attributes['min_text_length'] || nil
27
+ @min_word_count = attributes[:min_word_count] || attributes['min_word_count'] || nil
20
28
  end
21
29
 
22
30
  # Override field mappings for JSON serialization
23
31
  def self.json_field_mappings
24
32
  {
25
- type: 'type'
33
+ type: 'type',
34
+ min_text_length: 'min_text_length',
35
+ min_word_count: 'min_word_count'
26
36
  }
27
37
  end
28
38
  end
@@ -43,7 +43,7 @@ module GetStream
43
43
  @started_at = attributes[:started_at] || attributes['started_at']
44
44
  @task_id = attributes[:task_id] || attributes['task_id']
45
45
  @custom = attributes[:custom] || attributes['custom']
46
- @type = attributes[:type] || attributes['type'] || "export.review_queue.error"
46
+ @type = attributes[:type] || attributes['type'] || "export.users.error"
47
47
  @received_at = attributes[:received_at] || attributes['received_at'] || nil
48
48
  end
49
49
 
@@ -25,13 +25,13 @@ module GetStream
25
25
  # @return [RejectAppealRequestPayload] Configuration for rejecting an appeal
26
26
  attr_accessor :reject_appeal
27
27
  # @!attribute restore
28
- # @return [RestoreActionRequestPayload] Configuration for restore action
28
+ # @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).
29
29
  attr_accessor :restore
30
30
  # @!attribute unban
31
31
  # @return [UnbanActionRequestPayload] Configuration for unban moderation action
32
32
  attr_accessor :unban
33
33
  # @!attribute unblock
34
- # @return [UnblockActionRequestPayload] Configuration for unblock action
34
+ # @return [UnblockActionRequestPayload] Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action.
35
35
  attr_accessor :unblock
36
36
  # @!attribute user
37
37
  # @return [UserRequest] User request object
@@ -36,6 +36,9 @@ module GetStream
36
36
  # @!attribute max_message_length
37
37
  # @return [Integer]
38
38
  attr_accessor :max_message_length
39
+ # @!attribute message_retention
40
+ # @return [String]
41
+ attr_accessor :message_retention
39
42
  # @!attribute mutes
40
43
  # @return [Boolean]
41
44
  attr_accessor :mutes
@@ -130,6 +133,7 @@ module GetStream
130
133
  @delivery_events = attributes[:delivery_events] || attributes['delivery_events']
131
134
  @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending']
132
135
  @max_message_length = attributes[:max_message_length] || attributes['max_message_length']
136
+ @message_retention = attributes[:message_retention] || attributes['message_retention']
133
137
  @mutes = attributes[:mutes] || attributes['mutes']
134
138
  @name = attributes[:name] || attributes['name']
135
139
  @polls = attributes[:polls] || attributes['polls']
@@ -171,6 +175,7 @@ module GetStream
171
175
  delivery_events: 'delivery_events',
172
176
  mark_messages_pending: 'mark_messages_pending',
173
177
  max_message_length: 'max_message_length',
178
+ message_retention: 'message_retention',
174
179
  mutes: 'mutes',
175
180
  name: 'name',
176
181
  polls: 'polls',
@@ -36,6 +36,9 @@ module GetStream
36
36
  # @!attribute max_message_length
37
37
  # @return [Integer]
38
38
  attr_accessor :max_message_length
39
+ # @!attribute message_retention
40
+ # @return [String]
41
+ attr_accessor :message_retention
39
42
  # @!attribute mutes
40
43
  # @return [Boolean]
41
44
  attr_accessor :mutes
@@ -133,6 +136,7 @@ module GetStream
133
136
  @delivery_events = attributes[:delivery_events] || attributes['delivery_events']
134
137
  @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending']
135
138
  @max_message_length = attributes[:max_message_length] || attributes['max_message_length']
139
+ @message_retention = attributes[:message_retention] || attributes['message_retention']
136
140
  @mutes = attributes[:mutes] || attributes['mutes']
137
141
  @name = attributes[:name] || attributes['name']
138
142
  @polls = attributes[:polls] || attributes['polls']
@@ -175,6 +179,7 @@ module GetStream
175
179
  delivery_events: 'delivery_events',
176
180
  mark_messages_pending: 'mark_messages_pending',
177
181
  max_message_length: 'max_message_length',
182
+ message_retention: 'message_retention',
178
183
  mutes: 'mutes',
179
184
  name: 'name',
180
185
  polls: 'polls',
@@ -36,6 +36,9 @@ module GetStream
36
36
  # @!attribute max_message_length
37
37
  # @return [Integer]
38
38
  attr_accessor :max_message_length
39
+ # @!attribute message_retention
40
+ # @return [String]
41
+ attr_accessor :message_retention
39
42
  # @!attribute mutes
40
43
  # @return [Boolean]
41
44
  attr_accessor :mutes
@@ -136,6 +139,7 @@ module GetStream
136
139
  @delivery_events = attributes[:delivery_events] || attributes['delivery_events']
137
140
  @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending']
138
141
  @max_message_length = attributes[:max_message_length] || attributes['max_message_length']
142
+ @message_retention = attributes[:message_retention] || attributes['message_retention']
139
143
  @mutes = attributes[:mutes] || attributes['mutes']
140
144
  @name = attributes[:name] || attributes['name']
141
145
  @polls = attributes[:polls] || attributes['polls']
@@ -179,6 +183,7 @@ module GetStream
179
183
  delivery_events: 'delivery_events',
180
184
  mark_messages_pending: 'mark_messages_pending',
181
185
  max_message_length: 'max_message_length',
186
+ message_retention: 'message_retention',
182
187
  mutes: 'mutes',
183
188
  name: 'name',
184
189
  polls: 'polls',
@@ -18,6 +18,9 @@ module GetStream
18
18
  # @!attribute severity
19
19
  # @return [String]
20
20
  attr_accessor :severity
21
+ # @!attribute matched_contributors
22
+ # @return [Array<String>]
23
+ attr_accessor :matched_contributors
21
24
  # @!attribute subclassifications
22
25
  # @return [Array<Classification>]
23
26
  attr_accessor :subclassifications
@@ -28,6 +31,7 @@ module GetStream
28
31
  @name = attributes[:name] || attributes['name']
29
32
  @confidence = attributes[:confidence] || attributes['confidence'] || nil
30
33
  @severity = attributes[:severity] || attributes['severity'] || nil
34
+ @matched_contributors = attributes[:matched_contributors] || attributes['matched_contributors'] || nil
31
35
  @subclassifications = attributes[:subclassifications] || attributes['subclassifications'] || nil
32
36
  end
33
37
 
@@ -37,6 +41,7 @@ module GetStream
37
41
  name: 'name',
38
42
  confidence: 'confidence',
39
43
  severity: 'severity',
44
+ matched_contributors: 'matched_contributors',
40
45
  subclassifications: 'subclassifications'
41
46
  }
42
47
  end
@@ -39,6 +39,9 @@ module GetStream
39
39
  # @!attribute max_message_length
40
40
  # @return [Integer]
41
41
  attr_accessor :max_message_length
42
+ # @!attribute message_retention
43
+ # @return [String]
44
+ attr_accessor :message_retention
42
45
  # @!attribute mutes
43
46
  # @return [Boolean]
44
47
  attr_accessor :mutes
@@ -140,6 +143,7 @@ module GetStream
140
143
  @duration = attributes[:duration] || attributes['duration']
141
144
  @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending']
142
145
  @max_message_length = attributes[:max_message_length] || attributes['max_message_length']
146
+ @message_retention = attributes[:message_retention] || attributes['message_retention']
143
147
  @mutes = attributes[:mutes] || attributes['mutes']
144
148
  @name = attributes[:name] || attributes['name']
145
149
  @polls = attributes[:polls] || attributes['polls']
@@ -184,6 +188,7 @@ module GetStream
184
188
  duration: 'duration',
185
189
  mark_messages_pending: 'mark_messages_pending',
186
190
  max_message_length: 'max_message_length',
191
+ message_retention: 'message_retention',
187
192
  mutes: 'mutes',
188
193
  name: 'name',
189
194
  polls: 'polls',
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class CreatePermissionRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute action
13
+ # @return [String] Action name this permission is for (e.g. SendMessage)
14
+ attr_accessor :action
15
+ # @!attribute id
16
+ # @return [String] Unique permission ID
17
+ attr_accessor :id
18
+ # @!attribute name
19
+ # @return [String] Name of the permission
20
+ attr_accessor :name
21
+ # @!attribute condition
22
+ # @return [Object] MongoDB style condition which decides whether or not the permission is granted
23
+ attr_accessor :condition
24
+ # @!attribute description
25
+ # @return [String] Description of the permission
26
+ attr_accessor :description
27
+ # @!attribute owner
28
+ # @return [Boolean] Whether this permission applies to resource owner or not
29
+ attr_accessor :owner
30
+ # @!attribute same_team
31
+ # @return [Boolean] Whether this permission applies to teammates (multi-tenancy mode only)
32
+ attr_accessor :same_team
33
+
34
+ # Initialize with attributes
35
+ def initialize(attributes = {})
36
+ super(attributes)
37
+ @action = attributes[:action] || attributes['action']
38
+ @id = attributes[:id] || attributes['id']
39
+ @name = attributes[:name] || attributes['name']
40
+ @condition = attributes[:condition] || attributes['condition']
41
+ @description = attributes[:description] || attributes['description'] || nil
42
+ @owner = attributes[:owner] || attributes['owner'] || nil
43
+ @same_team = attributes[:same_team] || attributes['same_team'] || nil
44
+ end
45
+
46
+ # Override field mappings for JSON serialization
47
+ def self.json_field_mappings
48
+ {
49
+ action: 'action',
50
+ id: 'id',
51
+ name: 'name',
52
+ condition: 'condition',
53
+ description: 'description',
54
+ owner: 'owner',
55
+ same_team: 'same_team'
56
+ }
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class CreatePredefinedFilterRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute name
13
+ # @return [String] The unique name of the predefined filter (alphanumeric, _, - only)
14
+ attr_accessor :name
15
+ # @!attribute operation
16
+ # @return [String] The operation this filter is for (e.g., QueryChannels)
17
+ attr_accessor :operation
18
+ # @!attribute filter
19
+ # @return [Object] Filter to apply to the query
20
+ attr_accessor :filter
21
+ # @!attribute description
22
+ # @return [String] The description of the predefined filter
23
+ attr_accessor :description
24
+ # @!attribute sort
25
+ # @return [Array<Object>]
26
+ attr_accessor :sort
27
+
28
+ # Initialize with attributes
29
+ def initialize(attributes = {})
30
+ super(attributes)
31
+ @name = attributes[:name] || attributes['name']
32
+ @operation = attributes[:operation] || attributes['operation']
33
+ @filter = attributes[:filter] || attributes['filter']
34
+ @description = attributes[:description] || attributes['description'] || nil
35
+ @sort = attributes[:sort] || attributes['sort'] || nil
36
+ end
37
+
38
+ # Override field mappings for JSON serialization
39
+ def self.json_field_mappings
40
+ {
41
+ name: 'name',
42
+ operation: 'operation',
43
+ filter: 'filter',
44
+ description: 'description',
45
+ sort: 'sort'
46
+ }
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class CreatePredefinedFilterResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String] Duration of the request in milliseconds
14
+ attr_accessor :duration
15
+ # @!attribute predefined_filter
16
+ # @return [PredefinedFilterResponse]
17
+ attr_accessor :predefined_filter
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @predefined_filter = attributes[:predefined_filter] || attributes['predefined_filter'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ predefined_filter: 'predefined_filter'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -39,6 +39,9 @@ module GetStream
39
39
  # @!attribute max_message_length
40
40
  # @return [Integer]
41
41
  attr_accessor :max_message_length
42
+ # @!attribute message_retention
43
+ # @return [String]
44
+ attr_accessor :message_retention
42
45
  # @!attribute mutes
43
46
  # @return [Boolean]
44
47
  attr_accessor :mutes
@@ -140,6 +143,7 @@ module GetStream
140
143
  @duration = attributes[:duration] || attributes['duration']
141
144
  @mark_messages_pending = attributes[:mark_messages_pending] || attributes['mark_messages_pending']
142
145
  @max_message_length = attributes[:max_message_length] || attributes['max_message_length']
146
+ @message_retention = attributes[:message_retention] || attributes['message_retention']
143
147
  @mutes = attributes[:mutes] || attributes['mutes']
144
148
  @name = attributes[:name] || attributes['name']
145
149
  @polls = attributes[:polls] || attributes['polls']
@@ -184,6 +188,7 @@ module GetStream
184
188
  duration: 'duration',
185
189
  mark_messages_pending: 'mark_messages_pending',
186
190
  max_message_length: 'max_message_length',
191
+ message_retention: 'message_retention',
187
192
  mutes: 'mutes',
188
193
  name: 'name',
189
194
  polls: 'polls',