trophy_api_client 1.7.0 → 1.8.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/points/boosts/client.rb +258 -39
- data/lib/trophy_api_client/admin/points/client.rb +21 -0
- data/lib/trophy_api_client/admin/points/levels/client.rb +402 -0
- data/lib/trophy_api_client/admin/points/systems/client.rb +374 -0
- data/lib/trophy_api_client/admin/points/triggers/client.rb +402 -0
- data/lib/trophy_api_client/types/{created_points_boost.rb → admin_points_boost.rb} +39 -23
- data/lib/trophy_api_client/types/{created_points_boost_rounding.rb → admin_points_boost_rounding.rb} +1 -1
- data/lib/trophy_api_client/types/{created_points_boost_status.rb → admin_points_boost_status.rb} +1 -1
- data/lib/trophy_api_client/types/admin_points_boost_user_attributes_item.rb +65 -0
- data/lib/trophy_api_client/types/admin_points_level.rb +109 -0
- data/lib/trophy_api_client/types/admin_points_level_badge.rb +55 -0
- data/lib/trophy_api_client/types/admin_points_system.rb +118 -0
- data/lib/trophy_api_client/types/admin_points_system_badge.rb +55 -0
- data/lib/trophy_api_client/types/admin_points_system_status.rb +9 -0
- data/lib/trophy_api_client/types/admin_points_trigger.rb +175 -0
- data/lib/trophy_api_client/types/admin_points_trigger_event_attributes_item.rb +66 -0
- data/lib/trophy_api_client/types/admin_points_trigger_status.rb +9 -0
- data/lib/trophy_api_client/types/admin_points_trigger_time_unit.rb +9 -0
- data/lib/trophy_api_client/types/admin_points_trigger_type.rb +12 -0
- data/lib/trophy_api_client/types/admin_points_trigger_user_attributes_item.rb +65 -0
- data/lib/trophy_api_client/types/create_points_boost_request_item.rb +125 -0
- data/lib/trophy_api_client/types/create_points_boost_request_item_rounding.rb +10 -0
- data/lib/trophy_api_client/types/create_points_boost_request_item_user_attributes_item.rb +67 -0
- data/lib/trophy_api_client/types/create_points_boosts_request.rb +7 -0
- data/lib/trophy_api_client/types/create_points_boosts_response.rb +4 -4
- data/lib/trophy_api_client/types/create_points_level_request_item.rb +103 -0
- data/lib/trophy_api_client/types/create_points_level_request_item_badge.rb +56 -0
- data/lib/trophy_api_client/types/create_points_levels_request.rb +7 -0
- data/lib/trophy_api_client/types/create_points_levels_response.rb +74 -0
- data/lib/trophy_api_client/types/create_points_system_request_item.rb +140 -0
- data/lib/trophy_api_client/types/create_points_system_request_item_badge.rb +55 -0
- data/lib/trophy_api_client/types/create_points_systems_request.rb +7 -0
- data/lib/trophy_api_client/types/create_points_systems_response.rb +74 -0
- data/lib/trophy_api_client/types/create_points_trigger_request_item.rb +167 -0
- data/lib/trophy_api_client/types/create_points_trigger_request_item_event_attributes_item.rb +67 -0
- data/lib/trophy_api_client/types/create_points_trigger_request_item_status.rb +9 -0
- data/lib/trophy_api_client/types/create_points_trigger_request_item_time_unit.rb +9 -0
- data/lib/trophy_api_client/types/create_points_trigger_request_item_type.rb +12 -0
- data/lib/trophy_api_client/types/create_points_trigger_request_item_user_attributes_item.rb +67 -0
- data/lib/trophy_api_client/types/create_points_triggers_request.rb +7 -0
- data/lib/trophy_api_client/types/create_points_triggers_response.rb +74 -0
- data/lib/trophy_api_client/types/created_admin_points_system.rb +163 -0
- data/lib/trophy_api_client/types/delete_points_levels_response.rb +74 -0
- data/lib/trophy_api_client/types/delete_points_systems_response.rb +74 -0
- data/lib/trophy_api_client/types/delete_points_triggers_response.rb +75 -0
- data/lib/trophy_api_client/types/list_points_boosts_response.rb +7 -0
- data/lib/trophy_api_client/types/list_points_levels_response.rb +7 -0
- data/lib/trophy_api_client/types/list_points_systems_response.rb +7 -0
- data/lib/trophy_api_client/types/list_points_triggers_response.rb +7 -0
- data/lib/trophy_api_client/types/patch_points_boosts_request.rb +7 -0
- data/lib/trophy_api_client/types/patch_points_boosts_request_item.rb +118 -0
- data/lib/trophy_api_client/types/patch_points_boosts_request_item_rounding.rb +10 -0
- data/lib/trophy_api_client/types/patch_points_boosts_request_item_user_attributes_item.rb +67 -0
- data/lib/trophy_api_client/types/patch_points_boosts_response.rb +74 -0
- data/lib/trophy_api_client/types/patch_points_levels_request.rb +7 -0
- data/lib/trophy_api_client/types/patch_points_levels_request_item.rb +100 -0
- data/lib/trophy_api_client/types/patch_points_levels_request_item_badge.rb +55 -0
- data/lib/trophy_api_client/types/patch_points_levels_response.rb +74 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request.rb +7 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request_item.rb +174 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request_item_event_attributes_item.rb +67 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request_item_status.rb +9 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request_item_time_unit.rb +9 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request_item_type.rb +13 -0
- data/lib/trophy_api_client/types/patch_points_triggers_request_item_user_attributes_item.rb +67 -0
- data/lib/trophy_api_client/types/patch_points_triggers_response.rb +74 -0
- data/lib/trophy_api_client/types/update_points_system_request_item.rb +102 -0
- data/lib/trophy_api_client/types/update_points_system_request_item_badge.rb +55 -0
- data/lib/trophy_api_client/types/update_points_systems_request.rb +7 -0
- data/lib/trophy_api_client/types/update_points_systems_response.rb +74 -0
- data/lib/trophy_api_client/version.rb +1 -1
- data/lib/types_export.rb +64 -5
- metadata +68 -6
- data/lib/trophy_api_client/admin/points/boosts/types/create_points_boosts_request_boosts_item.rb +0 -111
- data/lib/trophy_api_client/admin/points/boosts/types/create_points_boosts_request_boosts_item_rounding.rb +0 -16
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "admin_points_level_badge"
|
|
4
|
+
require "ostruct"
|
|
5
|
+
require "json"
|
|
6
|
+
|
|
7
|
+
module TrophyApiClient
|
|
8
|
+
# A points level as returned from admin endpoints.
|
|
9
|
+
class AdminPointsLevel
|
|
10
|
+
# @return [String] The UUID of the level.
|
|
11
|
+
attr_reader :id
|
|
12
|
+
# @return [String] The name of the level.
|
|
13
|
+
attr_reader :name
|
|
14
|
+
# @return [String] The level key.
|
|
15
|
+
attr_reader :key
|
|
16
|
+
# @return [Integer] The threshold points value for the level.
|
|
17
|
+
attr_reader :points
|
|
18
|
+
# @return [String] The level description.
|
|
19
|
+
attr_reader :description
|
|
20
|
+
# @return [TrophyApiClient::AdminPointsLevelBadge] The badge for the level, or null if no badge is set.
|
|
21
|
+
attr_reader :badge
|
|
22
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
23
|
+
attr_reader :additional_properties
|
|
24
|
+
# @return [Object]
|
|
25
|
+
attr_reader :_field_set
|
|
26
|
+
protected :_field_set
|
|
27
|
+
|
|
28
|
+
OMIT = Object.new
|
|
29
|
+
|
|
30
|
+
# @param id [String] The UUID of the level.
|
|
31
|
+
# @param name [String] The name of the level.
|
|
32
|
+
# @param key [String] The level key.
|
|
33
|
+
# @param points [Integer] The threshold points value for the level.
|
|
34
|
+
# @param description [String] The level description.
|
|
35
|
+
# @param badge [TrophyApiClient::AdminPointsLevelBadge] The badge for the level, or null if no badge is set.
|
|
36
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
37
|
+
# @return [TrophyApiClient::AdminPointsLevel]
|
|
38
|
+
def initialize(id:, name:, key:, points:, description:, badge: OMIT, additional_properties: nil)
|
|
39
|
+
@id = id
|
|
40
|
+
@name = name
|
|
41
|
+
@key = key
|
|
42
|
+
@points = points
|
|
43
|
+
@description = description
|
|
44
|
+
@badge = badge if badge != OMIT
|
|
45
|
+
@additional_properties = additional_properties
|
|
46
|
+
@_field_set = {
|
|
47
|
+
"id": id,
|
|
48
|
+
"name": name,
|
|
49
|
+
"key": key,
|
|
50
|
+
"points": points,
|
|
51
|
+
"description": description,
|
|
52
|
+
"badge": badge
|
|
53
|
+
}.reject do |_k, v|
|
|
54
|
+
v == OMIT
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Deserialize a JSON object to an instance of AdminPointsLevel
|
|
59
|
+
#
|
|
60
|
+
# @param json_object [String]
|
|
61
|
+
# @return [TrophyApiClient::AdminPointsLevel]
|
|
62
|
+
def self.from_json(json_object:)
|
|
63
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
64
|
+
parsed_json = JSON.parse(json_object)
|
|
65
|
+
id = parsed_json["id"]
|
|
66
|
+
name = parsed_json["name"]
|
|
67
|
+
key = parsed_json["key"]
|
|
68
|
+
points = parsed_json["points"]
|
|
69
|
+
description = parsed_json["description"]
|
|
70
|
+
if parsed_json["badge"].nil?
|
|
71
|
+
badge = nil
|
|
72
|
+
else
|
|
73
|
+
badge = parsed_json["badge"].to_json
|
|
74
|
+
badge = TrophyApiClient::AdminPointsLevelBadge.from_json(json_object: badge)
|
|
75
|
+
end
|
|
76
|
+
new(
|
|
77
|
+
id: id,
|
|
78
|
+
name: name,
|
|
79
|
+
key: key,
|
|
80
|
+
points: points,
|
|
81
|
+
description: description,
|
|
82
|
+
badge: badge,
|
|
83
|
+
additional_properties: struct
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Serialize an instance of AdminPointsLevel to a JSON object
|
|
88
|
+
#
|
|
89
|
+
# @return [String]
|
|
90
|
+
def to_json(*_args)
|
|
91
|
+
@_field_set&.to_json
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
95
|
+
# hash and check each fields type against the current object's property
|
|
96
|
+
# definitions.
|
|
97
|
+
#
|
|
98
|
+
# @param obj [Object]
|
|
99
|
+
# @return [Void]
|
|
100
|
+
def self.validate_raw(obj:)
|
|
101
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
102
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
|
103
|
+
obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
|
|
104
|
+
obj.points.is_a?(Integer) != false || raise("Passed value for field obj.points is not the expected type, validation failed.")
|
|
105
|
+
obj.description.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
|
106
|
+
obj.badge.nil? || TrophyApiClient::AdminPointsLevelBadge.validate_raw(obj: obj.badge)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "ostruct"
|
|
4
|
+
require "json"
|
|
5
|
+
|
|
6
|
+
module TrophyApiClient
|
|
7
|
+
class AdminPointsLevelBadge
|
|
8
|
+
# @return [String] The URL of the badge image.
|
|
9
|
+
attr_reader :url
|
|
10
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
11
|
+
attr_reader :additional_properties
|
|
12
|
+
# @return [Object]
|
|
13
|
+
attr_reader :_field_set
|
|
14
|
+
protected :_field_set
|
|
15
|
+
|
|
16
|
+
OMIT = Object.new
|
|
17
|
+
|
|
18
|
+
# @param url [String] The URL of the badge image.
|
|
19
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
20
|
+
# @return [TrophyApiClient::AdminPointsLevelBadge]
|
|
21
|
+
def initialize(url:, additional_properties: nil)
|
|
22
|
+
@url = url
|
|
23
|
+
@additional_properties = additional_properties
|
|
24
|
+
@_field_set = { "url": url }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Deserialize a JSON object to an instance of AdminPointsLevelBadge
|
|
28
|
+
#
|
|
29
|
+
# @param json_object [String]
|
|
30
|
+
# @return [TrophyApiClient::AdminPointsLevelBadge]
|
|
31
|
+
def self.from_json(json_object:)
|
|
32
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
33
|
+
parsed_json = JSON.parse(json_object)
|
|
34
|
+
url = parsed_json["url"]
|
|
35
|
+
new(url: url, additional_properties: struct)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Serialize an instance of AdminPointsLevelBadge to a JSON object
|
|
39
|
+
#
|
|
40
|
+
# @return [String]
|
|
41
|
+
def to_json(*_args)
|
|
42
|
+
@_field_set&.to_json
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
46
|
+
# hash and check each fields type against the current object's property
|
|
47
|
+
# definitions.
|
|
48
|
+
#
|
|
49
|
+
# @param obj [Object]
|
|
50
|
+
# @return [Void]
|
|
51
|
+
def self.validate_raw(obj:)
|
|
52
|
+
obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "admin_points_system_status"
|
|
4
|
+
require_relative "admin_points_system_badge"
|
|
5
|
+
require "ostruct"
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
module TrophyApiClient
|
|
9
|
+
# A points system returned from the admin points systems endpoints.
|
|
10
|
+
class AdminPointsSystem
|
|
11
|
+
# @return [String] The UUID of the points system.
|
|
12
|
+
attr_reader :id
|
|
13
|
+
# @return [String] The points system name.
|
|
14
|
+
attr_reader :name
|
|
15
|
+
# @return [String] The points system key.
|
|
16
|
+
attr_reader :key
|
|
17
|
+
# @return [String] The points system description.
|
|
18
|
+
attr_reader :description
|
|
19
|
+
# @return [TrophyApiClient::AdminPointsSystemStatus] The points system status.
|
|
20
|
+
attr_reader :status
|
|
21
|
+
# @return [TrophyApiClient::AdminPointsSystemBadge] The badge for the points system.
|
|
22
|
+
attr_reader :badge
|
|
23
|
+
# @return [Integer] The maximum points a user can earn.
|
|
24
|
+
attr_reader :max_points
|
|
25
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
26
|
+
attr_reader :additional_properties
|
|
27
|
+
# @return [Object]
|
|
28
|
+
attr_reader :_field_set
|
|
29
|
+
protected :_field_set
|
|
30
|
+
|
|
31
|
+
OMIT = Object.new
|
|
32
|
+
|
|
33
|
+
# @param id [String] The UUID of the points system.
|
|
34
|
+
# @param name [String] The points system name.
|
|
35
|
+
# @param key [String] The points system key.
|
|
36
|
+
# @param description [String] The points system description.
|
|
37
|
+
# @param status [TrophyApiClient::AdminPointsSystemStatus] The points system status.
|
|
38
|
+
# @param badge [TrophyApiClient::AdminPointsSystemBadge] The badge for the points system.
|
|
39
|
+
# @param max_points [Integer] The maximum points a user can earn.
|
|
40
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
41
|
+
# @return [TrophyApiClient::AdminPointsSystem]
|
|
42
|
+
def initialize(id:, name:, key:, description:, status:, badge: OMIT, max_points: OMIT, additional_properties: nil)
|
|
43
|
+
@id = id
|
|
44
|
+
@name = name
|
|
45
|
+
@key = key
|
|
46
|
+
@description = description
|
|
47
|
+
@status = status
|
|
48
|
+
@badge = badge if badge != OMIT
|
|
49
|
+
@max_points = max_points if max_points != OMIT
|
|
50
|
+
@additional_properties = additional_properties
|
|
51
|
+
@_field_set = {
|
|
52
|
+
"id": id,
|
|
53
|
+
"name": name,
|
|
54
|
+
"key": key,
|
|
55
|
+
"description": description,
|
|
56
|
+
"status": status,
|
|
57
|
+
"badge": badge,
|
|
58
|
+
"maxPoints": max_points
|
|
59
|
+
}.reject do |_k, v|
|
|
60
|
+
v == OMIT
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Deserialize a JSON object to an instance of AdminPointsSystem
|
|
65
|
+
#
|
|
66
|
+
# @param json_object [String]
|
|
67
|
+
# @return [TrophyApiClient::AdminPointsSystem]
|
|
68
|
+
def self.from_json(json_object:)
|
|
69
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
70
|
+
parsed_json = JSON.parse(json_object)
|
|
71
|
+
id = parsed_json["id"]
|
|
72
|
+
name = parsed_json["name"]
|
|
73
|
+
key = parsed_json["key"]
|
|
74
|
+
description = parsed_json["description"]
|
|
75
|
+
status = parsed_json["status"]
|
|
76
|
+
if parsed_json["badge"].nil?
|
|
77
|
+
badge = nil
|
|
78
|
+
else
|
|
79
|
+
badge = parsed_json["badge"].to_json
|
|
80
|
+
badge = TrophyApiClient::AdminPointsSystemBadge.from_json(json_object: badge)
|
|
81
|
+
end
|
|
82
|
+
max_points = parsed_json["maxPoints"]
|
|
83
|
+
new(
|
|
84
|
+
id: id,
|
|
85
|
+
name: name,
|
|
86
|
+
key: key,
|
|
87
|
+
description: description,
|
|
88
|
+
status: status,
|
|
89
|
+
badge: badge,
|
|
90
|
+
max_points: max_points,
|
|
91
|
+
additional_properties: struct
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Serialize an instance of AdminPointsSystem to a JSON object
|
|
96
|
+
#
|
|
97
|
+
# @return [String]
|
|
98
|
+
def to_json(*_args)
|
|
99
|
+
@_field_set&.to_json
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
103
|
+
# hash and check each fields type against the current object's property
|
|
104
|
+
# definitions.
|
|
105
|
+
#
|
|
106
|
+
# @param obj [Object]
|
|
107
|
+
# @return [Void]
|
|
108
|
+
def self.validate_raw(obj:)
|
|
109
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
110
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
|
111
|
+
obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
|
|
112
|
+
obj.description.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
|
113
|
+
obj.status.is_a?(TrophyApiClient::AdminPointsSystemStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
|
114
|
+
obj.badge.nil? || TrophyApiClient::AdminPointsSystemBadge.validate_raw(obj: obj.badge)
|
|
115
|
+
obj.max_points&.is_a?(Integer) != false || raise("Passed value for field obj.max_points is not the expected type, validation failed.")
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "ostruct"
|
|
4
|
+
require "json"
|
|
5
|
+
|
|
6
|
+
module TrophyApiClient
|
|
7
|
+
class AdminPointsSystemBadge
|
|
8
|
+
# @return [String]
|
|
9
|
+
attr_reader :url
|
|
10
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
11
|
+
attr_reader :additional_properties
|
|
12
|
+
# @return [Object]
|
|
13
|
+
attr_reader :_field_set
|
|
14
|
+
protected :_field_set
|
|
15
|
+
|
|
16
|
+
OMIT = Object.new
|
|
17
|
+
|
|
18
|
+
# @param url [String]
|
|
19
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
20
|
+
# @return [TrophyApiClient::AdminPointsSystemBadge]
|
|
21
|
+
def initialize(url:, additional_properties: nil)
|
|
22
|
+
@url = url
|
|
23
|
+
@additional_properties = additional_properties
|
|
24
|
+
@_field_set = { "url": url }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Deserialize a JSON object to an instance of AdminPointsSystemBadge
|
|
28
|
+
#
|
|
29
|
+
# @param json_object [String]
|
|
30
|
+
# @return [TrophyApiClient::AdminPointsSystemBadge]
|
|
31
|
+
def self.from_json(json_object:)
|
|
32
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
33
|
+
parsed_json = JSON.parse(json_object)
|
|
34
|
+
url = parsed_json["url"]
|
|
35
|
+
new(url: url, additional_properties: struct)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Serialize an instance of AdminPointsSystemBadge to a JSON object
|
|
39
|
+
#
|
|
40
|
+
# @return [String]
|
|
41
|
+
def to_json(*_args)
|
|
42
|
+
@_field_set&.to_json
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
46
|
+
# hash and check each fields type against the current object's property
|
|
47
|
+
# definitions.
|
|
48
|
+
#
|
|
49
|
+
# @param obj [Object]
|
|
50
|
+
# @return [Void]
|
|
51
|
+
def self.validate_raw(obj:)
|
|
52
|
+
obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "admin_points_trigger_type"
|
|
4
|
+
require_relative "admin_points_trigger_status"
|
|
5
|
+
require_relative "admin_points_trigger_user_attributes_item"
|
|
6
|
+
require_relative "admin_points_trigger_event_attributes_item"
|
|
7
|
+
require_relative "admin_points_trigger_time_unit"
|
|
8
|
+
require "ostruct"
|
|
9
|
+
require "json"
|
|
10
|
+
|
|
11
|
+
module TrophyApiClient
|
|
12
|
+
# A points trigger as returned from admin endpoints.
|
|
13
|
+
class AdminPointsTrigger
|
|
14
|
+
# @return [String] The UUID of the trigger.
|
|
15
|
+
attr_reader :id
|
|
16
|
+
# @return [TrophyApiClient::AdminPointsTriggerType] The type of trigger.
|
|
17
|
+
attr_reader :type
|
|
18
|
+
# @return [Integer] The number of points awarded or deducted when the trigger fires.
|
|
19
|
+
attr_reader :points
|
|
20
|
+
# @return [TrophyApiClient::AdminPointsTriggerStatus] The status of the trigger.
|
|
21
|
+
attr_reader :status
|
|
22
|
+
# @return [Array<TrophyApiClient::AdminPointsTriggerUserAttributesItem>] User attribute filters applied to the trigger.
|
|
23
|
+
attr_reader :user_attributes
|
|
24
|
+
# @return [String] The UUID of the metric. Only present for metric triggers.
|
|
25
|
+
attr_reader :metric_id
|
|
26
|
+
# @return [Integer] The metric threshold. Only present for metric triggers.
|
|
27
|
+
attr_reader :metric_threshold
|
|
28
|
+
# @return [Array<TrophyApiClient::AdminPointsTriggerEventAttributesItem>] Event attribute filters applied to the trigger. Only present for metric
|
|
29
|
+
# triggers.
|
|
30
|
+
attr_reader :event_attributes
|
|
31
|
+
# @return [String] The UUID of the achievement. Only present for achievement triggers.
|
|
32
|
+
attr_reader :achievement_id
|
|
33
|
+
# @return [Integer] The streak length. Only present for streak triggers.
|
|
34
|
+
attr_reader :streak_length
|
|
35
|
+
# @return [TrophyApiClient::AdminPointsTriggerTimeUnit] The time unit. Only present for time triggers.
|
|
36
|
+
attr_reader :time_unit
|
|
37
|
+
# @return [Integer] The time interval. Only present for time triggers.
|
|
38
|
+
attr_reader :time_interval
|
|
39
|
+
# @return [Boolean] Whether metric events that would reduce the user's points below zero are
|
|
40
|
+
# blocked.
|
|
41
|
+
attr_reader :block_if_out_of_points
|
|
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 id [String] The UUID of the trigger.
|
|
51
|
+
# @param type [TrophyApiClient::AdminPointsTriggerType] The type of trigger.
|
|
52
|
+
# @param points [Integer] The number of points awarded or deducted when the trigger fires.
|
|
53
|
+
# @param status [TrophyApiClient::AdminPointsTriggerStatus] The status of the trigger.
|
|
54
|
+
# @param user_attributes [Array<TrophyApiClient::AdminPointsTriggerUserAttributesItem>] User attribute filters applied to the trigger.
|
|
55
|
+
# @param metric_id [String] The UUID of the metric. Only present for metric triggers.
|
|
56
|
+
# @param metric_threshold [Integer] The metric threshold. Only present for metric triggers.
|
|
57
|
+
# @param event_attributes [Array<TrophyApiClient::AdminPointsTriggerEventAttributesItem>] Event attribute filters applied to the trigger. Only present for metric
|
|
58
|
+
# triggers.
|
|
59
|
+
# @param achievement_id [String] The UUID of the achievement. Only present for achievement triggers.
|
|
60
|
+
# @param streak_length [Integer] The streak length. Only present for streak triggers.
|
|
61
|
+
# @param time_unit [TrophyApiClient::AdminPointsTriggerTimeUnit] The time unit. Only present for time triggers.
|
|
62
|
+
# @param time_interval [Integer] The time interval. Only present for time triggers.
|
|
63
|
+
# @param block_if_out_of_points [Boolean] Whether metric events that would reduce the user's points below zero are
|
|
64
|
+
# blocked.
|
|
65
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
66
|
+
# @return [TrophyApiClient::AdminPointsTrigger]
|
|
67
|
+
def initialize(id:, type:, points:, status:, user_attributes:, block_if_out_of_points:, metric_id: OMIT, metric_threshold: OMIT,
|
|
68
|
+
event_attributes: OMIT, achievement_id: OMIT, streak_length: OMIT, time_unit: OMIT, time_interval: OMIT, additional_properties: nil)
|
|
69
|
+
@id = id
|
|
70
|
+
@type = type
|
|
71
|
+
@points = points
|
|
72
|
+
@status = status
|
|
73
|
+
@user_attributes = user_attributes
|
|
74
|
+
@metric_id = metric_id if metric_id != OMIT
|
|
75
|
+
@metric_threshold = metric_threshold if metric_threshold != OMIT
|
|
76
|
+
@event_attributes = event_attributes if event_attributes != OMIT
|
|
77
|
+
@achievement_id = achievement_id if achievement_id != OMIT
|
|
78
|
+
@streak_length = streak_length if streak_length != OMIT
|
|
79
|
+
@time_unit = time_unit if time_unit != OMIT
|
|
80
|
+
@time_interval = time_interval if time_interval != OMIT
|
|
81
|
+
@block_if_out_of_points = block_if_out_of_points
|
|
82
|
+
@additional_properties = additional_properties
|
|
83
|
+
@_field_set = {
|
|
84
|
+
"id": id,
|
|
85
|
+
"type": type,
|
|
86
|
+
"points": points,
|
|
87
|
+
"status": status,
|
|
88
|
+
"userAttributes": user_attributes,
|
|
89
|
+
"metricId": metric_id,
|
|
90
|
+
"metricThreshold": metric_threshold,
|
|
91
|
+
"eventAttributes": event_attributes,
|
|
92
|
+
"achievementId": achievement_id,
|
|
93
|
+
"streakLength": streak_length,
|
|
94
|
+
"timeUnit": time_unit,
|
|
95
|
+
"timeInterval": time_interval,
|
|
96
|
+
"blockIfOutOfPoints": block_if_out_of_points
|
|
97
|
+
}.reject do |_k, v|
|
|
98
|
+
v == OMIT
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Deserialize a JSON object to an instance of AdminPointsTrigger
|
|
103
|
+
#
|
|
104
|
+
# @param json_object [String]
|
|
105
|
+
# @return [TrophyApiClient::AdminPointsTrigger]
|
|
106
|
+
def self.from_json(json_object:)
|
|
107
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
108
|
+
parsed_json = JSON.parse(json_object)
|
|
109
|
+
id = parsed_json["id"]
|
|
110
|
+
type = parsed_json["type"]
|
|
111
|
+
points = parsed_json["points"]
|
|
112
|
+
status = parsed_json["status"]
|
|
113
|
+
user_attributes = parsed_json["userAttributes"]&.map do |item|
|
|
114
|
+
item = item.to_json
|
|
115
|
+
TrophyApiClient::AdminPointsTriggerUserAttributesItem.from_json(json_object: item)
|
|
116
|
+
end
|
|
117
|
+
metric_id = parsed_json["metricId"]
|
|
118
|
+
metric_threshold = parsed_json["metricThreshold"]
|
|
119
|
+
event_attributes = parsed_json["eventAttributes"]&.map do |item|
|
|
120
|
+
item = item.to_json
|
|
121
|
+
TrophyApiClient::AdminPointsTriggerEventAttributesItem.from_json(json_object: item)
|
|
122
|
+
end
|
|
123
|
+
achievement_id = parsed_json["achievementId"]
|
|
124
|
+
streak_length = parsed_json["streakLength"]
|
|
125
|
+
time_unit = parsed_json["timeUnit"]
|
|
126
|
+
time_interval = parsed_json["timeInterval"]
|
|
127
|
+
block_if_out_of_points = parsed_json["blockIfOutOfPoints"]
|
|
128
|
+
new(
|
|
129
|
+
id: id,
|
|
130
|
+
type: type,
|
|
131
|
+
points: points,
|
|
132
|
+
status: status,
|
|
133
|
+
user_attributes: user_attributes,
|
|
134
|
+
metric_id: metric_id,
|
|
135
|
+
metric_threshold: metric_threshold,
|
|
136
|
+
event_attributes: event_attributes,
|
|
137
|
+
achievement_id: achievement_id,
|
|
138
|
+
streak_length: streak_length,
|
|
139
|
+
time_unit: time_unit,
|
|
140
|
+
time_interval: time_interval,
|
|
141
|
+
block_if_out_of_points: block_if_out_of_points,
|
|
142
|
+
additional_properties: struct
|
|
143
|
+
)
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Serialize an instance of AdminPointsTrigger to a JSON object
|
|
147
|
+
#
|
|
148
|
+
# @return [String]
|
|
149
|
+
def to_json(*_args)
|
|
150
|
+
@_field_set&.to_json
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
154
|
+
# hash and check each fields type against the current object's property
|
|
155
|
+
# definitions.
|
|
156
|
+
#
|
|
157
|
+
# @param obj [Object]
|
|
158
|
+
# @return [Void]
|
|
159
|
+
def self.validate_raw(obj:)
|
|
160
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
161
|
+
obj.type.is_a?(TrophyApiClient::AdminPointsTriggerType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
|
162
|
+
obj.points.is_a?(Integer) != false || raise("Passed value for field obj.points is not the expected type, validation failed.")
|
|
163
|
+
obj.status.is_a?(TrophyApiClient::AdminPointsTriggerStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
|
164
|
+
obj.user_attributes.is_a?(Array) != false || raise("Passed value for field obj.user_attributes is not the expected type, validation failed.")
|
|
165
|
+
obj.metric_id&.is_a?(String) != false || raise("Passed value for field obj.metric_id is not the expected type, validation failed.")
|
|
166
|
+
obj.metric_threshold&.is_a?(Integer) != false || raise("Passed value for field obj.metric_threshold is not the expected type, validation failed.")
|
|
167
|
+
obj.event_attributes&.is_a?(Array) != false || raise("Passed value for field obj.event_attributes is not the expected type, validation failed.")
|
|
168
|
+
obj.achievement_id&.is_a?(String) != false || raise("Passed value for field obj.achievement_id is not the expected type, validation failed.")
|
|
169
|
+
obj.streak_length&.is_a?(Integer) != false || raise("Passed value for field obj.streak_length is not the expected type, validation failed.")
|
|
170
|
+
obj.time_unit&.is_a?(TrophyApiClient::AdminPointsTriggerTimeUnit) != false || raise("Passed value for field obj.time_unit is not the expected type, validation failed.")
|
|
171
|
+
obj.time_interval&.is_a?(Integer) != false || raise("Passed value for field obj.time_interval is not the expected type, validation failed.")
|
|
172
|
+
obj.block_if_out_of_points.is_a?(Boolean) != false || raise("Passed value for field obj.block_if_out_of_points is not the expected type, validation failed.")
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "ostruct"
|
|
4
|
+
require "json"
|
|
5
|
+
|
|
6
|
+
module TrophyApiClient
|
|
7
|
+
class AdminPointsTriggerEventAttributesItem
|
|
8
|
+
# @return [String]
|
|
9
|
+
attr_reader :attribute_id
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_reader :attribute_value
|
|
12
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
13
|
+
attr_reader :additional_properties
|
|
14
|
+
# @return [Object]
|
|
15
|
+
attr_reader :_field_set
|
|
16
|
+
protected :_field_set
|
|
17
|
+
|
|
18
|
+
OMIT = Object.new
|
|
19
|
+
|
|
20
|
+
# @param attribute_id [String]
|
|
21
|
+
# @param attribute_value [String]
|
|
22
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
23
|
+
# @return [TrophyApiClient::AdminPointsTriggerEventAttributesItem]
|
|
24
|
+
def initialize(attribute_id:, attribute_value:, additional_properties: nil)
|
|
25
|
+
@attribute_id = attribute_id
|
|
26
|
+
@attribute_value = attribute_value
|
|
27
|
+
@additional_properties = additional_properties
|
|
28
|
+
@_field_set = { "attributeId": attribute_id, "attributeValue": attribute_value }
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Deserialize a JSON object to an instance of
|
|
32
|
+
# AdminPointsTriggerEventAttributesItem
|
|
33
|
+
#
|
|
34
|
+
# @param json_object [String]
|
|
35
|
+
# @return [TrophyApiClient::AdminPointsTriggerEventAttributesItem]
|
|
36
|
+
def self.from_json(json_object:)
|
|
37
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
38
|
+
parsed_json = JSON.parse(json_object)
|
|
39
|
+
attribute_id = parsed_json["attributeId"]
|
|
40
|
+
attribute_value = parsed_json["attributeValue"]
|
|
41
|
+
new(
|
|
42
|
+
attribute_id: attribute_id,
|
|
43
|
+
attribute_value: attribute_value,
|
|
44
|
+
additional_properties: struct
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Serialize an instance of AdminPointsTriggerEventAttributesItem to a JSON object
|
|
49
|
+
#
|
|
50
|
+
# @return [String]
|
|
51
|
+
def to_json(*_args)
|
|
52
|
+
@_field_set&.to_json
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
56
|
+
# hash and check each fields type against the current object's property
|
|
57
|
+
# definitions.
|
|
58
|
+
#
|
|
59
|
+
# @param obj [Object]
|
|
60
|
+
# @return [Void]
|
|
61
|
+
def self.validate_raw(obj:)
|
|
62
|
+
obj.attribute_id.is_a?(String) != false || raise("Passed value for field obj.attribute_id is not the expected type, validation failed.")
|
|
63
|
+
obj.attribute_value.is_a?(String) != false || raise("Passed value for field obj.attribute_value is not the expected type, validation failed.")
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|