trophy_api_client 1.14.0 → 1.26.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 (635) 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 +47 -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 +40 -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_points_boost.rb +26 -0
  132. data/lib/trophy/types/admin_points_boost_rounding.rb +13 -0
  133. data/lib/{trophy_api_client/leaderboards/types/leaderboards_all_response_item_status.rb → trophy/types/admin_points_boost_status.rb} +5 -4
  134. data/lib/trophy/types/admin_points_boost_user_attributes_item.rb +11 -0
  135. data/lib/trophy/types/admin_points_level.rb +20 -0
  136. data/lib/trophy/types/admin_points_level_badge.rb +9 -0
  137. data/lib/trophy/types/admin_points_system.rb +22 -0
  138. data/lib/trophy/types/admin_points_system_badge.rb +9 -0
  139. data/lib/trophy/types/admin_points_system_status.rb +12 -0
  140. data/lib/trophy/types/admin_points_trigger.rb +34 -0
  141. data/lib/trophy/types/admin_points_trigger_event_attributes_item.rb +11 -0
  142. data/lib/trophy/types/admin_points_trigger_status.rb +12 -0
  143. data/lib/trophy/types/admin_points_trigger_time_unit.rb +12 -0
  144. data/lib/trophy/types/admin_points_trigger_type.rb +15 -0
  145. data/lib/trophy/types/admin_points_trigger_user_attributes_item.rb +11 -0
  146. data/lib/trophy/types/admin_settings.rb +14 -0
  147. data/lib/trophy/types/admin_settings_branding.rb +20 -0
  148. data/lib/trophy/types/admin_settings_branding_app_icon.rb +9 -0
  149. data/lib/trophy/types/admin_settings_branding_logo.rb +9 -0
  150. data/lib/trophy/types/admin_settings_experimentation.rb +12 -0
  151. data/lib/trophy/types/admin_streak_evaluation_mode.rb +12 -0
  152. data/lib/{trophy_api_client/users/types/users_points_event_summary_request_aggregation.rb → trophy/types/admin_streak_frequency.rb} +5 -3
  153. data/lib/trophy/types/admin_streak_pause.rb +18 -0
  154. data/lib/trophy/types/admin_streak_pause_status.rb +12 -0
  155. data/lib/trophy/types/admin_tenant.rb +20 -0
  156. data/lib/trophy/types/admin_tenant_status.rb +12 -0
  157. data/lib/trophy/types/base_streak_response.rb +27 -0
  158. data/lib/trophy/types/batch_events_response.rb +10 -0
  159. data/lib/trophy/types/batch_metric_event.rb +19 -0
  160. data/lib/trophy/types/batch_metric_event_user.rb +22 -0
  161. data/lib/trophy/types/bulk_streak_response.rb +23 -0
  162. data/lib/trophy/types/bulk_streak_response_item.rb +13 -0
  163. data/lib/trophy/types/create_achievement_request_item.rb +35 -0
  164. data/lib/trophy/types/create_achievement_request_item_badge.rb +10 -0
  165. data/lib/trophy/types/create_achievement_request_item_event_attributes_item.rb +11 -0
  166. data/lib/trophy/types/create_achievement_request_item_status.rb +13 -0
  167. data/lib/trophy/types/create_achievement_request_item_trigger.rb +15 -0
  168. data/lib/trophy/types/create_achievement_request_item_user_attributes_item.rb +11 -0
  169. data/lib/trophy/types/create_achievements_request.rb +23 -0
  170. data/lib/trophy/types/create_achievements_response.rb +12 -0
  171. data/lib/trophy/types/create_application_key_request_item.rb +10 -0
  172. data/lib/trophy/types/create_application_keys_request.rb +23 -0
  173. data/lib/trophy/types/create_application_keys_response.rb +12 -0
  174. data/lib/trophy/types/create_attribute_request_item.rb +14 -0
  175. data/lib/trophy/types/create_attribute_request_item_type.rb +12 -0
  176. data/lib/trophy/types/create_attributes_request.rb +23 -0
  177. data/lib/trophy/types/create_attributes_response.rb +12 -0
  178. data/lib/trophy/types/create_leaderboard_request_item.rb +38 -0
  179. data/lib/trophy/types/create_leaderboard_request_item_rank_by.rb +13 -0
  180. data/lib/trophy/types/create_leaderboard_request_item_run_unit.rb +13 -0
  181. data/lib/trophy/types/create_leaderboard_request_item_status.rb +14 -0
  182. data/lib/trophy/types/create_leaderboards_request.rb +23 -0
  183. data/lib/trophy/types/create_leaderboards_response.rb +12 -0
  184. data/lib/trophy/types/create_metric_request_item.rb +16 -0
  185. data/lib/trophy/types/create_metric_request_item_unit_type.rb +12 -0
  186. data/lib/trophy/types/create_metrics_request.rb +23 -0
  187. data/lib/trophy/types/create_metrics_response.rb +12 -0
  188. data/lib/trophy/types/create_points_boost_request_item.rb +23 -0
  189. data/lib/trophy/types/create_points_boost_request_item_rounding.rb +13 -0
  190. data/lib/trophy/types/create_points_boost_request_item_user_attributes_item.rb +11 -0
  191. data/lib/trophy/types/create_points_boosts_request.rb +23 -0
  192. data/lib/trophy/types/create_points_boosts_response.rb +12 -0
  193. data/lib/trophy/types/create_points_level_request_item.rb +18 -0
  194. data/lib/trophy/types/create_points_level_request_item_badge.rb +10 -0
  195. data/lib/trophy/types/create_points_levels_request.rb +23 -0
  196. data/lib/trophy/types/create_points_levels_response.rb +12 -0
  197. data/lib/trophy/types/create_points_system_request_item.rb +24 -0
  198. data/lib/trophy/types/create_points_system_request_item_badge.rb +9 -0
  199. data/lib/trophy/types/create_points_systems_request.rb +23 -0
  200. data/lib/trophy/types/create_points_systems_response.rb +12 -0
  201. data/lib/trophy/types/create_points_trigger_request_item.rb +32 -0
  202. data/lib/trophy/types/create_points_trigger_request_item_event_attributes_item.rb +11 -0
  203. data/lib/trophy/types/create_points_trigger_request_item_status.rb +12 -0
  204. data/lib/trophy/types/create_points_trigger_request_item_time_unit.rb +12 -0
  205. data/lib/trophy/types/create_points_trigger_request_item_type.rb +15 -0
  206. data/lib/trophy/types/create_points_trigger_request_item_user_attributes_item.rb +11 -0
  207. data/lib/trophy/types/create_points_triggers_request.rb +23 -0
  208. data/lib/trophy/types/create_points_triggers_response.rb +12 -0
  209. data/lib/trophy/types/create_streak_freezes_response.rb +10 -0
  210. data/lib/trophy/types/create_streak_pauses_response.rb +12 -0
  211. data/lib/trophy/types/create_tenant_request_item.rb +12 -0
  212. data/lib/trophy/types/create_tenants_request.rb +23 -0
  213. data/lib/trophy/types/create_tenants_response.rb +12 -0
  214. data/lib/trophy/types/created_admin_points_system.rb +29 -0
  215. data/lib/trophy/types/created_application_key.rb +16 -0
  216. data/lib/trophy/types/created_metric.rb +18 -0
  217. data/lib/trophy/types/created_metric_unit_type.rb +12 -0
  218. data/lib/trophy/types/delete_achievements_response.rb +13 -0
  219. data/lib/trophy/types/delete_application_keys_response.rb +12 -0
  220. data/lib/trophy/types/delete_attributes_response.rb +13 -0
  221. data/lib/trophy/types/delete_leaderboards_response.rb +12 -0
  222. data/lib/trophy/types/delete_metrics_response.rb +13 -0
  223. data/lib/trophy/types/delete_points_boosts_response.rb +12 -0
  224. data/lib/trophy/types/delete_points_levels_response.rb +12 -0
  225. data/lib/trophy/types/delete_points_systems_response.rb +12 -0
  226. data/lib/trophy/types/delete_points_triggers_response.rb +12 -0
  227. data/lib/trophy/types/delete_streak_pauses_response.rb +12 -0
  228. data/lib/trophy/types/delete_tenants_response.rb +12 -0
  229. data/lib/trophy/types/deleted_resource.rb +10 -0
  230. data/lib/trophy/types/error_body.rb +9 -0
  231. data/lib/trophy/types/event_response.rb +25 -0
  232. data/lib/trophy/types/get_user_points_response.rb +25 -0
  233. data/lib/trophy/types/leaderboard_event.rb +20 -0
  234. data/lib/trophy/types/leaderboard_ranking.rb +16 -0
  235. data/lib/trophy/types/leaderboard_response.rb +44 -0
  236. data/lib/trophy/types/leaderboard_response_rank_by.rb +13 -0
  237. data/lib/trophy/types/leaderboard_response_run_unit.rb +13 -0
  238. data/lib/trophy/types/leaderboard_response_with_rankings.rb +47 -0
  239. data/lib/trophy/types/leaderboard_response_with_rankings_status.rb +13 -0
  240. data/lib/trophy/types/list_achievements_response.rb +23 -0
  241. data/lib/trophy/types/list_attributes_response.rb +23 -0
  242. data/lib/trophy/types/list_environments_response.rb +23 -0
  243. data/lib/trophy/types/list_leaderboards_response.rb +23 -0
  244. data/lib/trophy/types/list_metrics_response.rb +23 -0
  245. data/lib/trophy/types/list_points_boosts_response.rb +23 -0
  246. data/lib/trophy/types/list_points_levels_response.rb +23 -0
  247. data/lib/trophy/types/list_points_systems_response.rb +23 -0
  248. data/lib/trophy/types/list_points_triggers_response.rb +23 -0
  249. data/lib/trophy/types/list_tenants_response.rb +23 -0
  250. data/lib/trophy/types/metric_event_leaderboard_response.rb +53 -0
  251. data/lib/trophy/types/metric_event_leaderboard_response_breakdown_attribute_values_item.rb +11 -0
  252. data/lib/trophy/types/metric_event_points_response.rb +28 -0
  253. data/lib/trophy/types/metric_event_streak_response.rb +30 -0
  254. data/lib/trophy/types/metric_response.rb +17 -0
  255. data/lib/trophy/types/notification_channel.rb +12 -0
  256. data/lib/trophy/types/notification_preferences.rb +16 -0
  257. data/lib/trophy/types/patch_points_boosts_request.rb +23 -0
  258. data/lib/trophy/types/patch_points_boosts_request_item.rb +21 -0
  259. data/lib/trophy/types/patch_points_boosts_request_item_rounding.rb +13 -0
  260. data/lib/trophy/types/patch_points_boosts_request_item_user_attributes_item.rb +11 -0
  261. data/lib/trophy/types/patch_points_boosts_response.rb +12 -0
  262. data/lib/trophy/types/patch_points_levels_request.rb +23 -0
  263. data/lib/trophy/types/patch_points_levels_request_item.rb +17 -0
  264. data/lib/trophy/types/patch_points_levels_request_item_badge.rb +9 -0
  265. data/lib/trophy/types/patch_points_levels_response.rb +12 -0
  266. data/lib/trophy/types/patch_points_triggers_request.rb +23 -0
  267. data/lib/trophy/types/patch_points_triggers_request_item.rb +33 -0
  268. data/lib/trophy/types/patch_points_triggers_request_item_event_attributes_item.rb +11 -0
  269. data/lib/trophy/types/patch_points_triggers_request_item_status.rb +12 -0
  270. data/lib/trophy/types/patch_points_triggers_request_item_time_unit.rb +12 -0
  271. data/lib/trophy/types/patch_points_triggers_request_item_type.rb +15 -0
  272. data/lib/trophy/types/patch_points_triggers_request_item_user_attributes_item.rb +11 -0
  273. data/lib/trophy/types/patch_points_triggers_response.rb +12 -0
  274. data/lib/trophy/types/points_award.rb +19 -0
  275. data/lib/trophy/types/points_boost.rb +21 -0
  276. data/lib/trophy/types/points_boost_rounding.rb +13 -0
  277. data/lib/trophy/types/points_boost_status.rb +13 -0
  278. data/lib/trophy/types/points_boost_webhook_payload.rb +30 -0
  279. data/lib/trophy/types/points_boost_webhook_payload_rounding.rb +13 -0
  280. data/lib/trophy/types/points_boost_webhook_payload_status.rb +12 -0
  281. data/lib/trophy/types/points_level.rb +20 -0
  282. data/lib/trophy/types/points_level_summary_response.rb +23 -0
  283. data/lib/trophy/types/points_level_summary_response_item.rb +11 -0
  284. data/lib/trophy/types/points_range.rb +13 -0
  285. data/lib/trophy/types/points_response.rb +20 -0
  286. data/lib/trophy/types/points_summary_response.rb +23 -0
  287. data/lib/trophy/types/points_system_response.rb +19 -0
  288. data/lib/trophy/types/points_trigger.rb +41 -0
  289. data/lib/trophy/types/points_trigger_event_attribute.rb +13 -0
  290. data/lib/trophy/types/points_trigger_event_attributes_item.rb +11 -0
  291. data/lib/trophy/types/points_trigger_status.rb +13 -0
  292. data/lib/trophy/types/points_trigger_time_unit.rb +12 -0
  293. data/lib/trophy/types/points_trigger_type.rb +15 -0
  294. data/lib/trophy/types/points_trigger_user_attributes_item.rb +11 -0
  295. data/lib/trophy/types/reset_streaks_response.rb +12 -0
  296. data/lib/trophy/types/restore_streaks_response.rb +12 -0
  297. data/lib/trophy/types/streak_evaluation_mode_preference.rb +12 -0
  298. data/lib/{trophy_api_client/users/types/users_metric_event_summary_request_aggregation.rb → trophy/types/streak_frequency.rb} +5 -3
  299. data/lib/trophy/types/streak_metric_preference.rb +12 -0
  300. data/lib/trophy/types/streak_preferences.rb +17 -0
  301. data/lib/trophy/types/streak_response.rb +34 -0
  302. data/lib/trophy/types/streak_response_pauses_item.rb +14 -0
  303. data/lib/trophy/types/streak_response_streak_history_item.rb +20 -0
  304. data/lib/trophy/types/streak_settings.rb +20 -0
  305. data/lib/trophy/types/streak_settings_freezes.rb +16 -0
  306. data/lib/trophy/types/streak_settings_metric.rb +12 -0
  307. data/lib/trophy/types/update_achievement_request_item.rb +37 -0
  308. data/lib/trophy/types/update_achievement_request_item_badge.rb +9 -0
  309. data/lib/trophy/types/update_achievement_request_item_event_attributes_item.rb +11 -0
  310. data/lib/trophy/types/update_achievement_request_item_status.rb +13 -0
  311. data/lib/trophy/types/update_achievement_request_item_trigger.rb +15 -0
  312. data/lib/trophy/types/update_achievement_request_item_user_attributes_item.rb +11 -0
  313. data/lib/trophy/types/update_achievements_request.rb +23 -0
  314. data/lib/trophy/types/update_achievements_response.rb +12 -0
  315. data/lib/trophy/types/update_admin_settings_branding.rb +20 -0
  316. data/lib/trophy/types/update_admin_settings_branding_app_icon.rb +9 -0
  317. data/lib/trophy/types/update_admin_settings_branding_logo.rb +9 -0
  318. data/lib/trophy/types/update_admin_settings_experimentation.rb +12 -0
  319. data/lib/trophy/types/update_attribute_request_item.rb +13 -0
  320. data/lib/trophy/types/update_attributes_request.rb +23 -0
  321. data/lib/trophy/types/update_attributes_response.rb +12 -0
  322. data/lib/trophy/types/update_leaderboard_request_item.rb +41 -0
  323. data/lib/trophy/types/update_leaderboard_request_item_rank_by.rb +13 -0
  324. data/lib/trophy/types/update_leaderboard_request_item_run_unit.rb +13 -0
  325. data/lib/trophy/types/update_leaderboard_request_item_status.rb +14 -0
  326. data/lib/trophy/types/update_leaderboards_request.rb +23 -0
  327. data/lib/trophy/types/update_leaderboards_response.rb +12 -0
  328. data/lib/trophy/types/update_metric_request_item.rb +17 -0
  329. data/lib/trophy/types/update_metric_request_item_unit_type.rb +12 -0
  330. data/lib/trophy/types/update_metrics_request.rb +23 -0
  331. data/lib/trophy/types/update_metrics_response.rb +12 -0
  332. data/lib/trophy/types/update_points_system_request_item.rb +18 -0
  333. data/lib/trophy/types/update_points_system_request_item_badge.rb +9 -0
  334. data/lib/trophy/types/update_points_systems_request.rb +23 -0
  335. data/lib/trophy/types/update_points_systems_response.rb +12 -0
  336. data/lib/trophy/types/update_streak_settings_freezes.rb +17 -0
  337. data/lib/trophy/types/update_tenant_request_item.rb +14 -0
  338. data/lib/trophy/types/update_tenants_request.rb +23 -0
  339. data/lib/trophy/types/update_tenants_response.rb +12 -0
  340. data/lib/trophy/types/updated_user.rb +22 -0
  341. data/lib/trophy/types/upserted_user.rb +24 -0
  342. data/lib/trophy/types/user.rb +30 -0
  343. data/lib/trophy/types/user_achievement_response.rb +39 -0
  344. data/lib/trophy/types/user_achievement_with_stats_response.rb +43 -0
  345. data/lib/trophy/types/user_leaderboard_response.rb +48 -0
  346. data/lib/trophy/types/user_leaderboard_response_with_history.rb +50 -0
  347. data/lib/trophy/types/user_preferences_response.rb +12 -0
  348. data/lib/trophy/types/webhook_user_leaderboard_response.rb +52 -0
  349. data/lib/trophy/types/webhooks_achievement_completed_payload.rb +13 -0
  350. data/lib/trophy/types/webhooks_emails_achievement_due_payload.rb +15 -0
  351. data/lib/trophy/types/webhooks_emails_reactivation_due_payload.rb +15 -0
  352. data/lib/trophy/types/webhooks_emails_reactivation_due_payload_reactivation.rb +12 -0
  353. data/lib/trophy/types/webhooks_emails_recap_due_payload.rb +15 -0
  354. data/lib/trophy/types/webhooks_emails_recap_due_payload_recap.rb +12 -0
  355. data/lib/trophy/types/webhooks_emails_streak_reminder_due_payload.rb +15 -0
  356. data/lib/trophy/types/webhooks_leaderboard_changed_payload.rb +11 -0
  357. data/lib/trophy/types/webhooks_leaderboard_finished_payload.rb +11 -0
  358. data/lib/trophy/types/webhooks_leaderboard_rank_changed_payload.rb +13 -0
  359. data/lib/trophy/types/webhooks_leaderboard_started_payload.rb +11 -0
  360. data/lib/trophy/types/webhooks_points_boost_finished_payload.rb +13 -0
  361. data/lib/trophy/types/webhooks_points_boost_started_payload.rb +13 -0
  362. data/lib/trophy/types/webhooks_points_changed_payload.rb +13 -0
  363. data/lib/trophy/types/webhooks_points_level_changed_payload.rb +17 -0
  364. data/lib/trophy/types/webhooks_points_level_changed_payload_points.rb +22 -0
  365. data/lib/trophy/types/webhooks_streak_extended_payload.rb +13 -0
  366. data/lib/trophy/types/webhooks_streak_freeze_consumed_payload.rb +15 -0
  367. data/lib/trophy/types/webhooks_streak_freeze_earned_payload.rb +15 -0
  368. data/lib/trophy/types/webhooks_streak_lost_payload.rb +13 -0
  369. data/lib/trophy/types/webhooks_streak_started_payload.rb +13 -0
  370. data/lib/trophy/types/wrapped_activity.rb +22 -0
  371. data/lib/trophy/types/wrapped_activity_period.rb +16 -0
  372. data/lib/trophy/types/wrapped_entire_year.rb +18 -0
  373. data/lib/trophy/types/wrapped_metric.rb +22 -0
  374. data/lib/trophy/types/wrapped_metric_by_attribute_value_value.rb +19 -0
  375. data/lib/trophy/types/wrapped_most_active_day.rb +18 -0
  376. data/lib/trophy/types/wrapped_most_active_month.rb +18 -0
  377. data/lib/trophy/types/wrapped_most_active_week.rb +20 -0
  378. data/lib/trophy/types/wrapped_points.rb +20 -0
  379. data/lib/trophy/types/wrapped_response.rb +13 -0
  380. data/lib/trophy/types/wrapped_streak.rb +18 -0
  381. data/lib/trophy/users/client.rb +612 -0
  382. data/lib/trophy/users/types/update_user_preferences_request.rb +15 -0
  383. data/lib/trophy/users/types/users_achievements_request.rb +13 -0
  384. data/lib/trophy/users/types/users_leaderboard_request.rb +17 -0
  385. data/lib/trophy/users/types/users_metric_event_summary_request.rb +19 -0
  386. data/lib/trophy/users/types/users_metric_event_summary_request_aggregation.rb +15 -0
  387. data/lib/trophy/users/types/users_metric_event_summary_response_item.rb +15 -0
  388. data/lib/trophy/users/types/users_points_event_summary_request.rb +19 -0
  389. data/lib/trophy/users/types/users_points_event_summary_request_aggregation.rb +15 -0
  390. data/lib/trophy/users/types/users_points_event_summary_response_item.rb +15 -0
  391. data/lib/trophy/users/types/users_points_request.rb +15 -0
  392. data/lib/trophy/users/types/users_streak_request.rb +13 -0
  393. data/lib/trophy/users/types/users_wrapped_request.rb +13 -0
  394. data/lib/trophy/version.rb +5 -0
  395. data/lib/trophy.rb +390 -0
  396. data/lib/trophy_api_client.rb +4 -101
  397. data/reference.md +6128 -0
  398. metadata +403 -333
  399. data/lib/requests.rb +0 -189
  400. data/lib/trophy_api_client/achievements/client.rb +0 -196
  401. data/lib/trophy_api_client/admin/attributes/client.rb +0 -378
  402. data/lib/trophy_api_client/admin/client.rb +0 -65
  403. data/lib/trophy_api_client/admin/leaderboards/client.rb +0 -381
  404. data/lib/trophy_api_client/admin/metrics/client.rb +0 -376
  405. data/lib/trophy_api_client/admin/points/boosts/client.rb +0 -410
  406. data/lib/trophy_api_client/admin/points/client.rb +0 -53
  407. data/lib/trophy_api_client/admin/points/levels/client.rb +0 -412
  408. data/lib/trophy_api_client/admin/points/systems/client.rb +0 -384
  409. data/lib/trophy_api_client/admin/points/triggers/client.rb +0 -412
  410. data/lib/trophy_api_client/admin/streaks/client.rb +0 -106
  411. data/lib/trophy_api_client/admin/streaks/freezes/client.rb +0 -100
  412. data/lib/trophy_api_client/admin/streaks/freezes/types/create_streak_freezes_request_freezes_item.rb +0 -62
  413. data/lib/trophy_api_client/admin/streaks/types/restore_streaks_request_users_item.rb +0 -59
  414. data/lib/trophy_api_client/admin/tenants/client.rb +0 -376
  415. data/lib/trophy_api_client/leaderboards/client.rb +0 -225
  416. data/lib/trophy_api_client/leaderboards/types/leaderboards_all_response_item.rb +0 -202
  417. data/lib/trophy_api_client/metrics/client.rb +0 -142
  418. data/lib/trophy_api_client/points/client.rb +0 -424
  419. data/lib/trophy_api_client/streaks/client.rb +0 -104
  420. data/lib/trophy_api_client/types/achievement_completion_response.rb +0 -83
  421. data/lib/trophy_api_client/types/achievement_response.rb +0 -198
  422. data/lib/trophy_api_client/types/achievement_response_event_attribute.rb +0 -67
  423. data/lib/trophy_api_client/types/achievement_response_event_attributes_item.rb +0 -66
  424. data/lib/trophy_api_client/types/achievement_response_trigger.rb +0 -11
  425. data/lib/trophy_api_client/types/achievement_response_user_attributes_item.rb +0 -66
  426. data/lib/trophy_api_client/types/achievement_with_stats_response.rb +0 -214
  427. data/lib/trophy_api_client/types/admin_attribute.rb +0 -81
  428. data/lib/trophy_api_client/types/admin_attribute_type.rb +0 -9
  429. data/lib/trophy_api_client/types/admin_issue.rb +0 -98
  430. data/lib/trophy_api_client/types/admin_issue_severity.rb +0 -9
  431. data/lib/trophy_api_client/types/admin_leaderboard.rb +0 -171
  432. data/lib/trophy_api_client/types/admin_leaderboard_rank_by.rb +0 -10
  433. data/lib/trophy_api_client/types/admin_leaderboard_run_unit.rb +0 -10
  434. data/lib/trophy_api_client/types/admin_leaderboard_status.rb +0 -11
  435. data/lib/trophy_api_client/types/admin_points_boost.rb +0 -138
  436. data/lib/trophy_api_client/types/admin_points_boost_rounding.rb +0 -10
  437. data/lib/trophy_api_client/types/admin_points_boost_status.rb +0 -10
  438. data/lib/trophy_api_client/types/admin_points_boost_user_attributes_item.rb +0 -65
  439. data/lib/trophy_api_client/types/admin_points_level.rb +0 -109
  440. data/lib/trophy_api_client/types/admin_points_level_badge.rb +0 -55
  441. data/lib/trophy_api_client/types/admin_points_system.rb +0 -118
  442. data/lib/trophy_api_client/types/admin_points_system_badge.rb +0 -55
  443. data/lib/trophy_api_client/types/admin_points_system_status.rb +0 -9
  444. data/lib/trophy_api_client/types/admin_points_trigger.rb +0 -175
  445. data/lib/trophy_api_client/types/admin_points_trigger_event_attributes_item.rb +0 -66
  446. data/lib/trophy_api_client/types/admin_points_trigger_status.rb +0 -9
  447. data/lib/trophy_api_client/types/admin_points_trigger_time_unit.rb +0 -9
  448. data/lib/trophy_api_client/types/admin_points_trigger_type.rb +0 -12
  449. data/lib/trophy_api_client/types/admin_points_trigger_user_attributes_item.rb +0 -65
  450. data/lib/trophy_api_client/types/admin_tenant.rb +0 -103
  451. data/lib/trophy_api_client/types/admin_tenant_status.rb +0 -9
  452. data/lib/trophy_api_client/types/base_streak_response.rb +0 -144
  453. data/lib/trophy_api_client/types/bulk_streak_response.rb +0 -7
  454. data/lib/trophy_api_client/types/bulk_streak_response_item.rb +0 -76
  455. data/lib/trophy_api_client/types/create_attribute_request_item.rb +0 -76
  456. data/lib/trophy_api_client/types/create_attribute_request_item_type.rb +0 -9
  457. data/lib/trophy_api_client/types/create_attributes_request.rb +0 -7
  458. data/lib/trophy_api_client/types/create_attributes_response.rb +0 -74
  459. data/lib/trophy_api_client/types/create_leaderboard_request_item.rb +0 -171
  460. data/lib/trophy_api_client/types/create_leaderboard_request_item_rank_by.rb +0 -10
  461. data/lib/trophy_api_client/types/create_leaderboard_request_item_run_unit.rb +0 -11
  462. data/lib/trophy_api_client/types/create_leaderboard_request_item_status.rb +0 -13
  463. data/lib/trophy_api_client/types/create_leaderboards_request.rb +0 -7
  464. data/lib/trophy_api_client/types/create_leaderboards_response.rb +0 -74
  465. data/lib/trophy_api_client/types/create_metric_request_item.rb +0 -87
  466. data/lib/trophy_api_client/types/create_metric_request_item_unit_type.rb +0 -9
  467. data/lib/trophy_api_client/types/create_metrics_request.rb +0 -7
  468. data/lib/trophy_api_client/types/create_metrics_response.rb +0 -74
  469. data/lib/trophy_api_client/types/create_points_boost_request_item.rb +0 -125
  470. data/lib/trophy_api_client/types/create_points_boost_request_item_rounding.rb +0 -10
  471. data/lib/trophy_api_client/types/create_points_boost_request_item_user_attributes_item.rb +0 -67
  472. data/lib/trophy_api_client/types/create_points_boosts_request.rb +0 -7
  473. data/lib/trophy_api_client/types/create_points_boosts_response.rb +0 -75
  474. data/lib/trophy_api_client/types/create_points_level_request_item.rb +0 -103
  475. data/lib/trophy_api_client/types/create_points_level_request_item_badge.rb +0 -56
  476. data/lib/trophy_api_client/types/create_points_levels_request.rb +0 -7
  477. data/lib/trophy_api_client/types/create_points_levels_response.rb +0 -74
  478. data/lib/trophy_api_client/types/create_points_system_request_item.rb +0 -140
  479. data/lib/trophy_api_client/types/create_points_system_request_item_badge.rb +0 -55
  480. data/lib/trophy_api_client/types/create_points_systems_request.rb +0 -7
  481. data/lib/trophy_api_client/types/create_points_systems_response.rb +0 -74
  482. data/lib/trophy_api_client/types/create_points_trigger_request_item.rb +0 -167
  483. data/lib/trophy_api_client/types/create_points_trigger_request_item_event_attributes_item.rb +0 -67
  484. data/lib/trophy_api_client/types/create_points_trigger_request_item_status.rb +0 -9
  485. data/lib/trophy_api_client/types/create_points_trigger_request_item_time_unit.rb +0 -9
  486. data/lib/trophy_api_client/types/create_points_trigger_request_item_type.rb +0 -12
  487. data/lib/trophy_api_client/types/create_points_trigger_request_item_user_attributes_item.rb +0 -67
  488. data/lib/trophy_api_client/types/create_points_triggers_request.rb +0 -7
  489. data/lib/trophy_api_client/types/create_points_triggers_response.rb +0 -74
  490. data/lib/trophy_api_client/types/create_streak_freezes_response.rb +0 -60
  491. data/lib/trophy_api_client/types/create_tenant_request_item.rb +0 -66
  492. data/lib/trophy_api_client/types/create_tenants_request.rb +0 -7
  493. data/lib/trophy_api_client/types/create_tenants_response.rb +0 -74
  494. data/lib/trophy_api_client/types/created_admin_points_system.rb +0 -163
  495. data/lib/trophy_api_client/types/created_metric.rb +0 -88
  496. data/lib/trophy_api_client/types/created_metric_unit_type.rb +0 -9
  497. data/lib/trophy_api_client/types/delete_attributes_response.rb +0 -75
  498. data/lib/trophy_api_client/types/delete_leaderboards_response.rb +0 -75
  499. data/lib/trophy_api_client/types/delete_metrics_response.rb +0 -75
  500. data/lib/trophy_api_client/types/delete_points_boosts_response.rb +0 -74
  501. data/lib/trophy_api_client/types/delete_points_levels_response.rb +0 -74
  502. data/lib/trophy_api_client/types/delete_points_systems_response.rb +0 -74
  503. data/lib/trophy_api_client/types/delete_points_triggers_response.rb +0 -75
  504. data/lib/trophy_api_client/types/delete_tenants_response.rb +0 -74
  505. data/lib/trophy_api_client/types/deleted_resource.rb +0 -56
  506. data/lib/trophy_api_client/types/error_body.rb +0 -55
  507. data/lib/trophy_api_client/types/event_response.rb +0 -147
  508. data/lib/trophy_api_client/types/get_user_points_response.rb +0 -139
  509. data/lib/trophy_api_client/types/leaderboard_event.rb +0 -110
  510. data/lib/trophy_api_client/types/leaderboard_ranking.rb +0 -82
  511. data/lib/trophy_api_client/types/leaderboard_response.rb +0 -192
  512. data/lib/trophy_api_client/types/leaderboard_response_rank_by.rb +0 -10
  513. data/lib/trophy_api_client/types/leaderboard_response_run_unit.rb +0 -11
  514. data/lib/trophy_api_client/types/leaderboard_response_with_rankings.rb +0 -212
  515. data/lib/trophy_api_client/types/leaderboard_response_with_rankings_status.rb +0 -10
  516. data/lib/trophy_api_client/types/list_attributes_response.rb +0 -7
  517. data/lib/trophy_api_client/types/list_leaderboards_response.rb +0 -7
  518. data/lib/trophy_api_client/types/list_metrics_response.rb +0 -7
  519. data/lib/trophy_api_client/types/list_points_boosts_response.rb +0 -7
  520. data/lib/trophy_api_client/types/list_points_levels_response.rb +0 -7
  521. data/lib/trophy_api_client/types/list_points_systems_response.rb +0 -7
  522. data/lib/trophy_api_client/types/list_points_triggers_response.rb +0 -7
  523. data/lib/trophy_api_client/types/list_tenants_response.rb +0 -7
  524. data/lib/trophy_api_client/types/metric_event_leaderboard_response.rb +0 -245
  525. data/lib/trophy_api_client/types/metric_event_leaderboard_response_breakdown_attribute_values_item.rb +0 -67
  526. data/lib/trophy_api_client/types/metric_event_points_response.rb +0 -148
  527. data/lib/trophy_api_client/types/metric_event_streak_response.rb +0 -153
  528. data/lib/trophy_api_client/types/metric_response.rb +0 -90
  529. data/lib/trophy_api_client/types/notification_channel.rb +0 -9
  530. data/lib/trophy_api_client/types/notification_preferences.rb +0 -89
  531. data/lib/trophy_api_client/types/patch_points_boosts_request.rb +0 -7
  532. data/lib/trophy_api_client/types/patch_points_boosts_request_item.rb +0 -118
  533. data/lib/trophy_api_client/types/patch_points_boosts_request_item_rounding.rb +0 -10
  534. data/lib/trophy_api_client/types/patch_points_boosts_request_item_user_attributes_item.rb +0 -67
  535. data/lib/trophy_api_client/types/patch_points_boosts_response.rb +0 -74
  536. data/lib/trophy_api_client/types/patch_points_levels_request.rb +0 -7
  537. data/lib/trophy_api_client/types/patch_points_levels_request_item.rb +0 -100
  538. data/lib/trophy_api_client/types/patch_points_levels_request_item_badge.rb +0 -55
  539. data/lib/trophy_api_client/types/patch_points_levels_response.rb +0 -74
  540. data/lib/trophy_api_client/types/patch_points_triggers_request.rb +0 -7
  541. data/lib/trophy_api_client/types/patch_points_triggers_request_item.rb +0 -174
  542. data/lib/trophy_api_client/types/patch_points_triggers_request_item_event_attributes_item.rb +0 -67
  543. data/lib/trophy_api_client/types/patch_points_triggers_request_item_status.rb +0 -9
  544. data/lib/trophy_api_client/types/patch_points_triggers_request_item_time_unit.rb +0 -9
  545. data/lib/trophy_api_client/types/patch_points_triggers_request_item_type.rb +0 -13
  546. data/lib/trophy_api_client/types/patch_points_triggers_request_item_user_attributes_item.rb +0 -67
  547. data/lib/trophy_api_client/types/patch_points_triggers_response.rb +0 -74
  548. data/lib/trophy_api_client/types/points_award.rb +0 -113
  549. data/lib/trophy_api_client/types/points_boost.rb +0 -112
  550. data/lib/trophy_api_client/types/points_boost_rounding.rb +0 -10
  551. data/lib/trophy_api_client/types/points_boost_status.rb +0 -10
  552. data/lib/trophy_api_client/types/points_boost_webhook_payload.rb +0 -149
  553. data/lib/trophy_api_client/types/points_boost_webhook_payload_rounding.rb +0 -10
  554. data/lib/trophy_api_client/types/points_boost_webhook_payload_status.rb +0 -9
  555. data/lib/trophy_api_client/types/points_level.rb +0 -103
  556. data/lib/trophy_api_client/types/points_level_summary_response.rb +0 -7
  557. data/lib/trophy_api_client/types/points_level_summary_response_item.rb +0 -71
  558. data/lib/trophy_api_client/types/points_range.rb +0 -72
  559. data/lib/trophy_api_client/types/points_response.rb +0 -103
  560. data/lib/trophy_api_client/types/points_summary_response.rb +0 -7
  561. data/lib/trophy_api_client/types/points_system_response.rb +0 -107
  562. data/lib/trophy_api_client/types/points_trigger.rb +0 -227
  563. data/lib/trophy_api_client/types/points_trigger_event_attribute.rb +0 -67
  564. data/lib/trophy_api_client/types/points_trigger_event_attributes_item.rb +0 -65
  565. data/lib/trophy_api_client/types/points_trigger_status.rb +0 -10
  566. data/lib/trophy_api_client/types/points_trigger_time_unit.rb +0 -9
  567. data/lib/trophy_api_client/types/points_trigger_type.rb +0 -12
  568. data/lib/trophy_api_client/types/points_trigger_user_attributes_item.rb +0 -65
  569. data/lib/trophy_api_client/types/restore_streaks_response.rb +0 -70
  570. data/lib/trophy_api_client/types/streak_evaluation_mode_preference.rb +0 -11
  571. data/lib/trophy_api_client/types/streak_frequency.rb +0 -9
  572. data/lib/trophy_api_client/types/streak_metric_preference.rb +0 -66
  573. data/lib/trophy_api_client/types/streak_preferences.rb +0 -83
  574. data/lib/trophy_api_client/types/streak_response.rb +0 -170
  575. data/lib/trophy_api_client/types/streak_response_streak_history_item.rb +0 -89
  576. data/lib/trophy_api_client/types/update_attribute_request_item.rb +0 -69
  577. data/lib/trophy_api_client/types/update_attributes_request.rb +0 -7
  578. data/lib/trophy_api_client/types/update_attributes_response.rb +0 -75
  579. data/lib/trophy_api_client/types/update_leaderboard_request_item.rb +0 -179
  580. data/lib/trophy_api_client/types/update_leaderboard_request_item_rank_by.rb +0 -11
  581. data/lib/trophy_api_client/types/update_leaderboard_request_item_run_unit.rb +0 -9
  582. data/lib/trophy_api_client/types/update_leaderboard_request_item_status.rb +0 -12
  583. data/lib/trophy_api_client/types/update_leaderboards_request.rb +0 -7
  584. data/lib/trophy_api_client/types/update_leaderboards_response.rb +0 -75
  585. data/lib/trophy_api_client/types/update_metric_request_item.rb +0 -86
  586. data/lib/trophy_api_client/types/update_metric_request_item_unit_type.rb +0 -9
  587. data/lib/trophy_api_client/types/update_metrics_request.rb +0 -7
  588. data/lib/trophy_api_client/types/update_metrics_response.rb +0 -75
  589. data/lib/trophy_api_client/types/update_points_system_request_item.rb +0 -102
  590. data/lib/trophy_api_client/types/update_points_system_request_item_badge.rb +0 -55
  591. data/lib/trophy_api_client/types/update_points_systems_request.rb +0 -7
  592. data/lib/trophy_api_client/types/update_points_systems_response.rb +0 -74
  593. data/lib/trophy_api_client/types/update_tenant_request_item.rb +0 -75
  594. data/lib/trophy_api_client/types/update_tenants_request.rb +0 -7
  595. data/lib/trophy_api_client/types/update_tenants_response.rb +0 -74
  596. data/lib/trophy_api_client/types/updated_user.rb +0 -108
  597. data/lib/trophy_api_client/types/upserted_user.rb +0 -116
  598. data/lib/trophy_api_client/types/user.rb +0 -141
  599. data/lib/trophy_api_client/types/user_achievement_response.rb +0 -209
  600. data/lib/trophy_api_client/types/user_achievement_with_stats_response.rb +0 -225
  601. data/lib/trophy_api_client/types/user_leaderboard_response.rb +0 -212
  602. data/lib/trophy_api_client/types/user_leaderboard_response_with_history.rb +0 -224
  603. data/lib/trophy_api_client/types/user_preferences_response.rb +0 -80
  604. data/lib/trophy_api_client/types/webhook_user_leaderboard_response.rb +0 -228
  605. data/lib/trophy_api_client/types/webhooks_achievement_completed_payload.rb +0 -84
  606. data/lib/trophy_api_client/types/webhooks_leaderboard_changed_payload.rb +0 -71
  607. data/lib/trophy_api_client/types/webhooks_leaderboard_finished_payload.rb +0 -71
  608. data/lib/trophy_api_client/types/webhooks_leaderboard_rank_changed_payload.rb +0 -85
  609. data/lib/trophy_api_client/types/webhooks_leaderboard_started_payload.rb +0 -71
  610. data/lib/trophy_api_client/types/webhooks_points_boost_finished_payload.rb +0 -79
  611. data/lib/trophy_api_client/types/webhooks_points_boost_started_payload.rb +0 -79
  612. data/lib/trophy_api_client/types/webhooks_points_changed_payload.rb +0 -84
  613. data/lib/trophy_api_client/types/webhooks_points_level_changed_payload.rb +0 -117
  614. data/lib/trophy_api_client/types/webhooks_points_level_changed_payload_points.rb +0 -114
  615. data/lib/trophy_api_client/types/webhooks_streak_extended_payload.rb +0 -84
  616. data/lib/trophy_api_client/types/webhooks_streak_freeze_consumed_payload.rb +0 -85
  617. data/lib/trophy_api_client/types/webhooks_streak_freeze_earned_payload.rb +0 -85
  618. data/lib/trophy_api_client/types/webhooks_streak_lost_payload.rb +0 -78
  619. data/lib/trophy_api_client/types/webhooks_streak_started_payload.rb +0 -84
  620. data/lib/trophy_api_client/types/wrapped_activity.rb +0 -134
  621. data/lib/trophy_api_client/types/wrapped_activity_period.rb +0 -95
  622. data/lib/trophy_api_client/types/wrapped_entire_year.rb +0 -114
  623. data/lib/trophy_api_client/types/wrapped_metric.rb +0 -119
  624. data/lib/trophy_api_client/types/wrapped_metric_by_attribute_value_value.rb +0 -103
  625. data/lib/trophy_api_client/types/wrapped_most_active_day.rb +0 -108
  626. data/lib/trophy_api_client/types/wrapped_most_active_month.rb +0 -108
  627. data/lib/trophy_api_client/types/wrapped_most_active_week.rb +0 -116
  628. data/lib/trophy_api_client/types/wrapped_points.rb +0 -106
  629. data/lib/trophy_api_client/types/wrapped_response.rb +0 -79
  630. data/lib/trophy_api_client/types/wrapped_streak.rb +0 -96
  631. data/lib/trophy_api_client/users/client.rb +0 -1356
  632. data/lib/trophy_api_client/users/types/users_metric_event_summary_response_item.rb +0 -76
  633. data/lib/trophy_api_client/users/types/users_points_event_summary_response_item.rb +0 -76
  634. data/lib/trophy_api_client/version.rb +0 -3
  635. data/lib/types_export.rb +0 -221
@@ -0,0 +1,612 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Users
5
+ class Client
6
+ # @param client [Trophy::Internal::Http::RawClient]
7
+ # @param base_url [String, nil]
8
+ # @param environment [Hash[Symbol, String], nil]
9
+ #
10
+ # @return [void]
11
+ def initialize(client:, base_url: nil, environment: nil)
12
+ @client = client
13
+ @base_url = base_url
14
+ @environment = environment
15
+ end
16
+
17
+ # Create a new user.
18
+ #
19
+ # @param request_options [Hash]
20
+ # @param params [Trophy::Types::UpsertedUser]
21
+ # @option request_options [String] :base_url
22
+ # @option request_options [Hash{String => Object}] :additional_headers
23
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
24
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
25
+ # @option request_options [Integer] :timeout_in_seconds
26
+ #
27
+ # @return [Trophy::Types::User]
28
+ def create(request_options: {}, **params)
29
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
30
+ request = Trophy::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
32
+ method: "POST",
33
+ path: "users",
34
+ body: Trophy::Types::UpsertedUser.new(params).to_h,
35
+ request_options: request_options
36
+ )
37
+ begin
38
+ response = @client.send(request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Trophy::Errors::TimeoutError
41
+ end
42
+ code = response.code.to_i
43
+ if code.between?(200, 299)
44
+ Trophy::Types::User.load(response.body)
45
+ else
46
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(response.body, code: code)
48
+ end
49
+ end
50
+
51
+ # Get a single user.
52
+ #
53
+ # @param request_options [Hash]
54
+ # @param params [Hash]
55
+ # @option request_options [String] :base_url
56
+ # @option request_options [Hash{String => Object}] :additional_headers
57
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
58
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
59
+ # @option request_options [Integer] :timeout_in_seconds
60
+ # @option params [String] :id
61
+ #
62
+ # @return [Trophy::Types::User]
63
+ def get(request_options: {}, **params)
64
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
65
+ request = Trophy::Internal::JSON::Request.new(
66
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
67
+ method: "GET",
68
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}",
69
+ request_options: request_options
70
+ )
71
+ begin
72
+ response = @client.send(request)
73
+ rescue Net::HTTPRequestTimeout
74
+ raise Trophy::Errors::TimeoutError
75
+ end
76
+ code = response.code.to_i
77
+ if code.between?(200, 299)
78
+ Trophy::Types::User.load(response.body)
79
+ else
80
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
81
+ raise error_class.new(response.body, code: code)
82
+ end
83
+ end
84
+
85
+ # Identify a user.
86
+ #
87
+ # @param request_options [Hash]
88
+ # @param params [Trophy::Types::UpdatedUser]
89
+ # @option request_options [String] :base_url
90
+ # @option request_options [Hash{String => Object}] :additional_headers
91
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
92
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
93
+ # @option request_options [Integer] :timeout_in_seconds
94
+ # @option params [String] :id
95
+ #
96
+ # @return [Trophy::Types::User]
97
+ def identify(request_options: {}, **params)
98
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
99
+ request = Trophy::Internal::JSON::Request.new(
100
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
101
+ method: "PUT",
102
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}",
103
+ body: Trophy::Types::UpdatedUser.new(params).to_h,
104
+ request_options: request_options
105
+ )
106
+ begin
107
+ response = @client.send(request)
108
+ rescue Net::HTTPRequestTimeout
109
+ raise Trophy::Errors::TimeoutError
110
+ end
111
+ code = response.code.to_i
112
+ if code.between?(200, 299)
113
+ Trophy::Types::User.load(response.body)
114
+ else
115
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
116
+ raise error_class.new(response.body, code: code)
117
+ end
118
+ end
119
+
120
+ # Update a user.
121
+ #
122
+ # @param request_options [Hash]
123
+ # @param params [Trophy::Types::UpdatedUser]
124
+ # @option request_options [String] :base_url
125
+ # @option request_options [Hash{String => Object}] :additional_headers
126
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
127
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
128
+ # @option request_options [Integer] :timeout_in_seconds
129
+ # @option params [String] :id
130
+ #
131
+ # @return [Trophy::Types::User]
132
+ def update(request_options: {}, **params)
133
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
134
+ request = Trophy::Internal::JSON::Request.new(
135
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
136
+ method: "PATCH",
137
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}",
138
+ body: Trophy::Types::UpdatedUser.new(params).to_h,
139
+ request_options: request_options
140
+ )
141
+ begin
142
+ response = @client.send(request)
143
+ rescue Net::HTTPRequestTimeout
144
+ raise Trophy::Errors::TimeoutError
145
+ end
146
+ code = response.code.to_i
147
+ if code.between?(200, 299)
148
+ Trophy::Types::User.load(response.body)
149
+ else
150
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
151
+ raise error_class.new(response.body, code: code)
152
+ end
153
+ end
154
+
155
+ # Get a user's notification preferences.
156
+ #
157
+ # @param request_options [Hash]
158
+ # @param params [Hash]
159
+ # @option request_options [String] :base_url
160
+ # @option request_options [Hash{String => Object}] :additional_headers
161
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
162
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
163
+ # @option request_options [Integer] :timeout_in_seconds
164
+ # @option params [String] :id
165
+ #
166
+ # @return [Trophy::Types::UserPreferencesResponse]
167
+ def get_preferences(request_options: {}, **params)
168
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
169
+ request = Trophy::Internal::JSON::Request.new(
170
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
171
+ method: "GET",
172
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/preferences",
173
+ request_options: request_options
174
+ )
175
+ begin
176
+ response = @client.send(request)
177
+ rescue Net::HTTPRequestTimeout
178
+ raise Trophy::Errors::TimeoutError
179
+ end
180
+ code = response.code.to_i
181
+ if code.between?(200, 299)
182
+ Trophy::Types::UserPreferencesResponse.load(response.body)
183
+ else
184
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
185
+ raise error_class.new(response.body, code: code)
186
+ end
187
+ end
188
+
189
+ # Update a user's notification and streak preferences. Streak preferences other than `streak.enabled` require
190
+ # streak customization to be enabled in your Trophy dashboard settings.
191
+ #
192
+ # @param request_options [Hash]
193
+ # @param params [Trophy::Users::Types::UpdateUserPreferencesRequest]
194
+ # @option request_options [String] :base_url
195
+ # @option request_options [Hash{String => Object}] :additional_headers
196
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
197
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
198
+ # @option request_options [Integer] :timeout_in_seconds
199
+ # @option params [String] :id
200
+ #
201
+ # @return [Trophy::Types::UserPreferencesResponse]
202
+ def update_preferences(request_options: {}, **params)
203
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
204
+ request_data = Trophy::Users::Types::UpdateUserPreferencesRequest.new(params).to_h
205
+ non_body_param_names = %w[id]
206
+ body = request_data.except(*non_body_param_names)
207
+
208
+ request = Trophy::Internal::JSON::Request.new(
209
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
210
+ method: "PATCH",
211
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/preferences",
212
+ body: body,
213
+ request_options: request_options
214
+ )
215
+ begin
216
+ response = @client.send(request)
217
+ rescue Net::HTTPRequestTimeout
218
+ raise Trophy::Errors::TimeoutError
219
+ end
220
+ code = response.code.to_i
221
+ if code.between?(200, 299)
222
+ Trophy::Types::UserPreferencesResponse.load(response.body)
223
+ else
224
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
225
+ raise error_class.new(response.body, code: code)
226
+ end
227
+ end
228
+
229
+ # Get a single user's progress against all active metrics.
230
+ #
231
+ # @param request_options [Hash]
232
+ # @param params [Hash]
233
+ # @option request_options [String] :base_url
234
+ # @option request_options [Hash{String => Object}] :additional_headers
235
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
236
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
237
+ # @option request_options [Integer] :timeout_in_seconds
238
+ # @option params [String] :id
239
+ #
240
+ # @return [Array[Trophy::Types::MetricResponse]]
241
+ def all_metrics(request_options: {}, **params)
242
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
243
+ request = Trophy::Internal::JSON::Request.new(
244
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
245
+ method: "GET",
246
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/metrics",
247
+ request_options: request_options
248
+ )
249
+ begin
250
+ response = @client.send(request)
251
+ rescue Net::HTTPRequestTimeout
252
+ raise Trophy::Errors::TimeoutError
253
+ end
254
+ code = response.code.to_i
255
+ return if code.between?(200, 299)
256
+
257
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
258
+ raise error_class.new(response.body, code: code)
259
+ end
260
+
261
+ # Get a user's progress against a single active metric.
262
+ #
263
+ # @param request_options [Hash]
264
+ # @param params [Hash]
265
+ # @option request_options [String] :base_url
266
+ # @option request_options [Hash{String => Object}] :additional_headers
267
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
268
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
269
+ # @option request_options [Integer] :timeout_in_seconds
270
+ # @option params [String] :id
271
+ # @option params [String] :key
272
+ #
273
+ # @return [Trophy::Types::MetricResponse]
274
+ def single_metric(request_options: {}, **params)
275
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
276
+ request = Trophy::Internal::JSON::Request.new(
277
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
278
+ method: "GET",
279
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/metrics/#{URI.encode_uri_component(params[:key].to_s)}",
280
+ request_options: request_options
281
+ )
282
+ begin
283
+ response = @client.send(request)
284
+ rescue Net::HTTPRequestTimeout
285
+ raise Trophy::Errors::TimeoutError
286
+ end
287
+ code = response.code.to_i
288
+ if code.between?(200, 299)
289
+ Trophy::Types::MetricResponse.load(response.body)
290
+ else
291
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
292
+ raise error_class.new(response.body, code: code)
293
+ end
294
+ end
295
+
296
+ # Get a summary of metric events over time for a user.
297
+ #
298
+ # @param request_options [Hash]
299
+ # @param params [Hash]
300
+ # @option request_options [String] :base_url
301
+ # @option request_options [Hash{String => Object}] :additional_headers
302
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
303
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
304
+ # @option request_options [Integer] :timeout_in_seconds
305
+ # @option params [String] :id
306
+ # @option params [String] :key
307
+ # @option params [Trophy::Users::Types::UsersMetricEventSummaryRequestAggregation] :aggregation
308
+ # @option params [String] :start_date
309
+ # @option params [String] :end_date
310
+ #
311
+ # @return [Array[Trophy::Users::Types::UsersMetricEventSummaryResponseItem]]
312
+ def metric_event_summary(request_options: {}, **params)
313
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
314
+ query_params = {}
315
+ query_params["aggregation"] = params[:aggregation] if params.key?(:aggregation)
316
+ query_params["startDate"] = params[:start_date] if params.key?(:start_date)
317
+ query_params["endDate"] = params[:end_date] if params.key?(:end_date)
318
+
319
+ request = Trophy::Internal::JSON::Request.new(
320
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
321
+ method: "GET",
322
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/metrics/#{URI.encode_uri_component(params[:key].to_s)}/event-summary",
323
+ query: query_params,
324
+ request_options: request_options
325
+ )
326
+ begin
327
+ response = @client.send(request)
328
+ rescue Net::HTTPRequestTimeout
329
+ raise Trophy::Errors::TimeoutError
330
+ end
331
+ code = response.code.to_i
332
+ return if code.between?(200, 299)
333
+
334
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
335
+ raise error_class.new(response.body, code: code)
336
+ end
337
+
338
+ # Get a user's achievements.
339
+ #
340
+ # @param request_options [Hash]
341
+ # @param params [Hash]
342
+ # @option request_options [String] :base_url
343
+ # @option request_options [Hash{String => Object}] :additional_headers
344
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
345
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
346
+ # @option request_options [Integer] :timeout_in_seconds
347
+ # @option params [String] :id
348
+ # @option params [String, nil] :include_incomplete
349
+ #
350
+ # @return [Array[Trophy::Types::UserAchievementWithStatsResponse]]
351
+ def achievements(request_options: {}, **params)
352
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
353
+ query_params = {}
354
+ query_params["includeIncomplete"] = params[:include_incomplete] if params.key?(:include_incomplete)
355
+
356
+ request = Trophy::Internal::JSON::Request.new(
357
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
358
+ method: "GET",
359
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/achievements",
360
+ query: query_params,
361
+ request_options: request_options
362
+ )
363
+ begin
364
+ response = @client.send(request)
365
+ rescue Net::HTTPRequestTimeout
366
+ raise Trophy::Errors::TimeoutError
367
+ end
368
+ code = response.code.to_i
369
+ return if code.between?(200, 299)
370
+
371
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
372
+ raise error_class.new(response.body, code: code)
373
+ end
374
+
375
+ # Get a user's streak data.
376
+ #
377
+ # @param request_options [Hash]
378
+ # @param params [Hash]
379
+ # @option request_options [String] :base_url
380
+ # @option request_options [Hash{String => Object}] :additional_headers
381
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
382
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
383
+ # @option request_options [Integer] :timeout_in_seconds
384
+ # @option params [String] :id
385
+ # @option params [Integer, nil] :history_periods
386
+ #
387
+ # @return [Trophy::Types::StreakResponse]
388
+ def streak(request_options: {}, **params)
389
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
390
+ query_params = {}
391
+ query_params["historyPeriods"] = params[:history_periods] if params.key?(:history_periods)
392
+
393
+ request = Trophy::Internal::JSON::Request.new(
394
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
395
+ method: "GET",
396
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/streak",
397
+ query: query_params,
398
+ request_options: request_options
399
+ )
400
+ begin
401
+ response = @client.send(request)
402
+ rescue Net::HTTPRequestTimeout
403
+ raise Trophy::Errors::TimeoutError
404
+ end
405
+ code = response.code.to_i
406
+ if code.between?(200, 299)
407
+ Trophy::Types::StreakResponse.load(response.body)
408
+ else
409
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
410
+ raise error_class.new(response.body, code: code)
411
+ end
412
+ end
413
+
414
+ # Get a user's points for a specific points system.
415
+ #
416
+ # @param request_options [Hash]
417
+ # @param params [Hash]
418
+ # @option request_options [String] :base_url
419
+ # @option request_options [Hash{String => Object}] :additional_headers
420
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
421
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
422
+ # @option request_options [Integer] :timeout_in_seconds
423
+ # @option params [String] :id
424
+ # @option params [String] :key
425
+ # @option params [Integer, nil] :awards
426
+ #
427
+ # @return [Trophy::Types::GetUserPointsResponse]
428
+ def points(request_options: {}, **params)
429
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
430
+ query_params = {}
431
+ query_params["awards"] = params[:awards] if params.key?(:awards)
432
+
433
+ request = Trophy::Internal::JSON::Request.new(
434
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
435
+ method: "GET",
436
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/points/#{URI.encode_uri_component(params[:key].to_s)}",
437
+ query: query_params,
438
+ request_options: request_options
439
+ )
440
+ begin
441
+ response = @client.send(request)
442
+ rescue Net::HTTPRequestTimeout
443
+ raise Trophy::Errors::TimeoutError
444
+ end
445
+ code = response.code.to_i
446
+ if code.between?(200, 299)
447
+ Trophy::Types::GetUserPointsResponse.load(response.body)
448
+ else
449
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
450
+ raise error_class.new(response.body, code: code)
451
+ end
452
+ end
453
+
454
+ # Get active points boosts for a user in a specific points system. Returns both global boosts the user is eligible
455
+ # for and user-specific boosts.
456
+ #
457
+ # @param request_options [Hash]
458
+ # @param params [Hash]
459
+ # @option request_options [String] :base_url
460
+ # @option request_options [Hash{String => Object}] :additional_headers
461
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
462
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
463
+ # @option request_options [Integer] :timeout_in_seconds
464
+ # @option params [String] :id
465
+ # @option params [String] :key
466
+ #
467
+ # @return [Array[Trophy::Types::PointsBoost]]
468
+ def points_boosts(request_options: {}, **params)
469
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
470
+ request = Trophy::Internal::JSON::Request.new(
471
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
472
+ method: "GET",
473
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/points/#{URI.encode_uri_component(params[:key].to_s)}/boosts",
474
+ request_options: request_options
475
+ )
476
+ begin
477
+ response = @client.send(request)
478
+ rescue Net::HTTPRequestTimeout
479
+ raise Trophy::Errors::TimeoutError
480
+ end
481
+ code = response.code.to_i
482
+ return if code.between?(200, 299)
483
+
484
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
485
+ raise error_class.new(response.body, code: code)
486
+ end
487
+
488
+ # Get a summary of points awards over time for a user for a specific points system.
489
+ #
490
+ # @param request_options [Hash]
491
+ # @param params [Hash]
492
+ # @option request_options [String] :base_url
493
+ # @option request_options [Hash{String => Object}] :additional_headers
494
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
495
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
496
+ # @option request_options [Integer] :timeout_in_seconds
497
+ # @option params [String] :id
498
+ # @option params [String] :key
499
+ # @option params [Trophy::Users::Types::UsersPointsEventSummaryRequestAggregation] :aggregation
500
+ # @option params [String] :start_date
501
+ # @option params [String] :end_date
502
+ #
503
+ # @return [Array[Trophy::Users::Types::UsersPointsEventSummaryResponseItem]]
504
+ def points_event_summary(request_options: {}, **params)
505
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
506
+ query_params = {}
507
+ query_params["aggregation"] = params[:aggregation] if params.key?(:aggregation)
508
+ query_params["startDate"] = params[:start_date] if params.key?(:start_date)
509
+ query_params["endDate"] = params[:end_date] if params.key?(:end_date)
510
+
511
+ request = Trophy::Internal::JSON::Request.new(
512
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
513
+ method: "GET",
514
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/points/#{URI.encode_uri_component(params[:key].to_s)}/event-summary",
515
+ query: query_params,
516
+ request_options: request_options
517
+ )
518
+ begin
519
+ response = @client.send(request)
520
+ rescue Net::HTTPRequestTimeout
521
+ raise Trophy::Errors::TimeoutError
522
+ end
523
+ code = response.code.to_i
524
+ return if code.between?(200, 299)
525
+
526
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
527
+ raise error_class.new(response.body, code: code)
528
+ end
529
+
530
+ # Get a user's rank, value, and daily ranking history for a specific leaderboard.
531
+ #
532
+ # @param request_options [Hash]
533
+ # @param params [Hash]
534
+ # @option request_options [String] :base_url
535
+ # @option request_options [Hash{String => Object}] :additional_headers
536
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
537
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
538
+ # @option request_options [Integer] :timeout_in_seconds
539
+ # @option params [String] :id
540
+ # @option params [String] :key
541
+ # @option params [String, nil] :run
542
+ # @option params [Integer, nil] :num_events
543
+ #
544
+ # @return [Trophy::Types::UserLeaderboardResponseWithHistory]
545
+ def leaderboard(request_options: {}, **params)
546
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
547
+ query_params = {}
548
+ query_params["run"] = params[:run] if params.key?(:run)
549
+ query_params["numEvents"] = params[:num_events] if params.key?(:num_events)
550
+
551
+ request = Trophy::Internal::JSON::Request.new(
552
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
553
+ method: "GET",
554
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/leaderboards/#{URI.encode_uri_component(params[:key].to_s)}",
555
+ query: query_params,
556
+ request_options: request_options
557
+ )
558
+ begin
559
+ response = @client.send(request)
560
+ rescue Net::HTTPRequestTimeout
561
+ raise Trophy::Errors::TimeoutError
562
+ end
563
+ code = response.code.to_i
564
+ if code.between?(200, 299)
565
+ Trophy::Types::UserLeaderboardResponseWithHistory.load(response.body)
566
+ else
567
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
568
+ raise error_class.new(response.body, code: code)
569
+ end
570
+ end
571
+
572
+ # Get a user's year-in-review wrapped data.
573
+ #
574
+ # @param request_options [Hash]
575
+ # @param params [Hash]
576
+ # @option request_options [String] :base_url
577
+ # @option request_options [Hash{String => Object}] :additional_headers
578
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
579
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
580
+ # @option request_options [Integer] :timeout_in_seconds
581
+ # @option params [String] :id
582
+ # @option params [Integer, nil] :year
583
+ #
584
+ # @return [Trophy::Types::WrappedResponse]
585
+ def wrapped(request_options: {}, **params)
586
+ params = Trophy::Internal::Types::Utils.normalize_keys(params)
587
+ query_params = {}
588
+ query_params["year"] = params[:year] if params.key?(:year)
589
+
590
+ request = Trophy::Internal::JSON::Request.new(
591
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
592
+ method: "GET",
593
+ path: "users/#{URI.encode_uri_component(params[:id].to_s)}/wrapped",
594
+ query: query_params,
595
+ request_options: request_options
596
+ )
597
+ begin
598
+ response = @client.send(request)
599
+ rescue Net::HTTPRequestTimeout
600
+ raise Trophy::Errors::TimeoutError
601
+ end
602
+ code = response.code.to_i
603
+ if code.between?(200, 299)
604
+ Trophy::Types::WrappedResponse.load(response.body)
605
+ else
606
+ error_class = Trophy::Errors::ResponseError.subclass_for_code(code)
607
+ raise error_class.new(response.body, code: code)
608
+ end
609
+ end
610
+ end
611
+ end
612
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Users
5
+ module Types
6
+ class UpdateUserPreferencesRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :notifications, -> { Trophy::Types::NotificationPreferences }, optional: true, nullable: false
10
+
11
+ field :streak, -> { Trophy::Types::StreakPreferences }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Users
5
+ module Types
6
+ class UsersAchievementsRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :include_incomplete, -> { String }, optional: true, nullable: false, api_name: "includeIncomplete"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Users
5
+ module Types
6
+ class UsersLeaderboardRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :key, -> { String }, optional: false, nullable: false
10
+
11
+ field :run, -> { String }, optional: true, nullable: false
12
+
13
+ field :num_events, -> { Integer }, optional: true, nullable: false, api_name: "numEvents"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Users
5
+ module Types
6
+ class UsersMetricEventSummaryRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :key, -> { String }, optional: false, nullable: false
10
+
11
+ field :aggregation, -> { Trophy::Users::Types::UsersMetricEventSummaryRequestAggregation }, optional: false, nullable: false
12
+
13
+ field :start_date, -> { String }, optional: false, nullable: false, api_name: "startDate"
14
+
15
+ field :end_date, -> { String }, optional: false, nullable: false, api_name: "endDate"
16
+ end
17
+ end
18
+ end
19
+ end