trophy_api_client 1.7.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/gemconfig.rb +1 -1
- data/lib/requests.rb +34 -8
- data/lib/trophy_api_client/achievements/client.rb +4 -0
- data/lib/trophy_api_client/admin/attributes/client.rb +10 -0
- data/lib/trophy_api_client/admin/client.rb +7 -0
- data/lib/trophy_api_client/admin/leaderboards/client.rb +10 -0
- data/lib/trophy_api_client/admin/metrics/client.rb +10 -0
- data/lib/trophy_api_client/admin/points/boosts/client.rb +268 -39
- data/lib/trophy_api_client/admin/points/client.rb +21 -0
- data/lib/trophy_api_client/admin/points/levels/client.rb +412 -0
- data/lib/trophy_api_client/admin/points/systems/client.rb +384 -0
- data/lib/trophy_api_client/admin/points/triggers/client.rb +412 -0
- data/lib/trophy_api_client/admin/streaks/client.rb +2 -0
- data/lib/trophy_api_client/admin/streaks/freezes/client.rb +2 -0
- data/lib/trophy_api_client/admin/tenants/client.rb +376 -0
- data/lib/trophy_api_client/leaderboards/client.rb +4 -0
- data/lib/trophy_api_client/metrics/client.rb +2 -0
- data/lib/trophy_api_client/points/client.rb +10 -0
- data/lib/trophy_api_client/streaks/client.rb +4 -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/admin_tenant.rb +103 -0
- data/lib/trophy_api_client/types/admin_tenant_status.rb +9 -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/create_tenant_request_item.rb +66 -0
- data/lib/trophy_api_client/types/create_tenants_request.rb +7 -0
- data/lib/trophy_api_client/types/create_tenants_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/delete_tenants_response.rb +74 -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/list_tenants_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/types/update_tenant_request_item.rb +75 -0
- data/lib/trophy_api_client/types/update_tenants_request.rb +7 -0
- data/lib/trophy_api_client/types/update_tenants_response.rb +74 -0
- data/lib/trophy_api_client/users/client.rb +32 -0
- data/lib/trophy_api_client/version.rb +1 -1
- data/lib/trophy_api_client.rb +12 -4
- data/lib/types_export.rb +74 -5
- metadata +80 -7
- 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,412 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../../../../requests"
|
|
4
|
+
require_relative "../../../types/list_points_triggers_response"
|
|
5
|
+
require "json"
|
|
6
|
+
require_relative "../../../types/create_points_triggers_request"
|
|
7
|
+
require_relative "../../../types/create_points_triggers_response"
|
|
8
|
+
require_relative "../../../types/delete_points_triggers_response"
|
|
9
|
+
require_relative "../../../types/patch_points_triggers_request"
|
|
10
|
+
require_relative "../../../types/patch_points_triggers_response"
|
|
11
|
+
require_relative "../../../types/admin_points_trigger"
|
|
12
|
+
require "async"
|
|
13
|
+
|
|
14
|
+
module TrophyApiClient
|
|
15
|
+
module Admin
|
|
16
|
+
module Points
|
|
17
|
+
class TriggersClient
|
|
18
|
+
# @return [TrophyApiClient::RequestClient]
|
|
19
|
+
attr_reader :request_client
|
|
20
|
+
|
|
21
|
+
# @param request_client [TrophyApiClient::RequestClient]
|
|
22
|
+
# @return [TrophyApiClient::Admin::Points::TriggersClient]
|
|
23
|
+
def initialize(request_client:)
|
|
24
|
+
@request_client = request_client
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# List points triggers for a system.
|
|
28
|
+
#
|
|
29
|
+
# @param system_id [String] The UUID of the points system.
|
|
30
|
+
# @param limit [Integer] Maximum number of results to return (1-100, default 10).
|
|
31
|
+
# @param skip [Integer] Number of results to skip for pagination (default 0).
|
|
32
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
33
|
+
# @return [TrophyApiClient::LIST_POINTS_TRIGGERS_RESPONSE]
|
|
34
|
+
# @example
|
|
35
|
+
# api = TrophyApiClient::Client.new(
|
|
36
|
+
# base_url: "https://api.example.com",
|
|
37
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
38
|
+
# api_key: "YOUR_API_KEY"
|
|
39
|
+
# )
|
|
40
|
+
# api.admin.points.triggers.list(
|
|
41
|
+
# system_id: "550e8400-e29b-41d4-a716-446655440000",
|
|
42
|
+
# limit: 1,
|
|
43
|
+
# skip: 1
|
|
44
|
+
# )
|
|
45
|
+
def list(system_id:, limit: nil, skip: nil, request_options: nil)
|
|
46
|
+
response = @request_client.conn.get do |req|
|
|
47
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
48
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
49
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
50
|
+
req.headers = {
|
|
51
|
+
**(req.headers || {}),
|
|
52
|
+
**@request_client.get_headers,
|
|
53
|
+
**(request_options&.additional_headers || {})
|
|
54
|
+
}.compact
|
|
55
|
+
req.params = {
|
|
56
|
+
**(request_options&.additional_query_parameters || {}),
|
|
57
|
+
"limit": limit,
|
|
58
|
+
"skip": skip
|
|
59
|
+
}.compact
|
|
60
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
61
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
62
|
+
end
|
|
63
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
64
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
65
|
+
end
|
|
66
|
+
parsed_json = JSON.parse(response.body)
|
|
67
|
+
parsed_json&.map do |item|
|
|
68
|
+
item = item.to_json
|
|
69
|
+
TrophyApiClient::AdminPointsTrigger.from_json(json_object: item)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Create points triggers in bulk. Maximum 100 triggers per request.
|
|
74
|
+
#
|
|
75
|
+
# @param system_id [String] The UUID of the points system.
|
|
76
|
+
# @param request [TrophyApiClient::CREATE_POINTS_TRIGGERS_REQUEST]
|
|
77
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
78
|
+
# @return [TrophyApiClient::CreatePointsTriggersResponse]
|
|
79
|
+
# @example
|
|
80
|
+
# api = TrophyApiClient::Client.new(
|
|
81
|
+
# base_url: "https://api.example.com",
|
|
82
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
83
|
+
# api_key: "YOUR_API_KEY"
|
|
84
|
+
# )
|
|
85
|
+
# api.admin.points.triggers.create(system_id: "550e8400-e29b-41d4-a716-446655440000", request: [{ type: METRIC, points: 10 }])
|
|
86
|
+
def create(system_id:, request:, request_options: nil)
|
|
87
|
+
response = @request_client.conn.post do |req|
|
|
88
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
89
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
90
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
91
|
+
req.headers = {
|
|
92
|
+
**(req.headers || {}),
|
|
93
|
+
**@request_client.get_headers,
|
|
94
|
+
**(request_options&.additional_headers || {})
|
|
95
|
+
}.compact
|
|
96
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
97
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
98
|
+
end
|
|
99
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
100
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
101
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
102
|
+
end
|
|
103
|
+
TrophyApiClient::CreatePointsTriggersResponse.from_json(json_object: response.body)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Delete (archive) points triggers by ID. Maximum 100 trigger IDs per request.
|
|
107
|
+
#
|
|
108
|
+
# @param system_id [String] The UUID of the points system.
|
|
109
|
+
# @param ids [String] Trigger IDs to delete. Can be repeated or comma-separated.
|
|
110
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
111
|
+
# @return [TrophyApiClient::DeletePointsTriggersResponse]
|
|
112
|
+
# @example
|
|
113
|
+
# api = TrophyApiClient::Client.new(
|
|
114
|
+
# base_url: "https://api.example.com",
|
|
115
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
116
|
+
# api_key: "YOUR_API_KEY"
|
|
117
|
+
# )
|
|
118
|
+
# api.admin.points.triggers.delete
|
|
119
|
+
def delete(system_id:, ids: nil, request_options: nil)
|
|
120
|
+
response = @request_client.conn.delete do |req|
|
|
121
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
122
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
123
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
124
|
+
req.headers = {
|
|
125
|
+
**(req.headers || {}),
|
|
126
|
+
**@request_client.get_headers,
|
|
127
|
+
**(request_options&.additional_headers || {})
|
|
128
|
+
}.compact
|
|
129
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "ids": ids }.compact
|
|
130
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
131
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
132
|
+
end
|
|
133
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
134
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
135
|
+
end
|
|
136
|
+
TrophyApiClient::DeletePointsTriggersResponse.from_json(json_object: response.body)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Update points triggers in bulk. Maximum 100 triggers per request. Only provided
|
|
140
|
+
# fields are updated; omitted fields are preserved.
|
|
141
|
+
#
|
|
142
|
+
# @param system_id [String] The UUID of the points system.
|
|
143
|
+
# @param request [TrophyApiClient::PATCH_POINTS_TRIGGERS_REQUEST]
|
|
144
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
145
|
+
# @return [TrophyApiClient::PatchPointsTriggersResponse]
|
|
146
|
+
# @example
|
|
147
|
+
# api = TrophyApiClient::Client.new(
|
|
148
|
+
# base_url: "https://api.example.com",
|
|
149
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
150
|
+
# api_key: "YOUR_API_KEY"
|
|
151
|
+
# )
|
|
152
|
+
# api.admin.points.triggers.update(system_id: "550e8400-e29b-41d4-a716-446655440000", request: [{ id: "id" }])
|
|
153
|
+
def update(system_id:, request:, request_options: nil)
|
|
154
|
+
response = @request_client.conn.patch do |req|
|
|
155
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
156
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
157
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
158
|
+
req.headers = {
|
|
159
|
+
**(req.headers || {}),
|
|
160
|
+
**@request_client.get_headers,
|
|
161
|
+
**(request_options&.additional_headers || {})
|
|
162
|
+
}.compact
|
|
163
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
164
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
165
|
+
end
|
|
166
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
167
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
168
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
169
|
+
end
|
|
170
|
+
TrophyApiClient::PatchPointsTriggersResponse.from_json(json_object: response.body)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Get a single points trigger by ID.
|
|
174
|
+
#
|
|
175
|
+
# @param system_id [String] The UUID of the points system.
|
|
176
|
+
# @param id [String] The UUID of the points trigger.
|
|
177
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
178
|
+
# @return [TrophyApiClient::AdminPointsTrigger]
|
|
179
|
+
# @example
|
|
180
|
+
# api = TrophyApiClient::Client.new(
|
|
181
|
+
# base_url: "https://api.example.com",
|
|
182
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
183
|
+
# api_key: "YOUR_API_KEY"
|
|
184
|
+
# )
|
|
185
|
+
# api.admin.points.triggers.get(system_id: "550e8400-e29b-41d4-a716-446655440000", id: "660f9500-f30c-42e5-b827-557766550001")
|
|
186
|
+
def get(system_id:, id:, request_options: nil)
|
|
187
|
+
response = @request_client.conn.get do |req|
|
|
188
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
189
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
190
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
191
|
+
req.headers = {
|
|
192
|
+
**(req.headers || {}),
|
|
193
|
+
**@request_client.get_headers,
|
|
194
|
+
**(request_options&.additional_headers || {})
|
|
195
|
+
}.compact
|
|
196
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
197
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
198
|
+
end
|
|
199
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
200
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
201
|
+
end
|
|
202
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
203
|
+
request_options: request_options)}/points/#{system_id}/triggers/#{id}"
|
|
204
|
+
end
|
|
205
|
+
TrophyApiClient::AdminPointsTrigger.from_json(json_object: response.body)
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
class AsyncTriggersClient
|
|
210
|
+
# @return [TrophyApiClient::AsyncRequestClient]
|
|
211
|
+
attr_reader :request_client
|
|
212
|
+
|
|
213
|
+
# @param request_client [TrophyApiClient::AsyncRequestClient]
|
|
214
|
+
# @return [TrophyApiClient::Admin::Points::AsyncTriggersClient]
|
|
215
|
+
def initialize(request_client:)
|
|
216
|
+
@request_client = request_client
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
# List points triggers for a system.
|
|
220
|
+
#
|
|
221
|
+
# @param system_id [String] The UUID of the points system.
|
|
222
|
+
# @param limit [Integer] Maximum number of results to return (1-100, default 10).
|
|
223
|
+
# @param skip [Integer] Number of results to skip for pagination (default 0).
|
|
224
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
225
|
+
# @return [TrophyApiClient::LIST_POINTS_TRIGGERS_RESPONSE]
|
|
226
|
+
# @example
|
|
227
|
+
# api = TrophyApiClient::Client.new(
|
|
228
|
+
# base_url: "https://api.example.com",
|
|
229
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
230
|
+
# api_key: "YOUR_API_KEY"
|
|
231
|
+
# )
|
|
232
|
+
# api.admin.points.triggers.list(
|
|
233
|
+
# system_id: "550e8400-e29b-41d4-a716-446655440000",
|
|
234
|
+
# limit: 1,
|
|
235
|
+
# skip: 1
|
|
236
|
+
# )
|
|
237
|
+
def list(system_id:, limit: nil, skip: nil, request_options: nil)
|
|
238
|
+
Async do
|
|
239
|
+
response = @request_client.conn.get do |req|
|
|
240
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
241
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
242
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
243
|
+
req.headers = {
|
|
244
|
+
**(req.headers || {}),
|
|
245
|
+
**@request_client.get_headers,
|
|
246
|
+
**(request_options&.additional_headers || {})
|
|
247
|
+
}.compact
|
|
248
|
+
req.params = {
|
|
249
|
+
**(request_options&.additional_query_parameters || {}),
|
|
250
|
+
"limit": limit,
|
|
251
|
+
"skip": skip
|
|
252
|
+
}.compact
|
|
253
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
254
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
255
|
+
end
|
|
256
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
257
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
258
|
+
end
|
|
259
|
+
parsed_json = JSON.parse(response.body)
|
|
260
|
+
parsed_json&.map do |item|
|
|
261
|
+
item = item.to_json
|
|
262
|
+
TrophyApiClient::AdminPointsTrigger.from_json(json_object: item)
|
|
263
|
+
end
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
# Create points triggers in bulk. Maximum 100 triggers per request.
|
|
268
|
+
#
|
|
269
|
+
# @param system_id [String] The UUID of the points system.
|
|
270
|
+
# @param request [TrophyApiClient::CREATE_POINTS_TRIGGERS_REQUEST]
|
|
271
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
272
|
+
# @return [TrophyApiClient::CreatePointsTriggersResponse]
|
|
273
|
+
# @example
|
|
274
|
+
# api = TrophyApiClient::Client.new(
|
|
275
|
+
# base_url: "https://api.example.com",
|
|
276
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
277
|
+
# api_key: "YOUR_API_KEY"
|
|
278
|
+
# )
|
|
279
|
+
# api.admin.points.triggers.create(system_id: "550e8400-e29b-41d4-a716-446655440000", request: [{ type: METRIC, points: 10 }])
|
|
280
|
+
def create(system_id:, request:, request_options: nil)
|
|
281
|
+
Async do
|
|
282
|
+
response = @request_client.conn.post do |req|
|
|
283
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
284
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
285
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
286
|
+
req.headers = {
|
|
287
|
+
**(req.headers || {}),
|
|
288
|
+
**@request_client.get_headers,
|
|
289
|
+
**(request_options&.additional_headers || {})
|
|
290
|
+
}.compact
|
|
291
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
292
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
293
|
+
end
|
|
294
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
295
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
296
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
297
|
+
end
|
|
298
|
+
TrophyApiClient::CreatePointsTriggersResponse.from_json(json_object: response.body)
|
|
299
|
+
end
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
# Delete (archive) points triggers by ID. Maximum 100 trigger IDs per request.
|
|
303
|
+
#
|
|
304
|
+
# @param system_id [String] The UUID of the points system.
|
|
305
|
+
# @param ids [String] Trigger IDs to delete. Can be repeated or comma-separated.
|
|
306
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
307
|
+
# @return [TrophyApiClient::DeletePointsTriggersResponse]
|
|
308
|
+
# @example
|
|
309
|
+
# api = TrophyApiClient::Client.new(
|
|
310
|
+
# base_url: "https://api.example.com",
|
|
311
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
312
|
+
# api_key: "YOUR_API_KEY"
|
|
313
|
+
# )
|
|
314
|
+
# api.admin.points.triggers.delete
|
|
315
|
+
def delete(system_id:, ids: nil, request_options: nil)
|
|
316
|
+
Async do
|
|
317
|
+
response = @request_client.conn.delete do |req|
|
|
318
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
319
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
320
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
321
|
+
req.headers = {
|
|
322
|
+
**(req.headers || {}),
|
|
323
|
+
**@request_client.get_headers,
|
|
324
|
+
**(request_options&.additional_headers || {})
|
|
325
|
+
}.compact
|
|
326
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "ids": ids }.compact
|
|
327
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
328
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
329
|
+
end
|
|
330
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
331
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
332
|
+
end
|
|
333
|
+
TrophyApiClient::DeletePointsTriggersResponse.from_json(json_object: response.body)
|
|
334
|
+
end
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
# Update points triggers in bulk. Maximum 100 triggers per request. Only provided
|
|
338
|
+
# fields are updated; omitted fields are preserved.
|
|
339
|
+
#
|
|
340
|
+
# @param system_id [String] The UUID of the points system.
|
|
341
|
+
# @param request [TrophyApiClient::PATCH_POINTS_TRIGGERS_REQUEST]
|
|
342
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
343
|
+
# @return [TrophyApiClient::PatchPointsTriggersResponse]
|
|
344
|
+
# @example
|
|
345
|
+
# api = TrophyApiClient::Client.new(
|
|
346
|
+
# base_url: "https://api.example.com",
|
|
347
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
348
|
+
# api_key: "YOUR_API_KEY"
|
|
349
|
+
# )
|
|
350
|
+
# api.admin.points.triggers.update(system_id: "550e8400-e29b-41d4-a716-446655440000", request: [{ id: "id" }])
|
|
351
|
+
def update(system_id:, request:, request_options: nil)
|
|
352
|
+
Async do
|
|
353
|
+
response = @request_client.conn.patch do |req|
|
|
354
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
355
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
356
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
357
|
+
req.headers = {
|
|
358
|
+
**(req.headers || {}),
|
|
359
|
+
**@request_client.get_headers,
|
|
360
|
+
**(request_options&.additional_headers || {})
|
|
361
|
+
}.compact
|
|
362
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
363
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
364
|
+
end
|
|
365
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
366
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
367
|
+
request_options: request_options)}/points/#{system_id}/triggers"
|
|
368
|
+
end
|
|
369
|
+
TrophyApiClient::PatchPointsTriggersResponse.from_json(json_object: response.body)
|
|
370
|
+
end
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
# Get a single points trigger by ID.
|
|
374
|
+
#
|
|
375
|
+
# @param system_id [String] The UUID of the points system.
|
|
376
|
+
# @param id [String] The UUID of the points trigger.
|
|
377
|
+
# @param request_options [TrophyApiClient::RequestOptions]
|
|
378
|
+
# @return [TrophyApiClient::AdminPointsTrigger]
|
|
379
|
+
# @example
|
|
380
|
+
# api = TrophyApiClient::Client.new(
|
|
381
|
+
# base_url: "https://api.example.com",
|
|
382
|
+
# environment: TrophyApiClient::Environment::PRODUCTION,
|
|
383
|
+
# api_key: "YOUR_API_KEY"
|
|
384
|
+
# )
|
|
385
|
+
# api.admin.points.triggers.get(system_id: "550e8400-e29b-41d4-a716-446655440000", id: "660f9500-f30c-42e5-b827-557766550001")
|
|
386
|
+
def get(system_id:, id:, request_options: nil)
|
|
387
|
+
Async do
|
|
388
|
+
response = @request_client.conn.get do |req|
|
|
389
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
390
|
+
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
391
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
392
|
+
req.headers = {
|
|
393
|
+
**(req.headers || {}),
|
|
394
|
+
**@request_client.get_headers,
|
|
395
|
+
**(request_options&.additional_headers || {})
|
|
396
|
+
}.compact
|
|
397
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
398
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
399
|
+
end
|
|
400
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
401
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
402
|
+
end
|
|
403
|
+
req.url "#{@request_client.get_url(environment: admin,
|
|
404
|
+
request_options: request_options)}/points/#{system_id}/triggers/#{id}"
|
|
405
|
+
end
|
|
406
|
+
TrophyApiClient::AdminPointsTrigger.from_json(json_object: response.body)
|
|
407
|
+
end
|
|
408
|
+
end
|
|
409
|
+
end
|
|
410
|
+
end
|
|
411
|
+
end
|
|
412
|
+
end
|
|
@@ -38,6 +38,7 @@ module TrophyApiClient
|
|
|
38
38
|
response = @request_client.conn.post do |req|
|
|
39
39
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
40
40
|
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
41
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
41
42
|
req.headers = {
|
|
42
43
|
**(req.headers || {}),
|
|
43
44
|
**@request_client.get_headers,
|
|
@@ -85,6 +86,7 @@ module TrophyApiClient
|
|
|
85
86
|
response = @request_client.conn.post do |req|
|
|
86
87
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
87
88
|
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
89
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
88
90
|
req.headers = {
|
|
89
91
|
**(req.headers || {}),
|
|
90
92
|
**@request_client.get_headers,
|
|
@@ -35,6 +35,7 @@ module TrophyApiClient
|
|
|
35
35
|
response = @request_client.conn.post do |req|
|
|
36
36
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
37
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?
|
|
38
39
|
req.headers = {
|
|
39
40
|
**(req.headers || {}),
|
|
40
41
|
**@request_client.get_headers,
|
|
@@ -78,6 +79,7 @@ module TrophyApiClient
|
|
|
78
79
|
response = @request_client.conn.post do |req|
|
|
79
80
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
80
81
|
req.headers["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
82
|
+
req.headers["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
|
|
81
83
|
req.headers = {
|
|
82
84
|
**(req.headers || {}),
|
|
83
85
|
**@request_client.get_headers,
|