algolia 3.0.0.alpha.2 → 3.0.0.alpha.5
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/.github/workflows/release.yml +27 -0
- data/.gitignore +39 -0
- data/.openapi-generator/FILES +164 -0
- data/.openapi-generator/VERSION +1 -0
- data/.openapi-generator-ignore +23 -0
- data/.rubocop.yml +99 -0
- data/CHANGELOG.md +16 -0
- data/Gemfile.lock +1 -1
- data/algolia.gemspec +1 -1
- data/lib/algolia/api/insights_client.rb +52 -0
- data/lib/algolia/models/insights/added_to_cart_object_ids.rb +81 -31
- data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +81 -31
- data/lib/algolia/models/insights/clicked_filters.rb +41 -18
- data/lib/algolia/models/insights/clicked_object_ids.rb +39 -6
- data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +43 -20
- data/lib/algolia/models/insights/converted_filters.rb +41 -18
- data/lib/algolia/models/insights/converted_object_ids.rb +42 -19
- data/lib/algolia/models/insights/converted_object_ids_after_search.rb +42 -19
- data/lib/algolia/models/insights/discount.rb +1 -1
- data/lib/algolia/models/insights/insights_events.rb +1 -1
- data/lib/algolia/models/insights/object_data.rb +1 -1
- data/lib/algolia/models/insights/object_data_after_search.rb +25 -2
- data/lib/algolia/models/insights/price.rb +1 -1
- data/lib/algolia/models/insights/purchased_object_ids.rb +81 -31
- data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +81 -66
- data/lib/algolia/models/insights/value.rb +97 -0
- data/lib/algolia/models/insights/viewed_filters.rb +41 -18
- data/lib/algolia/models/insights/viewed_object_ids.rb +42 -19
- data/lib/algolia/version.rb +1 -1
- metadata +10 -3
@@ -7,36 +7,35 @@ module Algolia
|
|
7
7
|
module Insights
|
8
8
|
# Use this event to track when users make a purchase after a previous Algolia request. If you're building your category pages with Algolia, you'll also use this event.
|
9
9
|
class PurchasedObjectIDsAfterSearch
|
10
|
-
#
|
10
|
+
# The name of the event, up to 64 ASCII characters. Consider naming events consistently—for example, by adopting Segment's [object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework) framework.
|
11
11
|
attr_accessor :event_name
|
12
12
|
|
13
13
|
attr_accessor :event_type
|
14
14
|
|
15
15
|
attr_accessor :event_subtype
|
16
16
|
|
17
|
-
#
|
17
|
+
# The name of an Algolia index.
|
18
18
|
attr_accessor :index
|
19
19
|
|
20
|
-
#
|
21
|
-
attr_accessor :query_id
|
22
|
-
|
23
|
-
# List of object identifiers for items of an Algolia index.
|
20
|
+
# The object IDs of the records that are part of the event.
|
24
21
|
attr_accessor :object_ids
|
25
22
|
|
26
|
-
#
|
27
|
-
attr_accessor :
|
23
|
+
# An anonymous or pseudonymous user identifier. > **Note**: Never include personally identifiable information in user tokens.
|
24
|
+
attr_accessor :user_token
|
25
|
+
|
26
|
+
# An identifier for authenticated users. > **Note**: Never include personally identifiable information in user tokens.
|
27
|
+
attr_accessor :authenticated_user_token
|
28
28
|
|
29
|
-
#
|
29
|
+
# Three-letter [currency code](https://www.iso.org/iso-4217-currency-codes.html).
|
30
30
|
attr_accessor :currency
|
31
31
|
|
32
|
-
#
|
33
|
-
attr_accessor :
|
32
|
+
# Extra information about the records involved in a purchase or add-to-cart events. If provided, it must be the same length as `objectIDs`.
|
33
|
+
attr_accessor :object_data
|
34
34
|
|
35
|
-
#
|
35
|
+
# The timestamp of the event in milliseconds in [Unix epoch time](https://wikipedia.org/wiki/Unix_time). By default, the Insights API uses the time it receives an event as its timestamp.
|
36
36
|
attr_accessor :timestamp
|
37
37
|
|
38
|
-
|
39
|
-
attr_accessor :authenticated_user_token
|
38
|
+
attr_accessor :value
|
40
39
|
|
41
40
|
class EnumAttributeValidator
|
42
41
|
attr_reader :datatype
|
@@ -67,13 +66,13 @@ module Algolia
|
|
67
66
|
:event_type => :eventType,
|
68
67
|
:event_subtype => :eventSubtype,
|
69
68
|
:index => :index,
|
70
|
-
:query_id => :queryID,
|
71
69
|
:object_ids => :objectIDs,
|
72
|
-
:object_data => :objectData,
|
73
|
-
:currency => :currency,
|
74
70
|
:user_token => :userToken,
|
71
|
+
:authenticated_user_token => :authenticatedUserToken,
|
72
|
+
:currency => :currency,
|
73
|
+
:object_data => :objectData,
|
75
74
|
:timestamp => :timestamp,
|
76
|
-
:
|
75
|
+
:value => :value
|
77
76
|
}
|
78
77
|
end
|
79
78
|
|
@@ -89,13 +88,13 @@ module Algolia
|
|
89
88
|
:event_type => :ConversionEvent,
|
90
89
|
:event_subtype => :PurchaseEvent,
|
91
90
|
:index => :String,
|
92
|
-
:query_id => :String,
|
93
91
|
:object_ids => :'Array<String>',
|
94
|
-
:object_data => :'Array<ObjectDataAfterSearch>',
|
95
|
-
:currency => :String,
|
96
92
|
:user_token => :String,
|
93
|
+
:authenticated_user_token => :String,
|
94
|
+
:currency => :String,
|
95
|
+
:object_data => :'Array<ObjectDataAfterSearch>',
|
97
96
|
:timestamp => :Integer,
|
98
|
-
:
|
97
|
+
:value => :Value
|
99
98
|
}
|
100
99
|
end
|
101
100
|
|
@@ -145,12 +144,6 @@ module Algolia
|
|
145
144
|
self.index = nil
|
146
145
|
end
|
147
146
|
|
148
|
-
if attributes.key?(:query_id)
|
149
|
-
self.query_id = attributes[:query_id]
|
150
|
-
else
|
151
|
-
self.query_id = nil
|
152
|
-
end
|
153
|
-
|
154
147
|
if attributes.key?(:object_ids)
|
155
148
|
if (value = attributes[:object_ids]).is_a?(Array)
|
156
149
|
self.object_ids = value
|
@@ -159,28 +152,32 @@ module Algolia
|
|
159
152
|
self.object_ids = nil
|
160
153
|
end
|
161
154
|
|
162
|
-
if attributes.key?(:
|
163
|
-
|
164
|
-
|
165
|
-
|
155
|
+
if attributes.key?(:user_token)
|
156
|
+
self.user_token = attributes[:user_token]
|
157
|
+
else
|
158
|
+
self.user_token = nil
|
159
|
+
end
|
160
|
+
|
161
|
+
if attributes.key?(:authenticated_user_token)
|
162
|
+
self.authenticated_user_token = attributes[:authenticated_user_token]
|
166
163
|
end
|
167
164
|
|
168
165
|
if attributes.key?(:currency)
|
169
166
|
self.currency = attributes[:currency]
|
170
167
|
end
|
171
168
|
|
172
|
-
if attributes.key?(:
|
173
|
-
|
174
|
-
|
175
|
-
|
169
|
+
if attributes.key?(:object_data)
|
170
|
+
if (value = attributes[:object_data]).is_a?(Array)
|
171
|
+
self.object_data = value
|
172
|
+
end
|
176
173
|
end
|
177
174
|
|
178
175
|
if attributes.key?(:timestamp)
|
179
176
|
self.timestamp = attributes[:timestamp]
|
180
177
|
end
|
181
178
|
|
182
|
-
if attributes.key?(:
|
183
|
-
self.
|
179
|
+
if attributes.key?(:value)
|
180
|
+
self.value = attributes[:value]
|
184
181
|
end
|
185
182
|
end
|
186
183
|
|
@@ -207,29 +204,6 @@ module Algolia
|
|
207
204
|
@event_name = event_name
|
208
205
|
end
|
209
206
|
|
210
|
-
# Custom attribute writer method with validation
|
211
|
-
# @param [Object] query_id Value to be assigned
|
212
|
-
def query_id=(query_id)
|
213
|
-
if query_id.nil?
|
214
|
-
raise ArgumentError, 'query_id cannot be nil'
|
215
|
-
end
|
216
|
-
|
217
|
-
if query_id.to_s.length > 32
|
218
|
-
raise ArgumentError, 'invalid value for "query_id", the character length must be smaller than or equal to 32.'
|
219
|
-
end
|
220
|
-
|
221
|
-
if query_id.to_s.length < 32
|
222
|
-
raise ArgumentError, 'invalid value for "query_id", the character length must be great than or equal to 32.'
|
223
|
-
end
|
224
|
-
|
225
|
-
pattern = /[0-9a-f]{32}/
|
226
|
-
if query_id !~ pattern
|
227
|
-
raise ArgumentError, "invalid value for \"query_id\", must conform to the pattern #{pattern}."
|
228
|
-
end
|
229
|
-
|
230
|
-
@query_id = query_id
|
231
|
-
end
|
232
|
-
|
233
207
|
# Custom attribute writer method with validation
|
234
208
|
# @param [Object] object_ids Value to be assigned
|
235
209
|
def object_ids=(object_ids)
|
@@ -271,6 +245,47 @@ module Algolia
|
|
271
245
|
@user_token = user_token
|
272
246
|
end
|
273
247
|
|
248
|
+
# Custom attribute writer method with validation
|
249
|
+
# @param [Object] authenticated_user_token Value to be assigned
|
250
|
+
def authenticated_user_token=(authenticated_user_token)
|
251
|
+
if authenticated_user_token.nil?
|
252
|
+
raise ArgumentError, 'authenticated_user_token cannot be nil'
|
253
|
+
end
|
254
|
+
|
255
|
+
if authenticated_user_token.to_s.length > 129
|
256
|
+
raise ArgumentError, 'invalid value for "authenticated_user_token", the character length must be smaller than or equal to 129.'
|
257
|
+
end
|
258
|
+
|
259
|
+
if authenticated_user_token.to_s.length < 1
|
260
|
+
raise ArgumentError, 'invalid value for "authenticated_user_token", the character length must be great than or equal to 1.'
|
261
|
+
end
|
262
|
+
|
263
|
+
pattern = %r{[a-zA-Z0-9_=/+-]{1,129}}
|
264
|
+
if authenticated_user_token !~ pattern
|
265
|
+
raise ArgumentError, "invalid value for \"authenticated_user_token\", must conform to the pattern #{pattern}."
|
266
|
+
end
|
267
|
+
|
268
|
+
@authenticated_user_token = authenticated_user_token
|
269
|
+
end
|
270
|
+
|
271
|
+
# Custom attribute writer method with validation
|
272
|
+
# @param [Object] object_data Value to be assigned
|
273
|
+
def object_data=(object_data)
|
274
|
+
if object_data.nil?
|
275
|
+
raise ArgumentError, 'object_data cannot be nil'
|
276
|
+
end
|
277
|
+
|
278
|
+
if object_data.length > 20
|
279
|
+
raise ArgumentError, 'invalid value for "object_data", number of items must be less than or equal to 20.'
|
280
|
+
end
|
281
|
+
|
282
|
+
if object_data.length < 1
|
283
|
+
raise ArgumentError, 'invalid value for "object_data", number of items must be greater than or equal to 1.'
|
284
|
+
end
|
285
|
+
|
286
|
+
@object_data = object_data
|
287
|
+
end
|
288
|
+
|
274
289
|
# Checks equality by comparing each attribute.
|
275
290
|
# @param [Object] Object to be compared
|
276
291
|
def ==(other)
|
@@ -281,13 +296,13 @@ module Algolia
|
|
281
296
|
event_type == other.event_type &&
|
282
297
|
event_subtype == other.event_subtype &&
|
283
298
|
index == other.index &&
|
284
|
-
query_id == other.query_id &&
|
285
299
|
object_ids == other.object_ids &&
|
286
|
-
object_data == other.object_data &&
|
287
|
-
currency == other.currency &&
|
288
300
|
user_token == other.user_token &&
|
301
|
+
authenticated_user_token == other.authenticated_user_token &&
|
302
|
+
currency == other.currency &&
|
303
|
+
object_data == other.object_data &&
|
289
304
|
timestamp == other.timestamp &&
|
290
|
-
|
305
|
+
value == other.value
|
291
306
|
end
|
292
307
|
|
293
308
|
# @see the `==` method
|
@@ -299,7 +314,7 @@ module Algolia
|
|
299
314
|
# Calculates hash code according to all attributes.
|
300
315
|
# @return [Integer] Hash code
|
301
316
|
def hash
|
302
|
-
[event_name, event_type, event_subtype, index,
|
317
|
+
[event_name, event_type, event_subtype, index, object_ids, user_token, authenticated_user_token, currency, object_data, timestamp, value].hash
|
303
318
|
end
|
304
319
|
|
305
320
|
# Builds the object from hash
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
|
2
|
+
|
3
|
+
require 'date'
|
4
|
+
require 'time'
|
5
|
+
|
6
|
+
module Algolia
|
7
|
+
module Insights
|
8
|
+
# Total monetary value of this event in units of `currency`.
|
9
|
+
module Value
|
10
|
+
class << self
|
11
|
+
# List of class defined in oneOf (OpenAPI v3)
|
12
|
+
def openapi_one_of
|
13
|
+
[
|
14
|
+
:Float,
|
15
|
+
:String
|
16
|
+
]
|
17
|
+
end
|
18
|
+
|
19
|
+
# Builds the object
|
20
|
+
# @param [Mixed] Data to be matched against the list of oneOf items
|
21
|
+
# @return [Object] Returns the model or the data itself
|
22
|
+
def build(data)
|
23
|
+
# Go through the list of oneOf items and attempt to identify the appropriate one.
|
24
|
+
# Note:
|
25
|
+
# - We do not attempt to check whether exactly one item matches.
|
26
|
+
# - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
|
27
|
+
# due to the way the deserialization is made in the base_object template (it just casts without verifying).
|
28
|
+
# - TODO: scalar values are de facto behaving as if they were nullable.
|
29
|
+
# - TODO: logging when debugging is set.
|
30
|
+
openapi_one_of.each do |klass|
|
31
|
+
next if klass == :AnyType # "nullable: true"
|
32
|
+
|
33
|
+
typed_data = find_and_cast_into_type(klass, data)
|
34
|
+
return typed_data if typed_data
|
35
|
+
rescue # rescue all errors so we keep iterating even if the current item lookup raises
|
36
|
+
end
|
37
|
+
|
38
|
+
openapi_one_of.include?(:AnyType) ? data : nil
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
SchemaMismatchError = Class.new(StandardError)
|
44
|
+
|
45
|
+
# NOTE: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
|
46
|
+
def find_and_cast_into_type(klass, data)
|
47
|
+
return if data.nil?
|
48
|
+
|
49
|
+
case klass.to_s
|
50
|
+
when 'Boolean'
|
51
|
+
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
52
|
+
when 'Float'
|
53
|
+
return data if data.instance_of?(Float)
|
54
|
+
when 'Integer'
|
55
|
+
return data if data.instance_of?(Integer)
|
56
|
+
when 'Time'
|
57
|
+
return Time.parse(data)
|
58
|
+
when 'Date'
|
59
|
+
return Date.parse(data)
|
60
|
+
when 'String'
|
61
|
+
return data if data.instance_of?(String)
|
62
|
+
when 'Object' # "type: object"
|
63
|
+
return data if data.instance_of?(Hash)
|
64
|
+
when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
|
65
|
+
if data.instance_of?(Array)
|
66
|
+
sub_type = Regexp.last_match[:sub_type]
|
67
|
+
return data.map { |item| find_and_cast_into_type(sub_type, item) }
|
68
|
+
end
|
69
|
+
when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
|
70
|
+
if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
|
71
|
+
sub_type = Regexp.last_match[:sub_type]
|
72
|
+
return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
|
73
|
+
end
|
74
|
+
else # model
|
75
|
+
const = Algolia.const_get(klass)
|
76
|
+
if const
|
77
|
+
if const.respond_to?(:openapi_one_of) # nested oneOf model
|
78
|
+
model = const.build(data)
|
79
|
+
else
|
80
|
+
# raise if data contains keys that are not known to the model
|
81
|
+
raise unless (data.keys - const.acceptable_attributes).empty?
|
82
|
+
|
83
|
+
model = const.build_from_hash(data)
|
84
|
+
end
|
85
|
+
|
86
|
+
return model if model
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
raise # if no match by now, raise
|
91
|
+
rescue
|
92
|
+
raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -7,26 +7,26 @@ module Algolia
|
|
7
7
|
module Insights
|
8
8
|
# Use this method to capture active filters. For example, when browsing a category page, users see content filtered on that specific category.
|
9
9
|
class ViewedFilters
|
10
|
-
#
|
10
|
+
# The name of the event, up to 64 ASCII characters. Consider naming events consistently—for example, by adopting Segment's [object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework) framework.
|
11
11
|
attr_accessor :event_name
|
12
12
|
|
13
13
|
attr_accessor :event_type
|
14
14
|
|
15
|
-
#
|
15
|
+
# The name of an Algolia index.
|
16
16
|
attr_accessor :index
|
17
17
|
|
18
18
|
# Facet filters. Each facet filter string must be URL-encoded, such as, `discount:10%25`.
|
19
19
|
attr_accessor :filters
|
20
20
|
|
21
|
-
#
|
21
|
+
# An anonymous or pseudonymous user identifier. > **Note**: Never include personally identifiable information in user tokens.
|
22
22
|
attr_accessor :user_token
|
23
23
|
|
24
|
-
#
|
25
|
-
attr_accessor :timestamp
|
26
|
-
|
27
|
-
# User token for authenticated users.
|
24
|
+
# An identifier for authenticated users. > **Note**: Never include personally identifiable information in user tokens.
|
28
25
|
attr_accessor :authenticated_user_token
|
29
26
|
|
27
|
+
# The timestamp of the event in milliseconds in [Unix epoch time](https://wikipedia.org/wiki/Unix_time). By default, the Insights API uses the time it receives an event as its timestamp.
|
28
|
+
attr_accessor :timestamp
|
29
|
+
|
30
30
|
class EnumAttributeValidator
|
31
31
|
attr_reader :datatype
|
32
32
|
attr_reader :allowable_values
|
@@ -57,8 +57,8 @@ module Algolia
|
|
57
57
|
:index => :index,
|
58
58
|
:filters => :filters,
|
59
59
|
:user_token => :userToken,
|
60
|
-
:
|
61
|
-
:
|
60
|
+
:authenticated_user_token => :authenticatedUserToken,
|
61
|
+
:timestamp => :timestamp
|
62
62
|
}
|
63
63
|
end
|
64
64
|
|
@@ -75,8 +75,8 @@ module Algolia
|
|
75
75
|
:index => :String,
|
76
76
|
:filters => :'Array<String>',
|
77
77
|
:user_token => :String,
|
78
|
-
:
|
79
|
-
:
|
78
|
+
:authenticated_user_token => :String,
|
79
|
+
:timestamp => :Integer
|
80
80
|
}
|
81
81
|
end
|
82
82
|
|
@@ -134,13 +134,13 @@ module Algolia
|
|
134
134
|
self.user_token = nil
|
135
135
|
end
|
136
136
|
|
137
|
-
if attributes.key?(:timestamp)
|
138
|
-
self.timestamp = attributes[:timestamp]
|
139
|
-
end
|
140
|
-
|
141
137
|
if attributes.key?(:authenticated_user_token)
|
142
138
|
self.authenticated_user_token = attributes[:authenticated_user_token]
|
143
139
|
end
|
140
|
+
|
141
|
+
if attributes.key?(:timestamp)
|
142
|
+
self.timestamp = attributes[:timestamp]
|
143
|
+
end
|
144
144
|
end
|
145
145
|
|
146
146
|
# Custom attribute writer method with validation
|
@@ -207,6 +207,29 @@ module Algolia
|
|
207
207
|
@user_token = user_token
|
208
208
|
end
|
209
209
|
|
210
|
+
# Custom attribute writer method with validation
|
211
|
+
# @param [Object] authenticated_user_token Value to be assigned
|
212
|
+
def authenticated_user_token=(authenticated_user_token)
|
213
|
+
if authenticated_user_token.nil?
|
214
|
+
raise ArgumentError, 'authenticated_user_token cannot be nil'
|
215
|
+
end
|
216
|
+
|
217
|
+
if authenticated_user_token.to_s.length > 129
|
218
|
+
raise ArgumentError, 'invalid value for "authenticated_user_token", the character length must be smaller than or equal to 129.'
|
219
|
+
end
|
220
|
+
|
221
|
+
if authenticated_user_token.to_s.length < 1
|
222
|
+
raise ArgumentError, 'invalid value for "authenticated_user_token", the character length must be great than or equal to 1.'
|
223
|
+
end
|
224
|
+
|
225
|
+
pattern = %r{[a-zA-Z0-9_=/+-]{1,129}}
|
226
|
+
if authenticated_user_token !~ pattern
|
227
|
+
raise ArgumentError, "invalid value for \"authenticated_user_token\", must conform to the pattern #{pattern}."
|
228
|
+
end
|
229
|
+
|
230
|
+
@authenticated_user_token = authenticated_user_token
|
231
|
+
end
|
232
|
+
|
210
233
|
# Checks equality by comparing each attribute.
|
211
234
|
# @param [Object] Object to be compared
|
212
235
|
def ==(other)
|
@@ -218,8 +241,8 @@ module Algolia
|
|
218
241
|
index == other.index &&
|
219
242
|
filters == other.filters &&
|
220
243
|
user_token == other.user_token &&
|
221
|
-
|
222
|
-
|
244
|
+
authenticated_user_token == other.authenticated_user_token &&
|
245
|
+
timestamp == other.timestamp
|
223
246
|
end
|
224
247
|
|
225
248
|
# @see the `==` method
|
@@ -231,7 +254,7 @@ module Algolia
|
|
231
254
|
# Calculates hash code according to all attributes.
|
232
255
|
# @return [Integer] Hash code
|
233
256
|
def hash
|
234
|
-
[event_name, event_type, index, filters, user_token,
|
257
|
+
[event_name, event_type, index, filters, user_token, authenticated_user_token, timestamp].hash
|
235
258
|
end
|
236
259
|
|
237
260
|
# Builds the object from hash
|
@@ -7,26 +7,26 @@ module Algolia
|
|
7
7
|
module Insights
|
8
8
|
# Use this event to track when users viewed items in the search results.
|
9
9
|
class ViewedObjectIDs
|
10
|
-
#
|
10
|
+
# The name of the event, up to 64 ASCII characters. Consider naming events consistently—for example, by adopting Segment's [object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework) framework.
|
11
11
|
attr_accessor :event_name
|
12
12
|
|
13
13
|
attr_accessor :event_type
|
14
14
|
|
15
|
-
#
|
15
|
+
# The name of an Algolia index.
|
16
16
|
attr_accessor :index
|
17
17
|
|
18
|
-
#
|
18
|
+
# The object IDs of the records that are part of the event.
|
19
19
|
attr_accessor :object_ids
|
20
20
|
|
21
|
-
#
|
21
|
+
# An anonymous or pseudonymous user identifier. > **Note**: Never include personally identifiable information in user tokens.
|
22
22
|
attr_accessor :user_token
|
23
23
|
|
24
|
-
#
|
25
|
-
attr_accessor :timestamp
|
26
|
-
|
27
|
-
# User token for authenticated users.
|
24
|
+
# An identifier for authenticated users. > **Note**: Never include personally identifiable information in user tokens.
|
28
25
|
attr_accessor :authenticated_user_token
|
29
26
|
|
27
|
+
# The timestamp of the event in milliseconds in [Unix epoch time](https://wikipedia.org/wiki/Unix_time). By default, the Insights API uses the time it receives an event as its timestamp.
|
28
|
+
attr_accessor :timestamp
|
29
|
+
|
30
30
|
class EnumAttributeValidator
|
31
31
|
attr_reader :datatype
|
32
32
|
attr_reader :allowable_values
|
@@ -57,8 +57,8 @@ module Algolia
|
|
57
57
|
:index => :index,
|
58
58
|
:object_ids => :objectIDs,
|
59
59
|
:user_token => :userToken,
|
60
|
-
:
|
61
|
-
:
|
60
|
+
:authenticated_user_token => :authenticatedUserToken,
|
61
|
+
:timestamp => :timestamp
|
62
62
|
}
|
63
63
|
end
|
64
64
|
|
@@ -75,8 +75,8 @@ module Algolia
|
|
75
75
|
:index => :String,
|
76
76
|
:object_ids => :'Array<String>',
|
77
77
|
:user_token => :String,
|
78
|
-
:
|
79
|
-
:
|
78
|
+
:authenticated_user_token => :String,
|
79
|
+
:timestamp => :Integer
|
80
80
|
}
|
81
81
|
end
|
82
82
|
|
@@ -134,13 +134,13 @@ module Algolia
|
|
134
134
|
self.user_token = nil
|
135
135
|
end
|
136
136
|
|
137
|
-
if attributes.key?(:timestamp)
|
138
|
-
self.timestamp = attributes[:timestamp]
|
139
|
-
end
|
140
|
-
|
141
137
|
if attributes.key?(:authenticated_user_token)
|
142
138
|
self.authenticated_user_token = attributes[:authenticated_user_token]
|
143
139
|
end
|
140
|
+
|
141
|
+
if attributes.key?(:timestamp)
|
142
|
+
self.timestamp = attributes[:timestamp]
|
143
|
+
end
|
144
144
|
end
|
145
145
|
|
146
146
|
# Custom attribute writer method with validation
|
@@ -207,6 +207,29 @@ module Algolia
|
|
207
207
|
@user_token = user_token
|
208
208
|
end
|
209
209
|
|
210
|
+
# Custom attribute writer method with validation
|
211
|
+
# @param [Object] authenticated_user_token Value to be assigned
|
212
|
+
def authenticated_user_token=(authenticated_user_token)
|
213
|
+
if authenticated_user_token.nil?
|
214
|
+
raise ArgumentError, 'authenticated_user_token cannot be nil'
|
215
|
+
end
|
216
|
+
|
217
|
+
if authenticated_user_token.to_s.length > 129
|
218
|
+
raise ArgumentError, 'invalid value for "authenticated_user_token", the character length must be smaller than or equal to 129.'
|
219
|
+
end
|
220
|
+
|
221
|
+
if authenticated_user_token.to_s.length < 1
|
222
|
+
raise ArgumentError, 'invalid value for "authenticated_user_token", the character length must be great than or equal to 1.'
|
223
|
+
end
|
224
|
+
|
225
|
+
pattern = %r{[a-zA-Z0-9_=/+-]{1,129}}
|
226
|
+
if authenticated_user_token !~ pattern
|
227
|
+
raise ArgumentError, "invalid value for \"authenticated_user_token\", must conform to the pattern #{pattern}."
|
228
|
+
end
|
229
|
+
|
230
|
+
@authenticated_user_token = authenticated_user_token
|
231
|
+
end
|
232
|
+
|
210
233
|
# Checks equality by comparing each attribute.
|
211
234
|
# @param [Object] Object to be compared
|
212
235
|
def ==(other)
|
@@ -218,8 +241,8 @@ module Algolia
|
|
218
241
|
index == other.index &&
|
219
242
|
object_ids == other.object_ids &&
|
220
243
|
user_token == other.user_token &&
|
221
|
-
|
222
|
-
|
244
|
+
authenticated_user_token == other.authenticated_user_token &&
|
245
|
+
timestamp == other.timestamp
|
223
246
|
end
|
224
247
|
|
225
248
|
# @see the `==` method
|
@@ -231,7 +254,7 @@ module Algolia
|
|
231
254
|
# Calculates hash code according to all attributes.
|
232
255
|
# @return [Integer] Hash code
|
233
256
|
def hash
|
234
|
-
[event_name, event_type, index, object_ids, user_token,
|
257
|
+
[event_name, event_type, index, object_ids, user_token, authenticated_user_token, timestamp].hash
|
235
258
|
end
|
236
259
|
|
237
260
|
# Builds the object from hash
|
data/lib/algolia/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
|
2
2
|
|
3
3
|
module Algolia
|
4
|
-
VERSION = '3.0.0.alpha.
|
4
|
+
VERSION = '3.0.0.alpha.5'.freeze
|
5
5
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: algolia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.alpha.
|
4
|
+
version: 3.0.0.alpha.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Algolia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -113,6 +113,12 @@ executables: []
|
|
113
113
|
extensions: []
|
114
114
|
extra_rdoc_files: []
|
115
115
|
files:
|
116
|
+
- ".github/workflows/release.yml"
|
117
|
+
- ".gitignore"
|
118
|
+
- ".openapi-generator-ignore"
|
119
|
+
- ".openapi-generator/FILES"
|
120
|
+
- ".openapi-generator/VERSION"
|
121
|
+
- ".rubocop.yml"
|
116
122
|
- CHANGELOG.md
|
117
123
|
- Gemfile
|
118
124
|
- Gemfile.lock
|
@@ -321,6 +327,7 @@ files:
|
|
321
327
|
- lib/algolia/models/insights/purchase_event.rb
|
322
328
|
- lib/algolia/models/insights/purchased_object_ids.rb
|
323
329
|
- lib/algolia/models/insights/purchased_object_ids_after_search.rb
|
330
|
+
- lib/algolia/models/insights/value.rb
|
324
331
|
- lib/algolia/models/insights/view_event.rb
|
325
332
|
- lib/algolia/models/insights/viewed_filters.rb
|
326
333
|
- lib/algolia/models/insights/viewed_object_ids.rb
|
@@ -654,7 +661,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
654
661
|
- !ruby/object:Gem::Version
|
655
662
|
version: 1.3.1
|
656
663
|
requirements: []
|
657
|
-
rubygems_version: 3.
|
664
|
+
rubygems_version: 3.4.10
|
658
665
|
signing_key:
|
659
666
|
specification_version: 4
|
660
667
|
summary: A simple Ruby client for the algolia.com REST API
|