trophy_api_client 1.14.0 → 1.27.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 (639) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.rubocop.yml +103 -0
  4. data/CONTRIBUTING.md +120 -0
  5. data/LICENSE +21 -0
  6. data/README.md +50 -0
  7. data/Rakefile +13 -0
  8. data/custom.gemspec.rb +5 -0
  9. data/lib/gemconfig.rb +1 -1
  10. data/lib/trophy/achievements/client.rb +93 -0
  11. data/lib/trophy/achievements/types/achievements_all_request.rb +11 -0
  12. data/lib/trophy/achievements/types/achievements_complete_request.rb +13 -0
  13. data/lib/trophy/admin/achievements/client.rb +201 -0
  14. data/lib/trophy/admin/achievements/types/achievements_delete_request.rb +13 -0
  15. data/lib/trophy/admin/achievements/types/achievements_list_request.rb +15 -0
  16. data/lib/trophy/admin/application_api_keys/client.rb +93 -0
  17. data/lib/trophy/admin/application_api_keys/types/application_api_keys_delete_request.rb +13 -0
  18. data/lib/trophy/admin/attributes/client.rb +200 -0
  19. data/lib/trophy/admin/attributes/types/attributes_delete_request.rb +13 -0
  20. data/lib/trophy/admin/attributes/types/attributes_list_request.rb +15 -0
  21. data/lib/trophy/admin/client.rb +68 -0
  22. data/lib/trophy/admin/environments/client.rb +52 -0
  23. data/lib/trophy/admin/leaderboards/client.rb +201 -0
  24. data/lib/trophy/admin/leaderboards/types/leaderboards_delete_request.rb +13 -0
  25. data/lib/trophy/admin/leaderboards/types/leaderboards_list_request.rb +15 -0
  26. data/lib/trophy/admin/metrics/client.rb +234 -0
  27. data/lib/trophy/admin/metrics/types/metrics_delete_request.rb +13 -0
  28. data/lib/trophy/admin/metrics/types/metrics_list_request.rb +15 -0
  29. data/lib/trophy/admin/points/boosts/client.rb +207 -0
  30. data/lib/trophy/admin/points/boosts/types/boosts_delete_request.rb +17 -0
  31. data/lib/trophy/admin/points/boosts/types/boosts_list_request.rb +19 -0
  32. data/lib/trophy/admin/points/client.rb +40 -0
  33. data/lib/trophy/admin/points/levels/client.rb +207 -0
  34. data/lib/trophy/admin/points/levels/types/levels_delete_request.rb +17 -0
  35. data/lib/trophy/admin/points/levels/types/levels_list_request.rb +19 -0
  36. data/lib/trophy/admin/points/systems/client.rb +203 -0
  37. data/lib/trophy/admin/points/systems/types/systems_delete_request.rb +15 -0
  38. data/lib/trophy/admin/points/systems/types/systems_list_request.rb +17 -0
  39. data/lib/trophy/admin/points/triggers/client.rb +208 -0
  40. data/lib/trophy/admin/points/triggers/types/triggers_delete_request.rb +17 -0
  41. data/lib/trophy/admin/points/triggers/types/triggers_list_request.rb +19 -0
  42. data/lib/trophy/admin/settings/client.rb +86 -0
  43. data/lib/trophy/admin/settings/types/update_admin_settings_request.rb +17 -0
  44. data/lib/trophy/admin/streaks/client.rb +106 -0
  45. data/lib/trophy/admin/streaks/freezes/client.rb +56 -0
  46. data/lib/trophy/admin/streaks/freezes/types/create_streak_freezes_request.rb +15 -0
  47. data/lib/trophy/admin/streaks/freezes/types/create_streak_freezes_request_freezes_item.rb +15 -0
  48. data/lib/trophy/admin/streaks/pauses/client.rb +95 -0
  49. data/lib/trophy/admin/streaks/pauses/types/create_streak_pauses_request.rb +15 -0
  50. data/lib/trophy/admin/streaks/pauses/types/create_streak_pauses_request_pauses_item.rb +19 -0
  51. data/lib/trophy/admin/streaks/pauses/types/pauses_delete_request.rb +15 -0
  52. data/lib/trophy/admin/streaks/settings/client.rb +88 -0
  53. data/lib/trophy/admin/streaks/settings/types/update_streak_settings_request.rb +25 -0
  54. data/lib/trophy/admin/streaks/types/reset_streaks_request.rb +13 -0
  55. data/lib/trophy/admin/streaks/types/reset_streaks_request_users_item.rb +13 -0
  56. data/lib/trophy/admin/streaks/types/restore_streaks_request.rb +13 -0
  57. data/lib/trophy/admin/streaks/types/restore_streaks_request_users_item.rb +13 -0
  58. data/lib/trophy/admin/tenants/client.rb +200 -0
  59. data/lib/trophy/admin/tenants/types/tenants_delete_request.rb +13 -0
  60. data/lib/trophy/admin/tenants/types/tenants_list_request.rb +15 -0
  61. data/lib/trophy/client.rb +62 -0
  62. data/lib/{environment.rb → trophy/environment.rb} +1 -1
  63. data/lib/trophy/errors/api_error.rb +8 -0
  64. data/lib/trophy/errors/client_error.rb +17 -0
  65. data/lib/trophy/errors/redirect_error.rb +8 -0
  66. data/lib/trophy/errors/response_error.rb +42 -0
  67. data/lib/trophy/errors/server_error.rb +11 -0
  68. data/lib/trophy/errors/timeout_error.rb +8 -0
  69. data/lib/trophy/internal/errors/constraint_error.rb +10 -0
  70. data/lib/trophy/internal/errors/type_error.rb +10 -0
  71. data/lib/trophy/internal/http/base_request.rb +51 -0
  72. data/lib/trophy/internal/http/raw_client.rb +215 -0
  73. data/lib/trophy/internal/iterators/cursor_item_iterator.rb +28 -0
  74. data/lib/trophy/internal/iterators/cursor_page_iterator.rb +63 -0
  75. data/lib/trophy/internal/iterators/item_iterator.rb +65 -0
  76. data/lib/trophy/internal/iterators/offset_item_iterator.rb +30 -0
  77. data/lib/trophy/internal/iterators/offset_page_iterator.rb +103 -0
  78. data/lib/trophy/internal/json/request.rb +41 -0
  79. data/lib/trophy/internal/json/serializable.rb +25 -0
  80. data/lib/trophy/internal/multipart/multipart_encoder.rb +141 -0
  81. data/lib/trophy/internal/multipart/multipart_form_data.rb +78 -0
  82. data/lib/trophy/internal/multipart/multipart_form_data_part.rb +51 -0
  83. data/lib/trophy/internal/multipart/multipart_request.rb +40 -0
  84. data/lib/trophy/internal/types/array.rb +47 -0
  85. data/lib/trophy/internal/types/boolean.rb +34 -0
  86. data/lib/trophy/internal/types/enum.rb +56 -0
  87. data/lib/trophy/internal/types/hash.rb +36 -0
  88. data/lib/trophy/internal/types/model/field.rb +38 -0
  89. data/lib/trophy/internal/types/model.rb +208 -0
  90. data/lib/trophy/internal/types/type.rb +35 -0
  91. data/lib/trophy/internal/types/union.rb +161 -0
  92. data/lib/trophy/internal/types/unknown.rb +15 -0
  93. data/lib/trophy/internal/types/utils.rb +116 -0
  94. data/lib/trophy/leaderboards/client.rb +101 -0
  95. data/lib/trophy/leaderboards/types/leaderboards_all_request.rb +11 -0
  96. data/lib/trophy/leaderboards/types/leaderboards_all_response_item.rb +49 -0
  97. data/lib/trophy/leaderboards/types/leaderboards_all_response_item_status.rb +15 -0
  98. data/lib/trophy/leaderboards/types/leaderboards_get_request.rb +21 -0
  99. data/lib/trophy/metrics/client.rb +62 -0
  100. data/lib/trophy/metrics/types/metrics_event_request.rb +19 -0
  101. data/lib/trophy/points/client.rb +194 -0
  102. data/lib/trophy/points/types/points_boosts_request.rb +13 -0
  103. data/lib/trophy/points/types/points_summary_request.rb +13 -0
  104. data/lib/trophy/streaks/client.rb +56 -0
  105. data/lib/trophy/streaks/types/streaks_list_request.rb +11 -0
  106. data/lib/trophy/types/achievement_completion_response.rb +13 -0
  107. data/lib/trophy/types/achievement_response.rb +37 -0
  108. data/lib/trophy/types/achievement_response_event_attribute.rb +13 -0
  109. data/lib/trophy/types/achievement_response_event_attributes_item.rb +11 -0
  110. data/lib/trophy/types/achievement_response_trigger.rb +15 -0
  111. data/lib/trophy/types/achievement_response_user_attributes_item.rb +11 -0
  112. data/lib/trophy/types/achievement_with_stats_response.rb +41 -0
  113. data/lib/trophy/types/admin_achievement.rb +37 -0
  114. data/lib/trophy/types/admin_achievement_badge.rb +9 -0
  115. data/lib/trophy/types/admin_achievement_event_attributes_item.rb +11 -0
  116. data/lib/trophy/types/admin_achievement_status.rb +13 -0
  117. data/lib/trophy/types/admin_achievement_trigger.rb +15 -0
  118. data/lib/trophy/types/admin_achievement_user_attributes_item.rb +11 -0
  119. data/lib/trophy/types/admin_aggregation_period.rb +12 -0
  120. data/lib/trophy/types/admin_attribute.rb +16 -0
  121. data/lib/trophy/types/admin_attribute_type.rb +12 -0
  122. data/lib/trophy/types/admin_environment.rb +14 -0
  123. data/lib/trophy/types/admin_error_body.rb +9 -0
  124. data/lib/trophy/types/admin_font_family.rb +19 -0
  125. data/lib/trophy/types/admin_issue.rb +20 -0
  126. data/lib/trophy/types/admin_issue_severity.rb +12 -0
  127. data/lib/trophy/types/admin_leaderboard.rb +42 -0
  128. data/lib/trophy/types/admin_leaderboard_rank_by.rb +13 -0
  129. data/lib/trophy/types/admin_leaderboard_run_unit.rb +13 -0
  130. data/lib/trophy/types/admin_leaderboard_status.rb +14 -0
  131. data/lib/trophy/types/admin_leaderboard_user_attributes_item.rb +11 -0
  132. data/lib/trophy/types/admin_points_boost.rb +26 -0
  133. data/lib/trophy/types/admin_points_boost_rounding.rb +13 -0
  134. data/lib/{trophy_api_client/leaderboards/types/leaderboards_all_response_item_status.rb → trophy/types/admin_points_boost_status.rb} +5 -4
  135. data/lib/trophy/types/admin_points_boost_user_attributes_item.rb +11 -0
  136. data/lib/trophy/types/admin_points_level.rb +20 -0
  137. data/lib/trophy/types/admin_points_level_badge.rb +9 -0
  138. data/lib/trophy/types/admin_points_system.rb +22 -0
  139. data/lib/trophy/types/admin_points_system_badge.rb +9 -0
  140. data/lib/trophy/types/admin_points_system_status.rb +12 -0
  141. data/lib/trophy/types/admin_points_trigger.rb +34 -0
  142. data/lib/trophy/types/admin_points_trigger_event_attributes_item.rb +11 -0
  143. data/lib/trophy/types/admin_points_trigger_status.rb +12 -0
  144. data/lib/trophy/types/admin_points_trigger_time_unit.rb +12 -0
  145. data/lib/trophy/types/admin_points_trigger_type.rb +15 -0
  146. data/lib/trophy/types/admin_points_trigger_user_attributes_item.rb +11 -0
  147. data/lib/trophy/types/admin_settings.rb +14 -0
  148. data/lib/trophy/types/admin_settings_branding.rb +20 -0
  149. data/lib/trophy/types/admin_settings_branding_app_icon.rb +9 -0
  150. data/lib/trophy/types/admin_settings_branding_logo.rb +9 -0
  151. data/lib/trophy/types/admin_settings_experimentation.rb +12 -0
  152. data/lib/trophy/types/admin_streak_evaluation_mode.rb +12 -0
  153. data/lib/{trophy_api_client/users/types/users_points_event_summary_request_aggregation.rb → trophy/types/admin_streak_frequency.rb} +5 -3
  154. data/lib/trophy/types/admin_streak_pause.rb +18 -0
  155. data/lib/trophy/types/admin_streak_pause_status.rb +12 -0
  156. data/lib/trophy/types/admin_tenant.rb +20 -0
  157. data/lib/trophy/types/admin_tenant_status.rb +12 -0
  158. data/lib/trophy/types/base_streak_response.rb +27 -0
  159. data/lib/trophy/types/batch_events_response.rb +10 -0
  160. data/lib/trophy/types/batch_metric_event.rb +19 -0
  161. data/lib/trophy/types/batch_metric_event_user.rb +22 -0
  162. data/lib/trophy/types/bulk_streak_response.rb +23 -0
  163. data/lib/trophy/types/bulk_streak_response_item.rb +13 -0
  164. data/lib/trophy/types/create_achievement_request_item.rb +35 -0
  165. data/lib/trophy/types/create_achievement_request_item_badge.rb +10 -0
  166. data/lib/trophy/types/create_achievement_request_item_event_attributes_item.rb +11 -0
  167. data/lib/trophy/types/create_achievement_request_item_status.rb +13 -0
  168. data/lib/trophy/types/create_achievement_request_item_trigger.rb +15 -0
  169. data/lib/trophy/types/create_achievement_request_item_user_attributes_item.rb +11 -0
  170. data/lib/trophy/types/create_achievements_request.rb +23 -0
  171. data/lib/trophy/types/create_achievements_response.rb +12 -0
  172. data/lib/trophy/types/create_application_key_request_item.rb +10 -0
  173. data/lib/trophy/types/create_application_keys_request.rb +23 -0
  174. data/lib/trophy/types/create_application_keys_response.rb +12 -0
  175. data/lib/trophy/types/create_attribute_request_item.rb +14 -0
  176. data/lib/trophy/types/create_attribute_request_item_type.rb +12 -0
  177. data/lib/trophy/types/create_attributes_request.rb +23 -0
  178. data/lib/trophy/types/create_attributes_response.rb +12 -0
  179. data/lib/trophy/types/create_leaderboard_request_item.rb +40 -0
  180. data/lib/trophy/types/create_leaderboard_request_item_rank_by.rb +13 -0
  181. data/lib/trophy/types/create_leaderboard_request_item_run_unit.rb +13 -0
  182. data/lib/trophy/types/create_leaderboard_request_item_status.rb +14 -0
  183. data/lib/trophy/types/create_leaderboard_request_item_user_attributes_item.rb +11 -0
  184. data/lib/trophy/types/create_leaderboards_request.rb +23 -0
  185. data/lib/trophy/types/create_leaderboards_response.rb +12 -0
  186. data/lib/trophy/types/create_metric_request_item.rb +16 -0
  187. data/lib/trophy/types/create_metric_request_item_unit_type.rb +12 -0
  188. data/lib/trophy/types/create_metrics_request.rb +23 -0
  189. data/lib/trophy/types/create_metrics_response.rb +12 -0
  190. data/lib/trophy/types/create_points_boost_request_item.rb +23 -0
  191. data/lib/trophy/types/create_points_boost_request_item_rounding.rb +13 -0
  192. data/lib/trophy/types/create_points_boost_request_item_user_attributes_item.rb +11 -0
  193. data/lib/trophy/types/create_points_boosts_request.rb +23 -0
  194. data/lib/trophy/types/create_points_boosts_response.rb +12 -0
  195. data/lib/trophy/types/create_points_level_request_item.rb +18 -0
  196. data/lib/trophy/types/create_points_level_request_item_badge.rb +10 -0
  197. data/lib/trophy/types/create_points_levels_request.rb +23 -0
  198. data/lib/trophy/types/create_points_levels_response.rb +12 -0
  199. data/lib/trophy/types/create_points_system_request_item.rb +24 -0
  200. data/lib/trophy/types/create_points_system_request_item_badge.rb +9 -0
  201. data/lib/trophy/types/create_points_systems_request.rb +23 -0
  202. data/lib/trophy/types/create_points_systems_response.rb +12 -0
  203. data/lib/trophy/types/create_points_trigger_request_item.rb +32 -0
  204. data/lib/trophy/types/create_points_trigger_request_item_event_attributes_item.rb +11 -0
  205. data/lib/trophy/types/create_points_trigger_request_item_status.rb +12 -0
  206. data/lib/trophy/types/create_points_trigger_request_item_time_unit.rb +12 -0
  207. data/lib/trophy/types/create_points_trigger_request_item_type.rb +15 -0
  208. data/lib/trophy/types/create_points_trigger_request_item_user_attributes_item.rb +11 -0
  209. data/lib/trophy/types/create_points_triggers_request.rb +23 -0
  210. data/lib/trophy/types/create_points_triggers_response.rb +12 -0
  211. data/lib/trophy/types/create_streak_freezes_response.rb +10 -0
  212. data/lib/trophy/types/create_streak_pauses_response.rb +12 -0
  213. data/lib/trophy/types/create_tenant_request_item.rb +12 -0
  214. data/lib/trophy/types/create_tenants_request.rb +23 -0
  215. data/lib/trophy/types/create_tenants_response.rb +12 -0
  216. data/lib/trophy/types/created_admin_points_system.rb +29 -0
  217. data/lib/trophy/types/created_application_key.rb +16 -0
  218. data/lib/trophy/types/created_metric.rb +18 -0
  219. data/lib/trophy/types/created_metric_unit_type.rb +12 -0
  220. data/lib/trophy/types/delete_achievements_response.rb +13 -0
  221. data/lib/trophy/types/delete_application_keys_response.rb +12 -0
  222. data/lib/trophy/types/delete_attributes_response.rb +13 -0
  223. data/lib/trophy/types/delete_leaderboards_response.rb +12 -0
  224. data/lib/trophy/types/delete_metrics_response.rb +13 -0
  225. data/lib/trophy/types/delete_points_boosts_response.rb +12 -0
  226. data/lib/trophy/types/delete_points_levels_response.rb +12 -0
  227. data/lib/trophy/types/delete_points_systems_response.rb +12 -0
  228. data/lib/trophy/types/delete_points_triggers_response.rb +12 -0
  229. data/lib/trophy/types/delete_streak_pauses_response.rb +12 -0
  230. data/lib/trophy/types/delete_tenants_response.rb +12 -0
  231. data/lib/trophy/types/deleted_resource.rb +10 -0
  232. data/lib/trophy/types/error_body.rb +9 -0
  233. data/lib/trophy/types/event_response.rb +25 -0
  234. data/lib/trophy/types/get_user_points_response.rb +25 -0
  235. data/lib/trophy/types/leaderboard_event.rb +20 -0
  236. data/lib/trophy/types/leaderboard_ranking.rb +16 -0
  237. data/lib/trophy/types/leaderboard_response.rb +46 -0
  238. data/lib/trophy/types/leaderboard_response_rank_by.rb +13 -0
  239. data/lib/trophy/types/leaderboard_response_run_unit.rb +13 -0
  240. data/lib/trophy/types/leaderboard_response_user_attributes_item.rb +11 -0
  241. data/lib/trophy/types/leaderboard_response_with_rankings.rb +49 -0
  242. data/lib/trophy/types/leaderboard_response_with_rankings_status.rb +13 -0
  243. data/lib/trophy/types/list_achievements_response.rb +23 -0
  244. data/lib/trophy/types/list_attributes_response.rb +23 -0
  245. data/lib/trophy/types/list_environments_response.rb +23 -0
  246. data/lib/trophy/types/list_leaderboards_response.rb +23 -0
  247. data/lib/trophy/types/list_metrics_response.rb +23 -0
  248. data/lib/trophy/types/list_points_boosts_response.rb +23 -0
  249. data/lib/trophy/types/list_points_levels_response.rb +23 -0
  250. data/lib/trophy/types/list_points_systems_response.rb +23 -0
  251. data/lib/trophy/types/list_points_triggers_response.rb +23 -0
  252. data/lib/trophy/types/list_tenants_response.rb +23 -0
  253. data/lib/trophy/types/metric_event_leaderboard_response.rb +55 -0
  254. data/lib/trophy/types/metric_event_leaderboard_response_breakdown_attribute_values_item.rb +11 -0
  255. data/lib/trophy/types/metric_event_points_response.rb +28 -0
  256. data/lib/trophy/types/metric_event_streak_response.rb +30 -0
  257. data/lib/trophy/types/metric_response.rb +17 -0
  258. data/lib/trophy/types/notification_channel.rb +12 -0
  259. data/lib/trophy/types/notification_preferences.rb +16 -0
  260. data/lib/trophy/types/patch_points_boosts_request.rb +23 -0
  261. data/lib/trophy/types/patch_points_boosts_request_item.rb +21 -0
  262. data/lib/trophy/types/patch_points_boosts_request_item_rounding.rb +13 -0
  263. data/lib/trophy/types/patch_points_boosts_request_item_user_attributes_item.rb +11 -0
  264. data/lib/trophy/types/patch_points_boosts_response.rb +12 -0
  265. data/lib/trophy/types/patch_points_levels_request.rb +23 -0
  266. data/lib/trophy/types/patch_points_levels_request_item.rb +17 -0
  267. data/lib/trophy/types/patch_points_levels_request_item_badge.rb +9 -0
  268. data/lib/trophy/types/patch_points_levels_response.rb +12 -0
  269. data/lib/trophy/types/patch_points_triggers_request.rb +23 -0
  270. data/lib/trophy/types/patch_points_triggers_request_item.rb +33 -0
  271. data/lib/trophy/types/patch_points_triggers_request_item_event_attributes_item.rb +11 -0
  272. data/lib/trophy/types/patch_points_triggers_request_item_status.rb +12 -0
  273. data/lib/trophy/types/patch_points_triggers_request_item_time_unit.rb +12 -0
  274. data/lib/trophy/types/patch_points_triggers_request_item_type.rb +15 -0
  275. data/lib/trophy/types/patch_points_triggers_request_item_user_attributes_item.rb +11 -0
  276. data/lib/trophy/types/patch_points_triggers_response.rb +12 -0
  277. data/lib/trophy/types/points_award.rb +19 -0
  278. data/lib/trophy/types/points_boost.rb +21 -0
  279. data/lib/trophy/types/points_boost_rounding.rb +13 -0
  280. data/lib/trophy/types/points_boost_status.rb +13 -0
  281. data/lib/trophy/types/points_boost_webhook_payload.rb +30 -0
  282. data/lib/trophy/types/points_boost_webhook_payload_rounding.rb +13 -0
  283. data/lib/trophy/types/points_boost_webhook_payload_status.rb +12 -0
  284. data/lib/trophy/types/points_level.rb +20 -0
  285. data/lib/trophy/types/points_level_summary_response.rb +23 -0
  286. data/lib/trophy/types/points_level_summary_response_item.rb +11 -0
  287. data/lib/trophy/types/points_range.rb +13 -0
  288. data/lib/trophy/types/points_response.rb +20 -0
  289. data/lib/trophy/types/points_summary_response.rb +23 -0
  290. data/lib/trophy/types/points_system_response.rb +19 -0
  291. data/lib/trophy/types/points_trigger.rb +41 -0
  292. data/lib/trophy/types/points_trigger_event_attribute.rb +13 -0
  293. data/lib/trophy/types/points_trigger_event_attributes_item.rb +11 -0
  294. data/lib/trophy/types/points_trigger_status.rb +13 -0
  295. data/lib/trophy/types/points_trigger_time_unit.rb +12 -0
  296. data/lib/trophy/types/points_trigger_type.rb +15 -0
  297. data/lib/trophy/types/points_trigger_user_attributes_item.rb +11 -0
  298. data/lib/trophy/types/reset_streaks_response.rb +12 -0
  299. data/lib/trophy/types/restore_streaks_response.rb +12 -0
  300. data/lib/trophy/types/streak_evaluation_mode_preference.rb +12 -0
  301. data/lib/{trophy_api_client/users/types/users_metric_event_summary_request_aggregation.rb → trophy/types/streak_frequency.rb} +5 -3
  302. data/lib/trophy/types/streak_metric_preference.rb +12 -0
  303. data/lib/trophy/types/streak_preferences.rb +17 -0
  304. data/lib/trophy/types/streak_response.rb +34 -0
  305. data/lib/trophy/types/streak_response_pauses_item.rb +14 -0
  306. data/lib/trophy/types/streak_response_streak_history_item.rb +20 -0
  307. data/lib/trophy/types/streak_settings.rb +20 -0
  308. data/lib/trophy/types/streak_settings_freezes.rb +16 -0
  309. data/lib/trophy/types/streak_settings_metric.rb +12 -0
  310. data/lib/trophy/types/update_achievement_request_item.rb +37 -0
  311. data/lib/trophy/types/update_achievement_request_item_badge.rb +9 -0
  312. data/lib/trophy/types/update_achievement_request_item_event_attributes_item.rb +11 -0
  313. data/lib/trophy/types/update_achievement_request_item_status.rb +13 -0
  314. data/lib/trophy/types/update_achievement_request_item_trigger.rb +15 -0
  315. data/lib/trophy/types/update_achievement_request_item_user_attributes_item.rb +11 -0
  316. data/lib/trophy/types/update_achievements_request.rb +23 -0
  317. data/lib/trophy/types/update_achievements_response.rb +12 -0
  318. data/lib/trophy/types/update_admin_settings_branding.rb +20 -0
  319. data/lib/trophy/types/update_admin_settings_branding_app_icon.rb +9 -0
  320. data/lib/trophy/types/update_admin_settings_branding_logo.rb +9 -0
  321. data/lib/trophy/types/update_admin_settings_experimentation.rb +12 -0
  322. data/lib/trophy/types/update_attribute_request_item.rb +13 -0
  323. data/lib/trophy/types/update_attributes_request.rb +23 -0
  324. data/lib/trophy/types/update_attributes_response.rb +12 -0
  325. data/lib/trophy/types/update_leaderboard_request_item.rb +43 -0
  326. data/lib/trophy/types/update_leaderboard_request_item_rank_by.rb +13 -0
  327. data/lib/trophy/types/update_leaderboard_request_item_run_unit.rb +13 -0
  328. data/lib/trophy/types/update_leaderboard_request_item_status.rb +14 -0
  329. data/lib/trophy/types/update_leaderboard_request_item_user_attributes_item.rb +11 -0
  330. data/lib/trophy/types/update_leaderboards_request.rb +23 -0
  331. data/lib/trophy/types/update_leaderboards_response.rb +12 -0
  332. data/lib/trophy/types/update_metric_request_item.rb +17 -0
  333. data/lib/trophy/types/update_metric_request_item_unit_type.rb +12 -0
  334. data/lib/trophy/types/update_metrics_request.rb +23 -0
  335. data/lib/trophy/types/update_metrics_response.rb +12 -0
  336. data/lib/trophy/types/update_points_system_request_item.rb +18 -0
  337. data/lib/trophy/types/update_points_system_request_item_badge.rb +9 -0
  338. data/lib/trophy/types/update_points_systems_request.rb +23 -0
  339. data/lib/trophy/types/update_points_systems_response.rb +12 -0
  340. data/lib/trophy/types/update_streak_settings_freezes.rb +17 -0
  341. data/lib/trophy/types/update_tenant_request_item.rb +14 -0
  342. data/lib/trophy/types/update_tenants_request.rb +23 -0
  343. data/lib/trophy/types/update_tenants_response.rb +12 -0
  344. data/lib/trophy/types/updated_user.rb +22 -0
  345. data/lib/trophy/types/upserted_user.rb +24 -0
  346. data/lib/trophy/types/user.rb +30 -0
  347. data/lib/trophy/types/user_achievement_response.rb +39 -0
  348. data/lib/trophy/types/user_achievement_with_stats_response.rb +43 -0
  349. data/lib/trophy/types/user_leaderboard_response.rb +50 -0
  350. data/lib/trophy/types/user_leaderboard_response_with_history.rb +52 -0
  351. data/lib/trophy/types/user_preferences_response.rb +12 -0
  352. data/lib/trophy/types/webhook_user_leaderboard_response.rb +54 -0
  353. data/lib/trophy/types/webhooks_achievement_completed_payload.rb +13 -0
  354. data/lib/trophy/types/webhooks_emails_achievement_due_payload.rb +15 -0
  355. data/lib/trophy/types/webhooks_emails_reactivation_due_payload.rb +15 -0
  356. data/lib/trophy/types/webhooks_emails_reactivation_due_payload_reactivation.rb +12 -0
  357. data/lib/trophy/types/webhooks_emails_recap_due_payload.rb +15 -0
  358. data/lib/trophy/types/webhooks_emails_recap_due_payload_recap.rb +12 -0
  359. data/lib/trophy/types/webhooks_emails_streak_reminder_due_payload.rb +15 -0
  360. data/lib/trophy/types/webhooks_leaderboard_changed_payload.rb +11 -0
  361. data/lib/trophy/types/webhooks_leaderboard_finished_payload.rb +11 -0
  362. data/lib/trophy/types/webhooks_leaderboard_rank_changed_payload.rb +13 -0
  363. data/lib/trophy/types/webhooks_leaderboard_started_payload.rb +11 -0
  364. data/lib/trophy/types/webhooks_points_boost_finished_payload.rb +13 -0
  365. data/lib/trophy/types/webhooks_points_boost_started_payload.rb +13 -0
  366. data/lib/trophy/types/webhooks_points_changed_payload.rb +13 -0
  367. data/lib/trophy/types/webhooks_points_level_changed_payload.rb +17 -0
  368. data/lib/trophy/types/webhooks_points_level_changed_payload_points.rb +22 -0
  369. data/lib/trophy/types/webhooks_streak_extended_payload.rb +13 -0
  370. data/lib/trophy/types/webhooks_streak_freeze_consumed_payload.rb +15 -0
  371. data/lib/trophy/types/webhooks_streak_freeze_earned_payload.rb +15 -0
  372. data/lib/trophy/types/webhooks_streak_lost_payload.rb +13 -0
  373. data/lib/trophy/types/webhooks_streak_started_payload.rb +13 -0
  374. data/lib/trophy/types/wrapped_activity.rb +22 -0
  375. data/lib/trophy/types/wrapped_activity_period.rb +16 -0
  376. data/lib/trophy/types/wrapped_entire_year.rb +18 -0
  377. data/lib/trophy/types/wrapped_metric.rb +22 -0
  378. data/lib/trophy/types/wrapped_metric_by_attribute_value_value.rb +19 -0
  379. data/lib/trophy/types/wrapped_most_active_day.rb +18 -0
  380. data/lib/trophy/types/wrapped_most_active_month.rb +18 -0
  381. data/lib/trophy/types/wrapped_most_active_week.rb +20 -0
  382. data/lib/trophy/types/wrapped_points.rb +20 -0
  383. data/lib/trophy/types/wrapped_response.rb +13 -0
  384. data/lib/trophy/types/wrapped_streak.rb +18 -0
  385. data/lib/trophy/users/client.rb +612 -0
  386. data/lib/trophy/users/types/update_user_preferences_request.rb +15 -0
  387. data/lib/trophy/users/types/users_achievements_request.rb +13 -0
  388. data/lib/trophy/users/types/users_leaderboard_request.rb +17 -0
  389. data/lib/trophy/users/types/users_metric_event_summary_request.rb +19 -0
  390. data/lib/trophy/users/types/users_metric_event_summary_request_aggregation.rb +15 -0
  391. data/lib/trophy/users/types/users_metric_event_summary_response_item.rb +15 -0
  392. data/lib/trophy/users/types/users_points_event_summary_request.rb +19 -0
  393. data/lib/trophy/users/types/users_points_event_summary_request_aggregation.rb +15 -0
  394. data/lib/trophy/users/types/users_points_event_summary_response_item.rb +15 -0
  395. data/lib/trophy/users/types/users_points_request.rb +15 -0
  396. data/lib/trophy/users/types/users_streak_request.rb +13 -0
  397. data/lib/trophy/users/types/users_wrapped_request.rb +13 -0
  398. data/lib/trophy/version.rb +5 -0
  399. data/lib/trophy.rb +394 -0
  400. data/lib/trophy_api_client.rb +4 -101
  401. data/reference.md +6128 -0
  402. metadata +407 -333
  403. data/lib/requests.rb +0 -189
  404. data/lib/trophy_api_client/achievements/client.rb +0 -196
  405. data/lib/trophy_api_client/admin/attributes/client.rb +0 -378
  406. data/lib/trophy_api_client/admin/client.rb +0 -65
  407. data/lib/trophy_api_client/admin/leaderboards/client.rb +0 -381
  408. data/lib/trophy_api_client/admin/metrics/client.rb +0 -376
  409. data/lib/trophy_api_client/admin/points/boosts/client.rb +0 -410
  410. data/lib/trophy_api_client/admin/points/client.rb +0 -53
  411. data/lib/trophy_api_client/admin/points/levels/client.rb +0 -412
  412. data/lib/trophy_api_client/admin/points/systems/client.rb +0 -384
  413. data/lib/trophy_api_client/admin/points/triggers/client.rb +0 -412
  414. data/lib/trophy_api_client/admin/streaks/client.rb +0 -106
  415. data/lib/trophy_api_client/admin/streaks/freezes/client.rb +0 -100
  416. data/lib/trophy_api_client/admin/streaks/freezes/types/create_streak_freezes_request_freezes_item.rb +0 -62
  417. data/lib/trophy_api_client/admin/streaks/types/restore_streaks_request_users_item.rb +0 -59
  418. data/lib/trophy_api_client/admin/tenants/client.rb +0 -376
  419. data/lib/trophy_api_client/leaderboards/client.rb +0 -225
  420. data/lib/trophy_api_client/leaderboards/types/leaderboards_all_response_item.rb +0 -202
  421. data/lib/trophy_api_client/metrics/client.rb +0 -142
  422. data/lib/trophy_api_client/points/client.rb +0 -424
  423. data/lib/trophy_api_client/streaks/client.rb +0 -104
  424. data/lib/trophy_api_client/types/achievement_completion_response.rb +0 -83
  425. data/lib/trophy_api_client/types/achievement_response.rb +0 -198
  426. data/lib/trophy_api_client/types/achievement_response_event_attribute.rb +0 -67
  427. data/lib/trophy_api_client/types/achievement_response_event_attributes_item.rb +0 -66
  428. data/lib/trophy_api_client/types/achievement_response_trigger.rb +0 -11
  429. data/lib/trophy_api_client/types/achievement_response_user_attributes_item.rb +0 -66
  430. data/lib/trophy_api_client/types/achievement_with_stats_response.rb +0 -214
  431. data/lib/trophy_api_client/types/admin_attribute.rb +0 -81
  432. data/lib/trophy_api_client/types/admin_attribute_type.rb +0 -9
  433. data/lib/trophy_api_client/types/admin_issue.rb +0 -98
  434. data/lib/trophy_api_client/types/admin_issue_severity.rb +0 -9
  435. data/lib/trophy_api_client/types/admin_leaderboard.rb +0 -171
  436. data/lib/trophy_api_client/types/admin_leaderboard_rank_by.rb +0 -10
  437. data/lib/trophy_api_client/types/admin_leaderboard_run_unit.rb +0 -10
  438. data/lib/trophy_api_client/types/admin_leaderboard_status.rb +0 -11
  439. data/lib/trophy_api_client/types/admin_points_boost.rb +0 -138
  440. data/lib/trophy_api_client/types/admin_points_boost_rounding.rb +0 -10
  441. data/lib/trophy_api_client/types/admin_points_boost_status.rb +0 -10
  442. data/lib/trophy_api_client/types/admin_points_boost_user_attributes_item.rb +0 -65
  443. data/lib/trophy_api_client/types/admin_points_level.rb +0 -109
  444. data/lib/trophy_api_client/types/admin_points_level_badge.rb +0 -55
  445. data/lib/trophy_api_client/types/admin_points_system.rb +0 -118
  446. data/lib/trophy_api_client/types/admin_points_system_badge.rb +0 -55
  447. data/lib/trophy_api_client/types/admin_points_system_status.rb +0 -9
  448. data/lib/trophy_api_client/types/admin_points_trigger.rb +0 -175
  449. data/lib/trophy_api_client/types/admin_points_trigger_event_attributes_item.rb +0 -66
  450. data/lib/trophy_api_client/types/admin_points_trigger_status.rb +0 -9
  451. data/lib/trophy_api_client/types/admin_points_trigger_time_unit.rb +0 -9
  452. data/lib/trophy_api_client/types/admin_points_trigger_type.rb +0 -12
  453. data/lib/trophy_api_client/types/admin_points_trigger_user_attributes_item.rb +0 -65
  454. data/lib/trophy_api_client/types/admin_tenant.rb +0 -103
  455. data/lib/trophy_api_client/types/admin_tenant_status.rb +0 -9
  456. data/lib/trophy_api_client/types/base_streak_response.rb +0 -144
  457. data/lib/trophy_api_client/types/bulk_streak_response.rb +0 -7
  458. data/lib/trophy_api_client/types/bulk_streak_response_item.rb +0 -76
  459. data/lib/trophy_api_client/types/create_attribute_request_item.rb +0 -76
  460. data/lib/trophy_api_client/types/create_attribute_request_item_type.rb +0 -9
  461. data/lib/trophy_api_client/types/create_attributes_request.rb +0 -7
  462. data/lib/trophy_api_client/types/create_attributes_response.rb +0 -74
  463. data/lib/trophy_api_client/types/create_leaderboard_request_item.rb +0 -171
  464. data/lib/trophy_api_client/types/create_leaderboard_request_item_rank_by.rb +0 -10
  465. data/lib/trophy_api_client/types/create_leaderboard_request_item_run_unit.rb +0 -11
  466. data/lib/trophy_api_client/types/create_leaderboard_request_item_status.rb +0 -13
  467. data/lib/trophy_api_client/types/create_leaderboards_request.rb +0 -7
  468. data/lib/trophy_api_client/types/create_leaderboards_response.rb +0 -74
  469. data/lib/trophy_api_client/types/create_metric_request_item.rb +0 -87
  470. data/lib/trophy_api_client/types/create_metric_request_item_unit_type.rb +0 -9
  471. data/lib/trophy_api_client/types/create_metrics_request.rb +0 -7
  472. data/lib/trophy_api_client/types/create_metrics_response.rb +0 -74
  473. data/lib/trophy_api_client/types/create_points_boost_request_item.rb +0 -125
  474. data/lib/trophy_api_client/types/create_points_boost_request_item_rounding.rb +0 -10
  475. data/lib/trophy_api_client/types/create_points_boost_request_item_user_attributes_item.rb +0 -67
  476. data/lib/trophy_api_client/types/create_points_boosts_request.rb +0 -7
  477. data/lib/trophy_api_client/types/create_points_boosts_response.rb +0 -75
  478. data/lib/trophy_api_client/types/create_points_level_request_item.rb +0 -103
  479. data/lib/trophy_api_client/types/create_points_level_request_item_badge.rb +0 -56
  480. data/lib/trophy_api_client/types/create_points_levels_request.rb +0 -7
  481. data/lib/trophy_api_client/types/create_points_levels_response.rb +0 -74
  482. data/lib/trophy_api_client/types/create_points_system_request_item.rb +0 -140
  483. data/lib/trophy_api_client/types/create_points_system_request_item_badge.rb +0 -55
  484. data/lib/trophy_api_client/types/create_points_systems_request.rb +0 -7
  485. data/lib/trophy_api_client/types/create_points_systems_response.rb +0 -74
  486. data/lib/trophy_api_client/types/create_points_trigger_request_item.rb +0 -167
  487. data/lib/trophy_api_client/types/create_points_trigger_request_item_event_attributes_item.rb +0 -67
  488. data/lib/trophy_api_client/types/create_points_trigger_request_item_status.rb +0 -9
  489. data/lib/trophy_api_client/types/create_points_trigger_request_item_time_unit.rb +0 -9
  490. data/lib/trophy_api_client/types/create_points_trigger_request_item_type.rb +0 -12
  491. data/lib/trophy_api_client/types/create_points_trigger_request_item_user_attributes_item.rb +0 -67
  492. data/lib/trophy_api_client/types/create_points_triggers_request.rb +0 -7
  493. data/lib/trophy_api_client/types/create_points_triggers_response.rb +0 -74
  494. data/lib/trophy_api_client/types/create_streak_freezes_response.rb +0 -60
  495. data/lib/trophy_api_client/types/create_tenant_request_item.rb +0 -66
  496. data/lib/trophy_api_client/types/create_tenants_request.rb +0 -7
  497. data/lib/trophy_api_client/types/create_tenants_response.rb +0 -74
  498. data/lib/trophy_api_client/types/created_admin_points_system.rb +0 -163
  499. data/lib/trophy_api_client/types/created_metric.rb +0 -88
  500. data/lib/trophy_api_client/types/created_metric_unit_type.rb +0 -9
  501. data/lib/trophy_api_client/types/delete_attributes_response.rb +0 -75
  502. data/lib/trophy_api_client/types/delete_leaderboards_response.rb +0 -75
  503. data/lib/trophy_api_client/types/delete_metrics_response.rb +0 -75
  504. data/lib/trophy_api_client/types/delete_points_boosts_response.rb +0 -74
  505. data/lib/trophy_api_client/types/delete_points_levels_response.rb +0 -74
  506. data/lib/trophy_api_client/types/delete_points_systems_response.rb +0 -74
  507. data/lib/trophy_api_client/types/delete_points_triggers_response.rb +0 -75
  508. data/lib/trophy_api_client/types/delete_tenants_response.rb +0 -74
  509. data/lib/trophy_api_client/types/deleted_resource.rb +0 -56
  510. data/lib/trophy_api_client/types/error_body.rb +0 -55
  511. data/lib/trophy_api_client/types/event_response.rb +0 -147
  512. data/lib/trophy_api_client/types/get_user_points_response.rb +0 -139
  513. data/lib/trophy_api_client/types/leaderboard_event.rb +0 -110
  514. data/lib/trophy_api_client/types/leaderboard_ranking.rb +0 -82
  515. data/lib/trophy_api_client/types/leaderboard_response.rb +0 -192
  516. data/lib/trophy_api_client/types/leaderboard_response_rank_by.rb +0 -10
  517. data/lib/trophy_api_client/types/leaderboard_response_run_unit.rb +0 -11
  518. data/lib/trophy_api_client/types/leaderboard_response_with_rankings.rb +0 -212
  519. data/lib/trophy_api_client/types/leaderboard_response_with_rankings_status.rb +0 -10
  520. data/lib/trophy_api_client/types/list_attributes_response.rb +0 -7
  521. data/lib/trophy_api_client/types/list_leaderboards_response.rb +0 -7
  522. data/lib/trophy_api_client/types/list_metrics_response.rb +0 -7
  523. data/lib/trophy_api_client/types/list_points_boosts_response.rb +0 -7
  524. data/lib/trophy_api_client/types/list_points_levels_response.rb +0 -7
  525. data/lib/trophy_api_client/types/list_points_systems_response.rb +0 -7
  526. data/lib/trophy_api_client/types/list_points_triggers_response.rb +0 -7
  527. data/lib/trophy_api_client/types/list_tenants_response.rb +0 -7
  528. data/lib/trophy_api_client/types/metric_event_leaderboard_response.rb +0 -245
  529. data/lib/trophy_api_client/types/metric_event_leaderboard_response_breakdown_attribute_values_item.rb +0 -67
  530. data/lib/trophy_api_client/types/metric_event_points_response.rb +0 -148
  531. data/lib/trophy_api_client/types/metric_event_streak_response.rb +0 -153
  532. data/lib/trophy_api_client/types/metric_response.rb +0 -90
  533. data/lib/trophy_api_client/types/notification_channel.rb +0 -9
  534. data/lib/trophy_api_client/types/notification_preferences.rb +0 -89
  535. data/lib/trophy_api_client/types/patch_points_boosts_request.rb +0 -7
  536. data/lib/trophy_api_client/types/patch_points_boosts_request_item.rb +0 -118
  537. data/lib/trophy_api_client/types/patch_points_boosts_request_item_rounding.rb +0 -10
  538. data/lib/trophy_api_client/types/patch_points_boosts_request_item_user_attributes_item.rb +0 -67
  539. data/lib/trophy_api_client/types/patch_points_boosts_response.rb +0 -74
  540. data/lib/trophy_api_client/types/patch_points_levels_request.rb +0 -7
  541. data/lib/trophy_api_client/types/patch_points_levels_request_item.rb +0 -100
  542. data/lib/trophy_api_client/types/patch_points_levels_request_item_badge.rb +0 -55
  543. data/lib/trophy_api_client/types/patch_points_levels_response.rb +0 -74
  544. data/lib/trophy_api_client/types/patch_points_triggers_request.rb +0 -7
  545. data/lib/trophy_api_client/types/patch_points_triggers_request_item.rb +0 -174
  546. data/lib/trophy_api_client/types/patch_points_triggers_request_item_event_attributes_item.rb +0 -67
  547. data/lib/trophy_api_client/types/patch_points_triggers_request_item_status.rb +0 -9
  548. data/lib/trophy_api_client/types/patch_points_triggers_request_item_time_unit.rb +0 -9
  549. data/lib/trophy_api_client/types/patch_points_triggers_request_item_type.rb +0 -13
  550. data/lib/trophy_api_client/types/patch_points_triggers_request_item_user_attributes_item.rb +0 -67
  551. data/lib/trophy_api_client/types/patch_points_triggers_response.rb +0 -74
  552. data/lib/trophy_api_client/types/points_award.rb +0 -113
  553. data/lib/trophy_api_client/types/points_boost.rb +0 -112
  554. data/lib/trophy_api_client/types/points_boost_rounding.rb +0 -10
  555. data/lib/trophy_api_client/types/points_boost_status.rb +0 -10
  556. data/lib/trophy_api_client/types/points_boost_webhook_payload.rb +0 -149
  557. data/lib/trophy_api_client/types/points_boost_webhook_payload_rounding.rb +0 -10
  558. data/lib/trophy_api_client/types/points_boost_webhook_payload_status.rb +0 -9
  559. data/lib/trophy_api_client/types/points_level.rb +0 -103
  560. data/lib/trophy_api_client/types/points_level_summary_response.rb +0 -7
  561. data/lib/trophy_api_client/types/points_level_summary_response_item.rb +0 -71
  562. data/lib/trophy_api_client/types/points_range.rb +0 -72
  563. data/lib/trophy_api_client/types/points_response.rb +0 -103
  564. data/lib/trophy_api_client/types/points_summary_response.rb +0 -7
  565. data/lib/trophy_api_client/types/points_system_response.rb +0 -107
  566. data/lib/trophy_api_client/types/points_trigger.rb +0 -227
  567. data/lib/trophy_api_client/types/points_trigger_event_attribute.rb +0 -67
  568. data/lib/trophy_api_client/types/points_trigger_event_attributes_item.rb +0 -65
  569. data/lib/trophy_api_client/types/points_trigger_status.rb +0 -10
  570. data/lib/trophy_api_client/types/points_trigger_time_unit.rb +0 -9
  571. data/lib/trophy_api_client/types/points_trigger_type.rb +0 -12
  572. data/lib/trophy_api_client/types/points_trigger_user_attributes_item.rb +0 -65
  573. data/lib/trophy_api_client/types/restore_streaks_response.rb +0 -70
  574. data/lib/trophy_api_client/types/streak_evaluation_mode_preference.rb +0 -11
  575. data/lib/trophy_api_client/types/streak_frequency.rb +0 -9
  576. data/lib/trophy_api_client/types/streak_metric_preference.rb +0 -66
  577. data/lib/trophy_api_client/types/streak_preferences.rb +0 -83
  578. data/lib/trophy_api_client/types/streak_response.rb +0 -170
  579. data/lib/trophy_api_client/types/streak_response_streak_history_item.rb +0 -89
  580. data/lib/trophy_api_client/types/update_attribute_request_item.rb +0 -69
  581. data/lib/trophy_api_client/types/update_attributes_request.rb +0 -7
  582. data/lib/trophy_api_client/types/update_attributes_response.rb +0 -75
  583. data/lib/trophy_api_client/types/update_leaderboard_request_item.rb +0 -179
  584. data/lib/trophy_api_client/types/update_leaderboard_request_item_rank_by.rb +0 -11
  585. data/lib/trophy_api_client/types/update_leaderboard_request_item_run_unit.rb +0 -9
  586. data/lib/trophy_api_client/types/update_leaderboard_request_item_status.rb +0 -12
  587. data/lib/trophy_api_client/types/update_leaderboards_request.rb +0 -7
  588. data/lib/trophy_api_client/types/update_leaderboards_response.rb +0 -75
  589. data/lib/trophy_api_client/types/update_metric_request_item.rb +0 -86
  590. data/lib/trophy_api_client/types/update_metric_request_item_unit_type.rb +0 -9
  591. data/lib/trophy_api_client/types/update_metrics_request.rb +0 -7
  592. data/lib/trophy_api_client/types/update_metrics_response.rb +0 -75
  593. data/lib/trophy_api_client/types/update_points_system_request_item.rb +0 -102
  594. data/lib/trophy_api_client/types/update_points_system_request_item_badge.rb +0 -55
  595. data/lib/trophy_api_client/types/update_points_systems_request.rb +0 -7
  596. data/lib/trophy_api_client/types/update_points_systems_response.rb +0 -74
  597. data/lib/trophy_api_client/types/update_tenant_request_item.rb +0 -75
  598. data/lib/trophy_api_client/types/update_tenants_request.rb +0 -7
  599. data/lib/trophy_api_client/types/update_tenants_response.rb +0 -74
  600. data/lib/trophy_api_client/types/updated_user.rb +0 -108
  601. data/lib/trophy_api_client/types/upserted_user.rb +0 -116
  602. data/lib/trophy_api_client/types/user.rb +0 -141
  603. data/lib/trophy_api_client/types/user_achievement_response.rb +0 -209
  604. data/lib/trophy_api_client/types/user_achievement_with_stats_response.rb +0 -225
  605. data/lib/trophy_api_client/types/user_leaderboard_response.rb +0 -212
  606. data/lib/trophy_api_client/types/user_leaderboard_response_with_history.rb +0 -224
  607. data/lib/trophy_api_client/types/user_preferences_response.rb +0 -80
  608. data/lib/trophy_api_client/types/webhook_user_leaderboard_response.rb +0 -228
  609. data/lib/trophy_api_client/types/webhooks_achievement_completed_payload.rb +0 -84
  610. data/lib/trophy_api_client/types/webhooks_leaderboard_changed_payload.rb +0 -71
  611. data/lib/trophy_api_client/types/webhooks_leaderboard_finished_payload.rb +0 -71
  612. data/lib/trophy_api_client/types/webhooks_leaderboard_rank_changed_payload.rb +0 -85
  613. data/lib/trophy_api_client/types/webhooks_leaderboard_started_payload.rb +0 -71
  614. data/lib/trophy_api_client/types/webhooks_points_boost_finished_payload.rb +0 -79
  615. data/lib/trophy_api_client/types/webhooks_points_boost_started_payload.rb +0 -79
  616. data/lib/trophy_api_client/types/webhooks_points_changed_payload.rb +0 -84
  617. data/lib/trophy_api_client/types/webhooks_points_level_changed_payload.rb +0 -117
  618. data/lib/trophy_api_client/types/webhooks_points_level_changed_payload_points.rb +0 -114
  619. data/lib/trophy_api_client/types/webhooks_streak_extended_payload.rb +0 -84
  620. data/lib/trophy_api_client/types/webhooks_streak_freeze_consumed_payload.rb +0 -85
  621. data/lib/trophy_api_client/types/webhooks_streak_freeze_earned_payload.rb +0 -85
  622. data/lib/trophy_api_client/types/webhooks_streak_lost_payload.rb +0 -78
  623. data/lib/trophy_api_client/types/webhooks_streak_started_payload.rb +0 -84
  624. data/lib/trophy_api_client/types/wrapped_activity.rb +0 -134
  625. data/lib/trophy_api_client/types/wrapped_activity_period.rb +0 -95
  626. data/lib/trophy_api_client/types/wrapped_entire_year.rb +0 -114
  627. data/lib/trophy_api_client/types/wrapped_metric.rb +0 -119
  628. data/lib/trophy_api_client/types/wrapped_metric_by_attribute_value_value.rb +0 -103
  629. data/lib/trophy_api_client/types/wrapped_most_active_day.rb +0 -108
  630. data/lib/trophy_api_client/types/wrapped_most_active_month.rb +0 -108
  631. data/lib/trophy_api_client/types/wrapped_most_active_week.rb +0 -116
  632. data/lib/trophy_api_client/types/wrapped_points.rb +0 -106
  633. data/lib/trophy_api_client/types/wrapped_response.rb +0 -79
  634. data/lib/trophy_api_client/types/wrapped_streak.rb +0 -96
  635. data/lib/trophy_api_client/users/client.rb +0 -1356
  636. data/lib/trophy_api_client/users/types/users_metric_event_summary_response_item.rb +0 -76
  637. data/lib/trophy_api_client/users/types/users_points_event_summary_response_item.rb +0 -76
  638. data/lib/trophy_api_client/version.rb +0 -3
  639. data/lib/types_export.rb +0 -221
@@ -0,0 +1,208 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Points
6
+ module Triggers
7
+ class Client
8
+ # @param client [Trophy::Internal::Http::RawClient]
9
+ # @param base_url [String, nil]
10
+ # @param environment [Hash[Symbol, String], nil]
11
+ #
12
+ # @return [void]
13
+ def initialize(client:, base_url: nil, environment: nil)
14
+ @client = client
15
+ @base_url = base_url
16
+ @environment = environment
17
+ end
18
+
19
+ # List points triggers for a system.
20
+ #
21
+ # @param request_options [Hash]
22
+ # @param params [Hash]
23
+ # @option request_options [String] :base_url
24
+ # @option request_options [Hash{String => Object}] :additional_headers
25
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
26
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
27
+ # @option request_options [Integer] :timeout_in_seconds
28
+ # @option params [String] :system_id
29
+ # @option params [Integer, nil] :limit
30
+ # @option params [Integer, nil] :skip
31
+ #
32
+ # @return [Array[Trophy::Types::AdminPointsTrigger]]
33
+ def list(request_options: {}, **params)
34
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
35
+ query_params = {}
36
+ query_params["limit"] = params[:limit] if params.key?(:limit)
37
+ query_params["skip"] = params[:skip] if params.key?(:skip)
38
+
39
+ request = Trophy::Internal::JSON::Request.new(
40
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
41
+ method: "GET",
42
+ path: "points/#{URI.encode_uri_component(params[:system_id].to_s)}/triggers",
43
+ query: query_params,
44
+ request_options: request_options
45
+ )
46
+ begin
47
+ response = @client.send(request)
48
+ rescue Net::HTTPRequestTimeout
49
+ raise Trophy::Errors::TimeoutError
50
+ end
51
+ code = response.code.to_i
52
+ if code.between?(200, 299)
53
+ Trophy::Types::ListPointsTriggersResponse.load(response.body)
54
+ else
55
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
56
+ raise error_class.new(response.body, code: code)
57
+ end
58
+ end
59
+
60
+ # Create points triggers in bulk.
61
+ #
62
+ # @param request_options [Hash]
63
+ # @param params [Trophy::Types::CreatePointsTriggersRequest]
64
+ # @option request_options [String] :base_url
65
+ # @option request_options [Hash{String => Object}] :additional_headers
66
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
67
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
68
+ # @option request_options [Integer] :timeout_in_seconds
69
+ # @option params [String] :system_id
70
+ #
71
+ # @return [Trophy::Types::CreatePointsTriggersResponse]
72
+ def create(request_options: {}, **params)
73
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
74
+ request = Trophy::Internal::JSON::Request.new(
75
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
76
+ method: "POST",
77
+ path: "points/#{URI.encode_uri_component(params[:system_id].to_s)}/triggers",
78
+ body: params,
79
+ request_options: request_options
80
+ )
81
+ begin
82
+ response = @client.send(request)
83
+ rescue Net::HTTPRequestTimeout
84
+ raise Trophy::Errors::TimeoutError
85
+ end
86
+ code = response.code.to_i
87
+ if code.between?(200, 299)
88
+ Trophy::Types::CreatePointsTriggersResponse.load(response.body)
89
+ else
90
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
91
+ raise error_class.new(response.body, code: code)
92
+ end
93
+ end
94
+
95
+ # Delete points triggers by ID. Maximum 100 trigger IDs per request.
96
+ #
97
+ # @param request_options [Hash]
98
+ # @param params [Hash]
99
+ # @option request_options [String] :base_url
100
+ # @option request_options [Hash{String => Object}] :additional_headers
101
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
102
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
103
+ # @option request_options [Integer] :timeout_in_seconds
104
+ # @option params [String] :system_id
105
+ # @option params [String, nil] :ids
106
+ #
107
+ # @return [Trophy::Types::DeletePointsTriggersResponse]
108
+ def delete(request_options: {}, **params)
109
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
110
+ query_params = {}
111
+ query_params["ids"] = params[:ids] if params.key?(:ids)
112
+
113
+ request = Trophy::Internal::JSON::Request.new(
114
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
115
+ method: "DELETE",
116
+ path: "points/#{URI.encode_uri_component(params[:system_id].to_s)}/triggers",
117
+ query: query_params,
118
+ request_options: request_options
119
+ )
120
+ begin
121
+ response = @client.send(request)
122
+ rescue Net::HTTPRequestTimeout
123
+ raise Trophy::Errors::TimeoutError
124
+ end
125
+ code = response.code.to_i
126
+ if code.between?(200, 299)
127
+ Trophy::Types::DeletePointsTriggersResponse.load(response.body)
128
+ else
129
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
130
+ raise error_class.new(response.body, code: code)
131
+ end
132
+ end
133
+
134
+ # Update points triggers in bulk. Maximum 100 triggers per request. Only provided fields are updated; omitted
135
+ # fields are preserved.
136
+ #
137
+ # @param request_options [Hash]
138
+ # @param params [Trophy::Types::PatchPointsTriggersRequest]
139
+ # @option request_options [String] :base_url
140
+ # @option request_options [Hash{String => Object}] :additional_headers
141
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
142
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
143
+ # @option request_options [Integer] :timeout_in_seconds
144
+ # @option params [String] :system_id
145
+ #
146
+ # @return [Trophy::Types::PatchPointsTriggersResponse]
147
+ def update(request_options: {}, **params)
148
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
149
+ request = Trophy::Internal::JSON::Request.new(
150
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
151
+ method: "PATCH",
152
+ path: "points/#{URI.encode_uri_component(params[:system_id].to_s)}/triggers",
153
+ body: params,
154
+ request_options: request_options
155
+ )
156
+ begin
157
+ response = @client.send(request)
158
+ rescue Net::HTTPRequestTimeout
159
+ raise Trophy::Errors::TimeoutError
160
+ end
161
+ code = response.code.to_i
162
+ if code.between?(200, 299)
163
+ Trophy::Types::PatchPointsTriggersResponse.load(response.body)
164
+ else
165
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
166
+ raise error_class.new(response.body, code: code)
167
+ end
168
+ end
169
+
170
+ # Get a single points trigger by ID.
171
+ #
172
+ # @param request_options [Hash]
173
+ # @param params [Hash]
174
+ # @option request_options [String] :base_url
175
+ # @option request_options [Hash{String => Object}] :additional_headers
176
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
177
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
178
+ # @option request_options [Integer] :timeout_in_seconds
179
+ # @option params [String] :system_id
180
+ # @option params [String] :id
181
+ #
182
+ # @return [Trophy::Types::AdminPointsTrigger]
183
+ def get(request_options: {}, **params)
184
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
185
+ request = Trophy::Internal::JSON::Request.new(
186
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
187
+ method: "GET",
188
+ path: "points/#{URI.encode_uri_component(params[:system_id].to_s)}/triggers/#{URI.encode_uri_component(params[:id].to_s)}",
189
+ request_options: request_options
190
+ )
191
+ begin
192
+ response = @client.send(request)
193
+ rescue Net::HTTPRequestTimeout
194
+ raise Trophy::Errors::TimeoutError
195
+ end
196
+ code = response.code.to_i
197
+ if code.between?(200, 299)
198
+ Trophy::Types::AdminPointsTrigger.load(response.body)
199
+ else
200
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
201
+ raise error_class.new(response.body, code: code)
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end
208
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Points
6
+ module Triggers
7
+ module Types
8
+ class TriggersDeleteRequest < Internal::Types::Model
9
+ field :system_id, -> { String }, optional: false, nullable: false, api_name: "systemId"
10
+
11
+ field :ids, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Points
6
+ module Triggers
7
+ module Types
8
+ class TriggersListRequest < Internal::Types::Model
9
+ field :system_id, -> { String }, optional: false, nullable: false, api_name: "systemId"
10
+
11
+ field :limit, -> { Integer }, optional: true, nullable: false
12
+
13
+ field :skip, -> { Integer }, optional: true, nullable: false
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Settings
6
+ class Client
7
+ # @param client [Trophy::Internal::Http::RawClient]
8
+ # @param base_url [String, nil]
9
+ # @param environment [Hash[Symbol, String], nil]
10
+ #
11
+ # @return [void]
12
+ def initialize(client:, base_url: nil, environment: nil)
13
+ @client = client
14
+ @base_url = base_url
15
+ @environment = environment
16
+ end
17
+
18
+ # Get branding, experimentation, and aggregation settings.
19
+ #
20
+ # @param request_options [Hash]
21
+ # @param _params [Hash]
22
+ # @option request_options [String] :base_url
23
+ # @option request_options [Hash{String => Object}] :additional_headers
24
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
25
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
26
+ # @option request_options [Integer] :timeout_in_seconds
27
+ #
28
+ # @return [Trophy::Types::AdminSettings]
29
+ def get(request_options: {}, **_params)
30
+ request = Trophy::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
32
+ method: "GET",
33
+ path: "settings",
34
+ request_options: request_options
35
+ )
36
+ begin
37
+ response = @client.send(request)
38
+ rescue Net::HTTPRequestTimeout
39
+ raise Trophy::Errors::TimeoutError
40
+ end
41
+ code = response.code.to_i
42
+ if code.between?(200, 299)
43
+ Trophy::Types::AdminSettings.load(response.body)
44
+ else
45
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
46
+ raise error_class.new(response.body, code: code)
47
+ end
48
+ end
49
+
50
+ # Update branding, experimentation, and aggregation settings.
51
+ #
52
+ # @param request_options [Hash]
53
+ # @param params [Trophy::Admin::Settings::Types::UpdateAdminSettingsRequest]
54
+ # @option request_options [String] :base_url
55
+ # @option request_options [Hash{String => Object}] :additional_headers
56
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
57
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
58
+ # @option request_options [Integer] :timeout_in_seconds
59
+ #
60
+ # @return [Trophy::Types::AdminSettings]
61
+ def update(request_options: {}, **params)
62
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
63
+ request = Trophy::Internal::JSON::Request.new(
64
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
65
+ method: "PATCH",
66
+ path: "settings",
67
+ body: Trophy::Admin::Settings::Types::UpdateAdminSettingsRequest.new(params).to_h,
68
+ request_options: request_options
69
+ )
70
+ begin
71
+ response = @client.send(request)
72
+ rescue Net::HTTPRequestTimeout
73
+ raise Trophy::Errors::TimeoutError
74
+ end
75
+ code = response.code.to_i
76
+ if code.between?(200, 299)
77
+ Trophy::Types::AdminSettings.load(response.body)
78
+ else
79
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
80
+ raise error_class.new(response.body, code: code)
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Settings
6
+ module Types
7
+ class UpdateAdminSettingsRequest < Internal::Types::Model
8
+ field :branding, -> { Trophy::Types::UpdateAdminSettingsBranding }, optional: true, nullable: false
9
+
10
+ field :experimentation, -> { Trophy::Types::UpdateAdminSettingsExperimentation }, optional: true, nullable: false
11
+
12
+ field :aggregation_period, -> { Trophy::Types::AdminAggregationPeriod }, optional: true, nullable: false, api_name: "aggregationPeriod"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ class Client
7
+ # @param client [Trophy::Internal::Http::RawClient]
8
+ # @param base_url [String, nil]
9
+ # @param environment [Hash[Symbol, String], nil]
10
+ #
11
+ # @return [void]
12
+ def initialize(client:, base_url: nil, environment: nil)
13
+ @client = client
14
+ @base_url = base_url
15
+ @environment = environment
16
+ end
17
+
18
+ # Restore streaks for multiple users to the maximum previously achieved streak length found within the current
19
+ # restore window: the last 90 days for daily streaks, weekly periods starting with the week containing the start
20
+ # of the current calendar year for weekly streaks, and monthly periods starting at the beginning of the previous
21
+ # calendar year for monthly streaks.
22
+ #
23
+ # @param request_options [Hash]
24
+ # @param params [Trophy::Admin::Streaks::Types::RestoreStreaksRequest]
25
+ # @option request_options [String] :base_url
26
+ # @option request_options [Hash{String => Object}] :additional_headers
27
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
28
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
29
+ # @option request_options [Integer] :timeout_in_seconds
30
+ #
31
+ # @return [Trophy::Types::RestoreStreaksResponse]
32
+ def restore(request_options: {}, **params)
33
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
34
+ request = Trophy::Internal::JSON::Request.new(
35
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
36
+ method: "POST",
37
+ path: "streaks/restore",
38
+ body: Trophy::Admin::Streaks::Types::RestoreStreaksRequest.new(params).to_h,
39
+ request_options: request_options
40
+ )
41
+ begin
42
+ response = @client.send(request)
43
+ rescue Net::HTTPRequestTimeout
44
+ raise Trophy::Errors::TimeoutError
45
+ end
46
+ code = response.code.to_i
47
+ if code.between?(200, 299)
48
+ Trophy::Types::RestoreStreaksResponse.load(response.body)
49
+ else
50
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
51
+ raise error_class.new(response.body, code: code)
52
+ end
53
+ end
54
+
55
+ # Reset the current streak to zero for multiple users.
56
+ #
57
+ # @param request_options [Hash]
58
+ # @param params [Trophy::Admin::Streaks::Types::ResetStreaksRequest]
59
+ # @option request_options [String] :base_url
60
+ # @option request_options [Hash{String => Object}] :additional_headers
61
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
62
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
63
+ # @option request_options [Integer] :timeout_in_seconds
64
+ #
65
+ # @return [Trophy::Types::ResetStreaksResponse]
66
+ def reset(request_options: {}, **params)
67
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
68
+ request = Trophy::Internal::JSON::Request.new(
69
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
70
+ method: "POST",
71
+ path: "streaks/reset",
72
+ body: Trophy::Admin::Streaks::Types::ResetStreaksRequest.new(params).to_h,
73
+ request_options: request_options
74
+ )
75
+ begin
76
+ response = @client.send(request)
77
+ rescue Net::HTTPRequestTimeout
78
+ raise Trophy::Errors::TimeoutError
79
+ end
80
+ code = response.code.to_i
81
+ if code.between?(200, 299)
82
+ Trophy::Types::ResetStreaksResponse.load(response.body)
83
+ else
84
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
85
+ raise error_class.new(response.body, code: code)
86
+ end
87
+ end
88
+
89
+ # @return [Trophy::Freezes::Client]
90
+ def freezes
91
+ @freezes ||= Trophy::Admin::Streaks::Freezes::Client.new(client: @client, base_url: @base_url, environment: @environment)
92
+ end
93
+
94
+ # @return [Trophy::Pauses::Client]
95
+ def pauses
96
+ @pauses ||= Trophy::Admin::Streaks::Pauses::Client.new(client: @client, base_url: @base_url, environment: @environment)
97
+ end
98
+
99
+ # @return [Trophy::Settings::Client]
100
+ def settings
101
+ @settings ||= Trophy::Admin::Streaks::Settings::Client.new(client: @client, base_url: @base_url, environment: @environment)
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ module Freezes
7
+ class Client
8
+ # @param client [Trophy::Internal::Http::RawClient]
9
+ # @param base_url [String, nil]
10
+ # @param environment [Hash[Symbol, String], nil]
11
+ #
12
+ # @return [void]
13
+ def initialize(client:, base_url: nil, environment: nil)
14
+ @client = client
15
+ @base_url = base_url
16
+ @environment = environment
17
+ end
18
+
19
+ # Create streak freezes for multiple users.
20
+ #
21
+ # @param request_options [Hash]
22
+ # @param params [Trophy::Admin::Streaks::Freezes::Types::CreateStreakFreezesRequest]
23
+ # @option request_options [String] :base_url
24
+ # @option request_options [Hash{String => Object}] :additional_headers
25
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
26
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
27
+ # @option request_options [Integer] :timeout_in_seconds
28
+ #
29
+ # @return [Trophy::Types::CreateStreakFreezesResponse]
30
+ def create(request_options: {}, **params)
31
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
32
+ request = Trophy::Internal::JSON::Request.new(
33
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
34
+ method: "POST",
35
+ path: "streaks/freezes",
36
+ body: Trophy::Admin::Streaks::Freezes::Types::CreateStreakFreezesRequest.new(params).to_h,
37
+ request_options: request_options
38
+ )
39
+ begin
40
+ response = @client.send(request)
41
+ rescue Net::HTTPRequestTimeout
42
+ raise Trophy::Errors::TimeoutError
43
+ end
44
+ code = response.code.to_i
45
+ if code.between?(200, 299)
46
+ Trophy::Types::CreateStreakFreezesResponse.load(response.body)
47
+ else
48
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
49
+ raise error_class.new(response.body, code: code)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ module Freezes
7
+ module Types
8
+ class CreateStreakFreezesRequest < Internal::Types::Model
9
+ field :freezes, -> { Internal::Types::Array[Trophy::Admin::Streaks::Freezes::Types::CreateStreakFreezesRequestFreezesItem] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ module Freezes
7
+ module Types
8
+ class CreateStreakFreezesRequestFreezesItem < Internal::Types::Model
9
+ field :user_id, -> { String }, optional: false, nullable: false, api_name: "userId"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ module Pauses
7
+ class Client
8
+ # @param client [Trophy::Internal::Http::RawClient]
9
+ # @param base_url [String, nil]
10
+ # @param environment [Hash[Symbol, String], nil]
11
+ #
12
+ # @return [void]
13
+ def initialize(client:, base_url: nil, environment: nil)
14
+ @client = client
15
+ @base_url = base_url
16
+ @environment = environment
17
+ end
18
+
19
+ # Create streak pauses for multiple users. A pause covers a specific date range and maintains the user's
20
+ # streak length during that range instead of ending the streak. Start dates in the past are rejected.
21
+ #
22
+ # @param request_options [Hash]
23
+ # @param params [Trophy::Admin::Streaks::Pauses::Types::CreateStreakPausesRequest]
24
+ # @option request_options [String] :base_url
25
+ # @option request_options [Hash{String => Object}] :additional_headers
26
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
27
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
28
+ # @option request_options [Integer] :timeout_in_seconds
29
+ #
30
+ # @return [Trophy::Types::CreateStreakPausesResponse]
31
+ def create(request_options: {}, **params)
32
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
33
+ request = Trophy::Internal::JSON::Request.new(
34
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
35
+ method: "POST",
36
+ path: "streaks/pauses",
37
+ body: Trophy::Admin::Streaks::Pauses::Types::CreateStreakPausesRequest.new(params).to_h,
38
+ request_options: request_options
39
+ )
40
+ begin
41
+ response = @client.send(request)
42
+ rescue Net::HTTPRequestTimeout
43
+ raise Trophy::Errors::TimeoutError
44
+ end
45
+ code = response.code.to_i
46
+ if code.between?(200, 299)
47
+ Trophy::Types::CreateStreakPausesResponse.load(response.body)
48
+ else
49
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
50
+ raise error_class.new(response.body, code: code)
51
+ end
52
+ end
53
+
54
+ # Delete streak pauses by ID.
55
+ #
56
+ # @param request_options [Hash]
57
+ # @param params [Hash]
58
+ # @option request_options [String] :base_url
59
+ # @option request_options [Hash{String => Object}] :additional_headers
60
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
61
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
62
+ # @option request_options [Integer] :timeout_in_seconds
63
+ # @option params [String, nil] :ids
64
+ #
65
+ # @return [Trophy::Types::DeleteStreakPausesResponse]
66
+ def delete(request_options: {}, **params)
67
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
68
+ query_params = {}
69
+ query_params["ids"] = params[:ids] if params.key?(:ids)
70
+
71
+ request = Trophy::Internal::JSON::Request.new(
72
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:admin),
73
+ method: "DELETE",
74
+ path: "streaks/pauses",
75
+ query: query_params,
76
+ request_options: request_options
77
+ )
78
+ begin
79
+ response = @client.send(request)
80
+ rescue Net::HTTPRequestTimeout
81
+ raise Trophy::Errors::TimeoutError
82
+ end
83
+ code = response.code.to_i
84
+ if code.between?(200, 299)
85
+ Trophy::Types::DeleteStreakPausesResponse.load(response.body)
86
+ else
87
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
88
+ raise error_class.new(response.body, code: code)
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ module Pauses
7
+ module Types
8
+ class CreateStreakPausesRequest < Internal::Types::Model
9
+ field :pauses, -> { Internal::Types::Array[Trophy::Admin::Streaks::Pauses::Types::CreateStreakPausesRequestPausesItem] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Admin
5
+ module Streaks
6
+ module Pauses
7
+ module Types
8
+ class CreateStreakPausesRequestPausesItem < Internal::Types::Model
9
+ field :user_id, -> { String }, optional: false, nullable: false, api_name: "userId"
10
+
11
+ field :start, -> { String }, optional: false, nullable: false
12
+
13
+ field :end_, -> { String }, optional: false, nullable: false, api_name: "end"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end