algolia 3.0.0.beta.10 → 3.0.0.beta.11

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.
@@ -0,0 +1,227 @@
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 Ingestion
8
+ # Configured tasks and pagination information.
9
+ class ListTasksResponseV1
10
+ attr_accessor :tasks
11
+
12
+ attr_accessor :pagination
13
+
14
+ # Attribute mapping from ruby-style variable name to JSON key.
15
+ def self.attribute_map
16
+ {
17
+ :tasks => :tasks,
18
+ :pagination => :pagination
19
+ }
20
+ end
21
+
22
+ # Returns all the JSON keys this model knows about
23
+ def self.acceptable_attributes
24
+ attribute_map.values
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.types_mapping
29
+ {
30
+ :tasks => :"Array<TaskV1>",
31
+ :pagination => :"Pagination"
32
+ }
33
+ end
34
+
35
+ # List of attributes with nullable: true
36
+ def self.openapi_nullable
37
+ Set.new(
38
+ []
39
+ )
40
+ end
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ def initialize(attributes = {})
45
+ if (!attributes.is_a?(Hash))
46
+ raise(
47
+ ArgumentError,
48
+ "The input argument (attributes) must be a hash in `Algolia::ListTasksResponseV1` initialize method"
49
+ )
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ raise(
56
+ ArgumentError,
57
+ "`#{k}` is not a valid attribute in `Algolia::ListTasksResponseV1`. Please check the name to make sure it's valid. List of attributes: " +
58
+ self.class.attribute_map.keys.inspect
59
+ )
60
+ end
61
+
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:tasks)
66
+ if (value = attributes[:tasks]).is_a?(Array)
67
+ self.tasks = value
68
+ end
69
+ else
70
+ self.tasks = nil
71
+ end
72
+
73
+ if attributes.key?(:pagination)
74
+ self.pagination = attributes[:pagination]
75
+ else
76
+ self.pagination = nil
77
+ end
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(other)
83
+ return true if self.equal?(other)
84
+ self.class == other.class &&
85
+ tasks == other.tasks &&
86
+ pagination == other.pagination
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(other)
92
+ self == other
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [tasks, pagination].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ attributes = attributes.transform_keys(&:to_sym)
107
+ transformed_hash = {}
108
+ types_mapping.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash[key.to_sym] = nil
111
+ elsif type =~ /\AArray<(.*)>/i
112
+ # check to ensure the input is an array given that the attribute
113
+ # is documented as an array but the input is not
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
116
+ _deserialize(::Regexp.last_match(1), v)
117
+ }
118
+ end
119
+ elsif !attributes[attribute_map[key]].nil?
120
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
121
+ end
122
+ end
123
+
124
+ new(transformed_hash)
125
+ end
126
+
127
+ # Deserializes the data based on type
128
+ # @param string type Data type
129
+ # @param string value Value to be deserialized
130
+ # @return [Object] Deserialized data
131
+ def self._deserialize(type, value)
132
+ case type.to_sym
133
+ when :Time
134
+ Time.parse(value)
135
+ when :Date
136
+ Date.parse(value)
137
+ when :String
138
+ value.to_s
139
+ when :Integer
140
+ value.to_i
141
+ when :Float
142
+ value.to_f
143
+ when :Boolean
144
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
145
+ true
146
+ else
147
+ false
148
+ end
149
+
150
+ when :Object
151
+ # generic object (usually a Hash), return directly
152
+ value
153
+ when /\AArray<(?<inner_type>.+)>\z/
154
+ inner_type = Regexp.last_match[:inner_type]
155
+ value.map { |v| _deserialize(inner_type, v) }
156
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
157
+ k_type = Regexp.last_match[:k_type]
158
+ v_type = Regexp.last_match[:v_type]
159
+ {}.tap do |hash|
160
+ value.each do |k, v|
161
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
162
+ end
163
+ end
164
+ # model
165
+ else
166
+ # models (e.g. Pet) or oneOf
167
+ klass = Algolia::Ingestion.const_get(type)
168
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
169
+ .build_from_hash(value)
170
+ end
171
+ end
172
+
173
+ # Returns the string representation of the object
174
+ # @return [String] String presentation of the object
175
+ def to_s
176
+ to_hash.to_s
177
+ end
178
+
179
+ # to_body is an alias to to_hash (backward compatibility)
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_body
182
+ to_hash
183
+ end
184
+
185
+ def to_json(*_args)
186
+ to_hash.to_json
187
+ end
188
+
189
+ # Returns the object in the form of hash
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+
203
+ hash
204
+ end
205
+
206
+ # Outputs non-array value in the form of hash
207
+ # For object, use to_hash. Otherwise, just return the value
208
+ # @param [Object] value Any valid value
209
+ # @return [Hash] Returns the value in the form of hash
210
+ def _to_hash(value)
211
+ if value.is_a?(Array)
212
+ value.compact.map { |v| _to_hash(v) }
213
+ elsif value.is_a?(Hash)
214
+ {}.tap do |hash|
215
+ value.each { |k, v| hash[k] = _to_hash(v) }
216
+ end
217
+ elsif value.respond_to?(:to_hash)
218
+ value.to_hash
219
+ else
220
+ value
221
+ end
222
+ end
223
+
224
+ end
225
+
226
+ end
227
+ end
@@ -15,7 +15,14 @@ module Algolia
15
15
  # Universally unique identifier (UUID) of a destination resource.
16
16
  attr_accessor :destination_id
17
17
 
18
- attr_accessor :trigger
18
+ # Cron expression for the task's schedule.
19
+ attr_accessor :cron
20
+
21
+ # The last time the scheduled task ran in RFC 3339 format.
22
+ attr_accessor :last_run
23
+
24
+ # The next scheduled run of the task in RFC 3339 format.
25
+ attr_accessor :next_run
19
26
 
20
27
  attr_accessor :input
21
28
 
@@ -64,7 +71,9 @@ module Algolia
64
71
  :task_id => :taskID,
65
72
  :source_id => :sourceID,
66
73
  :destination_id => :destinationID,
67
- :trigger => :trigger,
74
+ :cron => :cron,
75
+ :last_run => :lastRun,
76
+ :next_run => :nextRun,
68
77
  :input => :input,
69
78
  :enabled => :enabled,
70
79
  :failure_threshold => :failureThreshold,
@@ -86,7 +95,9 @@ module Algolia
86
95
  :task_id => :"String",
87
96
  :source_id => :"String",
88
97
  :destination_id => :"String",
89
- :trigger => :"Trigger",
98
+ :cron => :"String",
99
+ :last_run => :"String",
100
+ :next_run => :"String",
90
101
  :input => :"TaskInput",
91
102
  :enabled => :"Boolean",
92
103
  :failure_threshold => :"Integer",
@@ -142,10 +153,16 @@ module Algolia
142
153
  self.destination_id = nil
143
154
  end
144
155
 
145
- if attributes.key?(:trigger)
146
- self.trigger = attributes[:trigger]
147
- else
148
- self.trigger = nil
156
+ if attributes.key?(:cron)
157
+ self.cron = attributes[:cron]
158
+ end
159
+
160
+ if attributes.key?(:last_run)
161
+ self.last_run = attributes[:last_run]
162
+ end
163
+
164
+ if attributes.key?(:next_run)
165
+ self.next_run = attributes[:next_run]
149
166
  end
150
167
 
151
168
  if attributes.key?(:input)
@@ -209,7 +226,9 @@ module Algolia
209
226
  task_id == other.task_id &&
210
227
  source_id == other.source_id &&
211
228
  destination_id == other.destination_id &&
212
- trigger == other.trigger &&
229
+ cron == other.cron &&
230
+ last_run == other.last_run &&
231
+ next_run == other.next_run &&
213
232
  input == other.input &&
214
233
  enabled == other.enabled &&
215
234
  failure_threshold == other.failure_threshold &&
@@ -232,7 +251,9 @@ module Algolia
232
251
  task_id,
233
252
  source_id,
234
253
  destination_id,
235
- trigger,
254
+ cron,
255
+ last_run,
256
+ next_run,
236
257
  input,
237
258
  enabled,
238
259
  failure_threshold,
@@ -13,10 +13,11 @@ module Algolia
13
13
  # Universally unique identifier (UUID) of a destination resource.
14
14
  attr_accessor :destination_id
15
15
 
16
- attr_accessor :trigger
17
-
18
16
  attr_accessor :action
19
17
 
18
+ # Cron expression for the task's schedule.
19
+ attr_accessor :cron
20
+
20
21
  # Whether the task is enabled.
21
22
  attr_accessor :enabled
22
23
 
@@ -55,8 +56,8 @@ module Algolia
55
56
  {
56
57
  :source_id => :sourceID,
57
58
  :destination_id => :destinationID,
58
- :trigger => :trigger,
59
59
  :action => :action,
60
+ :cron => :cron,
60
61
  :enabled => :enabled,
61
62
  :failure_threshold => :failureThreshold,
62
63
  :input => :input,
@@ -74,8 +75,8 @@ module Algolia
74
75
  {
75
76
  :source_id => :"String",
76
77
  :destination_id => :"String",
77
- :trigger => :"TaskCreateTrigger",
78
78
  :action => :"ActionType",
79
+ :cron => :"String",
79
80
  :enabled => :"Boolean",
80
81
  :failure_threshold => :"Integer",
81
82
  :input => :"TaskInput",
@@ -125,18 +126,16 @@ module Algolia
125
126
  self.destination_id = nil
126
127
  end
127
128
 
128
- if attributes.key?(:trigger)
129
- self.trigger = attributes[:trigger]
130
- else
131
- self.trigger = nil
132
- end
133
-
134
129
  if attributes.key?(:action)
135
130
  self.action = attributes[:action]
136
131
  else
137
132
  self.action = nil
138
133
  end
139
134
 
135
+ if attributes.key?(:cron)
136
+ self.cron = attributes[:cron]
137
+ end
138
+
140
139
  if attributes.key?(:enabled)
141
140
  self.enabled = attributes[:enabled]
142
141
  end
@@ -179,8 +178,8 @@ module Algolia
179
178
  self.class == other.class &&
180
179
  source_id == other.source_id &&
181
180
  destination_id == other.destination_id &&
182
- trigger == other.trigger &&
183
181
  action == other.action &&
182
+ cron == other.cron &&
184
183
  enabled == other.enabled &&
185
184
  failure_threshold == other.failure_threshold &&
186
185
  input == other.input &&
@@ -196,7 +195,7 @@ module Algolia
196
195
  # Calculates hash code according to all attributes.
197
196
  # @return [Integer] Hash code
198
197
  def hash
199
- [source_id, destination_id, trigger, action, enabled, failure_threshold, input, cursor].hash
198
+ [source_id, destination_id, action, cron, enabled, failure_threshold, input, cursor].hash
200
199
  end
201
200
 
202
201
  # Builds the object from hash
@@ -0,0 +1,328 @@
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 Ingestion
8
+ # API request body for creating a task using the V1 shape, please use methods and types that don't contain the V1 suffix.
9
+ class TaskCreateV1
10
+ # Universally uniqud identifier (UUID) of a source.
11
+ attr_accessor :source_id
12
+
13
+ # Universally unique identifier (UUID) of a destination resource.
14
+ attr_accessor :destination_id
15
+
16
+ attr_accessor :trigger
17
+
18
+ attr_accessor :action
19
+
20
+ # Whether the task is enabled.
21
+ attr_accessor :enabled
22
+
23
+ # Maximum accepted percentage of failures for a task run to finish successfully.
24
+ attr_accessor :failure_threshold
25
+
26
+ attr_accessor :input
27
+
28
+ # Date of the last cursor in RFC 3339 format.
29
+ attr_accessor :cursor
30
+
31
+ class EnumAttributeValidator
32
+ attr_reader :datatype
33
+ attr_reader :allowable_values
34
+
35
+ def initialize(datatype, allowable_values)
36
+ @allowable_values = allowable_values.map do |value|
37
+ case datatype.to_s
38
+ when /Integer/i
39
+ value.to_i
40
+ when /Float/i
41
+ value.to_f
42
+ else
43
+ value
44
+ end
45
+ end
46
+ end
47
+
48
+ def valid?(value)
49
+ !value || allowable_values.include?(value)
50
+ end
51
+ end
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ def self.attribute_map
55
+ {
56
+ :source_id => :sourceID,
57
+ :destination_id => :destinationID,
58
+ :trigger => :trigger,
59
+ :action => :action,
60
+ :enabled => :enabled,
61
+ :failure_threshold => :failureThreshold,
62
+ :input => :input,
63
+ :cursor => :cursor
64
+ }
65
+ end
66
+
67
+ # Returns all the JSON keys this model knows about
68
+ def self.acceptable_attributes
69
+ attribute_map.values
70
+ end
71
+
72
+ # Attribute type mapping.
73
+ def self.types_mapping
74
+ {
75
+ :source_id => :"String",
76
+ :destination_id => :"String",
77
+ :trigger => :"TaskCreateTrigger",
78
+ :action => :"ActionType",
79
+ :enabled => :"Boolean",
80
+ :failure_threshold => :"Integer",
81
+ :input => :"TaskInput",
82
+ :cursor => :"String"
83
+ }
84
+ end
85
+
86
+ # List of attributes with nullable: true
87
+ def self.openapi_nullable
88
+ Set.new(
89
+ []
90
+ )
91
+ end
92
+
93
+ # Initializes the object
94
+ # @param [Hash] attributes Model attributes in the form of hash
95
+ def initialize(attributes = {})
96
+ if (!attributes.is_a?(Hash))
97
+ raise(
98
+ ArgumentError,
99
+ "The input argument (attributes) must be a hash in `Algolia::TaskCreateV1` initialize method"
100
+ )
101
+ end
102
+
103
+ # check to see if the attribute exists and convert string to symbol for hash key
104
+ attributes = attributes.each_with_object({}) { |(k, v), h|
105
+ if (!self.class.attribute_map.key?(k.to_sym))
106
+ raise(
107
+ ArgumentError,
108
+ "`#{k}` is not a valid attribute in `Algolia::TaskCreateV1`. Please check the name to make sure it's valid. List of attributes: " +
109
+ self.class.attribute_map.keys.inspect
110
+ )
111
+ end
112
+
113
+ h[k.to_sym] = v
114
+ }
115
+
116
+ if attributes.key?(:source_id)
117
+ self.source_id = attributes[:source_id]
118
+ else
119
+ self.source_id = nil
120
+ end
121
+
122
+ if attributes.key?(:destination_id)
123
+ self.destination_id = attributes[:destination_id]
124
+ else
125
+ self.destination_id = nil
126
+ end
127
+
128
+ if attributes.key?(:trigger)
129
+ self.trigger = attributes[:trigger]
130
+ else
131
+ self.trigger = nil
132
+ end
133
+
134
+ if attributes.key?(:action)
135
+ self.action = attributes[:action]
136
+ else
137
+ self.action = nil
138
+ end
139
+
140
+ if attributes.key?(:enabled)
141
+ self.enabled = attributes[:enabled]
142
+ end
143
+
144
+ if attributes.key?(:failure_threshold)
145
+ self.failure_threshold = attributes[:failure_threshold]
146
+ end
147
+
148
+ if attributes.key?(:input)
149
+ self.input = attributes[:input]
150
+ end
151
+
152
+ if attributes.key?(:cursor)
153
+ self.cursor = attributes[:cursor]
154
+ end
155
+ end
156
+
157
+ # Custom attribute writer method with validation
158
+ # @param [Object] failure_threshold Value to be assigned
159
+ def failure_threshold=(failure_threshold)
160
+ if failure_threshold.nil?
161
+ raise ArgumentError, "failure_threshold cannot be nil"
162
+ end
163
+
164
+ if failure_threshold > 100
165
+ raise ArgumentError, "invalid value for \"failure_threshold\", must be smaller than or equal to 100."
166
+ end
167
+
168
+ if failure_threshold < 0
169
+ raise ArgumentError, "invalid value for \"failure_threshold\", must be greater than or equal to 0."
170
+ end
171
+
172
+ @failure_threshold = failure_threshold
173
+ end
174
+
175
+ # Checks equality by comparing each attribute.
176
+ # @param [Object] Object to be compared
177
+ def ==(other)
178
+ return true if self.equal?(other)
179
+ self.class == other.class &&
180
+ source_id == other.source_id &&
181
+ destination_id == other.destination_id &&
182
+ trigger == other.trigger &&
183
+ action == other.action &&
184
+ enabled == other.enabled &&
185
+ failure_threshold == other.failure_threshold &&
186
+ input == other.input &&
187
+ cursor == other.cursor
188
+ end
189
+
190
+ # @see the `==` method
191
+ # @param [Object] Object to be compared
192
+ def eql?(other)
193
+ self == other
194
+ end
195
+
196
+ # Calculates hash code according to all attributes.
197
+ # @return [Integer] Hash code
198
+ def hash
199
+ [source_id, destination_id, trigger, action, enabled, failure_threshold, input, cursor].hash
200
+ end
201
+
202
+ # Builds the object from hash
203
+ # @param [Hash] attributes Model attributes in the form of hash
204
+ # @return [Object] Returns the model itself
205
+ def self.build_from_hash(attributes)
206
+ return nil unless attributes.is_a?(Hash)
207
+ attributes = attributes.transform_keys(&:to_sym)
208
+ transformed_hash = {}
209
+ types_mapping.each_pair do |key, type|
210
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
211
+ transformed_hash[key.to_sym] = nil
212
+ elsif type =~ /\AArray<(.*)>/i
213
+ # check to ensure the input is an array given that the attribute
214
+ # is documented as an array but the input is not
215
+ if attributes[attribute_map[key]].is_a?(Array)
216
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
217
+ _deserialize(::Regexp.last_match(1), v)
218
+ }
219
+ end
220
+ elsif !attributes[attribute_map[key]].nil?
221
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
222
+ end
223
+ end
224
+
225
+ new(transformed_hash)
226
+ end
227
+
228
+ # Deserializes the data based on type
229
+ # @param string type Data type
230
+ # @param string value Value to be deserialized
231
+ # @return [Object] Deserialized data
232
+ def self._deserialize(type, value)
233
+ case type.to_sym
234
+ when :Time
235
+ Time.parse(value)
236
+ when :Date
237
+ Date.parse(value)
238
+ when :String
239
+ value.to_s
240
+ when :Integer
241
+ value.to_i
242
+ when :Float
243
+ value.to_f
244
+ when :Boolean
245
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
246
+ true
247
+ else
248
+ false
249
+ end
250
+
251
+ when :Object
252
+ # generic object (usually a Hash), return directly
253
+ value
254
+ when /\AArray<(?<inner_type>.+)>\z/
255
+ inner_type = Regexp.last_match[:inner_type]
256
+ value.map { |v| _deserialize(inner_type, v) }
257
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
258
+ k_type = Regexp.last_match[:k_type]
259
+ v_type = Regexp.last_match[:v_type]
260
+ {}.tap do |hash|
261
+ value.each do |k, v|
262
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
263
+ end
264
+ end
265
+ # model
266
+ else
267
+ # models (e.g. Pet) or oneOf
268
+ klass = Algolia::Ingestion.const_get(type)
269
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
270
+ .build_from_hash(value)
271
+ end
272
+ end
273
+
274
+ # Returns the string representation of the object
275
+ # @return [String] String presentation of the object
276
+ def to_s
277
+ to_hash.to_s
278
+ end
279
+
280
+ # to_body is an alias to to_hash (backward compatibility)
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ def to_json(*_args)
287
+ to_hash.to_json
288
+ end
289
+
290
+ # Returns the object in the form of hash
291
+ # @return [Hash] Returns the object in the form of hash
292
+ def to_hash
293
+ hash = {}
294
+ self.class.attribute_map.each_pair do |attr, param|
295
+ value = send(attr)
296
+ if value.nil?
297
+ is_nullable = self.class.openapi_nullable.include?(attr)
298
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
299
+ end
300
+
301
+ hash[param] = _to_hash(value)
302
+ end
303
+
304
+ hash
305
+ end
306
+
307
+ # Outputs non-array value in the form of hash
308
+ # For object, use to_hash. Otherwise, just return the value
309
+ # @param [Object] value Any valid value
310
+ # @return [Hash] Returns the value in the form of hash
311
+ def _to_hash(value)
312
+ if value.is_a?(Array)
313
+ value.compact.map { |v| _to_hash(v) }
314
+ elsif value.is_a?(Hash)
315
+ {}.tap do |hash|
316
+ value.each { |k, v| hash[k] = _to_hash(v) }
317
+ end
318
+ elsif value.respond_to?(:to_hash)
319
+ value.to_hash
320
+ else
321
+ value
322
+ end
323
+ end
324
+
325
+ end
326
+
327
+ end
328
+ end