115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# File 'lib/trophy_api_client/metrics/client.rb', line 115
def event(key:, user:, value:, idempotency_key: nil, attributes: nil, request_options: nil)
Async do
response = @request_client.conn.post do |req|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
req.["X-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
req.["Tenant-ID"] = request_options.tenant_id unless request_options&.tenant_id.nil?
req. = {
**(req. || {}),
**@request_client.,
**(request_options&. || {}),
"Idempotency-Key": idempotency_key
}.compact
unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
end
req.body = {
**(request_options&.additional_body_parameters || {}),
user: user,
value: value,
attributes: attributes
}.compact
req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/metrics/#{key}/event"
end
TrophyApiClient::EventResponse.from_json(json_object: response.body)
end
end
|