feratel-check-api-client 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +159 -0
  4. data/Rakefile +10 -0
  5. data/docs/AgeGroup.md +22 -0
  6. data/docs/AgeGroupTranslation.md +20 -0
  7. data/docs/CheckPoint.md +38 -0
  8. data/docs/CheckPointGroup.md +20 -0
  9. data/docs/CheckPointItem.md +26 -0
  10. data/docs/CheckResourcesApi.md +545 -0
  11. data/docs/CheckResult.md +26 -0
  12. data/docs/CheckState.md +20 -0
  13. data/docs/CheckStateEnum.md +15 -0
  14. data/docs/CheckStateTranslation.md +20 -0
  15. data/docs/CheckpointError.md +22 -0
  16. data/docs/Customer.md +24 -0
  17. data/docs/History.md +18 -0
  18. data/docs/HistoryItem.md +24 -0
  19. data/docs/HistoryItemState.md +26 -0
  20. data/docs/Identification.md +36 -0
  21. data/docs/IdentificationStatus.md +15 -0
  22. data/docs/IdentificationType.md +26 -0
  23. data/docs/IdentificationUsage.md +26 -0
  24. data/docs/IdentificationUsageType.md +15 -0
  25. data/docs/Identifier.md +20 -0
  26. data/docs/IdentifierType.md +15 -0
  27. data/docs/ServiceProvider.md +24 -0
  28. data/docs/ServiceType.md +28 -0
  29. data/docs/ServiceTypeAssignment.md +22 -0
  30. data/docs/ServiceTypeTranslation.md +20 -0
  31. data/docs/ServiceUsage.md +36 -0
  32. data/docs/ServiceUsageType.md +15 -0
  33. data/docs/SystemResourcesApi.md +147 -0
  34. data/docs/TransactError.md +22 -0
  35. data/docs/TransactResult.md +34 -0
  36. data/docs/TransactState.md +20 -0
  37. data/docs/TransactStateEnum.md +15 -0
  38. data/docs/TransactStateTranslation.md +20 -0
  39. data/docs/ValidTransactionInfo.md +20 -0
  40. data/docs/Week.md +30 -0
  41. data/feratel-check-api-client.gemspec +39 -0
  42. data/git_push.sh +57 -0
  43. data/lib/feratel-check-api-client/api/check_resources_api.rb +586 -0
  44. data/lib/feratel-check-api-client/api/system_resources_api.rb +148 -0
  45. data/lib/feratel-check-api-client/api_client.rb +394 -0
  46. data/lib/feratel-check-api-client/api_error.rb +58 -0
  47. data/lib/feratel-check-api-client/configuration.rb +308 -0
  48. data/lib/feratel-check-api-client/models/age_group.rb +255 -0
  49. data/lib/feratel-check-api-client/models/age_group_translation.rb +223 -0
  50. data/lib/feratel-check-api-client/models/check_point.rb +327 -0
  51. data/lib/feratel-check-api-client/models/check_point_group.rb +244 -0
  52. data/lib/feratel-check-api-client/models/check_point_item.rb +271 -0
  53. data/lib/feratel-check-api-client/models/check_result.rb +250 -0
  54. data/lib/feratel-check-api-client/models/check_state.rb +247 -0
  55. data/lib/feratel-check-api-client/models/check_state_enum.rb +82 -0
  56. data/lib/feratel-check-api-client/models/check_state_translation.rb +223 -0
  57. data/lib/feratel-check-api-client/models/checkpoint_error.rb +256 -0
  58. data/lib/feratel-check-api-client/models/customer.rb +262 -0
  59. data/lib/feratel-check-api-client/models/history.rb +216 -0
  60. data/lib/feratel-check-api-client/models/history_item.rb +262 -0
  61. data/lib/feratel-check-api-client/models/history_item_state.rb +250 -0
  62. data/lib/feratel-check-api-client/models/identification.rb +338 -0
  63. data/lib/feratel-check-api-client/models/identification_status.rb +43 -0
  64. data/lib/feratel-check-api-client/models/identification_type.rb +271 -0
  65. data/lib/feratel-check-api-client/models/identification_usage.rb +314 -0
  66. data/lib/feratel-check-api-client/models/identification_usage_type.rb +42 -0
  67. data/lib/feratel-check-api-client/models/identifier.rb +245 -0
  68. data/lib/feratel-check-api-client/models/identifier_type.rb +44 -0
  69. data/lib/feratel-check-api-client/models/service_provider.rb +262 -0
  70. data/lib/feratel-check-api-client/models/service_type.rb +282 -0
  71. data/lib/feratel-check-api-client/models/service_type_assignment.rb +253 -0
  72. data/lib/feratel-check-api-client/models/service_type_translation.rb +223 -0
  73. data/lib/feratel-check-api-client/models/service_usage.rb +380 -0
  74. data/lib/feratel-check-api-client/models/service_usage_type.rb +50 -0
  75. data/lib/feratel-check-api-client/models/transact_error.rb +256 -0
  76. data/lib/feratel-check-api-client/models/transact_result.rb +349 -0
  77. data/lib/feratel-check-api-client/models/transact_state.rb +247 -0
  78. data/lib/feratel-check-api-client/models/transact_state_enum.rb +54 -0
  79. data/lib/feratel-check-api-client/models/transact_state_translation.rb +223 -0
  80. data/lib/feratel-check-api-client/models/valid_transaction_info.rb +223 -0
  81. data/lib/feratel-check-api-client/models/week.rb +268 -0
  82. data/lib/feratel-check-api-client/version.rb +15 -0
  83. data/lib/feratel-check-api-client.rb +75 -0
  84. data/spec/api/check_resources_api_spec.rb +137 -0
  85. data/spec/api/system_resources_api_spec.rb +59 -0
  86. data/spec/models/age_group_spec.rb +48 -0
  87. data/spec/models/age_group_translation_spec.rb +42 -0
  88. data/spec/models/check_point_group_spec.rb +42 -0
  89. data/spec/models/check_point_item_spec.rb +60 -0
  90. data/spec/models/check_point_spec.rb +96 -0
  91. data/spec/models/check_result_spec.rb +60 -0
  92. data/spec/models/check_state_enum_spec.rb +30 -0
  93. data/spec/models/check_state_spec.rb +42 -0
  94. data/spec/models/check_state_translation_spec.rb +42 -0
  95. data/spec/models/checkpoint_error_spec.rb +48 -0
  96. data/spec/models/customer_spec.rb +54 -0
  97. data/spec/models/history_item_spec.rb +54 -0
  98. data/spec/models/history_item_state_spec.rb +60 -0
  99. data/spec/models/history_spec.rb +36 -0
  100. data/spec/models/identification_spec.rb +90 -0
  101. data/spec/models/identification_status_spec.rb +30 -0
  102. data/spec/models/identification_type_spec.rb +60 -0
  103. data/spec/models/identification_usage_spec.rb +60 -0
  104. data/spec/models/identification_usage_type_spec.rb +30 -0
  105. data/spec/models/identifier_spec.rb +42 -0
  106. data/spec/models/identifier_type_spec.rb +30 -0
  107. data/spec/models/service_provider_spec.rb +54 -0
  108. data/spec/models/service_type_assignment_spec.rb +48 -0
  109. data/spec/models/service_type_spec.rb +66 -0
  110. data/spec/models/service_type_translation_spec.rb +42 -0
  111. data/spec/models/service_usage_spec.rb +90 -0
  112. data/spec/models/service_usage_type_spec.rb +30 -0
  113. data/spec/models/transact_error_spec.rb +48 -0
  114. data/spec/models/transact_result_spec.rb +84 -0
  115. data/spec/models/transact_state_enum_spec.rb +30 -0
  116. data/spec/models/transact_state_spec.rb +42 -0
  117. data/spec/models/transact_state_translation_spec.rb +42 -0
  118. data/spec/models/valid_transaction_info_spec.rb +42 -0
  119. data/spec/models/week_spec.rb +72 -0
  120. data/spec/spec_helper.rb +111 -0
  121. metadata +255 -0
@@ -0,0 +1,349 @@
1
+ =begin
2
+ #CheckAPI Standard
3
+
4
+ #This documentation describes your available CheckAPI REST services: Get your checkpoints and their details, check the permission of a customer's ID, take a look at your checkpoint's history - everything a checkpoint needs can be found here in one place. Please look at the descriptions in each service below. <div id=\"authorize-information-wrap\"><h1>Authorize</h1><p>You can use this automated authentication to try out your activated methods - just click „Authorize“, enter CardAPI credentials and have a try! You received the CardAPI username and password via e-mail – credentials are different from your developer-portal credentials. Authentication is based on OAUTH2 (implicit grant flow) and needs to be implemented and called prior to using any API method. <b>CLIENT_ID</b><br>The client ID is pre-filled automatically according to the chosen application. You can find your available client IDs in the \"Applications\" - Area. <b>GRANT_TYPE</b><br>With grant_type=password you get an access-token and a refresh-token for your request. The received access token can be used for 10 minutes, there are two ways to renew it. Either you can send the same request again or you can use the grant_type=refresh_token. The refresh token needs to be used every 30 minutes and can provide new access tokens for 10 hours without using your credentials.</p></div>
5
+
6
+ The version of the OpenAPI document: 1.17.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FeratelCheckApiClient
17
+ class TransactResult
18
+ attr_accessor :check_point
19
+
20
+ attr_accessor :check_state
21
+
22
+ attr_accessor :identification
23
+
24
+ attr_accessor :transact_date
25
+
26
+ attr_accessor :transact_date_last
27
+
28
+ attr_accessor :transact_id
29
+
30
+ attr_accessor :transact_state
31
+
32
+ attr_accessor :valid_transaction_info
33
+
34
+ attr_accessor :valid
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ :'check_point' => :'checkPoint',
40
+ :'check_state' => :'checkState',
41
+ :'identification' => :'identification',
42
+ :'transact_date' => :'transactDate',
43
+ :'transact_date_last' => :'transactDateLast',
44
+ :'transact_id' => :'transactId',
45
+ :'transact_state' => :'transactState',
46
+ :'valid_transaction_info' => :'validTransactionInfo',
47
+ :'valid' => :'valid'
48
+ }
49
+ end
50
+
51
+ # Returns all the JSON keys this model knows about
52
+ def self.acceptable_attributes
53
+ attribute_map.values
54
+ end
55
+
56
+ # Attribute type mapping.
57
+ def self.openapi_types
58
+ {
59
+ :'check_point' => :'CheckPoint',
60
+ :'check_state' => :'CheckState',
61
+ :'identification' => :'Identification',
62
+ :'transact_date' => :'String',
63
+ :'transact_date_last' => :'String',
64
+ :'transact_id' => :'String',
65
+ :'transact_state' => :'TransactState',
66
+ :'valid_transaction_info' => :'ValidTransactionInfo',
67
+ :'valid' => :'Boolean'
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FeratelCheckApiClient::TransactResult` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!self.class.attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FeratelCheckApiClient::TransactResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:'check_point')
93
+ self.check_point = attributes[:'check_point']
94
+ end
95
+
96
+ if attributes.key?(:'check_state')
97
+ self.check_state = attributes[:'check_state']
98
+ end
99
+
100
+ if attributes.key?(:'identification')
101
+ self.identification = attributes[:'identification']
102
+ end
103
+
104
+ if attributes.key?(:'transact_date')
105
+ self.transact_date = attributes[:'transact_date']
106
+ end
107
+
108
+ if attributes.key?(:'transact_date_last')
109
+ self.transact_date_last = attributes[:'transact_date_last']
110
+ end
111
+
112
+ if attributes.key?(:'transact_id')
113
+ self.transact_id = attributes[:'transact_id']
114
+ end
115
+
116
+ if attributes.key?(:'transact_state')
117
+ self.transact_state = attributes[:'transact_state']
118
+ end
119
+
120
+ if attributes.key?(:'valid_transaction_info')
121
+ self.valid_transaction_info = attributes[:'valid_transaction_info']
122
+ end
123
+
124
+ if attributes.key?(:'valid')
125
+ self.valid = attributes[:'valid']
126
+ end
127
+ end
128
+
129
+ # Show invalid properties with the reasons. Usually used together with valid?
130
+ # @return Array for valid properties with the reasons
131
+ def list_invalid_properties
132
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
133
+ invalid_properties = Array.new
134
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?$/)
135
+ if !@transact_date.nil? && @transact_date !~ pattern
136
+ invalid_properties.push("invalid value for \"transact_date\", must conform to the pattern #{pattern}.")
137
+ end
138
+
139
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?$/)
140
+ if !@transact_date_last.nil? && @transact_date_last !~ pattern
141
+ invalid_properties.push("invalid value for \"transact_date_last\", must conform to the pattern #{pattern}.")
142
+ end
143
+
144
+ pattern = Regexp.new(/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/)
145
+ if !@transact_id.nil? && @transact_id !~ pattern
146
+ invalid_properties.push("invalid value for \"transact_id\", must conform to the pattern #{pattern}.")
147
+ end
148
+
149
+ invalid_properties
150
+ end
151
+
152
+ # Check to see if the all the properties in the model are valid
153
+ # @return true if the model is valid
154
+ def valid?
155
+ warn '[DEPRECATED] the `valid?` method is obsolete'
156
+ return false if !@transact_date.nil? && @transact_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?$/)
157
+ return false if !@transact_date_last.nil? && @transact_date_last !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?$/)
158
+ return false if !@transact_id.nil? && @transact_id !~ Regexp.new(/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/)
159
+ true
160
+ end
161
+
162
+ # Custom attribute writer method with validation
163
+ # @param [Object] transact_date Value to be assigned
164
+ def transact_date=(transact_date)
165
+ if transact_date.nil?
166
+ fail ArgumentError, 'transact_date cannot be nil'
167
+ end
168
+
169
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?$/)
170
+ if transact_date !~ pattern
171
+ fail ArgumentError, "invalid value for \"transact_date\", must conform to the pattern #{pattern}."
172
+ end
173
+
174
+ @transact_date = transact_date
175
+ end
176
+
177
+ # Custom attribute writer method with validation
178
+ # @param [Object] transact_date_last Value to be assigned
179
+ def transact_date_last=(transact_date_last)
180
+ if transact_date_last.nil?
181
+ fail ArgumentError, 'transact_date_last cannot be nil'
182
+ end
183
+
184
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?$/)
185
+ if transact_date_last !~ pattern
186
+ fail ArgumentError, "invalid value for \"transact_date_last\", must conform to the pattern #{pattern}."
187
+ end
188
+
189
+ @transact_date_last = transact_date_last
190
+ end
191
+
192
+ # Custom attribute writer method with validation
193
+ # @param [Object] transact_id Value to be assigned
194
+ def transact_id=(transact_id)
195
+ if transact_id.nil?
196
+ fail ArgumentError, 'transact_id cannot be nil'
197
+ end
198
+
199
+ pattern = Regexp.new(/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/)
200
+ if transact_id !~ pattern
201
+ fail ArgumentError, "invalid value for \"transact_id\", must conform to the pattern #{pattern}."
202
+ end
203
+
204
+ @transact_id = transact_id
205
+ end
206
+
207
+ # Checks equality by comparing each attribute.
208
+ # @param [Object] Object to be compared
209
+ def ==(o)
210
+ return true if self.equal?(o)
211
+ self.class == o.class &&
212
+ check_point == o.check_point &&
213
+ check_state == o.check_state &&
214
+ identification == o.identification &&
215
+ transact_date == o.transact_date &&
216
+ transact_date_last == o.transact_date_last &&
217
+ transact_id == o.transact_id &&
218
+ transact_state == o.transact_state &&
219
+ valid_transaction_info == o.valid_transaction_info &&
220
+ valid == o.valid
221
+ end
222
+
223
+ # @see the `==` method
224
+ # @param [Object] Object to be compared
225
+ def eql?(o)
226
+ self == o
227
+ end
228
+
229
+ # Calculates hash code according to all attributes.
230
+ # @return [Integer] Hash code
231
+ def hash
232
+ [check_point, check_state, identification, transact_date, transact_date_last, transact_id, transact_state, valid_transaction_info, valid].hash
233
+ end
234
+
235
+ # Builds the object from hash
236
+ # @param [Hash] attributes Model attributes in the form of hash
237
+ # @return [Object] Returns the model itself
238
+ def self.build_from_hash(attributes)
239
+ return nil unless attributes.is_a?(Hash)
240
+ attributes = attributes.transform_keys(&:to_sym)
241
+ transformed_hash = {}
242
+ openapi_types.each_pair do |key, type|
243
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
244
+ transformed_hash["#{key}"] = nil
245
+ elsif type =~ /\AArray<(.*)>/i
246
+ # check to ensure the input is an array given that the attribute
247
+ # is documented as an array but the input is not
248
+ if attributes[attribute_map[key]].is_a?(Array)
249
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
250
+ end
251
+ elsif !attributes[attribute_map[key]].nil?
252
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
253
+ end
254
+ end
255
+ new(transformed_hash)
256
+ end
257
+
258
+ # Deserializes the data based on type
259
+ # @param string type Data type
260
+ # @param string value Value to be deserialized
261
+ # @return [Object] Deserialized data
262
+ def self._deserialize(type, value)
263
+ case type.to_sym
264
+ when :Time
265
+ Time.parse(value)
266
+ when :Date
267
+ Date.parse(value)
268
+ when :String
269
+ value.to_s
270
+ when :Integer
271
+ value.to_i
272
+ when :Float
273
+ value.to_f
274
+ when :Boolean
275
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
276
+ true
277
+ else
278
+ false
279
+ end
280
+ when :Object
281
+ # generic object (usually a Hash), return directly
282
+ value
283
+ when /\AArray<(?<inner_type>.+)>\z/
284
+ inner_type = Regexp.last_match[:inner_type]
285
+ value.map { |v| _deserialize(inner_type, v) }
286
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
287
+ k_type = Regexp.last_match[:k_type]
288
+ v_type = Regexp.last_match[:v_type]
289
+ {}.tap do |hash|
290
+ value.each do |k, v|
291
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
292
+ end
293
+ end
294
+ else # model
295
+ # models (e.g. Pet) or oneOf
296
+ klass = FeratelCheckApiClient.const_get(type)
297
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
298
+ end
299
+ end
300
+
301
+ # Returns the string representation of the object
302
+ # @return [String] String presentation of the object
303
+ def to_s
304
+ to_hash.to_s
305
+ end
306
+
307
+ # to_body is an alias to to_hash (backward compatibility)
308
+ # @return [Hash] Returns the object in the form of hash
309
+ def to_body
310
+ to_hash
311
+ end
312
+
313
+ # Returns the object in the form of hash
314
+ # @return [Hash] Returns the object in the form of hash
315
+ def to_hash
316
+ hash = {}
317
+ self.class.attribute_map.each_pair do |attr, param|
318
+ value = self.send(attr)
319
+ if value.nil?
320
+ is_nullable = self.class.openapi_nullable.include?(attr)
321
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
322
+ end
323
+
324
+ hash[param] = _to_hash(value)
325
+ end
326
+ hash
327
+ end
328
+
329
+ # Outputs non-array value in the form of hash
330
+ # For object, use to_hash. Otherwise, just return the value
331
+ # @param [Object] value Any valid value
332
+ # @return [Hash] Returns the value in the form of hash
333
+ def _to_hash(value)
334
+ if value.is_a?(Array)
335
+ value.compact.map { |v| _to_hash(v) }
336
+ elsif value.is_a?(Hash)
337
+ {}.tap do |hash|
338
+ value.each { |k, v| hash[k] = _to_hash(v) }
339
+ end
340
+ elsif value.respond_to? :to_hash
341
+ value.to_hash
342
+ else
343
+ value
344
+ end
345
+ end
346
+
347
+ end
348
+
349
+ end
@@ -0,0 +1,247 @@
1
+ =begin
2
+ #CheckAPI Standard
3
+
4
+ #This documentation describes your available CheckAPI REST services: Get your checkpoints and their details, check the permission of a customer's ID, take a look at your checkpoint's history - everything a checkpoint needs can be found here in one place. Please look at the descriptions in each service below. <div id=\"authorize-information-wrap\"><h1>Authorize</h1><p>You can use this automated authentication to try out your activated methods - just click „Authorize“, enter CardAPI credentials and have a try! You received the CardAPI username and password via e-mail – credentials are different from your developer-portal credentials. Authentication is based on OAUTH2 (implicit grant flow) and needs to be implemented and called prior to using any API method. <b>CLIENT_ID</b><br>The client ID is pre-filled automatically according to the chosen application. You can find your available client IDs in the \"Applications\" - Area. <b>GRANT_TYPE</b><br>With grant_type=password you get an access-token and a refresh-token for your request. The received access token can be used for 10 minutes, there are two ways to renew it. Either you can send the same request again or you can use the grant_type=refresh_token. The refresh token needs to be used every 30 minutes and can provide new access tokens for 10 hours without using your credentials.</p></div>
5
+
6
+ The version of the OpenAPI document: 1.17.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FeratelCheckApiClient
17
+ class TransactState
18
+ attr_accessor :state
19
+
20
+ attr_accessor :translations
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'state' => :'state',
48
+ :'translations' => :'translations'
49
+ }
50
+ end
51
+
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'state' => :'TransactStateEnum',
61
+ :'translations' => :'Array<TransactStateTranslation>'
62
+ }
63
+ end
64
+
65
+ # List of attributes with nullable: true
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ ])
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FeratelCheckApiClient::TransactState` initialize method"
76
+ end
77
+
78
+ # check to see if the attribute exists and convert string to symbol for hash key
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!self.class.attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FeratelCheckApiClient::TransactState`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'state')
87
+ self.state = attributes[:'state']
88
+ end
89
+
90
+ if attributes.key?(:'translations')
91
+ if (value = attributes[:'translations']).is_a?(Array)
92
+ self.translations = value
93
+ end
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+ warn '[DEPRECATED] the `valid?` method is obsolete'
109
+ true
110
+ end
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ state == o.state &&
118
+ translations == o.translations
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] Object to be compared
123
+ def eql?(o)
124
+ self == o
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Integer] Hash code
129
+ def hash
130
+ [state, translations].hash
131
+ end
132
+
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
136
+ def self.build_from_hash(attributes)
137
+ return nil unless attributes.is_a?(Hash)
138
+ attributes = attributes.transform_keys(&:to_sym)
139
+ transformed_hash = {}
140
+ openapi_types.each_pair do |key, type|
141
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = nil
143
+ elsif type =~ /\AArray<(.*)>/i
144
+ # check to ensure the input is an array given that the attribute
145
+ # is documented as an array but the input is not
146
+ if attributes[attribute_map[key]].is_a?(Array)
147
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
148
+ end
149
+ elsif !attributes[attribute_map[key]].nil?
150
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
151
+ end
152
+ end
153
+ new(transformed_hash)
154
+ end
155
+
156
+ # Deserializes the data based on type
157
+ # @param string type Data type
158
+ # @param string value Value to be deserialized
159
+ # @return [Object] Deserialized data
160
+ def self._deserialize(type, value)
161
+ case type.to_sym
162
+ when :Time
163
+ Time.parse(value)
164
+ when :Date
165
+ Date.parse(value)
166
+ when :String
167
+ value.to_s
168
+ when :Integer
169
+ value.to_i
170
+ when :Float
171
+ value.to_f
172
+ when :Boolean
173
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
174
+ true
175
+ else
176
+ false
177
+ end
178
+ when :Object
179
+ # generic object (usually a Hash), return directly
180
+ value
181
+ when /\AArray<(?<inner_type>.+)>\z/
182
+ inner_type = Regexp.last_match[:inner_type]
183
+ value.map { |v| _deserialize(inner_type, v) }
184
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
185
+ k_type = Regexp.last_match[:k_type]
186
+ v_type = Regexp.last_match[:v_type]
187
+ {}.tap do |hash|
188
+ value.each do |k, v|
189
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
190
+ end
191
+ end
192
+ else # model
193
+ # models (e.g. Pet) or oneOf
194
+ klass = FeratelCheckApiClient.const_get(type)
195
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
196
+ end
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_hash (backward compatibility)
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_body
208
+ to_hash
209
+ end
210
+
211
+ # Returns the object in the form of hash
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_hash
214
+ hash = {}
215
+ self.class.attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Outputs non-array value in the form of hash
228
+ # For object, use to_hash. Otherwise, just return the value
229
+ # @param [Object] value Any valid value
230
+ # @return [Hash] Returns the value in the form of hash
231
+ def _to_hash(value)
232
+ if value.is_a?(Array)
233
+ value.compact.map { |v| _to_hash(v) }
234
+ elsif value.is_a?(Hash)
235
+ {}.tap do |hash|
236
+ value.each { |k, v| hash[k] = _to_hash(v) }
237
+ end
238
+ elsif value.respond_to? :to_hash
239
+ value.to_hash
240
+ else
241
+ value
242
+ end
243
+ end
244
+
245
+ end
246
+
247
+ end
@@ -0,0 +1,54 @@
1
+ =begin
2
+ #CheckAPI Standard
3
+
4
+ #This documentation describes your available CheckAPI REST services: Get your checkpoints and their details, check the permission of a customer's ID, take a look at your checkpoint's history - everything a checkpoint needs can be found here in one place. Please look at the descriptions in each service below. <div id=\"authorize-information-wrap\"><h1>Authorize</h1><p>You can use this automated authentication to try out your activated methods - just click „Authorize“, enter CardAPI credentials and have a try! You received the CardAPI username and password via e-mail – credentials are different from your developer-portal credentials. Authentication is based on OAUTH2 (implicit grant flow) and needs to be implemented and called prior to using any API method. <b>CLIENT_ID</b><br>The client ID is pre-filled automatically according to the chosen application. You can find your available client IDs in the \"Applications\" - Area. <b>GRANT_TYPE</b><br>With grant_type=password you get an access-token and a refresh-token for your request. The received access token can be used for 10 minutes, there are two ways to renew it. Either you can send the same request again or you can use the grant_type=refresh_token. The refresh token needs to be used every 30 minutes and can provide new access tokens for 10 hours without using your credentials.</p></div>
5
+
6
+ The version of the OpenAPI document: 1.17.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FeratelCheckApiClient
17
+ class TransactStateEnum
18
+ NO_CHECKPOINT_NOT_FOUND = "NO_CHECKPOINT_NOT_FOUND".freeze
19
+ NO_USAGE_DEF_NOT_FOUND = "NO_USAGE_DEF_NOT_FOUND".freeze
20
+ NO_DOUBLE_SEND = "NO_DOUBLE_SEND".freeze
21
+ NO_DOUBLE_SEND_BOOK = "NO_DOUBLE_SEND_BOOK".freeze
22
+ NO_DOUBLE_SEND_FIRST_USE = "NO_DOUBLE_SEND_FIRST_USE".freeze
23
+ NO_DOUBLE_SEND_FIRST_USE_CORRECTION = "NO_DOUBLE_SEND_FIRST_USE_CORRECTION".freeze
24
+ NO_DOUBLE_SEND_FIRST_USE_SLAVE = "NO_DOUBLE_SEND_FIRST_USE_SLAVE".freeze
25
+ NO_CHECK_ERROR = "NO_CHECK_ERROR".freeze
26
+ NO_TRANSACTION_DATE_NOT_VALID = "NO_TRANSACTION_DATE_NOT_VALID".freeze
27
+ OK = "OK".freeze
28
+ OK_BOOK = "OK_BOOK".freeze
29
+ OK_BOOK_FIRST_USE = "OK_BOOK_FIRST_USE".freeze
30
+ OK_FIRST_USE = "OK_FIRST_USE".freeze
31
+ OK_FIRST_USE_CORRECTION = "OK_FIRST_USE_CORRECTION".freeze
32
+ OK_FIRST_USE_SLAVE = "OK_FIRST_USE_SLAVE".freeze
33
+ UNDEFINED = "UNDEFINED".freeze
34
+
35
+ def self.all_vars
36
+ @all_vars ||= [NO_CHECKPOINT_NOT_FOUND, NO_USAGE_DEF_NOT_FOUND, NO_DOUBLE_SEND, NO_DOUBLE_SEND_BOOK, NO_DOUBLE_SEND_FIRST_USE, NO_DOUBLE_SEND_FIRST_USE_CORRECTION, NO_DOUBLE_SEND_FIRST_USE_SLAVE, NO_CHECK_ERROR, NO_TRANSACTION_DATE_NOT_VALID, OK, OK_BOOK, OK_BOOK_FIRST_USE, OK_FIRST_USE, OK_FIRST_USE_CORRECTION, OK_FIRST_USE_SLAVE, UNDEFINED].freeze
37
+ end
38
+
39
+ # Builds the enum from string
40
+ # @param [String] The enum value in the form of the string
41
+ # @return [String] The enum value
42
+ def self.build_from_hash(value)
43
+ new.build_from_hash(value)
44
+ end
45
+
46
+ # Builds the enum from string
47
+ # @param [String] The enum value in the form of the string
48
+ # @return [String] The enum value
49
+ def build_from_hash(value)
50
+ return value if TransactStateEnum.all_vars.include?(value)
51
+ raise "Invalid ENUM value #{value} for class #TransactStateEnum"
52
+ end
53
+ end
54
+ end