trophy_api_client 1.26.1 → 1.28.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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trophy/admin/client.rb +5 -0
  3. data/lib/trophy/admin/rewards/client.rb +207 -0
  4. data/lib/trophy/admin/rewards/triggers/client.rb +209 -0
  5. data/lib/trophy/admin/rewards/triggers/types/triggers_delete_request.rb +17 -0
  6. data/lib/trophy/admin/rewards/triggers/types/triggers_list_request.rb +19 -0
  7. data/lib/trophy/admin/rewards/types/rewards_delete_request.rb +13 -0
  8. data/lib/trophy/admin/rewards/types/rewards_list_request.rb +15 -0
  9. data/lib/trophy/client.rb +6 -1
  10. data/lib/trophy/leaderboards/types/leaderboards_all_response_item.rb +2 -0
  11. data/lib/trophy/rewards/client.rb +57 -0
  12. data/lib/trophy/rewards/types/rewards_redeem_request.rb +13 -0
  13. data/lib/trophy/types/achievement_completion_response.rb +4 -0
  14. data/lib/trophy/types/admin_leaderboard.rb +2 -0
  15. data/lib/trophy/types/admin_leaderboard_user_attributes_item.rb +11 -0
  16. data/lib/trophy/types/admin_reward.rb +28 -0
  17. data/lib/trophy/types/admin_reward_status.rb +12 -0
  18. data/lib/trophy/types/admin_reward_trigger.rb +30 -0
  19. data/lib/trophy/types/admin_reward_trigger_event_attributes_item.rb +11 -0
  20. data/lib/trophy/types/admin_reward_trigger_status.rb +12 -0
  21. data/lib/trophy/types/admin_reward_trigger_type.rb +14 -0
  22. data/lib/trophy/types/admin_reward_trigger_user_attributes_item.rb +11 -0
  23. data/lib/trophy/types/admin_reward_type.rb +12 -0
  24. data/lib/trophy/types/admin_reward_user_attributes_item.rb +11 -0
  25. data/lib/trophy/types/create_leaderboard_request_item.rb +2 -0
  26. data/lib/trophy/types/create_leaderboard_request_item_user_attributes_item.rb +11 -0
  27. data/lib/trophy/types/create_reward_request_item.rb +28 -0
  28. data/lib/trophy/types/create_reward_request_item_status.rb +12 -0
  29. data/lib/trophy/types/create_reward_request_item_type.rb +12 -0
  30. data/lib/trophy/types/create_reward_request_item_user_attributes_item.rb +11 -0
  31. data/lib/trophy/types/create_reward_trigger_request_item.rb +28 -0
  32. data/lib/trophy/types/create_reward_trigger_request_item_event_attributes_item.rb +11 -0
  33. data/lib/trophy/types/create_reward_trigger_request_item_status.rb +12 -0
  34. data/lib/trophy/types/create_reward_trigger_request_item_type.rb +14 -0
  35. data/lib/trophy/types/create_reward_trigger_request_item_user_attributes_item.rb +11 -0
  36. data/lib/trophy/types/create_reward_triggers_request.rb +23 -0
  37. data/lib/trophy/types/create_reward_triggers_response.rb +12 -0
  38. data/lib/trophy/types/create_rewards_request.rb +23 -0
  39. data/lib/trophy/types/create_rewards_response.rb +12 -0
  40. data/lib/trophy/types/created_admin_reward.rb +31 -0
  41. data/lib/trophy/types/delete_reward_triggers_response.rb +12 -0
  42. data/lib/trophy/types/delete_rewards_response.rb +12 -0
  43. data/lib/trophy/types/event_response.rb +2 -0
  44. data/lib/trophy/types/leaderboard_response.rb +2 -0
  45. data/lib/trophy/types/leaderboard_response_user_attributes_item.rb +11 -0
  46. data/lib/trophy/types/leaderboard_response_with_rankings.rb +2 -0
  47. data/lib/trophy/types/list_reward_triggers_response.rb +23 -0
  48. data/lib/trophy/types/list_rewards_response.rb +23 -0
  49. data/lib/trophy/types/metric_event_leaderboard_response.rb +2 -0
  50. data/lib/trophy/types/points_trigger.rb +4 -0
  51. data/lib/trophy/types/points_trigger_type.rb +1 -0
  52. data/lib/trophy/types/redeem_reward_response.rb +15 -0
  53. data/lib/trophy/types/redeemed_reward.rb +13 -0
  54. data/lib/trophy/types/reward_summary.rb +23 -0
  55. data/lib/trophy/types/reward_summary_type.rb +12 -0
  56. data/lib/trophy/types/reward_webhook_event.rb +17 -0
  57. data/lib/trophy/types/reward_webhook_event_redemption.rb +17 -0
  58. data/lib/trophy/types/reward_webhook_event_type.rb +12 -0
  59. data/lib/trophy/types/update_leaderboard_request_item.rb +2 -0
  60. data/lib/trophy/types/update_leaderboard_request_item_user_attributes_item.rb +11 -0
  61. data/lib/trophy/types/update_reward_request_item.rb +27 -0
  62. data/lib/trophy/types/update_reward_request_item_status.rb +12 -0
  63. data/lib/trophy/types/update_reward_request_item_type.rb +12 -0
  64. data/lib/trophy/types/update_reward_request_item_user_attributes_item.rb +11 -0
  65. data/lib/trophy/types/update_reward_triggers_request.rb +23 -0
  66. data/lib/trophy/types/update_reward_triggers_request_item.rb +29 -0
  67. data/lib/trophy/types/update_reward_triggers_request_item_event_attributes_item.rb +11 -0
  68. data/lib/trophy/types/update_reward_triggers_request_item_status.rb +12 -0
  69. data/lib/trophy/types/update_reward_triggers_request_item_type.rb +14 -0
  70. data/lib/trophy/types/update_reward_triggers_request_item_user_attributes_item.rb +11 -0
  71. data/lib/trophy/types/update_reward_triggers_response.rb +12 -0
  72. data/lib/trophy/types/update_rewards_request.rb +23 -0
  73. data/lib/trophy/types/update_rewards_response.rb +12 -0
  74. data/lib/trophy/types/user_leaderboard_response.rb +2 -0
  75. data/lib/trophy/types/user_leaderboard_response_with_history.rb +2 -0
  76. data/lib/trophy/types/user_reward_response.rb +19 -0
  77. data/lib/trophy/types/user_reward_trigger.rb +25 -0
  78. data/lib/trophy/types/user_reward_trigger_type.rb +14 -0
  79. data/lib/trophy/types/webhook_user_leaderboard_response.rb +2 -0
  80. data/lib/trophy/users/client.rb +45 -0
  81. data/lib/trophy/users/types/users_rewards_request.rb +21 -0
  82. data/lib/trophy/version.rb +1 -1
  83. data/lib/trophy.rb +63 -0
  84. data/reference.md +1274 -368
  85. metadata +64 -1
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # A reward returned from the admin rewards endpoints.
6
+ class AdminReward < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :name, -> { String }, optional: false, nullable: false
10
+
11
+ field :key, -> { String }, optional: false, nullable: false
12
+
13
+ field :description, -> { String }, optional: true, nullable: false
14
+
15
+ field :status, -> { Trophy::Types::AdminRewardStatus }, optional: false, nullable: false
16
+
17
+ field :type, -> { Trophy::Types::AdminRewardType }, optional: false, nullable: false
18
+
19
+ field :points_system_id, -> { String }, optional: true, nullable: false, api_name: "pointsSystemId"
20
+
21
+ field :points, -> { Integer }, optional: true, nullable: false
22
+
23
+ field :max_redemptions, -> { Integer }, optional: true, nullable: false, api_name: "maxRedemptions"
24
+
25
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::AdminRewardUserAttributesItem] }, optional: false, nullable: false, api_name: "userAttributes"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module AdminRewardStatus
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ INACTIVE = "inactive"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # A reward trigger as returned from admin endpoints.
6
+ class AdminRewardTrigger < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :type, -> { Trophy::Types::AdminRewardTriggerType }, optional: false, nullable: false
10
+
11
+ field :status, -> { Trophy::Types::AdminRewardTriggerStatus }, optional: false, nullable: false
12
+
13
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::AdminRewardTriggerUserAttributesItem] }, optional: false, nullable: false, api_name: "userAttributes"
14
+
15
+ field :metric_id, -> { String }, optional: true, nullable: false, api_name: "metricId"
16
+
17
+ field :metric_threshold, -> { Integer }, optional: true, nullable: false, api_name: "metricThreshold"
18
+
19
+ field :event_attributes, -> { Internal::Types::Array[Trophy::Types::AdminRewardTriggerEventAttributesItem] }, optional: true, nullable: false, api_name: "eventAttributes"
20
+
21
+ field :achievement_id, -> { String }, optional: true, nullable: false, api_name: "achievementId"
22
+
23
+ field :streak_length, -> { Integer }, optional: true, nullable: false, api_name: "streakLength"
24
+
25
+ field :leaderboard_id, -> { String }, optional: true, nullable: false, api_name: "leaderboardId"
26
+
27
+ field :rank, -> { Integer }, optional: true, nullable: false
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class AdminRewardTriggerEventAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module AdminRewardTriggerStatus
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ INACTIVE = "inactive"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module AdminRewardTriggerType
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ METRIC = "metric"
9
+ ACHIEVEMENT = "achievement"
10
+ STREAK = "streak"
11
+ LEADERBOARD = "leaderboard"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class AdminRewardTriggerUserAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module AdminRewardType
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ POINTS = "points"
9
+ CUSTOM = "custom"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class AdminRewardUserAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -33,6 +33,8 @@ module Trophy
33
33
  field :run_unit, -> { Trophy::Types::CreateLeaderboardRequestItemRunUnit }, optional: true, nullable: false, api_name: "runUnit"
34
34
 
35
35
  field :run_interval, -> { Integer }, optional: true, nullable: false, api_name: "runInterval"
36
+
37
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::CreateLeaderboardRequestItemUserAttributesItem] }, optional: true, nullable: false, api_name: "userAttributes"
36
38
  end
37
39
  end
38
40
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class CreateLeaderboardRequestItemUserAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # A reward to create. Optionally include triggers.
6
+ class CreateRewardRequestItem < Internal::Types::Model
7
+ field :name, -> { String }, optional: false, nullable: false
8
+
9
+ field :key, -> { String }, optional: false, nullable: false
10
+
11
+ field :description, -> { String }, optional: true, nullable: false
12
+
13
+ field :status, -> { Trophy::Types::CreateRewardRequestItemStatus }, optional: true, nullable: false
14
+
15
+ field :type, -> { Trophy::Types::CreateRewardRequestItemType }, optional: false, nullable: false
16
+
17
+ field :points_system_id, -> { String }, optional: true, nullable: false, api_name: "pointsSystemId"
18
+
19
+ field :points, -> { Integer }, optional: true, nullable: false
20
+
21
+ field :max_redemptions, -> { Integer }, optional: true, nullable: false, api_name: "maxRedemptions"
22
+
23
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::CreateRewardRequestItemUserAttributesItem] }, optional: true, nullable: false, api_name: "userAttributes"
24
+
25
+ field :triggers, -> { Internal::Types::Array[Trophy::Types::CreateRewardTriggerRequestItem] }, optional: true, nullable: false
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module CreateRewardRequestItemStatus
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ INACTIVE = "inactive"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module CreateRewardRequestItemType
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ POINTS = "points"
9
+ CUSTOM = "custom"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class CreateRewardRequestItemUserAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # A reward trigger to create.
6
+ class CreateRewardTriggerRequestItem < Internal::Types::Model
7
+ field :type, -> { Trophy::Types::CreateRewardTriggerRequestItemType }, optional: false, nullable: false
8
+
9
+ field :status, -> { Trophy::Types::CreateRewardTriggerRequestItemStatus }, optional: true, nullable: false
10
+
11
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::CreateRewardTriggerRequestItemUserAttributesItem] }, optional: true, nullable: false, api_name: "userAttributes"
12
+
13
+ field :metric_id, -> { String }, optional: true, nullable: false, api_name: "metricId"
14
+
15
+ field :metric_threshold, -> { Integer }, optional: true, nullable: false, api_name: "metricThreshold"
16
+
17
+ field :event_attributes, -> { Internal::Types::Array[Trophy::Types::CreateRewardTriggerRequestItemEventAttributesItem] }, optional: true, nullable: false, api_name: "eventAttributes"
18
+
19
+ field :achievement_id, -> { String }, optional: true, nullable: false, api_name: "achievementId"
20
+
21
+ field :streak_length, -> { Integer }, optional: true, nullable: false, api_name: "streakLength"
22
+
23
+ field :leaderboard_id, -> { String }, optional: true, nullable: false, api_name: "leaderboardId"
24
+
25
+ field :rank, -> { Integer }, optional: true, nullable: false
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class CreateRewardTriggerRequestItemEventAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module CreateRewardTriggerRequestItemStatus
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ INACTIVE = "inactive"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module CreateRewardTriggerRequestItemType
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ METRIC = "metric"
9
+ ACHIEVEMENT = "achievement"
10
+ STREAK = "streak"
11
+ LEADERBOARD = "leaderboard"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class CreateRewardTriggerRequestItemUserAttributesItem < Internal::Types::Model
6
+ field :attribute_id, -> { String }, optional: false, nullable: false, api_name: "attributeId"
7
+
8
+ field :attribute_value, -> { String }, optional: false, nullable: false, api_name: "attributeValue"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module CreateRewardTriggersRequest
6
+ # CreateRewardTriggersRequest is an alias for Array
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # Response containing created triggers and any per-item issues.
6
+ class CreateRewardTriggersResponse < Internal::Types::Model
7
+ field :created, -> { Internal::Types::Array[Trophy::Types::AdminRewardTrigger] }, optional: false, nullable: false
8
+
9
+ field :issues, -> { Internal::Types::Array[Trophy::Types::AdminIssue] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module CreateRewardsRequest
6
+ # CreateRewardsRequest is an alias for Array
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # Response containing created rewards and any per-item issues.
6
+ class CreateRewardsResponse < Internal::Types::Model
7
+ field :created, -> { Internal::Types::Array[Trophy::Types::CreatedAdminReward] }, optional: false, nullable: false
8
+
9
+ field :issues, -> { Internal::Types::Array[Trophy::Types::AdminIssue] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # A reward returned from the creation endpoint. Extends AdminReward with the triggers created alongside it, present
6
+ # when triggers were included in the creation request.
7
+ class CreatedAdminReward < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: false, nullable: false
11
+
12
+ field :key, -> { String }, optional: false, nullable: false
13
+
14
+ field :description, -> { String }, optional: true, nullable: false
15
+
16
+ field :status, -> { Trophy::Types::AdminRewardStatus }, optional: false, nullable: false
17
+
18
+ field :type, -> { Trophy::Types::AdminRewardType }, optional: false, nullable: false
19
+
20
+ field :points_system_id, -> { String }, optional: true, nullable: false, api_name: "pointsSystemId"
21
+
22
+ field :points, -> { Integer }, optional: true, nullable: false
23
+
24
+ field :max_redemptions, -> { Integer }, optional: true, nullable: false, api_name: "maxRedemptions"
25
+
26
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::AdminRewardUserAttributesItem] }, optional: false, nullable: false, api_name: "userAttributes"
27
+
28
+ field :triggers, -> { Internal::Types::Array[Trophy::Types::AdminRewardTrigger] }, optional: true, nullable: false
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # Response containing the reward triggers that were deleted and any per-item issues.
6
+ class DeleteRewardTriggersResponse < Internal::Types::Model
7
+ field :deleted, -> { Internal::Types::Array[Trophy::Types::DeletedResource] }, optional: false, nullable: false
8
+
9
+ field :issues, -> { Internal::Types::Array[Trophy::Types::AdminIssue] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ # Response containing deleted reward IDs and any per-item issues.
6
+ class DeleteRewardsResponse < Internal::Types::Model
7
+ field :deleted, -> { Internal::Types::Array[Trophy::Types::DeletedResource] }, optional: false, nullable: false
8
+
9
+ field :issues, -> { Internal::Types::Array[Trophy::Types::AdminIssue] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -17,6 +17,8 @@ module Trophy
17
17
 
18
18
  field :leaderboards, -> { Internal::Types::Hash[String, Trophy::Types::MetricEventLeaderboardResponse] }, optional: false, nullable: false
19
19
 
20
+ field :rewards, -> { Internal::Types::Array[Trophy::Types::UserRewardResponse] }, optional: false, nullable: false
21
+
20
22
  field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
21
23
 
22
24
  field :idempotent_replayed, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "idempotentReplayed"
@@ -39,6 +39,8 @@ module Trophy
39
39
  field :run_unit, -> { Trophy::Types::LeaderboardResponseRunUnit }, optional: true, nullable: false, api_name: "runUnit"
40
40
 
41
41
  field :run_interval, -> { Integer }, optional: true, nullable: false, api_name: "runInterval"
42
+
43
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::LeaderboardResponseUserAttributesItem] }, optional: false, nullable: false, api_name: "userAttributes"
42
44
  end
43
45
  end
44
46
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class LeaderboardResponseUserAttributesItem < Internal::Types::Model
6
+ field :key, -> { String }, optional: false, nullable: false
7
+
8
+ field :value, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -39,6 +39,8 @@ module Trophy
39
39
 
40
40
  field :run_interval, -> { Integer }, optional: true, nullable: false, api_name: "runInterval"
41
41
 
42
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::LeaderboardResponseUserAttributesItem] }, optional: false, nullable: false, api_name: "userAttributes"
43
+
42
44
  field :status, -> { Trophy::Types::LeaderboardResponseWithRankingsStatus }, optional: false, nullable: false
43
45
 
44
46
  field :rankings, -> { Internal::Types::Array[Trophy::Types::LeaderboardRanking] }, optional: false, nullable: false
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module ListRewardTriggersResponse
6
+ # ListRewardTriggersResponse is an alias for Array
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module ListRewardsResponse
6
+ # ListRewardsResponse is an alias for Array
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -48,6 +48,8 @@ module Trophy
48
48
  field :run_unit, -> { Trophy::Types::LeaderboardResponseRunUnit }, optional: true, nullable: false, api_name: "runUnit"
49
49
 
50
50
  field :run_interval, -> { Integer }, optional: true, nullable: false, api_name: "runInterval"
51
+
52
+ field :user_attributes, -> { Internal::Types::Array[Trophy::Types::LeaderboardResponseUserAttributesItem] }, optional: false, nullable: false, api_name: "userAttributes"
51
53
  end
52
54
  end
53
55
  end
@@ -23,6 +23,10 @@ module Trophy
23
23
 
24
24
  field :achievement_name, -> { String }, optional: true, nullable: false, api_name: "achievementName"
25
25
 
26
+ field :reward_key, -> { String }, optional: true, nullable: false, api_name: "rewardKey"
27
+
28
+ field :reward_name, -> { String }, optional: true, nullable: false, api_name: "rewardName"
29
+
26
30
  field :time_unit, -> { Trophy::Types::PointsTriggerTimeUnit }, optional: true, nullable: false, api_name: "timeUnit"
27
31
 
28
32
  field :time_interval, -> { Integer }, optional: true, nullable: false, api_name: "timeInterval"
@@ -10,6 +10,7 @@ module Trophy
10
10
  STREAK = "streak"
11
11
  TIME = "time"
12
12
  USER_CREATION = "user_creation"
13
+ REWARD = "reward"
13
14
  end
14
15
  end
15
16
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class RedeemRewardResponse < Internal::Types::Model
6
+ field :reward, -> { Trophy::Types::RewardSummary }, optional: false, nullable: false
7
+
8
+ field :redemptions, -> { Internal::Types::Array[Trophy::Types::RedeemedReward] }, optional: false, nullable: false
9
+
10
+ field :points, -> { Internal::Types::Hash[String, Trophy::Types::MetricEventPointsResponse] }, optional: true, nullable: false
11
+
12
+ field :leaderboards, -> { Internal::Types::Hash[String, Trophy::Types::MetricEventLeaderboardResponse] }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class RedeemedReward < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+
8
+ field :awarded_at, -> { String }, optional: false, nullable: false, api_name: "awardedAt"
9
+
10
+ field :redeemed_at, -> { String }, optional: false, nullable: false, api_name: "redeemedAt"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ class RewardSummary < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+
8
+ field :key, -> { String }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: false, nullable: false
11
+
12
+ field :description, -> { String }, optional: true, nullable: false
13
+
14
+ field :type, -> { Trophy::Types::RewardSummaryType }, optional: false, nullable: false
15
+
16
+ field :points, -> { Integer }, optional: true, nullable: false
17
+
18
+ field :points_system_id, -> { String }, optional: true, nullable: false, api_name: "pointsSystemId"
19
+
20
+ field :points_system_key, -> { String }, optional: true, nullable: false, api_name: "pointsSystemKey"
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trophy
4
+ module Types
5
+ module RewardSummaryType
6
+ extend Trophy::Internal::Types::Enum
7
+
8
+ POINTS = "points"
9
+ CUSTOM = "custom"
10
+ end
11
+ end
12
+ end