trophy_api_client 1.6.0 → 1.7.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.
- checksums.yaml +4 -4
- data/lib/gemconfig.rb +1 -1
- data/lib/trophy_api_client/admin/attributes/client.rb +6 -6
- data/lib/trophy_api_client/admin/client.rb +14 -7
- data/lib/trophy_api_client/admin/leaderboards/client.rb +371 -0
- data/lib/trophy_api_client/admin/metrics/client.rb +6 -6
- data/lib/trophy_api_client/types/admin_leaderboard.rb +171 -0
- data/lib/trophy_api_client/types/admin_leaderboard_rank_by.rb +10 -0
- data/lib/trophy_api_client/types/admin_leaderboard_run_unit.rb +10 -0
- data/lib/trophy_api_client/types/admin_leaderboard_status.rb +11 -0
- data/lib/trophy_api_client/types/create_leaderboard_request_item.rb +171 -0
- data/lib/trophy_api_client/types/create_leaderboard_request_item_rank_by.rb +10 -0
- data/lib/trophy_api_client/types/create_leaderboard_request_item_run_unit.rb +11 -0
- data/lib/trophy_api_client/types/create_leaderboard_request_item_status.rb +13 -0
- data/lib/trophy_api_client/types/create_leaderboards_request.rb +7 -0
- data/lib/trophy_api_client/types/create_leaderboards_response.rb +74 -0
- data/lib/trophy_api_client/types/delete_leaderboards_response.rb +75 -0
- data/lib/trophy_api_client/types/list_leaderboards_response.rb +7 -0
- data/lib/trophy_api_client/types/update_leaderboard_request_item.rb +179 -0
- data/lib/trophy_api_client/types/update_leaderboard_request_item_rank_by.rb +11 -0
- data/lib/trophy_api_client/types/update_leaderboard_request_item_run_unit.rb +9 -0
- data/lib/trophy_api_client/types/update_leaderboard_request_item_status.rb +12 -0
- data/lib/trophy_api_client/types/update_leaderboards_request.rb +7 -0
- data/lib/trophy_api_client/types/update_leaderboards_response.rb +75 -0
- data/lib/trophy_api_client/users/client.rb +2 -2
- data/lib/trophy_api_client/version.rb +1 -1
- data/lib/types_export.rb +29 -12
- metadata +20 -2
- data/lib/trophy_api_client/types/notification_type.rb +0 -11
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "admin_leaderboard_status"
|
|
4
|
+
require_relative "admin_leaderboard_rank_by"
|
|
5
|
+
require_relative "admin_leaderboard_run_unit"
|
|
6
|
+
require "ostruct"
|
|
7
|
+
require "json"
|
|
8
|
+
|
|
9
|
+
module TrophyApiClient
|
|
10
|
+
# A leaderboard returned from the admin leaderboards endpoints.
|
|
11
|
+
class AdminLeaderboard
|
|
12
|
+
# @return [String] The UUID of the leaderboard.
|
|
13
|
+
attr_reader :id
|
|
14
|
+
# @return [String] The leaderboard name.
|
|
15
|
+
attr_reader :name
|
|
16
|
+
# @return [String] The leaderboard key.
|
|
17
|
+
attr_reader :key
|
|
18
|
+
# @return [String] The leaderboard description.
|
|
19
|
+
attr_reader :description
|
|
20
|
+
# @return [TrophyApiClient::AdminLeaderboardStatus] The current user-facing status of the leaderboard.
|
|
21
|
+
attr_reader :status
|
|
22
|
+
# @return [TrophyApiClient::AdminLeaderboardRankBy] What the leaderboard ranks by.
|
|
23
|
+
attr_reader :rank_by
|
|
24
|
+
# @return [String] The metric ID used when `rankBy` is `metric`.
|
|
25
|
+
attr_reader :metric_id
|
|
26
|
+
# @return [String] The points system ID used when `rankBy` is `points`.
|
|
27
|
+
attr_reader :points_system_id
|
|
28
|
+
# @return [Integer] The maximum number of participants.
|
|
29
|
+
attr_reader :max_participants
|
|
30
|
+
# @return [String] The leaderboard start date in YYYY-MM-DD format.
|
|
31
|
+
attr_reader :start
|
|
32
|
+
# @return [String] The optional leaderboard end date in YYYY-MM-DD format.
|
|
33
|
+
attr_reader :end_
|
|
34
|
+
# @return [Array<String>] The UUIDs of the user attributes used for ranking breakdowns.
|
|
35
|
+
attr_reader :breakdown_attributes
|
|
36
|
+
# @return [TrophyApiClient::AdminLeaderboardRunUnit] The recurrence unit when the leaderboard repeats.
|
|
37
|
+
attr_reader :run_unit
|
|
38
|
+
# @return [Integer] The number of recurrence units between leaderboard runs.
|
|
39
|
+
attr_reader :run_interval
|
|
40
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
41
|
+
attr_reader :additional_properties
|
|
42
|
+
# @return [Object]
|
|
43
|
+
attr_reader :_field_set
|
|
44
|
+
protected :_field_set
|
|
45
|
+
|
|
46
|
+
OMIT = Object.new
|
|
47
|
+
|
|
48
|
+
# @param id [String] The UUID of the leaderboard.
|
|
49
|
+
# @param name [String] The leaderboard name.
|
|
50
|
+
# @param key [String] The leaderboard key.
|
|
51
|
+
# @param description [String] The leaderboard description.
|
|
52
|
+
# @param status [TrophyApiClient::AdminLeaderboardStatus] The current user-facing status of the leaderboard.
|
|
53
|
+
# @param rank_by [TrophyApiClient::AdminLeaderboardRankBy] What the leaderboard ranks by.
|
|
54
|
+
# @param metric_id [String] The metric ID used when `rankBy` is `metric`.
|
|
55
|
+
# @param points_system_id [String] The points system ID used when `rankBy` is `points`.
|
|
56
|
+
# @param max_participants [Integer] The maximum number of participants.
|
|
57
|
+
# @param start [String] The leaderboard start date in YYYY-MM-DD format.
|
|
58
|
+
# @param end_ [String] The optional leaderboard end date in YYYY-MM-DD format.
|
|
59
|
+
# @param breakdown_attributes [Array<String>] The UUIDs of the user attributes used for ranking breakdowns.
|
|
60
|
+
# @param run_unit [TrophyApiClient::AdminLeaderboardRunUnit] The recurrence unit when the leaderboard repeats.
|
|
61
|
+
# @param run_interval [Integer] The number of recurrence units between leaderboard runs.
|
|
62
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
63
|
+
# @return [TrophyApiClient::AdminLeaderboard]
|
|
64
|
+
def initialize(id:, name:, key:, status:, rank_by:, max_participants:, start:, breakdown_attributes:,
|
|
65
|
+
description: OMIT, metric_id: OMIT, points_system_id: OMIT, end_: OMIT, run_unit: OMIT, run_interval: OMIT, additional_properties: nil)
|
|
66
|
+
@id = id
|
|
67
|
+
@name = name
|
|
68
|
+
@key = key
|
|
69
|
+
@description = description if description != OMIT
|
|
70
|
+
@status = status
|
|
71
|
+
@rank_by = rank_by
|
|
72
|
+
@metric_id = metric_id if metric_id != OMIT
|
|
73
|
+
@points_system_id = points_system_id if points_system_id != OMIT
|
|
74
|
+
@max_participants = max_participants
|
|
75
|
+
@start = start
|
|
76
|
+
@end_ = end_ if end_ != OMIT
|
|
77
|
+
@breakdown_attributes = breakdown_attributes
|
|
78
|
+
@run_unit = run_unit if run_unit != OMIT
|
|
79
|
+
@run_interval = run_interval if run_interval != OMIT
|
|
80
|
+
@additional_properties = additional_properties
|
|
81
|
+
@_field_set = {
|
|
82
|
+
"id": id,
|
|
83
|
+
"name": name,
|
|
84
|
+
"key": key,
|
|
85
|
+
"description": description,
|
|
86
|
+
"status": status,
|
|
87
|
+
"rankBy": rank_by,
|
|
88
|
+
"metricId": metric_id,
|
|
89
|
+
"pointsSystemId": points_system_id,
|
|
90
|
+
"maxParticipants": max_participants,
|
|
91
|
+
"start": start,
|
|
92
|
+
"end": end_,
|
|
93
|
+
"breakdownAttributes": breakdown_attributes,
|
|
94
|
+
"runUnit": run_unit,
|
|
95
|
+
"runInterval": run_interval
|
|
96
|
+
}.reject do |_k, v|
|
|
97
|
+
v == OMIT
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Deserialize a JSON object to an instance of AdminLeaderboard
|
|
102
|
+
#
|
|
103
|
+
# @param json_object [String]
|
|
104
|
+
# @return [TrophyApiClient::AdminLeaderboard]
|
|
105
|
+
def self.from_json(json_object:)
|
|
106
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
107
|
+
parsed_json = JSON.parse(json_object)
|
|
108
|
+
id = parsed_json["id"]
|
|
109
|
+
name = parsed_json["name"]
|
|
110
|
+
key = parsed_json["key"]
|
|
111
|
+
description = parsed_json["description"]
|
|
112
|
+
status = parsed_json["status"]
|
|
113
|
+
rank_by = parsed_json["rankBy"]
|
|
114
|
+
metric_id = parsed_json["metricId"]
|
|
115
|
+
points_system_id = parsed_json["pointsSystemId"]
|
|
116
|
+
max_participants = parsed_json["maxParticipants"]
|
|
117
|
+
start = parsed_json["start"]
|
|
118
|
+
end_ = parsed_json["end"]
|
|
119
|
+
breakdown_attributes = parsed_json["breakdownAttributes"]
|
|
120
|
+
run_unit = parsed_json["runUnit"]
|
|
121
|
+
run_interval = parsed_json["runInterval"]
|
|
122
|
+
new(
|
|
123
|
+
id: id,
|
|
124
|
+
name: name,
|
|
125
|
+
key: key,
|
|
126
|
+
description: description,
|
|
127
|
+
status: status,
|
|
128
|
+
rank_by: rank_by,
|
|
129
|
+
metric_id: metric_id,
|
|
130
|
+
points_system_id: points_system_id,
|
|
131
|
+
max_participants: max_participants,
|
|
132
|
+
start: start,
|
|
133
|
+
end_: end_,
|
|
134
|
+
breakdown_attributes: breakdown_attributes,
|
|
135
|
+
run_unit: run_unit,
|
|
136
|
+
run_interval: run_interval,
|
|
137
|
+
additional_properties: struct
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# Serialize an instance of AdminLeaderboard to a JSON object
|
|
142
|
+
#
|
|
143
|
+
# @return [String]
|
|
144
|
+
def to_json(*_args)
|
|
145
|
+
@_field_set&.to_json
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
149
|
+
# hash and check each fields type against the current object's property
|
|
150
|
+
# definitions.
|
|
151
|
+
#
|
|
152
|
+
# @param obj [Object]
|
|
153
|
+
# @return [Void]
|
|
154
|
+
def self.validate_raw(obj:)
|
|
155
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
156
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
|
157
|
+
obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
|
|
158
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
|
159
|
+
obj.status.is_a?(TrophyApiClient::AdminLeaderboardStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
|
160
|
+
obj.rank_by.is_a?(TrophyApiClient::AdminLeaderboardRankBy) != false || raise("Passed value for field obj.rank_by is not the expected type, validation failed.")
|
|
161
|
+
obj.metric_id&.is_a?(String) != false || raise("Passed value for field obj.metric_id is not the expected type, validation failed.")
|
|
162
|
+
obj.points_system_id&.is_a?(String) != false || raise("Passed value for field obj.points_system_id is not the expected type, validation failed.")
|
|
163
|
+
obj.max_participants.is_a?(Integer) != false || raise("Passed value for field obj.max_participants is not the expected type, validation failed.")
|
|
164
|
+
obj.start.is_a?(String) != false || raise("Passed value for field obj.start is not the expected type, validation failed.")
|
|
165
|
+
obj.end_&.is_a?(String) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
|
|
166
|
+
obj.breakdown_attributes.is_a?(Array) != false || raise("Passed value for field obj.breakdown_attributes is not the expected type, validation failed.")
|
|
167
|
+
obj.run_unit&.is_a?(TrophyApiClient::AdminLeaderboardRunUnit) != false || raise("Passed value for field obj.run_unit is not the expected type, validation failed.")
|
|
168
|
+
obj.run_interval&.is_a?(Integer) != false || raise("Passed value for field obj.run_interval is not the expected type, validation failed.")
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "create_leaderboard_request_item_status"
|
|
4
|
+
require_relative "create_leaderboard_request_item_rank_by"
|
|
5
|
+
require_relative "create_leaderboard_request_item_run_unit"
|
|
6
|
+
require "ostruct"
|
|
7
|
+
require "json"
|
|
8
|
+
|
|
9
|
+
module TrophyApiClient
|
|
10
|
+
# A leaderboard to create.
|
|
11
|
+
class CreateLeaderboardRequestItem
|
|
12
|
+
# @return [String] The leaderboard name.
|
|
13
|
+
attr_reader :name
|
|
14
|
+
# @return [String] The leaderboard key. Only alphanumeric characters, hyphens, and underscores are
|
|
15
|
+
# permitted.
|
|
16
|
+
attr_reader :key
|
|
17
|
+
# @return [String] The leaderboard description.
|
|
18
|
+
attr_reader :description
|
|
19
|
+
# @return [TrophyApiClient::CreateLeaderboardRequestItemStatus] The initial user-facing status. Defaults to `inactive`. Use `scheduled` for
|
|
20
|
+
# leaderboards that should be active in the future and `finished` only when
|
|
21
|
+
# creating a leaderboard with an end date in the past.
|
|
22
|
+
attr_reader :status
|
|
23
|
+
# @return [TrophyApiClient::CreateLeaderboardRequestItemRankBy] What the leaderboard ranks by.
|
|
24
|
+
attr_reader :rank_by
|
|
25
|
+
# @return [String] The metric ID to rank by when `rankBy` is `metric`.
|
|
26
|
+
attr_reader :metric_id
|
|
27
|
+
# @return [String] The points system ID to rank by when `rankBy` is `points`.
|
|
28
|
+
attr_reader :points_system_id
|
|
29
|
+
# @return [Integer] The maximum number of participants. Defaults to `1000`.
|
|
30
|
+
attr_reader :max_participants
|
|
31
|
+
# @return [String] The leaderboard start date in YYYY-MM-DD format. Defaults to today when omitted.
|
|
32
|
+
attr_reader :start
|
|
33
|
+
# @return [String] The optional leaderboard end date in YYYY-MM-DD format.
|
|
34
|
+
attr_reader :end_
|
|
35
|
+
# @return [Array<String>] The UUIDs of the active user attributes to break rankings down by.
|
|
36
|
+
attr_reader :breakdown_attributes
|
|
37
|
+
# @return [TrophyApiClient::CreateLeaderboardRequestItemRunUnit] How often the leaderboard repeats. Omit for a non-recurring leaderboard. Streak
|
|
38
|
+
# leaderboards cannot repeat.
|
|
39
|
+
attr_reader :run_unit
|
|
40
|
+
# @return [Integer] The number of `runUnit`s between repeats. Required when `runUnit` is set.
|
|
41
|
+
attr_reader :run_interval
|
|
42
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
43
|
+
attr_reader :additional_properties
|
|
44
|
+
# @return [Object]
|
|
45
|
+
attr_reader :_field_set
|
|
46
|
+
protected :_field_set
|
|
47
|
+
|
|
48
|
+
OMIT = Object.new
|
|
49
|
+
|
|
50
|
+
# @param name [String] The leaderboard name.
|
|
51
|
+
# @param key [String] The leaderboard key. Only alphanumeric characters, hyphens, and underscores are
|
|
52
|
+
# permitted.
|
|
53
|
+
# @param description [String] The leaderboard description.
|
|
54
|
+
# @param status [TrophyApiClient::CreateLeaderboardRequestItemStatus] The initial user-facing status. Defaults to `inactive`. Use `scheduled` for
|
|
55
|
+
# leaderboards that should be active in the future and `finished` only when
|
|
56
|
+
# creating a leaderboard with an end date in the past.
|
|
57
|
+
# @param rank_by [TrophyApiClient::CreateLeaderboardRequestItemRankBy] What the leaderboard ranks by.
|
|
58
|
+
# @param metric_id [String] The metric ID to rank by when `rankBy` is `metric`.
|
|
59
|
+
# @param points_system_id [String] The points system ID to rank by when `rankBy` is `points`.
|
|
60
|
+
# @param max_participants [Integer] The maximum number of participants. Defaults to `1000`.
|
|
61
|
+
# @param start [String] The leaderboard start date in YYYY-MM-DD format. Defaults to today when omitted.
|
|
62
|
+
# @param end_ [String] The optional leaderboard end date in YYYY-MM-DD format.
|
|
63
|
+
# @param breakdown_attributes [Array<String>] The UUIDs of the active user attributes to break rankings down by.
|
|
64
|
+
# @param run_unit [TrophyApiClient::CreateLeaderboardRequestItemRunUnit] How often the leaderboard repeats. Omit for a non-recurring leaderboard. Streak
|
|
65
|
+
# leaderboards cannot repeat.
|
|
66
|
+
# @param run_interval [Integer] The number of `runUnit`s between repeats. Required when `runUnit` is set.
|
|
67
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
68
|
+
# @return [TrophyApiClient::CreateLeaderboardRequestItem]
|
|
69
|
+
def initialize(name:, key:, rank_by:, description: OMIT, status: OMIT, metric_id: OMIT, points_system_id: OMIT,
|
|
70
|
+
max_participants: OMIT, start: OMIT, end_: OMIT, breakdown_attributes: OMIT, run_unit: OMIT, run_interval: OMIT, additional_properties: nil)
|
|
71
|
+
@name = name
|
|
72
|
+
@key = key
|
|
73
|
+
@description = description if description != OMIT
|
|
74
|
+
@status = status if status != OMIT
|
|
75
|
+
@rank_by = rank_by
|
|
76
|
+
@metric_id = metric_id if metric_id != OMIT
|
|
77
|
+
@points_system_id = points_system_id if points_system_id != OMIT
|
|
78
|
+
@max_participants = max_participants if max_participants != OMIT
|
|
79
|
+
@start = start if start != OMIT
|
|
80
|
+
@end_ = end_ if end_ != OMIT
|
|
81
|
+
@breakdown_attributes = breakdown_attributes if breakdown_attributes != OMIT
|
|
82
|
+
@run_unit = run_unit if run_unit != OMIT
|
|
83
|
+
@run_interval = run_interval if run_interval != OMIT
|
|
84
|
+
@additional_properties = additional_properties
|
|
85
|
+
@_field_set = {
|
|
86
|
+
"name": name,
|
|
87
|
+
"key": key,
|
|
88
|
+
"description": description,
|
|
89
|
+
"status": status,
|
|
90
|
+
"rankBy": rank_by,
|
|
91
|
+
"metricId": metric_id,
|
|
92
|
+
"pointsSystemId": points_system_id,
|
|
93
|
+
"maxParticipants": max_participants,
|
|
94
|
+
"start": start,
|
|
95
|
+
"end": end_,
|
|
96
|
+
"breakdownAttributes": breakdown_attributes,
|
|
97
|
+
"runUnit": run_unit,
|
|
98
|
+
"runInterval": run_interval
|
|
99
|
+
}.reject do |_k, v|
|
|
100
|
+
v == OMIT
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Deserialize a JSON object to an instance of CreateLeaderboardRequestItem
|
|
105
|
+
#
|
|
106
|
+
# @param json_object [String]
|
|
107
|
+
# @return [TrophyApiClient::CreateLeaderboardRequestItem]
|
|
108
|
+
def self.from_json(json_object:)
|
|
109
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
110
|
+
parsed_json = JSON.parse(json_object)
|
|
111
|
+
name = parsed_json["name"]
|
|
112
|
+
key = parsed_json["key"]
|
|
113
|
+
description = parsed_json["description"]
|
|
114
|
+
status = parsed_json["status"]
|
|
115
|
+
rank_by = parsed_json["rankBy"]
|
|
116
|
+
metric_id = parsed_json["metricId"]
|
|
117
|
+
points_system_id = parsed_json["pointsSystemId"]
|
|
118
|
+
max_participants = parsed_json["maxParticipants"]
|
|
119
|
+
start = parsed_json["start"]
|
|
120
|
+
end_ = parsed_json["end"]
|
|
121
|
+
breakdown_attributes = parsed_json["breakdownAttributes"]
|
|
122
|
+
run_unit = parsed_json["runUnit"]
|
|
123
|
+
run_interval = parsed_json["runInterval"]
|
|
124
|
+
new(
|
|
125
|
+
name: name,
|
|
126
|
+
key: key,
|
|
127
|
+
description: description,
|
|
128
|
+
status: status,
|
|
129
|
+
rank_by: rank_by,
|
|
130
|
+
metric_id: metric_id,
|
|
131
|
+
points_system_id: points_system_id,
|
|
132
|
+
max_participants: max_participants,
|
|
133
|
+
start: start,
|
|
134
|
+
end_: end_,
|
|
135
|
+
breakdown_attributes: breakdown_attributes,
|
|
136
|
+
run_unit: run_unit,
|
|
137
|
+
run_interval: run_interval,
|
|
138
|
+
additional_properties: struct
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Serialize an instance of CreateLeaderboardRequestItem to a JSON object
|
|
143
|
+
#
|
|
144
|
+
# @return [String]
|
|
145
|
+
def to_json(*_args)
|
|
146
|
+
@_field_set&.to_json
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
150
|
+
# hash and check each fields type against the current object's property
|
|
151
|
+
# definitions.
|
|
152
|
+
#
|
|
153
|
+
# @param obj [Object]
|
|
154
|
+
# @return [Void]
|
|
155
|
+
def self.validate_raw(obj:)
|
|
156
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
|
157
|
+
obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
|
|
158
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
|
159
|
+
obj.status&.is_a?(TrophyApiClient::CreateLeaderboardRequestItemStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
|
160
|
+
obj.rank_by.is_a?(TrophyApiClient::CreateLeaderboardRequestItemRankBy) != false || raise("Passed value for field obj.rank_by is not the expected type, validation failed.")
|
|
161
|
+
obj.metric_id&.is_a?(String) != false || raise("Passed value for field obj.metric_id is not the expected type, validation failed.")
|
|
162
|
+
obj.points_system_id&.is_a?(String) != false || raise("Passed value for field obj.points_system_id is not the expected type, validation failed.")
|
|
163
|
+
obj.max_participants&.is_a?(Integer) != false || raise("Passed value for field obj.max_participants is not the expected type, validation failed.")
|
|
164
|
+
obj.start&.is_a?(String) != false || raise("Passed value for field obj.start is not the expected type, validation failed.")
|
|
165
|
+
obj.end_&.is_a?(String) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
|
|
166
|
+
obj.breakdown_attributes&.is_a?(Array) != false || raise("Passed value for field obj.breakdown_attributes is not the expected type, validation failed.")
|
|
167
|
+
obj.run_unit&.is_a?(TrophyApiClient::CreateLeaderboardRequestItemRunUnit) != false || raise("Passed value for field obj.run_unit is not the expected type, validation failed.")
|
|
168
|
+
obj.run_interval&.is_a?(Integer) != false || raise("Passed value for field obj.run_interval is not the expected type, validation failed.")
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module TrophyApiClient
|
|
4
|
+
# How often the leaderboard repeats. Omit for a non-recurring leaderboard. Streak
|
|
5
|
+
# leaderboards cannot repeat.
|
|
6
|
+
class CreateLeaderboardRequestItemRunUnit
|
|
7
|
+
DAY = "day"
|
|
8
|
+
MONTH = "month"
|
|
9
|
+
YEAR = "year"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module TrophyApiClient
|
|
4
|
+
# The initial user-facing status. Defaults to `inactive`. Use `scheduled` for
|
|
5
|
+
# leaderboards that should be active in the future and `finished` only when
|
|
6
|
+
# creating a leaderboard with an end date in the past.
|
|
7
|
+
class CreateLeaderboardRequestItemStatus
|
|
8
|
+
INACTIVE = "inactive"
|
|
9
|
+
ACTIVE = "active"
|
|
10
|
+
SCHEDULED = "scheduled"
|
|
11
|
+
FINISHED = "finished"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "admin_leaderboard"
|
|
4
|
+
require_relative "admin_issue"
|
|
5
|
+
require "ostruct"
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
module TrophyApiClient
|
|
9
|
+
# Response containing created leaderboards and any per-item issues.
|
|
10
|
+
class CreateLeaderboardsResponse
|
|
11
|
+
# @return [Array<TrophyApiClient::AdminLeaderboard>] Array of successfully created leaderboards.
|
|
12
|
+
attr_reader :created
|
|
13
|
+
# @return [Array<TrophyApiClient::AdminIssue>] Array of issues encountered during leaderboard creation.
|
|
14
|
+
attr_reader :issues
|
|
15
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
16
|
+
attr_reader :additional_properties
|
|
17
|
+
# @return [Object]
|
|
18
|
+
attr_reader :_field_set
|
|
19
|
+
protected :_field_set
|
|
20
|
+
|
|
21
|
+
OMIT = Object.new
|
|
22
|
+
|
|
23
|
+
# @param created [Array<TrophyApiClient::AdminLeaderboard>] Array of successfully created leaderboards.
|
|
24
|
+
# @param issues [Array<TrophyApiClient::AdminIssue>] Array of issues encountered during leaderboard creation.
|
|
25
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
26
|
+
# @return [TrophyApiClient::CreateLeaderboardsResponse]
|
|
27
|
+
def initialize(created:, issues:, additional_properties: nil)
|
|
28
|
+
@created = created
|
|
29
|
+
@issues = issues
|
|
30
|
+
@additional_properties = additional_properties
|
|
31
|
+
@_field_set = { "created": created, "issues": issues }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Deserialize a JSON object to an instance of CreateLeaderboardsResponse
|
|
35
|
+
#
|
|
36
|
+
# @param json_object [String]
|
|
37
|
+
# @return [TrophyApiClient::CreateLeaderboardsResponse]
|
|
38
|
+
def self.from_json(json_object:)
|
|
39
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
40
|
+
parsed_json = JSON.parse(json_object)
|
|
41
|
+
created = parsed_json["created"]&.map do |item|
|
|
42
|
+
item = item.to_json
|
|
43
|
+
TrophyApiClient::AdminLeaderboard.from_json(json_object: item)
|
|
44
|
+
end
|
|
45
|
+
issues = parsed_json["issues"]&.map do |item|
|
|
46
|
+
item = item.to_json
|
|
47
|
+
TrophyApiClient::AdminIssue.from_json(json_object: item)
|
|
48
|
+
end
|
|
49
|
+
new(
|
|
50
|
+
created: created,
|
|
51
|
+
issues: issues,
|
|
52
|
+
additional_properties: struct
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Serialize an instance of CreateLeaderboardsResponse to a JSON object
|
|
57
|
+
#
|
|
58
|
+
# @return [String]
|
|
59
|
+
def to_json(*_args)
|
|
60
|
+
@_field_set&.to_json
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
64
|
+
# hash and check each fields type against the current object's property
|
|
65
|
+
# definitions.
|
|
66
|
+
#
|
|
67
|
+
# @param obj [Object]
|
|
68
|
+
# @return [Void]
|
|
69
|
+
def self.validate_raw(obj:)
|
|
70
|
+
obj.created.is_a?(Array) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
|
|
71
|
+
obj.issues.is_a?(Array) != false || raise("Passed value for field obj.issues is not the expected type, validation failed.")
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "deleted_resource"
|
|
4
|
+
require_relative "admin_issue"
|
|
5
|
+
require "ostruct"
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
module TrophyApiClient
|
|
9
|
+
# Response containing deleted leaderboards represented by ID and any per-item
|
|
10
|
+
# issues.
|
|
11
|
+
class DeleteLeaderboardsResponse
|
|
12
|
+
# @return [Array<TrophyApiClient::DeletedResource>] Array of deleted leaderboards represented by ID.
|
|
13
|
+
attr_reader :deleted
|
|
14
|
+
# @return [Array<TrophyApiClient::AdminIssue>] Array of issues encountered during leaderboard deletion.
|
|
15
|
+
attr_reader :issues
|
|
16
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
17
|
+
attr_reader :additional_properties
|
|
18
|
+
# @return [Object]
|
|
19
|
+
attr_reader :_field_set
|
|
20
|
+
protected :_field_set
|
|
21
|
+
|
|
22
|
+
OMIT = Object.new
|
|
23
|
+
|
|
24
|
+
# @param deleted [Array<TrophyApiClient::DeletedResource>] Array of deleted leaderboards represented by ID.
|
|
25
|
+
# @param issues [Array<TrophyApiClient::AdminIssue>] Array of issues encountered during leaderboard deletion.
|
|
26
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
27
|
+
# @return [TrophyApiClient::DeleteLeaderboardsResponse]
|
|
28
|
+
def initialize(deleted:, issues:, additional_properties: nil)
|
|
29
|
+
@deleted = deleted
|
|
30
|
+
@issues = issues
|
|
31
|
+
@additional_properties = additional_properties
|
|
32
|
+
@_field_set = { "deleted": deleted, "issues": issues }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Deserialize a JSON object to an instance of DeleteLeaderboardsResponse
|
|
36
|
+
#
|
|
37
|
+
# @param json_object [String]
|
|
38
|
+
# @return [TrophyApiClient::DeleteLeaderboardsResponse]
|
|
39
|
+
def self.from_json(json_object:)
|
|
40
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
41
|
+
parsed_json = JSON.parse(json_object)
|
|
42
|
+
deleted = parsed_json["deleted"]&.map do |item|
|
|
43
|
+
item = item.to_json
|
|
44
|
+
TrophyApiClient::DeletedResource.from_json(json_object: item)
|
|
45
|
+
end
|
|
46
|
+
issues = parsed_json["issues"]&.map do |item|
|
|
47
|
+
item = item.to_json
|
|
48
|
+
TrophyApiClient::AdminIssue.from_json(json_object: item)
|
|
49
|
+
end
|
|
50
|
+
new(
|
|
51
|
+
deleted: deleted,
|
|
52
|
+
issues: issues,
|
|
53
|
+
additional_properties: struct
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Serialize an instance of DeleteLeaderboardsResponse to a JSON object
|
|
58
|
+
#
|
|
59
|
+
# @return [String]
|
|
60
|
+
def to_json(*_args)
|
|
61
|
+
@_field_set&.to_json
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
65
|
+
# hash and check each fields type against the current object's property
|
|
66
|
+
# definitions.
|
|
67
|
+
#
|
|
68
|
+
# @param obj [Object]
|
|
69
|
+
# @return [Void]
|
|
70
|
+
def self.validate_raw(obj:)
|
|
71
|
+
obj.deleted.is_a?(Array) != false || raise("Passed value for field obj.deleted is not the expected type, validation failed.")
|
|
72
|
+
obj.issues.is_a?(Array) != false || raise("Passed value for field obj.issues is not the expected type, validation failed.")
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|