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
@@ -1,225 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../requests"
4
- require_relative "types/leaderboards_all_response_item"
5
- require "json"
6
- require_relative "../types/leaderboard_response_with_rankings"
7
- require "async"
8
-
9
- module TrophyApiClient
10
- class LeaderboardsClient
11
- # @return [TrophyApiClient::RequestClient]
12
- attr_reader :request_client
13
-
14
- # @param request_client [TrophyApiClient::RequestClient]
15
- # @return [TrophyApiClient::LeaderboardsClient]
16
- def initialize(request_client:)
17
- @request_client = request_client
18
- end
19
-
20
- # Get all leaderboards for your organization. Finished leaderboards are excluded
21
- # by default.
22
- #
23
- # @param include_finished [Boolean] When set to 'true', leaderboards with status 'finished' will be included in the
24
- # response. By default, finished leaderboards are excluded.
25
- # @param request_options [TrophyApiClient::RequestOptions]
26
- # @return [Array<TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem>]
27
- # @example
28
- # api = TrophyApiClient::Client.new(
29
- # base_url: "https://api.example.com",
30
- # environment: TrophyApiClient::Environment::PRODUCTION,
31
- # api_key: "YOUR_API_KEY"
32
- # )
33
- # api.leaderboards.all(include_finished: true)
34
- def all(include_finished: nil, request_options: nil)
35
- response = @request_client.conn.get do |req|
36
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
37
- req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
38
- req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
39
- req.headers = {
40
- **(req.headers || {}),
41
- **@request_client.get_headers,
42
- **(request_options&.additional_headers || {})
43
- }.compact
44
- req.params = {
45
- **(request_options&.additional_query_parameters || {}),
46
- "includeFinished": include_finished
47
- }.compact
48
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
49
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
50
- end
51
- req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/leaderboards"
52
- end
53
- parsed_json = JSON.parse(response.body)
54
- parsed_json&.map do |item|
55
- item = item.to_json
56
- TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem.from_json(json_object: item)
57
- end
58
- end
59
-
60
- # Get a specific leaderboard by its key.
61
- #
62
- # @param key [String] Unique key of the leaderboard as set when created.
63
- # @param offset [Integer] Number of rankings to skip for pagination.
64
- # @param limit [Integer] Maximum number of rankings to return. Cannot be greater than the size of the
65
- # leaderboard.
66
- # @param run [String] Specific run date in YYYY-MM-DD format. If not provided, returns the current
67
- # run.
68
- # @param user_id [String] When provided, offset is relative to this user's position on the leaderboard. If
69
- # the user is not found in the leaderboard, returns empty rankings array.
70
- # @param user_attributes [String] Attribute key and value to filter the rankings by, separated by a colon. For
71
- # example, `city:London`. This parameter is required, and only valid for
72
- # leaderboards with a breakdown attribute.
73
- # @param request_options [TrophyApiClient::RequestOptions]
74
- # @return [TrophyApiClient::LeaderboardResponseWithRankings]
75
- # @example
76
- # api = TrophyApiClient::Client.new(
77
- # base_url: "https://api.example.com",
78
- # environment: TrophyApiClient::Environment::PRODUCTION,
79
- # api_key: "YOUR_API_KEY"
80
- # )
81
- # api.leaderboards.get(
82
- # key: "weekly-words",
83
- # offset: 1,
84
- # limit: 1,
85
- # run: "2025-01-15",
86
- # user_id: "user-123",
87
- # user_attributes: "city:London"
88
- # )
89
- def get(key:, offset: nil, limit: nil, run: nil, user_id: nil, user_attributes: nil, request_options: nil)
90
- response = @request_client.conn.get do |req|
91
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
92
- req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
93
- req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
94
- req.headers = {
95
- **(req.headers || {}),
96
- **@request_client.get_headers,
97
- **(request_options&.additional_headers || {})
98
- }.compact
99
- req.params = {
100
- **(request_options&.additional_query_parameters || {}),
101
- "offset": offset,
102
- "limit": limit,
103
- "run": run,
104
- "userId": user_id,
105
- "userAttributes": user_attributes
106
- }.compact
107
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
108
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
109
- end
110
- req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/leaderboards/#{key}"
111
- end
112
- TrophyApiClient::LeaderboardResponseWithRankings.from_json(json_object: response.body)
113
- end
114
- end
115
-
116
- class AsyncLeaderboardsClient
117
- # @return [TrophyApiClient::AsyncRequestClient]
118
- attr_reader :request_client
119
-
120
- # @param request_client [TrophyApiClient::AsyncRequestClient]
121
- # @return [TrophyApiClient::AsyncLeaderboardsClient]
122
- def initialize(request_client:)
123
- @request_client = request_client
124
- end
125
-
126
- # Get all leaderboards for your organization. Finished leaderboards are excluded
127
- # by default.
128
- #
129
- # @param include_finished [Boolean] When set to 'true', leaderboards with status 'finished' will be included in the
130
- # response. By default, finished leaderboards are excluded.
131
- # @param request_options [TrophyApiClient::RequestOptions]
132
- # @return [Array<TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem>]
133
- # @example
134
- # api = TrophyApiClient::Client.new(
135
- # base_url: "https://api.example.com",
136
- # environment: TrophyApiClient::Environment::PRODUCTION,
137
- # api_key: "YOUR_API_KEY"
138
- # )
139
- # api.leaderboards.all(include_finished: true)
140
- def all(include_finished: nil, request_options: nil)
141
- Async do
142
- response = @request_client.conn.get do |req|
143
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
144
- req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
145
- req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
146
- req.headers = {
147
- **(req.headers || {}),
148
- **@request_client.get_headers,
149
- **(request_options&.additional_headers || {})
150
- }.compact
151
- req.params = {
152
- **(request_options&.additional_query_parameters || {}),
153
- "includeFinished": include_finished
154
- }.compact
155
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
156
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
157
- end
158
- req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/leaderboards"
159
- end
160
- parsed_json = JSON.parse(response.body)
161
- parsed_json&.map do |item|
162
- item = item.to_json
163
- TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem.from_json(json_object: item)
164
- end
165
- end
166
- end
167
-
168
- # Get a specific leaderboard by its key.
169
- #
170
- # @param key [String] Unique key of the leaderboard as set when created.
171
- # @param offset [Integer] Number of rankings to skip for pagination.
172
- # @param limit [Integer] Maximum number of rankings to return. Cannot be greater than the size of the
173
- # leaderboard.
174
- # @param run [String] Specific run date in YYYY-MM-DD format. If not provided, returns the current
175
- # run.
176
- # @param user_id [String] When provided, offset is relative to this user's position on the leaderboard. If
177
- # the user is not found in the leaderboard, returns empty rankings array.
178
- # @param user_attributes [String] Attribute key and value to filter the rankings by, separated by a colon. For
179
- # example, `city:London`. This parameter is required, and only valid for
180
- # leaderboards with a breakdown attribute.
181
- # @param request_options [TrophyApiClient::RequestOptions]
182
- # @return [TrophyApiClient::LeaderboardResponseWithRankings]
183
- # @example
184
- # api = TrophyApiClient::Client.new(
185
- # base_url: "https://api.example.com",
186
- # environment: TrophyApiClient::Environment::PRODUCTION,
187
- # api_key: "YOUR_API_KEY"
188
- # )
189
- # api.leaderboards.get(
190
- # key: "weekly-words",
191
- # offset: 1,
192
- # limit: 1,
193
- # run: "2025-01-15",
194
- # user_id: "user-123",
195
- # user_attributes: "city:London"
196
- # )
197
- def get(key:, offset: nil, limit: nil, run: nil, user_id: nil, user_attributes: nil, request_options: nil)
198
- Async do
199
- response = @request_client.conn.get do |req|
200
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
201
- req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
202
- req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
203
- req.headers = {
204
- **(req.headers || {}),
205
- **@request_client.get_headers,
206
- **(request_options&.additional_headers || {})
207
- }.compact
208
- req.params = {
209
- **(request_options&.additional_query_parameters || {}),
210
- "offset": offset,
211
- "limit": limit,
212
- "run": run,
213
- "userId": user_id,
214
- "userAttributes": user_attributes
215
- }.compact
216
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
217
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
218
- end
219
- req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/leaderboards/#{key}"
220
- end
221
- TrophyApiClient::LeaderboardResponseWithRankings.from_json(json_object: response.body)
222
- end
223
- end
224
- end
225
- end
@@ -1,202 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "leaderboards_all_response_item_status"
4
- require_relative "../../types/leaderboard_response_rank_by"
5
- require_relative "../../types/leaderboard_response_run_unit"
6
- require "ostruct"
7
- require "json"
8
-
9
- module TrophyApiClient
10
- class Leaderboards
11
- class LeaderboardsAllResponseItem
12
- # @return [TrophyApiClient::Leaderboards::LeaderboardsAllResponseItemStatus] The status of the leaderboard.
13
- attr_reader :status
14
- # @return [String] The unique ID of the leaderboard.
15
- attr_reader :id
16
- # @return [String] The user-facing name of the leaderboard.
17
- attr_reader :name
18
- # @return [String] The unique key used to reference the leaderboard in APIs.
19
- attr_reader :key
20
- # @return [TrophyApiClient::LeaderboardResponseRankBy] What the leaderboard ranks by.
21
- attr_reader :rank_by
22
- # @return [String] Deprecated. The key of the attribute to break down this leaderboard by.
23
- attr_reader :breakdown_attribute
24
- # @return [Array<String>] The user attribute keys that this leaderboard is broken down by.
25
- attr_reader :breakdown_attributes
26
- # @return [String] The key of the metric to rank by, if rankBy is 'metric'.
27
- attr_reader :metric_key
28
- # @return [String] The name of the metric to rank by, if rankBy is 'metric'.
29
- attr_reader :metric_name
30
- # @return [String] The key of the points system to rank by, if rankBy is 'points'.
31
- attr_reader :points_system_key
32
- # @return [String] The name of the points system to rank by, if rankBy is 'points'.
33
- attr_reader :points_system_name
34
- # @return [String] The user-facing description of the leaderboard.
35
- attr_reader :description
36
- # @return [String] The start date of the leaderboard in YYYY-MM-DD format.
37
- attr_reader :start
38
- # @return [String] The end date of the leaderboard in YYYY-MM-DD format, or null if it runs
39
- # forever.
40
- attr_reader :end_
41
- # @return [Integer] The maximum number of participants in the leaderboard.
42
- attr_reader :max_participants
43
- # @return [TrophyApiClient::LeaderboardResponseRunUnit] The repetition type for recurring leaderboards, or null for one-time
44
- # leaderboards.
45
- attr_reader :run_unit
46
- # @return [Integer] The interval between repetitions, relative to the start date and repetition
47
- # type. Null for one-time leaderboards.
48
- attr_reader :run_interval
49
- # @return [OpenStruct] Additional properties unmapped to the current class definition
50
- attr_reader :additional_properties
51
- # @return [Object]
52
- attr_reader :_field_set
53
- protected :_field_set
54
-
55
- OMIT = Object.new
56
-
57
- # @param status [TrophyApiClient::Leaderboards::LeaderboardsAllResponseItemStatus] The status of the leaderboard.
58
- # @param id [String] The unique ID of the leaderboard.
59
- # @param name [String] The user-facing name of the leaderboard.
60
- # @param key [String] The unique key used to reference the leaderboard in APIs.
61
- # @param rank_by [TrophyApiClient::LeaderboardResponseRankBy] What the leaderboard ranks by.
62
- # @param breakdown_attribute [String] Deprecated. The key of the attribute to break down this leaderboard by.
63
- # @param breakdown_attributes [Array<String>] The user attribute keys that this leaderboard is broken down by.
64
- # @param metric_key [String] The key of the metric to rank by, if rankBy is 'metric'.
65
- # @param metric_name [String] The name of the metric to rank by, if rankBy is 'metric'.
66
- # @param points_system_key [String] The key of the points system to rank by, if rankBy is 'points'.
67
- # @param points_system_name [String] The name of the points system to rank by, if rankBy is 'points'.
68
- # @param description [String] The user-facing description of the leaderboard.
69
- # @param start [String] The start date of the leaderboard in YYYY-MM-DD format.
70
- # @param end_ [String] The end date of the leaderboard in YYYY-MM-DD format, or null if it runs
71
- # forever.
72
- # @param max_participants [Integer] The maximum number of participants in the leaderboard.
73
- # @param run_unit [TrophyApiClient::LeaderboardResponseRunUnit] The repetition type for recurring leaderboards, or null for one-time
74
- # leaderboards.
75
- # @param run_interval [Integer] The interval between repetitions, relative to the start date and repetition
76
- # type. Null for one-time leaderboards.
77
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
78
- # @return [TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem]
79
- def initialize(status:, id:, name:, key:, rank_by:, breakdown_attributes:, start:, breakdown_attribute: OMIT,
80
- metric_key: OMIT, metric_name: OMIT, points_system_key: OMIT, points_system_name: OMIT, description: OMIT, end_: OMIT, max_participants: OMIT, run_unit: OMIT, run_interval: OMIT, additional_properties: nil)
81
- @status = status
82
- @id = id
83
- @name = name
84
- @key = key
85
- @rank_by = rank_by
86
- @breakdown_attribute = breakdown_attribute if breakdown_attribute != OMIT
87
- @breakdown_attributes = breakdown_attributes
88
- @metric_key = metric_key if metric_key != OMIT
89
- @metric_name = metric_name if metric_name != OMIT
90
- @points_system_key = points_system_key if points_system_key != OMIT
91
- @points_system_name = points_system_name if points_system_name != OMIT
92
- @description = description if description != OMIT
93
- @start = start
94
- @end_ = end_ if end_ != OMIT
95
- @max_participants = max_participants if max_participants != OMIT
96
- @run_unit = run_unit if run_unit != OMIT
97
- @run_interval = run_interval if run_interval != OMIT
98
- @additional_properties = additional_properties
99
- @_field_set = {
100
- "status": status,
101
- "id": id,
102
- "name": name,
103
- "key": key,
104
- "rankBy": rank_by,
105
- "breakdownAttribute": breakdown_attribute,
106
- "breakdownAttributes": breakdown_attributes,
107
- "metricKey": metric_key,
108
- "metricName": metric_name,
109
- "pointsSystemKey": points_system_key,
110
- "pointsSystemName": points_system_name,
111
- "description": description,
112
- "start": start,
113
- "end": end_,
114
- "maxParticipants": max_participants,
115
- "runUnit": run_unit,
116
- "runInterval": run_interval
117
- }.reject do |_k, v|
118
- v == OMIT
119
- end
120
- end
121
-
122
- # Deserialize a JSON object to an instance of LeaderboardsAllResponseItem
123
- #
124
- # @param json_object [String]
125
- # @return [TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem]
126
- def self.from_json(json_object:)
127
- struct = JSON.parse(json_object, object_class: OpenStruct)
128
- parsed_json = JSON.parse(json_object)
129
- status = parsed_json["status"]
130
- id = parsed_json["id"]
131
- name = parsed_json["name"]
132
- key = parsed_json["key"]
133
- rank_by = parsed_json["rankBy"]
134
- breakdown_attribute = parsed_json["breakdownAttribute"]
135
- breakdown_attributes = parsed_json["breakdownAttributes"]
136
- metric_key = parsed_json["metricKey"]
137
- metric_name = parsed_json["metricName"]
138
- points_system_key = parsed_json["pointsSystemKey"]
139
- points_system_name = parsed_json["pointsSystemName"]
140
- description = parsed_json["description"]
141
- start = parsed_json["start"]
142
- end_ = parsed_json["end"]
143
- max_participants = parsed_json["maxParticipants"]
144
- run_unit = parsed_json["runUnit"]
145
- run_interval = parsed_json["runInterval"]
146
- new(
147
- status: status,
148
- id: id,
149
- name: name,
150
- key: key,
151
- rank_by: rank_by,
152
- breakdown_attribute: breakdown_attribute,
153
- breakdown_attributes: breakdown_attributes,
154
- metric_key: metric_key,
155
- metric_name: metric_name,
156
- points_system_key: points_system_key,
157
- points_system_name: points_system_name,
158
- description: description,
159
- start: start,
160
- end_: end_,
161
- max_participants: max_participants,
162
- run_unit: run_unit,
163
- run_interval: run_interval,
164
- additional_properties: struct
165
- )
166
- end
167
-
168
- # Serialize an instance of LeaderboardsAllResponseItem to a JSON object
169
- #
170
- # @return [String]
171
- def to_json(*_args)
172
- @_field_set&.to_json
173
- end
174
-
175
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
176
- # hash and check each fields type against the current object's property
177
- # definitions.
178
- #
179
- # @param obj [Object]
180
- # @return [Void]
181
- def self.validate_raw(obj:)
182
- obj.status.is_a?(TrophyApiClient::Leaderboards::LeaderboardsAllResponseItemStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
183
- obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
184
- obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
185
- obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
186
- obj.rank_by.is_a?(TrophyApiClient::LeaderboardResponseRankBy) != false || raise("Passed value for field obj.rank_by is not the expected type, validation failed.")
187
- obj.breakdown_attribute&.is_a?(String) != false || raise("Passed value for field obj.breakdown_attribute is not the expected type, validation failed.")
188
- obj.breakdown_attributes.is_a?(Array) != false || raise("Passed value for field obj.breakdown_attributes is not the expected type, validation failed.")
189
- obj.metric_key&.is_a?(String) != false || raise("Passed value for field obj.metric_key is not the expected type, validation failed.")
190
- obj.metric_name&.is_a?(String) != false || raise("Passed value for field obj.metric_name is not the expected type, validation failed.")
191
- obj.points_system_key&.is_a?(String) != false || raise("Passed value for field obj.points_system_key is not the expected type, validation failed.")
192
- obj.points_system_name&.is_a?(String) != false || raise("Passed value for field obj.points_system_name is not the expected type, validation failed.")
193
- obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
194
- obj.start.is_a?(String) != false || raise("Passed value for field obj.start is not the expected type, validation failed.")
195
- obj.end_&.is_a?(String) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
196
- obj.max_participants&.is_a?(Integer) != false || raise("Passed value for field obj.max_participants is not the expected type, validation failed.")
197
- obj.run_unit&.is_a?(TrophyApiClient::LeaderboardResponseRunUnit) != false || raise("Passed value for field obj.run_unit is not the expected type, validation failed.")
198
- obj.run_interval&.is_a?(Integer) != false || raise("Passed value for field obj.run_interval is not the expected type, validation failed.")
199
- end
200
- end
201
- end
202
- end
@@ -1,142 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../requests"
4
- require_relative "../types/upserted_user"
5
- require_relative "../types/event_response"
6
- require "async"
7
-
8
- module TrophyApiClient
9
- class MetricsClient
10
- # @return [TrophyApiClient::RequestClient]
11
- attr_reader :request_client
12
-
13
- # @param request_client [TrophyApiClient::RequestClient]
14
- # @return [TrophyApiClient::MetricsClient]
15
- def initialize(request_client:)
16
- @request_client = request_client
17
- end
18
-
19
- # Increment or decrement the value of a metric for a user.
20
- #
21
- # @param idempotency_key [String]
22
- # @param key [String] Unique reference of the metric as set when created.
23
- # @param user [Hash] The user that triggered the event.Request of type TrophyApiClient::UpsertedUser, as a Hash
24
- # * :id (String)
25
- # * :email (String)
26
- # * :name (String)
27
- # * :tz (String)
28
- # * :device_tokens (Array<String>)
29
- # * :subscribe_to_emails (Boolean)
30
- # * :attributes (Hash{String => String})
31
- # @param value [Float] The value to add to the user's current total for the given metric.
32
- # @param attributes [Hash{String => String}] Event attributes as key-value pairs. Keys must match existing event attributes
33
- # set up in the Trophy dashboard.
34
- # @param request_options [TrophyApiClient::RequestOptions]
35
- # @return [TrophyApiClient::EventResponse]
36
- # @example
37
- # api = TrophyApiClient::Client.new(
38
- # base_url: "https://api.example.com",
39
- # environment: TrophyApiClient::Environment::PRODUCTION,
40
- # api_key: "YOUR_API_KEY"
41
- # )
42
- # api.metrics.event(
43
- # idempotency_key: "e4296e4b-8493-4bd1-9c30-5a1a9ac4d78f",
44
- # key: "words-written",
45
- # user: { email: "user@example.com", tz: "Europe/London", attributes: { "department": "engineering", "role": "developer" }, id: "18" },
46
- # value: 750,
47
- # attributes: { "category": "writing", "source": "mobile-app" }
48
- # )
49
- def event(key:, user:, value:, idempotency_key: nil, attributes: nil, request_options: nil)
50
- response = @request_client.conn.post do |req|
51
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
52
- req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
53
- req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
54
- req.headers = {
55
- **(req.headers || {}),
56
- **@request_client.get_headers,
57
- **(request_options&.additional_headers || {}),
58
- "Idempotency-Key": idempotency_key
59
- }.compact
60
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
61
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
62
- end
63
- req.body = {
64
- **(request_options&.additional_body_parameters || {}),
65
- user: user,
66
- value: value,
67
- attributes: attributes
68
- }.compact
69
- req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/metrics/#{key}/event"
70
- end
71
- TrophyApiClient::EventResponse.from_json(json_object: response.body)
72
- end
73
- end
74
-
75
- class AsyncMetricsClient
76
- # @return [TrophyApiClient::AsyncRequestClient]
77
- attr_reader :request_client
78
-
79
- # @param request_client [TrophyApiClient::AsyncRequestClient]
80
- # @return [TrophyApiClient::AsyncMetricsClient]
81
- def initialize(request_client:)
82
- @request_client = request_client
83
- end
84
-
85
- # Increment or decrement the value of a metric for a user.
86
- #
87
- # @param idempotency_key [String]
88
- # @param key [String] Unique reference of the metric as set when created.
89
- # @param user [Hash] The user that triggered the event.Request of type TrophyApiClient::UpsertedUser, as a Hash
90
- # * :id (String)
91
- # * :email (String)
92
- # * :name (String)
93
- # * :tz (String)
94
- # * :device_tokens (Array<String>)
95
- # * :subscribe_to_emails (Boolean)
96
- # * :attributes (Hash{String => String})
97
- # @param value [Float] The value to add to the user's current total for the given metric.
98
- # @param attributes [Hash{String => String}] Event attributes as key-value pairs. Keys must match existing event attributes
99
- # set up in the Trophy dashboard.
100
- # @param request_options [TrophyApiClient::RequestOptions]
101
- # @return [TrophyApiClient::EventResponse]
102
- # @example
103
- # api = TrophyApiClient::Client.new(
104
- # base_url: "https://api.example.com",
105
- # environment: TrophyApiClient::Environment::PRODUCTION,
106
- # api_key: "YOUR_API_KEY"
107
- # )
108
- # api.metrics.event(
109
- # idempotency_key: "e4296e4b-8493-4bd1-9c30-5a1a9ac4d78f",
110
- # key: "words-written",
111
- # user: { email: "user@example.com", tz: "Europe/London", attributes: { "department": "engineering", "role": "developer" }, id: "18" },
112
- # value: 750,
113
- # attributes: { "category": "writing", "source": "mobile-app" }
114
- # )
115
- def event(key:, user:, value:, idempotency_key: nil, attributes: nil, request_options: nil)
116
- Async do
117
- response = @request_client.conn.post do |req|
118
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
119
- req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
120
- req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
121
- req.headers = {
122
- **(req.headers || {}),
123
- **@request_client.get_headers,
124
- **(request_options&.additional_headers || {}),
125
- "Idempotency-Key": idempotency_key
126
- }.compact
127
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
128
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
129
- end
130
- req.body = {
131
- **(request_options&.additional_body_parameters || {}),
132
- user: user,
133
- value: value,
134
- attributes: attributes
135
- }.compact
136
- req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/metrics/#{key}/event"
137
- end
138
- TrophyApiClient::EventResponse.from_json(json_object: response.body)
139
- end
140
- end
141
- end
142
- end