getstream-ruby 2.0.0 → 3.0.0.beta.1

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 (281) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/lib/getstream_ruby/client.rb +1 -0
  4. data/lib/getstream_ruby/extensions/moderation_extensions.rb +52 -0
  5. data/lib/getstream_ruby/generated/common_client.rb +169 -0
  6. data/lib/getstream_ruby/generated/feed.rb +10 -0
  7. data/lib/getstream_ruby/generated/feeds_client.rb +58 -3
  8. data/lib/getstream_ruby/generated/models/activity_feedback_event_payload.rb +1 -1
  9. data/lib/getstream_ruby/generated/models/activity_request.rb +7 -2
  10. data/lib/getstream_ruby/generated/models/activity_response.rb +13 -3
  11. data/lib/getstream_ruby/generated/models/activity_restored_event.rb +66 -0
  12. data/lib/getstream_ruby/generated/models/activity_selector_config.rb +1 -1
  13. data/lib/getstream_ruby/generated/models/add_activity_request.rb +7 -2
  14. data/lib/getstream_ruby/generated/models/add_comment_reaction_request.rb +5 -0
  15. data/lib/getstream_ruby/generated/models/add_comment_request.rb +5 -0
  16. data/lib/getstream_ruby/generated/models/add_reaction_request.rb +5 -0
  17. data/lib/getstream_ruby/generated/models/add_user_group_members_request.rb +36 -0
  18. data/lib/getstream_ruby/generated/models/add_user_group_members_response.rb +36 -0
  19. data/lib/getstream_ruby/generated/models/api_error.rb +5 -5
  20. data/lib/getstream_ruby/generated/models/apn_config.rb +5 -5
  21. data/lib/getstream_ruby/generated/models/apns_payload.rb +56 -0
  22. data/lib/getstream_ruby/generated/models/app_response_fields.rb +9 -4
  23. data/lib/getstream_ruby/generated/models/async_export_error_event.rb +1 -1
  24. data/lib/getstream_ruby/generated/models/automod_details_response.rb +51 -0
  25. data/lib/getstream_ruby/generated/models/aws_rekognition_rule.rb +6 -1
  26. data/lib/getstream_ruby/generated/models/ban_action_request_payload.rb +61 -0
  27. data/lib/getstream_ruby/generated/models/ban_info_response.rb +56 -0
  28. data/lib/getstream_ruby/generated/models/block_action_request_payload.rb +31 -0
  29. data/lib/getstream_ruby/generated/models/block_list_options.rb +1 -1
  30. data/lib/getstream_ruby/generated/models/block_list_response.rb +1 -1
  31. data/lib/getstream_ruby/generated/models/call_action_options.rb +61 -0
  32. data/lib/getstream_ruby/generated/models/call_custom_property_parameters.rb +36 -0
  33. data/lib/getstream_ruby/generated/models/call_dtmf_event.rb +66 -0
  34. data/lib/getstream_ruby/generated/models/call_reaction_event.rb +1 -1
  35. data/lib/getstream_ruby/generated/models/call_rule_action_sequence.rb +41 -0
  36. data/lib/getstream_ruby/generated/models/call_stats_report_ready_event.rb +11 -1
  37. data/lib/getstream_ruby/generated/models/call_type_response.rb +1 -1
  38. data/lib/getstream_ruby/generated/models/call_type_rule_parameters.rb +31 -0
  39. data/lib/getstream_ruby/generated/models/call_violation_count_parameters.rb +36 -0
  40. data/lib/getstream_ruby/generated/models/channel_config.rb +5 -0
  41. data/lib/getstream_ruby/generated/models/channel_config_with_info.rb +5 -0
  42. data/lib/getstream_ruby/generated/models/channel_created_event.rb +59 -4
  43. data/lib/getstream_ruby/generated/models/channel_deleted_event.rb +47 -22
  44. data/lib/getstream_ruby/generated/models/channel_frozen_event.rb +24 -14
  45. data/lib/getstream_ruby/generated/models/channel_hidden_event.rb +51 -26
  46. data/lib/getstream_ruby/generated/models/channel_input_request.rb +4 -4
  47. data/lib/getstream_ruby/generated/models/channel_member_response.rb +1 -1
  48. data/lib/getstream_ruby/generated/models/channel_messages_response.rb +36 -0
  49. data/lib/getstream_ruby/generated/models/channel_muted_event.rb +29 -4
  50. data/lib/getstream_ruby/generated/models/channel_truncated_event.rb +61 -21
  51. data/lib/getstream_ruby/generated/models/channel_type_config.rb +5 -0
  52. data/lib/getstream_ruby/generated/models/channel_un_frozen_event.rb +24 -14
  53. data/lib/getstream_ruby/generated/models/channel_unmuted_event.rb +29 -4
  54. data/lib/getstream_ruby/generated/models/channel_updated_event.rb +49 -24
  55. data/lib/getstream_ruby/generated/models/channel_visible_event.rb +50 -15
  56. data/lib/getstream_ruby/generated/models/chat_activity_stats_response.rb +4 -4
  57. data/lib/getstream_ruby/generated/models/check_push_request.rb +2 -2
  58. data/lib/getstream_ruby/generated/models/check_sns_response.rb +1 -1
  59. data/lib/getstream_ruby/generated/models/check_sqs_response.rb +1 -1
  60. data/lib/getstream_ruby/generated/models/closed_caption_rule_parameters.rb +41 -0
  61. data/lib/getstream_ruby/generated/models/comment_response.rb +3 -3
  62. data/lib/getstream_ruby/generated/models/config_overrides_request.rb +96 -0
  63. data/lib/getstream_ruby/generated/models/config_response.rb +5 -0
  64. data/lib/getstream_ruby/generated/models/coordinates_response.rb +36 -0
  65. data/lib/getstream_ruby/generated/models/create_block_list_request.rb +1 -1
  66. data/lib/getstream_ruby/generated/models/create_call_type_request.rb +1 -1
  67. data/lib/getstream_ruby/generated/models/create_call_type_response.rb +1 -1
  68. data/lib/getstream_ruby/generated/models/create_channel_type_request.rb +9 -4
  69. data/lib/getstream_ruby/generated/models/create_channel_type_response.rb +5 -0
  70. data/lib/getstream_ruby/generated/models/create_import_request.rb +6 -1
  71. data/lib/getstream_ruby/generated/models/create_poll_option_request.rb +4 -4
  72. data/lib/getstream_ruby/generated/models/create_poll_request.rb +4 -4
  73. data/lib/getstream_ruby/generated/models/create_user_group_request.rb +51 -0
  74. data/lib/getstream_ruby/generated/models/create_user_group_response.rb +36 -0
  75. data/lib/getstream_ruby/generated/models/custom_action_request_payload.rb +36 -0
  76. data/lib/getstream_ruby/generated/models/custom_check_request.rb +1 -1
  77. data/lib/getstream_ruby/generated/models/custom_event.rb +46 -0
  78. data/lib/getstream_ruby/generated/models/daily_value.rb +36 -0
  79. data/lib/getstream_ruby/generated/models/delete_activity_request_payload.rb +46 -0
  80. data/lib/getstream_ruby/generated/models/delete_comment_request_payload.rb +46 -0
  81. data/lib/getstream_ruby/generated/models/delete_message_request_payload.rb +46 -0
  82. data/lib/getstream_ruby/generated/models/delete_reaction_request_payload.rb +46 -0
  83. data/lib/getstream_ruby/generated/models/delete_user_request_payload.rb +61 -0
  84. data/lib/getstream_ruby/generated/models/draft_payload_response.rb +12 -12
  85. data/lib/getstream_ruby/generated/models/enriched_collection_response.rb +1 -1
  86. data/lib/getstream_ruby/generated/models/event_notification_settings_request.rb +41 -0
  87. data/lib/getstream_ruby/generated/models/event_notification_settings_response.rb +41 -0
  88. data/lib/getstream_ruby/generated/models/fcm_payload.rb +31 -0
  89. data/lib/getstream_ruby/generated/models/feed_group_response.rb +1 -1
  90. data/lib/getstream_ruby/generated/models/feed_group_restored_event.rb +61 -0
  91. data/lib/getstream_ruby/generated/models/feed_member_response.rb +1 -1
  92. data/lib/getstream_ruby/generated/models/feed_request.rb +1 -1
  93. data/lib/getstream_ruby/generated/models/feeds_moderation_template_config_payload.rb +36 -0
  94. data/lib/getstream_ruby/generated/models/feeds_preferences.rb +6 -6
  95. data/lib/getstream_ruby/generated/models/feeds_preferences_response.rb +5 -0
  96. data/lib/getstream_ruby/generated/models/feeds_reaction_group_response.rb +41 -0
  97. data/lib/getstream_ruby/generated/models/firebase_config.rb +5 -5
  98. data/lib/getstream_ruby/generated/models/flag_details_response.rb +41 -0
  99. data/lib/getstream_ruby/generated/models/flag_feedback_response.rb +41 -0
  100. data/lib/getstream_ruby/generated/models/flag_message_details_response.rb +46 -0
  101. data/lib/getstream_ruby/generated/models/flag_updated_event.rb +12 -12
  102. data/lib/getstream_ruby/generated/models/follow_request.rb +6 -1
  103. data/lib/getstream_ruby/generated/models/follow_response.rb +2 -2
  104. data/lib/getstream_ruby/generated/models/friend_reactions_options.rb +41 -0
  105. data/lib/getstream_ruby/generated/models/get_call_participant_session_metrics_response.rb +71 -0
  106. data/lib/getstream_ruby/generated/models/get_call_type_response.rb +1 -1
  107. data/lib/getstream_ruby/generated/models/get_channel_type_response.rb +5 -0
  108. data/lib/getstream_ruby/generated/models/get_comment_replies_response.rb +5 -0
  109. data/lib/getstream_ruby/generated/models/get_comments_response.rb +5 -0
  110. data/lib/getstream_ruby/generated/models/get_feeds_rate_limits_response.rb +4 -4
  111. data/lib/getstream_ruby/generated/models/get_or_create_feed_request.rb +5 -0
  112. data/lib/getstream_ruby/generated/models/get_push_templates_response.rb +1 -1
  113. data/lib/getstream_ruby/generated/models/get_rate_limits_response.rb +4 -4
  114. data/lib/getstream_ruby/generated/models/get_user_group_response.rb +36 -0
  115. data/lib/getstream_ruby/generated/models/hls_settings_request.rb +3 -3
  116. data/lib/getstream_ruby/generated/models/huawei_config.rb +4 -4
  117. data/lib/getstream_ruby/generated/models/image_size.rb +2 -2
  118. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
  119. data/lib/getstream_ruby/generated/models/individual_record_settings.rb +6 -1
  120. data/lib/getstream_ruby/generated/models/individual_recording_settings_request.rb +7 -2
  121. data/lib/getstream_ruby/generated/models/individual_recording_settings_response.rb +6 -1
  122. data/lib/getstream_ruby/generated/models/keyframe_rule_parameters.rb +41 -0
  123. data/lib/getstream_ruby/generated/models/label_response.rb +41 -0
  124. data/lib/getstream_ruby/generated/models/limit_info_response.rb +41 -0
  125. data/lib/getstream_ruby/generated/models/list_user_groups_response.rb +36 -0
  126. data/lib/getstream_ruby/generated/models/location_response.rb +41 -0
  127. data/lib/getstream_ruby/generated/models/mark_read_response.rb +1 -1
  128. data/lib/getstream_ruby/generated/models/mark_read_response_event.rb +81 -0
  129. data/lib/getstream_ruby/generated/models/mark_reviewed_request_payload.rb +41 -0
  130. data/lib/getstream_ruby/generated/models/max_streak_changed_event.rb +46 -0
  131. data/lib/getstream_ruby/generated/models/member_added_event.rb +51 -21
  132. data/lib/getstream_ruby/generated/models/member_removed_event.rb +55 -20
  133. data/lib/getstream_ruby/generated/models/member_updated_event.rb +51 -21
  134. data/lib/getstream_ruby/generated/models/message_action_response.rb +36 -0
  135. data/lib/getstream_ruby/generated/models/message_deleted_event.rb +57 -32
  136. data/lib/getstream_ruby/generated/models/message_flag_response.rb +3 -3
  137. data/lib/getstream_ruby/generated/models/message_flagged_event.rb +75 -20
  138. data/lib/getstream_ruby/generated/models/message_history_entry_response.rb +4 -4
  139. data/lib/getstream_ruby/generated/models/message_new_event.rb +81 -26
  140. data/lib/getstream_ruby/generated/models/message_read_event.rb +42 -22
  141. data/lib/getstream_ruby/generated/models/message_request.rb +31 -16
  142. data/lib/getstream_ruby/generated/models/message_response.rb +16 -1
  143. data/lib/getstream_ruby/generated/models/message_unblocked_event.rb +28 -18
  144. data/lib/getstream_ruby/generated/models/message_undeleted_event.rb +50 -30
  145. data/lib/getstream_ruby/generated/models/message_updated_event.rb +56 -26
  146. data/lib/getstream_ruby/generated/models/message_with_channel_response.rb +16 -1
  147. data/lib/getstream_ruby/generated/models/metric_stats.rb +36 -0
  148. data/lib/getstream_ruby/generated/models/metric_time_series.rb +31 -0
  149. data/lib/getstream_ruby/generated/models/moderation_action_config_response.rb +56 -0
  150. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +10 -0
  151. data/lib/getstream_ruby/generated/models/moderation_flag_response.rb +1 -1
  152. data/lib/getstream_ruby/generated/models/moderation_flagged_event.rb +21 -16
  153. data/lib/getstream_ruby/generated/models/moderation_payload_request.rb +46 -0
  154. data/lib/getstream_ruby/generated/models/moderation_payload_response.rb +46 -0
  155. data/lib/getstream_ruby/generated/models/moderation_rule_info.rb +46 -0
  156. data/lib/getstream_ruby/generated/models/moderation_rule_v2_response.rb +11 -6
  157. data/lib/getstream_ruby/generated/models/moderation_rules_triggered_event.rb +81 -0
  158. data/lib/getstream_ruby/generated/models/moderation_v2_response.rb +5 -0
  159. data/lib/getstream_ruby/generated/models/mute_channel_response.rb +1 -1
  160. data/lib/getstream_ruby/generated/models/mute_response.rb +2 -2
  161. data/lib/getstream_ruby/generated/models/notification_mark_unread_event.rb +69 -44
  162. data/lib/getstream_ruby/generated/models/notification_parent_activity.rb +51 -0
  163. data/lib/getstream_ruby/generated/models/notification_settings_request.rb +56 -0
  164. data/lib/getstream_ruby/generated/models/notification_settings_response.rb +56 -0
  165. data/lib/getstream_ruby/generated/models/notification_target.rb +6 -1
  166. data/lib/getstream_ruby/generated/models/notification_thread_message_new_event.rb +126 -0
  167. data/lib/getstream_ruby/generated/models/parsed_predefined_filter_response.rb +41 -0
  168. data/lib/getstream_ruby/generated/models/pending_message_event.rb +4 -4
  169. data/lib/getstream_ruby/generated/models/permission.rb +1 -1
  170. data/lib/getstream_ruby/generated/models/published_track_metrics.rb +61 -0
  171. data/lib/getstream_ruby/generated/models/push_preference_input.rb +3 -3
  172. data/lib/getstream_ruby/generated/models/push_provider_request.rb +146 -0
  173. data/lib/getstream_ruby/generated/models/push_template_response.rb +56 -0
  174. data/lib/getstream_ruby/generated/models/query_activities_request.rb +5 -0
  175. data/lib/getstream_ruby/generated/models/query_comments_request.rb +1 -1
  176. data/lib/getstream_ruby/generated/models/query_feed_moderation_template.rb +1 -1
  177. data/lib/getstream_ruby/generated/models/query_moderation_flags_request.rb +1 -1
  178. data/lib/getstream_ruby/generated/models/query_moderation_rules_response.rb +10 -0
  179. data/lib/getstream_ruby/generated/models/query_pinned_activities_request.rb +51 -0
  180. data/lib/getstream_ruby/generated/models/query_pinned_activities_response.rb +46 -0
  181. data/lib/getstream_ruby/generated/models/query_review_queue_response.rb +1 -1
  182. data/lib/getstream_ruby/generated/models/query_segment_targets_request.rb +8 -8
  183. data/lib/getstream_ruby/generated/models/query_team_usage_stats_request.rb +51 -0
  184. data/lib/getstream_ruby/generated/models/query_team_usage_stats_response.rb +41 -0
  185. data/lib/getstream_ruby/generated/models/query_users_payload.rb +1 -1
  186. data/lib/getstream_ruby/generated/models/ranking_config.rb +1 -1
  187. data/lib/getstream_ruby/generated/models/raw_recording_settings_request.rb +1 -1
  188. data/lib/getstream_ruby/generated/models/reaction.rb +65 -20
  189. data/lib/getstream_ruby/generated/models/reaction_deleted_event.rb +54 -19
  190. data/lib/getstream_ruby/generated/models/reaction_new_event.rb +54 -19
  191. data/lib/getstream_ruby/generated/models/reaction_updated_event.rb +60 -25
  192. data/lib/getstream_ruby/generated/models/read_collections_response.rb +11 -1
  193. data/lib/getstream_ruby/generated/models/record_settings_request.rb +3 -3
  194. data/lib/getstream_ruby/generated/models/reject_appeal_request_payload.rb +31 -0
  195. data/lib/getstream_ruby/generated/models/remove_user_group_members_request.rb +36 -0
  196. data/lib/getstream_ruby/generated/models/remove_user_group_members_response.rb +36 -0
  197. data/lib/getstream_ruby/generated/models/resolution_metrics_time_series.rb +36 -0
  198. data/lib/getstream_ruby/generated/models/resolve_sip_inbound_request.rb +1 -1
  199. data/lib/getstream_ruby/generated/models/restore_action_request_payload.rb +31 -0
  200. data/lib/getstream_ruby/generated/models/restore_activity_request.rb +36 -0
  201. data/lib/getstream_ruby/generated/models/restore_activity_response.rb +36 -0
  202. data/lib/getstream_ruby/generated/models/restore_feed_group_request.rb +14 -0
  203. data/lib/getstream_ruby/generated/models/restore_feed_group_response.rb +36 -0
  204. data/lib/getstream_ruby/generated/models/review_queue_item_response.rb +2 -2
  205. data/lib/getstream_ruby/generated/models/rtmp_broadcast_request.rb +1 -1
  206. data/lib/getstream_ruby/generated/models/rtmp_settings_request.rb +2 -2
  207. data/lib/getstream_ruby/generated/models/rule_builder_action.rb +6 -1
  208. data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +25 -0
  209. data/lib/getstream_ruby/generated/models/rule_builder_rule.rb +11 -6
  210. data/lib/getstream_ruby/generated/models/search_result_message.rb +15 -0
  211. data/lib/getstream_ruby/generated/models/search_user_groups_response.rb +36 -0
  212. data/lib/getstream_ruby/generated/models/session_client.rb +51 -0
  213. data/lib/getstream_ruby/generated/models/session_warning_response.rb +41 -0
  214. data/lib/getstream_ruby/generated/models/sfu_location_response.rb +2 -2
  215. data/lib/getstream_ruby/generated/models/shadow_block_action_request_payload.rb +31 -0
  216. data/lib/getstream_ruby/generated/models/sip_challenge_request.rb +106 -0
  217. data/lib/getstream_ruby/generated/models/sip_inbound_credentials.rb +5 -0
  218. data/lib/getstream_ruby/generated/models/sort_param_request.rb +2 -2
  219. data/lib/getstream_ruby/generated/models/start_closed_captions_request.rb +1 -1
  220. data/lib/getstream_ruby/generated/models/start_transcription_request.rb +1 -1
  221. data/lib/getstream_ruby/generated/models/submit_action_request.rb +20 -15
  222. data/lib/getstream_ruby/generated/models/team_usage_stats.rb +111 -0
  223. data/lib/getstream_ruby/generated/models/thread_updated_event.rb +21 -16
  224. data/lib/getstream_ruby/generated/models/threaded_comment_response.rb +2 -2
  225. data/lib/getstream_ruby/generated/models/transcription_settings.rb +1 -1
  226. data/lib/getstream_ruby/generated/models/unban_action_request_payload.rb +36 -0
  227. data/lib/getstream_ruby/generated/models/unblock_action_request_payload.rb +31 -0
  228. data/lib/getstream_ruby/generated/models/undelete_message_request.rb +31 -0
  229. data/lib/getstream_ruby/generated/models/undelete_message_response.rb +36 -0
  230. data/lib/getstream_ruby/generated/models/unmute_response.rb +3 -3
  231. data/lib/getstream_ruby/generated/models/update_activities_partial_batch_request.rb +31 -0
  232. data/lib/getstream_ruby/generated/models/update_activities_partial_batch_response.rb +36 -0
  233. data/lib/getstream_ruby/generated/models/update_activity_partial_change_request.rb +51 -0
  234. data/lib/getstream_ruby/generated/models/update_activity_partial_request.rb +12 -2
  235. data/lib/getstream_ruby/generated/models/update_activity_request.rb +16 -1
  236. data/lib/getstream_ruby/generated/models/update_app_request.rb +5 -0
  237. data/lib/getstream_ruby/generated/models/update_call_type_request.rb +1 -1
  238. data/lib/getstream_ruby/generated/models/update_call_type_response.rb +1 -1
  239. data/lib/getstream_ruby/generated/models/update_channel_type_request.rb +5 -0
  240. data/lib/getstream_ruby/generated/models/update_channel_type_response.rb +5 -0
  241. data/lib/getstream_ruby/generated/models/update_comment_request.rb +5 -0
  242. data/lib/getstream_ruby/generated/models/update_feed_members_request.rb +1 -1
  243. data/lib/getstream_ruby/generated/models/update_follow_request.rb +6 -1
  244. data/lib/getstream_ruby/generated/models/update_message_partial_request.rb +5 -0
  245. data/lib/getstream_ruby/generated/models/update_poll_option_request.rb +4 -4
  246. data/lib/getstream_ruby/generated/models/update_poll_request.rb +4 -4
  247. data/lib/getstream_ruby/generated/models/update_user_group_request.rb +41 -0
  248. data/lib/getstream_ruby/generated/models/update_user_group_response.rb +36 -0
  249. data/lib/getstream_ruby/generated/models/upsert_moderation_rule_request.rb +11 -6
  250. data/lib/getstream_ruby/generated/models/upsert_moderation_template_request.rb +1 -1
  251. data/lib/getstream_ruby/generated/models/upsert_moderation_template_response.rb +1 -1
  252. data/lib/getstream_ruby/generated/models/upsert_push_preferences_response.rb +2 -2
  253. data/lib/getstream_ruby/generated/models/upsert_push_provider_request.rb +1 -1
  254. data/lib/getstream_ruby/generated/models/upsert_push_template_request.rb +2 -2
  255. data/lib/getstream_ruby/generated/models/upsert_push_template_response.rb +1 -1
  256. data/lib/getstream_ruby/generated/models/user.rb +4 -49
  257. data/lib/getstream_ruby/generated/models/user_banned_event.rb +63 -33
  258. data/lib/getstream_ruby/generated/models/user_deactivated_event.rb +23 -13
  259. data/lib/getstream_ruby/generated/models/user_deleted_event.rb +36 -11
  260. data/lib/getstream_ruby/generated/models/user_flagged_event.rb +30 -15
  261. data/lib/getstream_ruby/generated/models/user_group.rb +71 -0
  262. data/lib/getstream_ruby/generated/models/user_group_created_event.rb +56 -0
  263. data/lib/getstream_ruby/generated/models/user_group_deleted_event.rb +56 -0
  264. data/lib/getstream_ruby/generated/models/user_group_member.rb +51 -0
  265. data/lib/getstream_ruby/generated/models/user_group_member_added_event.rb +61 -0
  266. data/lib/getstream_ruby/generated/models/user_group_member_removed_event.rb +61 -0
  267. data/lib/getstream_ruby/generated/models/user_group_response.rb +66 -0
  268. data/lib/getstream_ruby/generated/models/user_group_updated_event.rb +56 -0
  269. data/lib/getstream_ruby/generated/models/user_muted_event.rb +24 -14
  270. data/lib/getstream_ruby/generated/models/user_reactivated_event.rb +23 -8
  271. data/lib/getstream_ruby/generated/models/user_unbanned_event.rb +52 -22
  272. data/lib/getstream_ruby/generated/models/user_unmuted_event.rb +24 -14
  273. data/lib/getstream_ruby/generated/models/user_unread_reminder_event.rb +19 -9
  274. data/lib/getstream_ruby/generated/models/video_end_call_request_payload.rb +14 -0
  275. data/lib/getstream_ruby/generated/models/video_kick_user_request_payload.rb +14 -0
  276. data/lib/getstream_ruby/generated/models/video_reaction_response.rb +46 -0
  277. data/lib/getstream_ruby/generated/models/wh_event.rb +31 -0
  278. data/lib/getstream_ruby/generated/models/xiaomi_config.rb +4 -4
  279. data/lib/getstream_ruby/generated/webhook.rb +737 -0
  280. data/lib/getstream_ruby/version.rb +1 -1
  281. metadata +110 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4f60a683f78da5f12df84138a70bcf3baca7fbef94ff834025aeeca010a513b
4
- data.tar.gz: 02ad9dbcc9d9406dacf351184b78851a12ee5e67bd0278dca85ae26ab49299aa
3
+ metadata.gz: ccce3eddcd6aad1dad2bb7e8cbc02886266110500c05cac8d2bba614e4e46f4b
4
+ data.tar.gz: 574fca38caebe50283b2003202f194cbd30211d8ffb123a078099b524502a968
5
5
  SHA512:
6
- metadata.gz: e891556e05e169f4d7941916361910eaed74146fbcea72df786cd2ea0ac57859a4a10b1aa2537c6d44f8dc7c2661b892f4282bf688cfb6ebfa0222b4b0bfc38d
7
- data.tar.gz: c98a4285cd5679cfe447d6439f7b01573c00e60f5327bf735c8f71537ac36a777915c7f604e144e92ac6918cca7a3e9d11ba9262df79446d13ce94b338a798ce
6
+ metadata.gz: 15e4324d0e92a1ec098b0d827531efc17a4c9ab5d456cecd78cd2db8e1c50417719f22ceee3156450c128f02bbae46af619b479df8c3f4114d4879bff36da9a6
7
+ data.tar.gz: 5055578bb28ecf4638740cab8e51049d9ad58a767a45401a56a417c9b4e05fc5d619e74efcaa696f5b103854421dc81eb1bce9aa06de79aca072cc088e5ab3da
data/README.md CHANGED
@@ -288,6 +288,9 @@ The project includes simple GitHub Actions workflows:
288
288
  - Create a tag: `git tag v1.0.0 && git push origin v1.0.0`
289
289
  - Automated gem build and release
290
290
 
291
+ - **Pre-releasee Pipeline:** Create a pre-release to trigger the workflow
292
+ - Push a tag (e.g. `1.0.0.beta.1`), then go to **GitHub Releases -> Draft a new release**, select the tag, check **"Set as a pre-release"**, and publish. The CI job will trigger automatically and publish the package.
293
+
291
294
  #### GitHub Environment Variables
292
295
 
293
296
  To enable integration tests in CI, configure these GitHub repository settings:
@@ -9,6 +9,7 @@ require_relative 'generated/base_model'
9
9
  require_relative 'generated/common_client'
10
10
  require_relative 'generated/feeds_client'
11
11
  require_relative 'generated/moderation_client'
12
+ require_relative 'extensions/moderation_extensions'
12
13
  require_relative 'generated/feed'
13
14
  require_relative 'stream_response'
14
15
 
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GetStream
4
+
5
+ module Generated
6
+
7
+ class ModerationClient
8
+
9
+ # Experimental: Check user profile
10
+ #
11
+ # Warning: This is an experimental feature and the API is subject to change.
12
+ #
13
+ # This function is used to check a user profile for moderation.
14
+ # This will not create any review queue items for the user profile.
15
+ # You can just use this to check whether to allow a certain user profile
16
+ # to be created or not.
17
+ #
18
+ # @param user_id [String] User ID to be checked
19
+ # @param profile [Hash] Profile data to be checked
20
+ # @option profile [String] :username Username to be checked
21
+ # @option profile [String] :image Image URL to be checked
22
+ # @return [Models::CheckResponse]
23
+ #
24
+ # @example
25
+ # client.moderation.check_user_profile('user-id',
26
+ # { username: 'bad_username', image: 'https://example.com/profile.jpg' })
27
+ def check_user_profile(user_id, profile)
28
+ if profile[:username].nil? && profile[:image].nil?
29
+ raise ArgumentError, 'Either username or image must be provided'
30
+ end
31
+
32
+ moderation_payload = Models::ModerationPayload.new
33
+ moderation_payload.texts = [profile[:username]] if profile[:username]
34
+ moderation_payload.images = [profile[:image]] if profile[:image]
35
+
36
+ check_request = Models::CheckRequest.new(
37
+ entity_type: 'userprofile',
38
+ entity_id: user_id,
39
+ entity_creator_id: user_id,
40
+ moderation_payload: moderation_payload,
41
+ config_key: 'user_profile:default',
42
+ options: { force_sync: true, test_mode: true },
43
+ )
44
+
45
+ check(check_request)
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+
52
+ end
@@ -1027,6 +1027,175 @@ module GetStream
1027
1027
  )
1028
1028
  end
1029
1029
 
1030
+ # Lists user groups with cursor-based pagination
1031
+ #
1032
+ # @param limit [Integer]
1033
+ # @param id_gt [String]
1034
+ # @param created_at_gt [String]
1035
+ # @param team_id [String]
1036
+ # @return [Models::ListUserGroupsResponse]
1037
+ def list_user_groups(limit = nil, id_gt = nil, created_at_gt = nil, team_id = nil)
1038
+ path = '/api/v2/usergroups'
1039
+ # Build query parameters
1040
+ query_params = {}
1041
+ query_params['limit'] = limit unless limit.nil?
1042
+ query_params['id_gt'] = id_gt unless id_gt.nil?
1043
+ query_params['created_at_gt'] = created_at_gt unless created_at_gt.nil?
1044
+ query_params['team_id'] = team_id unless team_id.nil?
1045
+
1046
+ # Make the API request
1047
+ @client.make_request(
1048
+ :get,
1049
+ path,
1050
+ query_params: query_params
1051
+ )
1052
+ end
1053
+
1054
+ # Creates a new user group, optionally with initial members
1055
+ #
1056
+ # @param create_user_group_request [CreateUserGroupRequest]
1057
+ # @return [Models::CreateUserGroupResponse]
1058
+ def create_user_group(create_user_group_request)
1059
+ path = '/api/v2/usergroups'
1060
+ # Build request body
1061
+ body = create_user_group_request
1062
+
1063
+ # Make the API request
1064
+ @client.make_request(
1065
+ :post,
1066
+ path,
1067
+ body: body
1068
+ )
1069
+ end
1070
+
1071
+ # Searches user groups by name prefix for autocomplete
1072
+ #
1073
+ # @param query [String]
1074
+ # @param limit [Integer]
1075
+ # @param name_gt [String]
1076
+ # @param id_gt [String]
1077
+ # @param team_id [String]
1078
+ # @return [Models::SearchUserGroupsResponse]
1079
+ def search_user_groups(query, limit = nil, name_gt = nil, id_gt = nil, team_id = nil)
1080
+ path = '/api/v2/usergroups/search'
1081
+ # Build query parameters
1082
+ query_params = {}
1083
+ query_params['query'] = query unless query.nil?
1084
+ query_params['limit'] = limit unless limit.nil?
1085
+ query_params['name_gt'] = name_gt unless name_gt.nil?
1086
+ query_params['id_gt'] = id_gt unless id_gt.nil?
1087
+ query_params['team_id'] = team_id unless team_id.nil?
1088
+
1089
+ # Make the API request
1090
+ @client.make_request(
1091
+ :get,
1092
+ path,
1093
+ query_params: query_params
1094
+ )
1095
+ end
1096
+
1097
+ # Deletes a user group and all its members
1098
+ #
1099
+ # @param _id [String]
1100
+ # @param team_id [String]
1101
+ # @return [Models::Response]
1102
+ def delete_user_group(_id, team_id = nil)
1103
+ path = '/api/v2/usergroups/{id}'
1104
+ # Replace path parameters
1105
+ path = path.gsub('{id}', _id.to_s)
1106
+ # Build query parameters
1107
+ query_params = {}
1108
+ query_params['team_id'] = team_id unless team_id.nil?
1109
+
1110
+ # Make the API request
1111
+ @client.make_request(
1112
+ :delete,
1113
+ path,
1114
+ query_params: query_params
1115
+ )
1116
+ end
1117
+
1118
+ # Gets a user group by ID, including its members
1119
+ #
1120
+ # @param _id [String]
1121
+ # @param team_id [String]
1122
+ # @return [Models::GetUserGroupResponse]
1123
+ def get_user_group(_id, team_id = nil)
1124
+ path = '/api/v2/usergroups/{id}'
1125
+ # Replace path parameters
1126
+ path = path.gsub('{id}', _id.to_s)
1127
+ # Build query parameters
1128
+ query_params = {}
1129
+ query_params['team_id'] = team_id unless team_id.nil?
1130
+
1131
+ # Make the API request
1132
+ @client.make_request(
1133
+ :get,
1134
+ path,
1135
+ query_params: query_params
1136
+ )
1137
+ end
1138
+
1139
+ # Updates a user group's name and/or description. team_id is immutable.
1140
+ #
1141
+ # @param _id [String]
1142
+ # @param update_user_group_request [UpdateUserGroupRequest]
1143
+ # @return [Models::UpdateUserGroupResponse]
1144
+ def update_user_group(_id, update_user_group_request)
1145
+ path = '/api/v2/usergroups/{id}'
1146
+ # Replace path parameters
1147
+ path = path.gsub('{id}', _id.to_s)
1148
+ # Build request body
1149
+ body = update_user_group_request
1150
+
1151
+ # Make the API request
1152
+ @client.make_request(
1153
+ :put,
1154
+ path,
1155
+ body: body
1156
+ )
1157
+ end
1158
+
1159
+ # Removes members from a user group. Users already not in the group are silently ignored.
1160
+ #
1161
+ # @param _id [String]
1162
+ # @param remove_user_group_members_request [RemoveUserGroupMembersRequest]
1163
+ # @return [Models::RemoveUserGroupMembersResponse]
1164
+ def remove_user_group_members(_id, remove_user_group_members_request)
1165
+ path = '/api/v2/usergroups/{id}/members'
1166
+ # Replace path parameters
1167
+ path = path.gsub('{id}', _id.to_s)
1168
+ # Build request body
1169
+ body = remove_user_group_members_request
1170
+
1171
+ # Make the API request
1172
+ @client.make_request(
1173
+ :delete,
1174
+ path,
1175
+ body: body
1176
+ )
1177
+ end
1178
+
1179
+ # Adds members to a user group. All user IDs must exist. The operation is all-or-nothing.
1180
+ #
1181
+ # @param _id [String]
1182
+ # @param add_user_group_members_request [AddUserGroupMembersRequest]
1183
+ # @return [Models::AddUserGroupMembersResponse]
1184
+ def add_user_group_members(_id, add_user_group_members_request)
1185
+ path = '/api/v2/usergroups/{id}/members'
1186
+ # Replace path parameters
1187
+ path = path.gsub('{id}', _id.to_s)
1188
+ # Build request body
1189
+ body = add_user_group_members_request
1190
+
1191
+ # Make the API request
1192
+ @client.make_request(
1193
+ :post,
1194
+ path,
1195
+ body: body
1196
+ )
1197
+ end
1198
+
1030
1199
  # Find and filter users
1031
1200
  #
1032
1201
  # @param payload [QueryUsersPayload]
@@ -122,6 +122,16 @@ module GetStream
122
122
  @client.feeds.reject_feed_member_invite(@feed_group_id, @feed_id, reject_feed_member_invite_request)
123
123
  end
124
124
 
125
+ # Query pinned activities for a feed with filter query
126
+ #
127
+ # @param query_pinned_activities_request [QueryPinnedActivitiesRequest]
128
+ # @return [Models::QueryPinnedActivitiesResponse]
129
+ def query_pinned_activities(query_pinned_activities_request)
130
+
131
+ # Delegate to the FeedsClient
132
+ @client.feeds.query_pinned_activities(@feed_group_id, @feed_id, query_pinned_activities_request)
133
+ end
134
+
125
135
  end
126
136
  end
127
137
  end
@@ -46,6 +46,23 @@ module GetStream
46
46
  )
47
47
  end
48
48
 
49
+ # Updates certain fields of multiple activities in a batch. Use 'set' to update specific fields and 'unset' to remove fields. Activities that fail due to not found, permission denied, or no changes detected are silently skipped and not included in the response. However, validation errors (e.g., updating reserved fields, invalid field values) will fail the entire batch request.Sends events:- feeds.activity.updated
50
+ #
51
+ # @param update_activities_partial_batch_request [UpdateActivitiesPartialBatchRequest]
52
+ # @return [Models::UpdateActivitiesPartialBatchResponse]
53
+ def update_activities_partial_batch(update_activities_partial_batch_request)
54
+ path = '/api/v2/feeds/activities/batch/partial'
55
+ # Build request body
56
+ body = update_activities_partial_batch_request
57
+
58
+ # Make the API request
59
+ @client.make_request(
60
+ :patch,
61
+ path,
62
+ body: body
63
+ )
64
+ end
65
+
49
66
  # Delete one or more activities by their IDs
50
67
  #
51
68
  # @param delete_activities_request [DeleteActivitiesRequest]
@@ -464,15 +481,15 @@ module GetStream
464
481
 
465
482
  # Read collections with optional filtering by user ID and collection name. By default, users can only read their own collections.
466
483
  #
467
- # @param collection_refs [Array<String>]
468
484
  # @param user_id [String]
485
+ # @param collection_refs [Array<String>]
469
486
  # @return [Models::ReadCollectionsResponse]
470
- def read_collections(collection_refs, user_id = nil)
487
+ def read_collections(user_id = nil, collection_refs = nil)
471
488
  path = '/api/v2/feeds/collections'
472
489
  # Build query parameters
473
490
  query_params = {}
474
- query_params['collection_refs'] = collection_refs unless collection_refs.nil?
475
491
  query_params['user_id'] = user_id unless user_id.nil?
492
+ query_params['collection_refs'] = collection_refs unless collection_refs.nil?
476
493
 
477
494
  # Make the API request
478
495
  @client.make_request(
@@ -1036,6 +1053,28 @@ module GetStream
1036
1053
  )
1037
1054
  end
1038
1055
 
1056
+ # Query pinned activities for a feed with filter query
1057
+ #
1058
+ # @param feed_group_id [String]
1059
+ # @param feed_id [String]
1060
+ # @param query_pinned_activities_request [QueryPinnedActivitiesRequest]
1061
+ # @return [Models::QueryPinnedActivitiesResponse]
1062
+ def query_pinned_activities(feed_group_id, feed_id, query_pinned_activities_request)
1063
+ path = '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/pinned_activities/query'
1064
+ # Replace path parameters
1065
+ path = path.gsub('{feed_group_id}', feed_group_id.to_s)
1066
+ path = path.gsub('{feed_id}', feed_id.to_s)
1067
+ # Build request body
1068
+ body = query_pinned_activities_request
1069
+
1070
+ # Make the API request
1071
+ @client.make_request(
1072
+ :post,
1073
+ path,
1074
+ body: body
1075
+ )
1076
+ end
1077
+
1039
1078
  # Get follow suggestions for a feed group
1040
1079
  #
1041
1080
  # @param feed_group_id [String]
@@ -1059,6 +1098,22 @@ module GetStream
1059
1098
  )
1060
1099
  end
1061
1100
 
1101
+ # Restores a soft-deleted feed group by its ID. Only clears DeletedAt in the database; no other fields are updated.
1102
+ #
1103
+ # @param feed_group_id [String]
1104
+ # @return [Models::RestoreFeedGroupResponse]
1105
+ def restore_feed_group(feed_group_id)
1106
+ path = '/api/v2/feeds/feed_groups/{feed_group_id}/restore'
1107
+ # Replace path parameters
1108
+ path = path.gsub('{feed_group_id}', feed_group_id.to_s)
1109
+
1110
+ # Make the API request
1111
+ @client.make_request(
1112
+ :post,
1113
+ path
1114
+ )
1115
+ end
1116
+
1062
1117
  # Delete a feed group by its ID. Can perform a soft delete (default) or hard delete.
1063
1118
  #
1064
1119
  # @param _id [String]
@@ -10,7 +10,7 @@ module GetStream
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute action
13
- # @return [String] The type of feedback action
13
+ # @return [String] The type of feedback action. One of: hide, show_more, show_less
14
14
  attr_accessor :action
15
15
  # @!attribute activity_id
16
16
  # @return [String] The activity that received feedback
@@ -15,6 +15,9 @@ module GetStream
15
15
  # @!attribute feeds
16
16
  # @return [Array<String>] List of feeds to add the activity to with a default max limit of 25 feeds
17
17
  attr_accessor :feeds
18
+ # @!attribute copy_custom_to_notification
19
+ # @return [Boolean] Whether to copy custom data to the notification activity (only applies when create_notification_activity is true)
20
+ attr_accessor :copy_custom_to_notification
18
21
  # @!attribute create_notification_activity
19
22
  # @return [Boolean] Whether to create notification activities for mentioned users
20
23
  attr_accessor :create_notification_activity
@@ -31,7 +34,7 @@ module GetStream
31
34
  # @return [String] ID of a poll to attach to activity
32
35
  attr_accessor :poll_id
33
36
  # @!attribute restrict_replies
34
- # @return [String] Controls who can add comments/replies to this activity. Options: 'everyone' (default - anyone can reply), 'people_i_follow' (only people the activity creator follows can reply), 'nobody' (no one can reply)
37
+ # @return [String] Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
35
38
  attr_accessor :restrict_replies
36
39
  # @!attribute skip_enrich_url
37
40
  # @return [Boolean] Whether to skip URL enrichment for the activity
@@ -46,7 +49,7 @@ module GetStream
46
49
  # @return [String] ID of the user creating the activity
47
50
  attr_accessor :user_id
48
51
  # @!attribute visibility
49
- # @return [String] Visibility setting for the activity
52
+ # @return [String] Visibility setting for the activity. One of: public, private, tag
50
53
  attr_accessor :visibility
51
54
  # @!attribute visibility_tag
52
55
  # @return [String] If visibility is 'tag', this is the tag name and is required
@@ -81,6 +84,7 @@ module GetStream
81
84
  super(attributes)
82
85
  @type = attributes[:type] || attributes['type']
83
86
  @feeds = attributes[:feeds] || attributes['feeds']
87
+ @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
84
88
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
85
89
  @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil
86
90
  @id = attributes[:id] || attributes['id'] || nil
@@ -108,6 +112,7 @@ module GetStream
108
112
  {
109
113
  type: 'type',
110
114
  feeds: 'feeds',
115
+ copy_custom_to_notification: 'copy_custom_to_notification',
111
116
  create_notification_activity: 'create_notification_activity',
112
117
  expires_at: 'expires_at',
113
118
  id: 'id',
@@ -34,7 +34,7 @@ module GetStream
34
34
  # @return [Integer] Number of reactions to the activity
35
35
  attr_accessor :reaction_count
36
36
  # @!attribute restrict_replies
37
- # @return [String] Controls who can reply to this activity. Values: everyone, people_i_follow, nobody
37
+ # @return [String] Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
38
38
  attr_accessor :restrict_replies
39
39
  # @!attribute score
40
40
  # @return [Float] Ranking score for this activity
@@ -49,7 +49,7 @@ module GetStream
49
49
  # @return [DateTime] When the activity was last updated
50
50
  attr_accessor :updated_at
51
51
  # @!attribute visibility
52
- # @return [String] Visibility setting for the activity
52
+ # @return [String] Visibility setting for the activity. One of: public, private, tag
53
53
  attr_accessor :visibility
54
54
  # @!attribute attachments
55
55
  # @return [Array<Attachment>] Media attachments for the activity
@@ -85,7 +85,7 @@ module GetStream
85
85
  # @return [Object] Custom data for the activity
86
86
  attr_accessor :custom
87
87
  # @!attribute reaction_groups
88
- # @return [Hash<String, ReactionGroupResponse>] Grouped reactions by type
88
+ # @return [Hash<String, FeedsReactionGroupResponse>] Grouped reactions by type
89
89
  attr_accessor :reaction_groups
90
90
  # @!attribute search_data
91
91
  # @return [Object] Data for search indexing
@@ -102,6 +102,9 @@ module GetStream
102
102
  # @!attribute expires_at
103
103
  # @return [DateTime] When the activity will expire
104
104
  attr_accessor :expires_at
105
+ # @!attribute friend_reaction_count
106
+ # @return [Integer] Total count of reactions from friends on this activity
107
+ attr_accessor :friend_reaction_count
105
108
  # @!attribute is_watched
106
109
  # @return [Boolean]
107
110
  attr_accessor :is_watched
@@ -117,6 +120,9 @@ module GetStream
117
120
  # @!attribute visibility_tag
118
121
  # @return [String] If visibility is 'tag', this is the tag name
119
122
  attr_accessor :visibility_tag
123
+ # @!attribute friend_reactions
124
+ # @return [Array<FeedsReactionResponse>] Reactions from users the current user follows or has mutual follows with
125
+ attr_accessor :friend_reactions
120
126
  # @!attribute current_feed
121
127
  # @return [FeedResponse]
122
128
  attr_accessor :current_feed
@@ -170,11 +176,13 @@ module GetStream
170
176
  @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil
171
177
  @edited_at = attributes[:edited_at] || attributes['edited_at'] || nil
172
178
  @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil
179
+ @friend_reaction_count = attributes[:friend_reaction_count] || attributes['friend_reaction_count'] || nil
173
180
  @is_watched = attributes[:is_watched] || attributes['is_watched'] || nil
174
181
  @moderation_action = attributes[:moderation_action] || attributes['moderation_action'] || nil
175
182
  @selector_source = attributes[:selector_source] || attributes['selector_source'] || nil
176
183
  @text = attributes[:text] || attributes['text'] || nil
177
184
  @visibility_tag = attributes[:visibility_tag] || attributes['visibility_tag'] || nil
185
+ @friend_reactions = attributes[:friend_reactions] || attributes['friend_reactions'] || nil
178
186
  @current_feed = attributes[:current_feed] || attributes['current_feed'] || nil
179
187
  @location = attributes[:location] || attributes['location'] || nil
180
188
  @moderation = attributes[:moderation] || attributes['moderation'] || nil
@@ -217,11 +225,13 @@ module GetStream
217
225
  deleted_at: 'deleted_at',
218
226
  edited_at: 'edited_at',
219
227
  expires_at: 'expires_at',
228
+ friend_reaction_count: 'friend_reaction_count',
220
229
  is_watched: 'is_watched',
221
230
  moderation_action: 'moderation_action',
222
231
  selector_source: 'selector_source',
223
232
  text: 'text',
224
233
  visibility_tag: 'visibility_tag',
234
+ friend_reactions: 'friend_reactions',
225
235
  current_feed: 'current_feed',
226
236
  location: 'location',
227
237
  moderation: 'moderation',
@@ -0,0 +1,66 @@
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
+ # Emitted when an activity is restored.
9
+ class ActivityRestoredEvent < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute created_at
13
+ # @return [DateTime] Date/time of creation
14
+ attr_accessor :created_at
15
+ # @!attribute fid
16
+ # @return [String]
17
+ attr_accessor :fid
18
+ # @!attribute activity
19
+ # @return [ActivityResponse]
20
+ attr_accessor :activity
21
+ # @!attribute custom
22
+ # @return [Object]
23
+ attr_accessor :custom
24
+ # @!attribute type
25
+ # @return [String] The type of the event
26
+ attr_accessor :type
27
+ # @!attribute feed_visibility
28
+ # @return [String]
29
+ attr_accessor :feed_visibility
30
+ # @!attribute received_at
31
+ # @return [DateTime]
32
+ attr_accessor :received_at
33
+ # @!attribute user
34
+ # @return [UserResponseCommonFields]
35
+ attr_accessor :user
36
+
37
+ # Initialize with attributes
38
+ def initialize(attributes = {})
39
+ super(attributes)
40
+ @created_at = attributes[:created_at] || attributes['created_at']
41
+ @fid = attributes[:fid] || attributes['fid']
42
+ @activity = attributes[:activity] || attributes['activity']
43
+ @custom = attributes[:custom] || attributes['custom']
44
+ @type = attributes[:type] || attributes['type'] || "feeds.activity.restored"
45
+ @feed_visibility = attributes[:feed_visibility] || attributes['feed_visibility'] || nil
46
+ @received_at = attributes[:received_at] || attributes['received_at'] || nil
47
+ @user = attributes[:user] || attributes['user'] || nil
48
+ end
49
+
50
+ # Override field mappings for JSON serialization
51
+ def self.json_field_mappings
52
+ {
53
+ created_at: 'created_at',
54
+ fid: 'fid',
55
+ activity: 'activity',
56
+ custom: 'custom',
57
+ type: 'type',
58
+ feed_visibility: 'feed_visibility',
59
+ received_at: 'received_at',
60
+ user: 'user'
61
+ }
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -10,7 +10,7 @@ module GetStream
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute type
13
- # @return [String] Type of selector
13
+ # @return [String] Type of selector. One of: popular, proximity, following, current_feed, query, interest, follow_suggestion
14
14
  attr_accessor :type
15
15
  # @!attribute cutoff_time
16
16
  # @return [String] Time threshold for activity selection (string). Expected RFC3339 format (e.g., 2006-01-02T15:04:05Z07:00). Cannot be used together with cutoff_window
@@ -15,6 +15,9 @@ module GetStream
15
15
  # @!attribute feeds
16
16
  # @return [Array<String>] List of feeds to add the activity to with a default max limit of 25 feeds
17
17
  attr_accessor :feeds
18
+ # @!attribute copy_custom_to_notification
19
+ # @return [Boolean] Whether to copy custom data to the notification activity (only applies when create_notification_activity is true)
20
+ attr_accessor :copy_custom_to_notification
18
21
  # @!attribute create_notification_activity
19
22
  # @return [Boolean] Whether to create notification activities for mentioned users
20
23
  attr_accessor :create_notification_activity
@@ -31,7 +34,7 @@ module GetStream
31
34
  # @return [String] ID of a poll to attach to activity
32
35
  attr_accessor :poll_id
33
36
  # @!attribute restrict_replies
34
- # @return [String] Controls who can add comments/replies to this activity. Options: 'everyone' (default - anyone can reply), 'people_i_follow' (only people the activity creator follows can reply), 'nobody' (no one can reply)
37
+ # @return [String] Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
35
38
  attr_accessor :restrict_replies
36
39
  # @!attribute skip_enrich_url
37
40
  # @return [Boolean] Whether to skip URL enrichment for the activity
@@ -46,7 +49,7 @@ module GetStream
46
49
  # @return [String] ID of the user creating the activity
47
50
  attr_accessor :user_id
48
51
  # @!attribute visibility
49
- # @return [String] Visibility setting for the activity
52
+ # @return [String] Visibility setting for the activity. One of: public, private, tag
50
53
  attr_accessor :visibility
51
54
  # @!attribute visibility_tag
52
55
  # @return [String] If visibility is 'tag', this is the tag name and is required
@@ -81,6 +84,7 @@ module GetStream
81
84
  super(attributes)
82
85
  @type = attributes[:type] || attributes['type']
83
86
  @feeds = attributes[:feeds] || attributes['feeds']
87
+ @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
84
88
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
85
89
  @expires_at = attributes[:expires_at] || attributes['expires_at'] || nil
86
90
  @id = attributes[:id] || attributes['id'] || nil
@@ -108,6 +112,7 @@ module GetStream
108
112
  {
109
113
  type: 'type',
110
114
  feeds: 'feeds',
115
+ copy_custom_to_notification: 'copy_custom_to_notification',
111
116
  create_notification_activity: 'create_notification_activity',
112
117
  expires_at: 'expires_at',
113
118
  id: 'id',
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute type
13
13
  # @return [String] The type of reaction, eg upvote, like, ...
14
14
  attr_accessor :type
15
+ # @!attribute copy_custom_to_notification
16
+ # @return [Boolean] Whether to copy custom data to the notification activity (only applies when create_notification_activity is true)
17
+ attr_accessor :copy_custom_to_notification
15
18
  # @!attribute create_notification_activity
16
19
  # @return [Boolean] Whether to create a notification activity for this reaction
17
20
  attr_accessor :create_notification_activity
@@ -35,6 +38,7 @@ module GetStream
35
38
  def initialize(attributes = {})
36
39
  super(attributes)
37
40
  @type = attributes[:type] || attributes['type']
41
+ @copy_custom_to_notification = attributes[:copy_custom_to_notification] || attributes['copy_custom_to_notification'] || nil
38
42
  @create_notification_activity = attributes[:create_notification_activity] || attributes['create_notification_activity'] || nil
39
43
  @enforce_unique = attributes[:enforce_unique] || attributes['enforce_unique'] || nil
40
44
  @skip_push = attributes[:skip_push] || attributes['skip_push'] || nil
@@ -47,6 +51,7 @@ module GetStream
47
51
  def self.json_field_mappings
48
52
  {
49
53
  type: 'type',
54
+ copy_custom_to_notification: 'copy_custom_to_notification',
50
55
  create_notification_activity: 'create_notification_activity',
51
56
  enforce_unique: 'enforce_unique',
52
57
  skip_push: 'skip_push',