trinsic_api 2.0.0.pre.alpha3 → 2.0.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.
Files changed (183) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/docs/AttachmentsApi.md +1 -1
  4. data/docs/BrazilDigitalCnhInput.md +2 -2
  5. data/docs/CreateAdvancedProviderSessionRequest.md +3 -3
  6. data/docs/CreateHostedProviderSessionResponse.md +4 -2
  7. data/docs/CreateWidgetSessionRequest.md +3 -3
  8. data/docs/CreateWidgetSessionResponse.md +4 -2
  9. data/docs/IdentityData.md +2 -0
  10. data/docs/IdinInput.md +18 -0
  11. data/docs/IntegrationStep.md +1 -1
  12. data/docs/Language.md +15 -0
  13. data/docs/ListProviderContractsResponse.md +18 -0
  14. data/docs/MobileIdInput.md +22 -0
  15. data/docs/NetworkApi.md +71 -4
  16. data/docs/ProviderContract.md +48 -0
  17. data/docs/ProviderHealth.md +15 -0
  18. data/docs/ProviderInfo.md +1 -3
  19. data/docs/ProviderInformation.md +3 -3
  20. data/docs/ProviderInput.md +24 -12
  21. data/docs/RecommendRequest.md +2 -10
  22. data/docs/RecommendationInfo.md +24 -0
  23. data/docs/ResultCollection.md +2 -2
  24. data/docs/Session.md +3 -3
  25. data/docs/SessionsApi.md +2 -2
  26. data/docs/SmartIdInput.md +18 -0
  27. data/docs/SpidInput.md +18 -0
  28. data/docs/StepRefreshInfo.md +1 -1
  29. data/docs/SubProviderMetadata.md +24 -0
  30. data/docs/TrinsicTestDatabaseLookupInput.md +24 -0
  31. data/docs/TrinsicTestSubProvidersInput.md +18 -0
  32. data/docs/WellKnownApi.md +71 -0
  33. data/lib/trinsic_api/api/attachments_api.rb +3 -3
  34. data/lib/trinsic_api/api/network_api.rb +60 -3
  35. data/lib/trinsic_api/api/sessions_api.rb +5 -5
  36. data/lib/trinsic_api/api/well_known_api.rb +75 -0
  37. data/lib/trinsic_api/api_client.rb +8 -9
  38. data/lib/trinsic_api/api_error.rb +1 -1
  39. data/lib/trinsic_api/configuration.rb +1 -1
  40. data/lib/trinsic_api/models/aadhaar_input.rb +10 -4
  41. data/lib/trinsic_api/models/address.rb +10 -4
  42. data/lib/trinsic_api/models/attachment_access_keys.rb +20 -4
  43. data/lib/trinsic_api/models/bangladesh_national_id_input.rb +10 -4
  44. data/lib/trinsic_api/models/brazil_cpf_check_input.rb +10 -4
  45. data/lib/trinsic_api/models/brazil_digital_cnh_input.rb +12 -6
  46. data/lib/trinsic_api/models/cancel_session_response.rb +20 -4
  47. data/lib/trinsic_api/models/create_advanced_provider_session_request.rb +13 -7
  48. data/lib/trinsic_api/models/create_advanced_provider_session_response.rb +40 -4
  49. data/lib/trinsic_api/models/create_hosted_provider_session_request.rb +10 -4
  50. data/lib/trinsic_api/models/create_hosted_provider_session_response.rb +69 -10
  51. data/lib/trinsic_api/models/create_widget_session_request.rb +20 -14
  52. data/lib/trinsic_api/models/create_widget_session_response.rb +69 -10
  53. data/lib/trinsic_api/models/document_data.rb +10 -4
  54. data/lib/trinsic_api/models/document_scan_attachments.rb +10 -4
  55. data/lib/trinsic_api/models/document_type.rb +1 -1
  56. data/lib/trinsic_api/models/get_attachment_request.rb +10 -4
  57. data/lib/trinsic_api/models/get_attachment_response.rb +30 -4
  58. data/lib/trinsic_api/models/get_session_response.rb +20 -4
  59. data/lib/trinsic_api/models/get_session_result_request.rb +20 -4
  60. data/lib/trinsic_api/models/get_session_result_response.rb +20 -4
  61. data/lib/trinsic_api/models/http_validation_problem_details.rb +10 -4
  62. data/lib/trinsic_api/models/identity_data.rb +21 -5
  63. data/lib/trinsic_api/models/{known_identity_data.rb → idin_input.rb} +21 -16
  64. data/lib/trinsic_api/models/indonesia_nik_input.rb +20 -4
  65. data/lib/trinsic_api/models/integration_capability.rb +1 -1
  66. data/lib/trinsic_api/models/integration_launch_method.rb +3 -3
  67. data/lib/trinsic_api/models/integration_step.rb +30 -6
  68. data/lib/trinsic_api/models/kenya_nid_input.rb +20 -4
  69. data/lib/trinsic_api/models/language.rb +42 -0
  70. data/lib/trinsic_api/models/{known_address.rb → list_provider_contracts_response.rb} +39 -86
  71. data/lib/trinsic_api/models/list_providers_response.rb +20 -4
  72. data/lib/trinsic_api/models/list_sessions_response.rb +40 -4
  73. data/lib/trinsic_api/models/mexico_curp_input.rb +10 -4
  74. data/lib/trinsic_api/models/mobile_id_input.rb +266 -0
  75. data/lib/trinsic_api/models/nigeria_nin_input.rb +20 -4
  76. data/lib/trinsic_api/models/order_direction.rb +1 -1
  77. data/lib/trinsic_api/models/person_data.rb +10 -4
  78. data/lib/trinsic_api/models/philippine_match_input.rb +10 -4
  79. data/lib/trinsic_api/models/philippine_qr_input.rb +10 -4
  80. data/lib/trinsic_api/models/problem_details.rb +10 -4
  81. data/lib/trinsic_api/models/provider_attachments.rb +10 -4
  82. data/lib/trinsic_api/models/provider_contract.rb +655 -0
  83. data/lib/trinsic_api/models/provider_health.rb +40 -0
  84. data/lib/trinsic_api/models/provider_info.rb +44 -21
  85. data/lib/trinsic_api/models/provider_information.rb +40 -4
  86. data/lib/trinsic_api/models/provider_input.rb +92 -20
  87. data/lib/trinsic_api/models/recommend_request.rb +19 -63
  88. data/lib/trinsic_api/models/recommend_response.rb +40 -4
  89. data/lib/trinsic_api/models/recommendation_info.rb +262 -0
  90. data/lib/trinsic_api/models/refresh_step_content_request.rb +10 -4
  91. data/lib/trinsic_api/models/refresh_step_content_response.rb +20 -4
  92. data/lib/trinsic_api/models/result_collection.rb +38 -6
  93. data/lib/trinsic_api/models/result_collection_method.rb +1 -1
  94. data/lib/trinsic_api/models/session.rb +63 -7
  95. data/lib/trinsic_api/models/session_error_code.rb +1 -1
  96. data/lib/trinsic_api/models/session_ordering.rb +1 -1
  97. data/lib/trinsic_api/models/sex.rb +1 -1
  98. data/lib/trinsic_api/models/smart_id_input.rb +222 -0
  99. data/lib/trinsic_api/models/south_africa_nid_input.rb +20 -4
  100. data/lib/trinsic_api/models/spid_input.rb +222 -0
  101. data/lib/trinsic_api/models/step_refresh_info.rb +41 -5
  102. data/lib/trinsic_api/models/sub_provider_metadata.rb +320 -0
  103. data/lib/trinsic_api/models/{known_person_data.rb → trinsic_test_database_lookup_input.rb} +31 -69
  104. data/lib/trinsic_api/models/trinsic_test_sub_providers_input.rb +222 -0
  105. data/lib/trinsic_api/version.rb +2 -2
  106. data/lib/trinsic_api.rb +14 -4
  107. data/spec/api/attachments_api_spec.rb +2 -2
  108. data/spec/api/network_api_spec.rb +13 -2
  109. data/spec/api/sessions_api_spec.rb +3 -3
  110. data/spec/api/well_known_api_spec.rb +44 -0
  111. data/spec/models/aadhaar_input_spec.rb +1 -1
  112. data/spec/models/address_spec.rb +1 -1
  113. data/spec/models/attachment_access_keys_spec.rb +1 -1
  114. data/spec/models/bangladesh_national_id_input_spec.rb +1 -1
  115. data/spec/models/brazil_cpf_check_input_spec.rb +1 -1
  116. data/spec/models/brazil_digital_cnh_input_spec.rb +1 -1
  117. data/spec/models/cancel_session_response_spec.rb +1 -1
  118. data/spec/models/create_advanced_provider_session_request_spec.rb +1 -1
  119. data/spec/models/create_advanced_provider_session_response_spec.rb +1 -1
  120. data/spec/models/create_hosted_provider_session_request_spec.rb +1 -1
  121. data/spec/models/create_hosted_provider_session_response_spec.rb +7 -1
  122. data/spec/models/create_widget_session_request_spec.rb +2 -2
  123. data/spec/models/create_widget_session_response_spec.rb +7 -1
  124. data/spec/models/document_data_spec.rb +1 -1
  125. data/spec/models/document_scan_attachments_spec.rb +1 -1
  126. data/spec/models/document_type_spec.rb +1 -1
  127. data/spec/models/get_attachment_request_spec.rb +1 -1
  128. data/spec/models/get_attachment_response_spec.rb +1 -1
  129. data/spec/models/get_session_response_spec.rb +1 -1
  130. data/spec/models/get_session_result_request_spec.rb +1 -1
  131. data/spec/models/get_session_result_response_spec.rb +1 -1
  132. data/spec/models/http_validation_problem_details_spec.rb +1 -1
  133. data/spec/models/identity_data_spec.rb +7 -1
  134. data/spec/models/{known_identity_data_spec.rb → idin_input_spec.rb} +8 -8
  135. data/spec/models/indonesia_nik_input_spec.rb +1 -1
  136. data/spec/models/integration_capability_spec.rb +1 -1
  137. data/spec/models/integration_launch_method_spec.rb +1 -1
  138. data/spec/models/integration_step_spec.rb +1 -1
  139. data/spec/models/kenya_nid_input_spec.rb +1 -1
  140. data/spec/models/language_spec.rb +30 -0
  141. data/spec/models/list_provider_contracts_response_spec.rb +36 -0
  142. data/spec/models/list_providers_response_spec.rb +1 -1
  143. data/spec/models/list_sessions_response_spec.rb +1 -1
  144. data/spec/models/mexico_curp_input_spec.rb +1 -1
  145. data/spec/models/mobile_id_input_spec.rb +48 -0
  146. data/spec/models/nigeria_nin_input_spec.rb +1 -1
  147. data/spec/models/order_direction_spec.rb +1 -1
  148. data/spec/models/person_data_spec.rb +1 -1
  149. data/spec/models/philippine_match_input_spec.rb +1 -1
  150. data/spec/models/philippine_qr_input_spec.rb +1 -1
  151. data/spec/models/problem_details_spec.rb +1 -1
  152. data/spec/models/provider_attachments_spec.rb +1 -1
  153. data/spec/models/provider_contract_spec.rb +126 -0
  154. data/spec/models/provider_health_spec.rb +30 -0
  155. data/spec/models/provider_info_spec.rb +1 -7
  156. data/spec/models/provider_information_spec.rb +1 -1
  157. data/spec/models/provider_input_spec.rb +37 -1
  158. data/spec/models/recommend_request_spec.rb +2 -26
  159. data/spec/models/recommend_response_spec.rb +1 -1
  160. data/spec/models/recommendation_info_spec.rb +54 -0
  161. data/spec/models/refresh_step_content_request_spec.rb +1 -1
  162. data/spec/models/refresh_step_content_response_spec.rb +1 -1
  163. data/spec/models/result_collection_method_spec.rb +1 -1
  164. data/spec/models/result_collection_spec.rb +1 -1
  165. data/spec/models/session_error_code_spec.rb +1 -1
  166. data/spec/models/session_ordering_spec.rb +1 -1
  167. data/spec/models/session_spec.rb +1 -1
  168. data/spec/models/sex_spec.rb +1 -1
  169. data/spec/models/smart_id_input_spec.rb +36 -0
  170. data/spec/models/south_africa_nid_input_spec.rb +1 -1
  171. data/spec/models/spid_input_spec.rb +36 -0
  172. data/spec/models/step_refresh_info_spec.rb +1 -1
  173. data/spec/models/sub_provider_metadata_spec.rb +54 -0
  174. data/spec/models/trinsic_test_database_lookup_input_spec.rb +54 -0
  175. data/spec/models/trinsic_test_sub_providers_input_spec.rb +36 -0
  176. data/spec/spec_helper.rb +1 -1
  177. data/trinsic_api.gemspec +1 -1
  178. metadata +96 -56
  179. data/docs/KnownAddress.md +0 -32
  180. data/docs/KnownIdentityData.md +0 -18
  181. data/docs/KnownPersonData.md +0 -32
  182. data/spec/models/known_address_spec.rb +0 -78
  183. data/spec/models/known_person_data_spec.rb +0 -78
@@ -0,0 +1,655 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ class ProviderContract
18
+ # The ID of the Provider for this contract.
19
+ attr_accessor :id
20
+
21
+ # The Provider's Name as it appears in Trinsic's Dashboard and Widget
22
+ attr_accessor :name
23
+
24
+ # The Provider's description as it appears in Trinsic's Widget. This is flavor text, not a full, human-readable description of the provider.
25
+ attr_accessor :description
26
+
27
+ # A URL pointing to the Provider's logo on Trinsic's CDN. May be a PNG, JPG, or SVG image.
28
+ attr_accessor :logo_url
29
+
30
+ # Whether the Provider is available for use in your App. If `false`, you will need to contact Trinsic to enable this Provider for your App.
31
+ attr_accessor :available
32
+
33
+ # The geographies within the Regions the Provider is available.
34
+ attr_accessor :geography
35
+
36
+ # The regions within which the Provider is available.
37
+ attr_accessor :regions
38
+
39
+ # Relevant only to Advanced Provider Sessions. The `LaunchMethod` which must be supported to launch the Provider Session in Advanced Provider Sessions.
40
+ attr_accessor :launch_method
41
+
42
+ # Relevant only to Advanced Provider Sessions. The `CollectionMethod` which must be supported to launch the Provider Session in Advanced Provider Sessions.
43
+ attr_accessor :collection_method
44
+
45
+ # If `true`, then the results for this Provider may not be available immediately after the user is redirected back to your application. In this case, the `GetSessionResults` API must be called until results are available. This is an uncommon scenario, and typically only applies to Providers which use a biometric check or traditional document scan.
46
+ attr_accessor :results_may_be_delayed_after_redirect
47
+
48
+ # Relevant only to Advanced Provider Sessions. Whether the Provider requires the `RefreshStepContent` capability. For example, Samsung Wallet's deep links expire every 30 seconds, and must be refreshed periodically for a resilient user flow.
49
+ attr_accessor :has_refreshable_content
50
+
51
+ # Relevant to Hosted Provider Sessions and Advanced Provider Sessions. If `true`, this Provider requires provider-specific input on Session creation. If this input is not provided, Trinsic's Hosted UI will be invoked to collect the input from the user.
52
+ attr_accessor :requires_input
53
+
54
+ # Whether there exists a Trinsic-hosted UI for this Provider. This is `true` for any Provider which is not a simple, OIDC-like redirect flow.
55
+ attr_accessor :has_trinsic_interface
56
+
57
+ # Whether this Provider can be fully whitelabeled/OEMed through the Advanced Provider Sessions API. If `false`, the Provider may still be launched through Advanced Provider Sessions; however, it will necessarily require a Trinsic-hosted UI to function.
58
+ attr_accessor :supports_advanced_provider_sessions
59
+
60
+ # Metadata about the sub-providers which are available for this Provider. For example, Italy's SPID is a Provider which aggregates access to multiple sub-providers.
61
+ attr_accessor :sub_providers
62
+
63
+ # The current status of the provider and if it is available to launch. If the status is disabled, there is an issue that prevents a provider being able to launch a session.
64
+ attr_accessor :status
65
+
66
+ class EnumAttributeValidator
67
+ attr_reader :datatype
68
+ attr_reader :allowable_values
69
+
70
+ def initialize(datatype, allowable_values)
71
+ @allowable_values = allowable_values.map do |value|
72
+ case datatype.to_s
73
+ when /Integer/i
74
+ value.to_i
75
+ when /Float/i
76
+ value.to_f
77
+ else
78
+ value
79
+ end
80
+ end
81
+ end
82
+
83
+ def valid?(value)
84
+ !value || allowable_values.include?(value)
85
+ end
86
+ end
87
+
88
+ # Attribute mapping from ruby-style variable name to JSON key.
89
+ def self.attribute_map
90
+ {
91
+ :'id' => :'id',
92
+ :'name' => :'name',
93
+ :'description' => :'description',
94
+ :'logo_url' => :'logoUrl',
95
+ :'available' => :'available',
96
+ :'geography' => :'geography',
97
+ :'regions' => :'regions',
98
+ :'launch_method' => :'launchMethod',
99
+ :'collection_method' => :'collectionMethod',
100
+ :'results_may_be_delayed_after_redirect' => :'resultsMayBeDelayedAfterRedirect',
101
+ :'has_refreshable_content' => :'hasRefreshableContent',
102
+ :'requires_input' => :'requiresInput',
103
+ :'has_trinsic_interface' => :'hasTrinsicInterface',
104
+ :'supports_advanced_provider_sessions' => :'supportsAdvancedProviderSessions',
105
+ :'sub_providers' => :'subProviders',
106
+ :'status' => :'status'
107
+ }
108
+ end
109
+
110
+ # Returns attribute mapping this model knows about
111
+ def self.acceptable_attribute_map
112
+ attribute_map
113
+ end
114
+
115
+ # Returns all the JSON keys this model knows about
116
+ def self.acceptable_attributes
117
+ acceptable_attribute_map.values
118
+ end
119
+
120
+ # Attribute type mapping.
121
+ def self.openapi_types
122
+ {
123
+ :'id' => :'String',
124
+ :'name' => :'String',
125
+ :'description' => :'String',
126
+ :'logo_url' => :'String',
127
+ :'available' => :'Boolean',
128
+ :'geography' => :'Array<String>',
129
+ :'regions' => :'Array<String>',
130
+ :'launch_method' => :'IntegrationLaunchMethod',
131
+ :'collection_method' => :'ResultCollectionMethod',
132
+ :'results_may_be_delayed_after_redirect' => :'Boolean',
133
+ :'has_refreshable_content' => :'Boolean',
134
+ :'requires_input' => :'Boolean',
135
+ :'has_trinsic_interface' => :'Boolean',
136
+ :'supports_advanced_provider_sessions' => :'Boolean',
137
+ :'sub_providers' => :'Array<SubProviderMetadata>',
138
+ :'status' => :'ProviderHealth'
139
+ }
140
+ end
141
+
142
+ # List of attributes with nullable: true
143
+ def self.openapi_nullable
144
+ Set.new([
145
+ :'sub_providers',
146
+ ])
147
+ end
148
+
149
+ # Initializes the object
150
+ # @param [Hash] attributes Model attributes in the form of hash
151
+ def initialize(attributes = {})
152
+ if (!attributes.is_a?(Hash))
153
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::ProviderContract` initialize method"
154
+ end
155
+
156
+ # check to see if the attribute exists and convert string to symbol for hash key
157
+ acceptable_attribute_map = self.class.acceptable_attribute_map
158
+ attributes = attributes.each_with_object({}) { |(k, v), h|
159
+ if (!acceptable_attribute_map.key?(k.to_sym))
160
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::ProviderContract`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
161
+ end
162
+ h[k.to_sym] = v
163
+ }
164
+
165
+ if attributes.key?(:'id')
166
+ self.id = attributes[:'id']
167
+ else
168
+ self.id = nil
169
+ end
170
+
171
+ if attributes.key?(:'name')
172
+ self.name = attributes[:'name']
173
+ else
174
+ self.name = nil
175
+ end
176
+
177
+ if attributes.key?(:'description')
178
+ self.description = attributes[:'description']
179
+ else
180
+ self.description = nil
181
+ end
182
+
183
+ if attributes.key?(:'logo_url')
184
+ self.logo_url = attributes[:'logo_url']
185
+ else
186
+ self.logo_url = nil
187
+ end
188
+
189
+ if attributes.key?(:'available')
190
+ self.available = attributes[:'available']
191
+ else
192
+ self.available = nil
193
+ end
194
+
195
+ if attributes.key?(:'geography')
196
+ if (value = attributes[:'geography']).is_a?(Array)
197
+ self.geography = value
198
+ end
199
+ else
200
+ self.geography = nil
201
+ end
202
+
203
+ if attributes.key?(:'regions')
204
+ if (value = attributes[:'regions']).is_a?(Array)
205
+ self.regions = value
206
+ end
207
+ else
208
+ self.regions = nil
209
+ end
210
+
211
+ if attributes.key?(:'launch_method')
212
+ self.launch_method = attributes[:'launch_method']
213
+ else
214
+ self.launch_method = nil
215
+ end
216
+
217
+ if attributes.key?(:'collection_method')
218
+ self.collection_method = attributes[:'collection_method']
219
+ else
220
+ self.collection_method = nil
221
+ end
222
+
223
+ if attributes.key?(:'results_may_be_delayed_after_redirect')
224
+ self.results_may_be_delayed_after_redirect = attributes[:'results_may_be_delayed_after_redirect']
225
+ else
226
+ self.results_may_be_delayed_after_redirect = nil
227
+ end
228
+
229
+ if attributes.key?(:'has_refreshable_content')
230
+ self.has_refreshable_content = attributes[:'has_refreshable_content']
231
+ else
232
+ self.has_refreshable_content = nil
233
+ end
234
+
235
+ if attributes.key?(:'requires_input')
236
+ self.requires_input = attributes[:'requires_input']
237
+ else
238
+ self.requires_input = nil
239
+ end
240
+
241
+ if attributes.key?(:'has_trinsic_interface')
242
+ self.has_trinsic_interface = attributes[:'has_trinsic_interface']
243
+ else
244
+ self.has_trinsic_interface = nil
245
+ end
246
+
247
+ if attributes.key?(:'supports_advanced_provider_sessions')
248
+ self.supports_advanced_provider_sessions = attributes[:'supports_advanced_provider_sessions']
249
+ else
250
+ self.supports_advanced_provider_sessions = nil
251
+ end
252
+
253
+ if attributes.key?(:'sub_providers')
254
+ if (value = attributes[:'sub_providers']).is_a?(Array)
255
+ self.sub_providers = value
256
+ end
257
+ end
258
+
259
+ if attributes.key?(:'status')
260
+ self.status = attributes[:'status']
261
+ else
262
+ self.status = nil
263
+ end
264
+ end
265
+
266
+ # Show invalid properties with the reasons. Usually used together with valid?
267
+ # @return Array for valid properties with the reasons
268
+ def list_invalid_properties
269
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
270
+ invalid_properties = Array.new
271
+ if @id.nil?
272
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
273
+ end
274
+
275
+ if @name.nil?
276
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
277
+ end
278
+
279
+ if @description.nil?
280
+ invalid_properties.push('invalid value for "description", description cannot be nil.')
281
+ end
282
+
283
+ if @logo_url.nil?
284
+ invalid_properties.push('invalid value for "logo_url", logo_url cannot be nil.')
285
+ end
286
+
287
+ if @available.nil?
288
+ invalid_properties.push('invalid value for "available", available cannot be nil.')
289
+ end
290
+
291
+ if @geography.nil?
292
+ invalid_properties.push('invalid value for "geography", geography cannot be nil.')
293
+ end
294
+
295
+ if @regions.nil?
296
+ invalid_properties.push('invalid value for "regions", regions cannot be nil.')
297
+ end
298
+
299
+ if @launch_method.nil?
300
+ invalid_properties.push('invalid value for "launch_method", launch_method cannot be nil.')
301
+ end
302
+
303
+ if @collection_method.nil?
304
+ invalid_properties.push('invalid value for "collection_method", collection_method cannot be nil.')
305
+ end
306
+
307
+ if @results_may_be_delayed_after_redirect.nil?
308
+ invalid_properties.push('invalid value for "results_may_be_delayed_after_redirect", results_may_be_delayed_after_redirect cannot be nil.')
309
+ end
310
+
311
+ if @has_refreshable_content.nil?
312
+ invalid_properties.push('invalid value for "has_refreshable_content", has_refreshable_content cannot be nil.')
313
+ end
314
+
315
+ if @requires_input.nil?
316
+ invalid_properties.push('invalid value for "requires_input", requires_input cannot be nil.')
317
+ end
318
+
319
+ if @has_trinsic_interface.nil?
320
+ invalid_properties.push('invalid value for "has_trinsic_interface", has_trinsic_interface cannot be nil.')
321
+ end
322
+
323
+ if @supports_advanced_provider_sessions.nil?
324
+ invalid_properties.push('invalid value for "supports_advanced_provider_sessions", supports_advanced_provider_sessions cannot be nil.')
325
+ end
326
+
327
+ if @status.nil?
328
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
329
+ end
330
+
331
+ invalid_properties
332
+ end
333
+
334
+ # Check to see if the all the properties in the model are valid
335
+ # @return true if the model is valid
336
+ def valid?
337
+ warn '[DEPRECATED] the `valid?` method is obsolete'
338
+ return false if @id.nil?
339
+ return false if @name.nil?
340
+ return false if @description.nil?
341
+ return false if @logo_url.nil?
342
+ return false if @available.nil?
343
+ return false if @geography.nil?
344
+ return false if @regions.nil?
345
+ return false if @launch_method.nil?
346
+ return false if @collection_method.nil?
347
+ return false if @results_may_be_delayed_after_redirect.nil?
348
+ return false if @has_refreshable_content.nil?
349
+ return false if @requires_input.nil?
350
+ return false if @has_trinsic_interface.nil?
351
+ return false if @supports_advanced_provider_sessions.nil?
352
+ return false if @status.nil?
353
+ true
354
+ end
355
+
356
+ # Custom attribute writer method with validation
357
+ # @param [Object] id Value to be assigned
358
+ def id=(id)
359
+ if id.nil?
360
+ fail ArgumentError, 'id cannot be nil'
361
+ end
362
+
363
+ @id = id
364
+ end
365
+
366
+ # Custom attribute writer method with validation
367
+ # @param [Object] name Value to be assigned
368
+ def name=(name)
369
+ if name.nil?
370
+ fail ArgumentError, 'name cannot be nil'
371
+ end
372
+
373
+ @name = name
374
+ end
375
+
376
+ # Custom attribute writer method with validation
377
+ # @param [Object] description Value to be assigned
378
+ def description=(description)
379
+ if description.nil?
380
+ fail ArgumentError, 'description cannot be nil'
381
+ end
382
+
383
+ @description = description
384
+ end
385
+
386
+ # Custom attribute writer method with validation
387
+ # @param [Object] logo_url Value to be assigned
388
+ def logo_url=(logo_url)
389
+ if logo_url.nil?
390
+ fail ArgumentError, 'logo_url cannot be nil'
391
+ end
392
+
393
+ @logo_url = logo_url
394
+ end
395
+
396
+ # Custom attribute writer method with validation
397
+ # @param [Object] available Value to be assigned
398
+ def available=(available)
399
+ if available.nil?
400
+ fail ArgumentError, 'available cannot be nil'
401
+ end
402
+
403
+ @available = available
404
+ end
405
+
406
+ # Custom attribute writer method with validation
407
+ # @param [Object] geography Value to be assigned
408
+ def geography=(geography)
409
+ if geography.nil?
410
+ fail ArgumentError, 'geography cannot be nil'
411
+ end
412
+
413
+ @geography = geography
414
+ end
415
+
416
+ # Custom attribute writer method with validation
417
+ # @param [Object] regions Value to be assigned
418
+ def regions=(regions)
419
+ if regions.nil?
420
+ fail ArgumentError, 'regions cannot be nil'
421
+ end
422
+
423
+ @regions = regions
424
+ end
425
+
426
+ # Custom attribute writer method with validation
427
+ # @param [Object] launch_method Value to be assigned
428
+ def launch_method=(launch_method)
429
+ if launch_method.nil?
430
+ fail ArgumentError, 'launch_method cannot be nil'
431
+ end
432
+
433
+ @launch_method = launch_method
434
+ end
435
+
436
+ # Custom attribute writer method with validation
437
+ # @param [Object] collection_method Value to be assigned
438
+ def collection_method=(collection_method)
439
+ if collection_method.nil?
440
+ fail ArgumentError, 'collection_method cannot be nil'
441
+ end
442
+
443
+ @collection_method = collection_method
444
+ end
445
+
446
+ # Custom attribute writer method with validation
447
+ # @param [Object] results_may_be_delayed_after_redirect Value to be assigned
448
+ def results_may_be_delayed_after_redirect=(results_may_be_delayed_after_redirect)
449
+ if results_may_be_delayed_after_redirect.nil?
450
+ fail ArgumentError, 'results_may_be_delayed_after_redirect cannot be nil'
451
+ end
452
+
453
+ @results_may_be_delayed_after_redirect = results_may_be_delayed_after_redirect
454
+ end
455
+
456
+ # Custom attribute writer method with validation
457
+ # @param [Object] has_refreshable_content Value to be assigned
458
+ def has_refreshable_content=(has_refreshable_content)
459
+ if has_refreshable_content.nil?
460
+ fail ArgumentError, 'has_refreshable_content cannot be nil'
461
+ end
462
+
463
+ @has_refreshable_content = has_refreshable_content
464
+ end
465
+
466
+ # Custom attribute writer method with validation
467
+ # @param [Object] requires_input Value to be assigned
468
+ def requires_input=(requires_input)
469
+ if requires_input.nil?
470
+ fail ArgumentError, 'requires_input cannot be nil'
471
+ end
472
+
473
+ @requires_input = requires_input
474
+ end
475
+
476
+ # Custom attribute writer method with validation
477
+ # @param [Object] has_trinsic_interface Value to be assigned
478
+ def has_trinsic_interface=(has_trinsic_interface)
479
+ if has_trinsic_interface.nil?
480
+ fail ArgumentError, 'has_trinsic_interface cannot be nil'
481
+ end
482
+
483
+ @has_trinsic_interface = has_trinsic_interface
484
+ end
485
+
486
+ # Custom attribute writer method with validation
487
+ # @param [Object] supports_advanced_provider_sessions Value to be assigned
488
+ def supports_advanced_provider_sessions=(supports_advanced_provider_sessions)
489
+ if supports_advanced_provider_sessions.nil?
490
+ fail ArgumentError, 'supports_advanced_provider_sessions cannot be nil'
491
+ end
492
+
493
+ @supports_advanced_provider_sessions = supports_advanced_provider_sessions
494
+ end
495
+
496
+ # Custom attribute writer method with validation
497
+ # @param [Object] status Value to be assigned
498
+ def status=(status)
499
+ if status.nil?
500
+ fail ArgumentError, 'status cannot be nil'
501
+ end
502
+
503
+ @status = status
504
+ end
505
+
506
+ # Checks equality by comparing each attribute.
507
+ # @param [Object] Object to be compared
508
+ def ==(o)
509
+ return true if self.equal?(o)
510
+ self.class == o.class &&
511
+ id == o.id &&
512
+ name == o.name &&
513
+ description == o.description &&
514
+ logo_url == o.logo_url &&
515
+ available == o.available &&
516
+ geography == o.geography &&
517
+ regions == o.regions &&
518
+ launch_method == o.launch_method &&
519
+ collection_method == o.collection_method &&
520
+ results_may_be_delayed_after_redirect == o.results_may_be_delayed_after_redirect &&
521
+ has_refreshable_content == o.has_refreshable_content &&
522
+ requires_input == o.requires_input &&
523
+ has_trinsic_interface == o.has_trinsic_interface &&
524
+ supports_advanced_provider_sessions == o.supports_advanced_provider_sessions &&
525
+ sub_providers == o.sub_providers &&
526
+ status == o.status
527
+ end
528
+
529
+ # @see the `==` method
530
+ # @param [Object] Object to be compared
531
+ def eql?(o)
532
+ self == o
533
+ end
534
+
535
+ # Calculates hash code according to all attributes.
536
+ # @return [Integer] Hash code
537
+ def hash
538
+ [id, name, description, logo_url, available, geography, regions, launch_method, collection_method, results_may_be_delayed_after_redirect, has_refreshable_content, requires_input, has_trinsic_interface, supports_advanced_provider_sessions, sub_providers, status].hash
539
+ end
540
+
541
+ # Builds the object from hash
542
+ # @param [Hash] attributes Model attributes in the form of hash
543
+ # @return [Object] Returns the model itself
544
+ def self.build_from_hash(attributes)
545
+ return nil unless attributes.is_a?(Hash)
546
+ attributes = attributes.transform_keys(&:to_sym)
547
+ transformed_hash = {}
548
+ openapi_types.each_pair do |key, type|
549
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
550
+ transformed_hash["#{key}"] = nil
551
+ elsif type =~ /\AArray<(.*)>/i
552
+ # check to ensure the input is an array given that the attribute
553
+ # is documented as an array but the input is not
554
+ if attributes[attribute_map[key]].is_a?(Array)
555
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
556
+ end
557
+ elsif !attributes[attribute_map[key]].nil?
558
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
559
+ end
560
+ end
561
+ new(transformed_hash)
562
+ end
563
+
564
+ # Deserializes the data based on type
565
+ # @param string type Data type
566
+ # @param string value Value to be deserialized
567
+ # @return [Object] Deserialized data
568
+ def self._deserialize(type, value)
569
+ case type.to_sym
570
+ when :Time
571
+ Time.parse(value)
572
+ when :Date
573
+ Date.parse(value)
574
+ when :String
575
+ value.to_s
576
+ when :Integer
577
+ value.to_i
578
+ when :Float
579
+ value.to_f
580
+ when :Boolean
581
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
582
+ true
583
+ else
584
+ false
585
+ end
586
+ when :Object
587
+ # generic object (usually a Hash), return directly
588
+ value
589
+ when /\AArray<(?<inner_type>.+)>\z/
590
+ inner_type = Regexp.last_match[:inner_type]
591
+ value.map { |v| _deserialize(inner_type, v) }
592
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
593
+ k_type = Regexp.last_match[:k_type]
594
+ v_type = Regexp.last_match[:v_type]
595
+ {}.tap do |hash|
596
+ value.each do |k, v|
597
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
598
+ end
599
+ end
600
+ else # model
601
+ # models (e.g. Pet) or oneOf
602
+ klass = TrinsicApi.const_get(type)
603
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
604
+ end
605
+ end
606
+
607
+ # Returns the string representation of the object
608
+ # @return [String] String presentation of the object
609
+ def to_s
610
+ to_hash.to_s
611
+ end
612
+
613
+ # to_body is an alias to to_hash (backward compatibility)
614
+ # @return [Hash] Returns the object in the form of hash
615
+ def to_body
616
+ to_hash
617
+ end
618
+
619
+ # Returns the object in the form of hash
620
+ # @return [Hash] Returns the object in the form of hash
621
+ def to_hash
622
+ hash = {}
623
+ self.class.attribute_map.each_pair do |attr, param|
624
+ value = self.send(attr)
625
+ if value.nil?
626
+ is_nullable = self.class.openapi_nullable.include?(attr)
627
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
628
+ end
629
+
630
+ hash[param] = _to_hash(value)
631
+ end
632
+ hash
633
+ end
634
+
635
+ # Outputs non-array value in the form of hash
636
+ # For object, use to_hash. Otherwise, just return the value
637
+ # @param [Object] value Any valid value
638
+ # @return [Hash] Returns the value in the form of hash
639
+ def _to_hash(value)
640
+ if value.is_a?(Array)
641
+ value.compact.map { |v| _to_hash(v) }
642
+ elsif value.is_a?(Hash)
643
+ {}.tap do |hash|
644
+ value.each { |k, v| hash[k] = _to_hash(v) }
645
+ end
646
+ elsif value.respond_to? :to_hash
647
+ value.to_hash
648
+ else
649
+ value
650
+ end
651
+ end
652
+
653
+ end
654
+
655
+ end
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ class ProviderHealth
18
+ ONLINE = "Online".freeze
19
+ OFFLINE = "Offline".freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [ONLINE, OFFLINE].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if ProviderHealth.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #ProviderHealth"
38
+ end
39
+ end
40
+ end