trinsic_api 2.0.3 → 2.1.0.pre.alpha1

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/docs/AttachmentsApi.md +1 -1
  3. data/docs/BangladeshNidInput.md +3 -3
  4. data/docs/ContractField.md +20 -0
  5. data/docs/CreateAdvancedProviderSessionRequest.md +3 -3
  6. data/docs/CreateHostedProviderSessionRequest.md +1 -1
  7. data/docs/FieldAvailability.md +15 -0
  8. data/docs/NetworkApi.md +11 -6
  9. data/docs/ProviderContract.md +6 -2
  10. data/docs/ProviderInfo.md +9 -1
  11. data/docs/ProviderInformation.md +16 -4
  12. data/docs/ProviderInput.md +12 -12
  13. data/docs/RecommendRequest.md +3 -1
  14. data/docs/RecommendResponse.md +3 -3
  15. data/docs/Session.md +1 -1
  16. data/docs/SessionsApi.md +1 -1
  17. data/docs/SmartIdInput.md +3 -1
  18. data/docs/SubProviderMetadata.md +4 -2
  19. data/lib/trinsic_api/api/attachments_api.rb +2 -2
  20. data/lib/trinsic_api/api/network_api.rb +5 -2
  21. data/lib/trinsic_api/api/sessions_api.rb +2 -2
  22. data/lib/trinsic_api/models/bangladesh_nid_input.rb +87 -3
  23. data/lib/trinsic_api/models/contract_field.rb +288 -0
  24. data/lib/trinsic_api/models/create_advanced_provider_session_request.rb +16 -16
  25. data/lib/trinsic_api/models/create_hosted_provider_session_request.rb +1 -1
  26. data/lib/trinsic_api/models/document_type.rb +2 -1
  27. data/lib/trinsic_api/models/field_availability.rb +41 -0
  28. data/lib/trinsic_api/models/integration_capability.rb +2 -1
  29. data/lib/trinsic_api/models/provider_contract.rb +42 -2
  30. data/lib/trinsic_api/models/provider_info.rb +98 -4
  31. data/lib/trinsic_api/models/provider_information.rb +155 -4
  32. data/lib/trinsic_api/models/provider_input.rb +12 -12
  33. data/lib/trinsic_api/models/recommend_request.rb +16 -5
  34. data/lib/trinsic_api/models/recommend_response.rb +3 -3
  35. data/lib/trinsic_api/models/session.rb +1 -1
  36. data/lib/trinsic_api/models/smart_id_input.rb +16 -5
  37. data/lib/trinsic_api/models/sub_provider_metadata.rb +29 -2
  38. data/lib/trinsic_api/version.rb +1 -1
  39. data/lib/trinsic_api.rb +2 -0
  40. data/spec/api/attachments_api_spec.rb +1 -1
  41. data/spec/api/network_api_spec.rb +2 -1
  42. data/spec/api/sessions_api_spec.rb +1 -1
  43. data/spec/models/contract_field_spec.rb +42 -0
  44. data/spec/models/create_advanced_provider_session_request_spec.rb +4 -4
  45. data/spec/models/field_availability_spec.rb +30 -0
  46. data/spec/models/provider_contract_spec.rb +12 -0
  47. data/spec/models/provider_info_spec.rb +24 -0
  48. data/spec/models/provider_information_spec.rb +36 -0
  49. data/spec/models/recommend_request_spec.rb +6 -0
  50. data/spec/models/smart_id_input_spec.rb +6 -0
  51. data/spec/models/sub_provider_metadata_spec.rb +6 -0
  52. metadata +64 -56
@@ -0,0 +1,288 @@
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
+ # Information about a field that a Provider will return in verification results.
18
+ class ContractField
19
+ # The name of the field as it appears in verification results.
20
+ attr_accessor :name
21
+
22
+ # Indicates when this field will be present in verification results.
23
+ attr_accessor :outputted
24
+
25
+ class EnumAttributeValidator
26
+ attr_reader :datatype
27
+ attr_reader :allowable_values
28
+
29
+ def initialize(datatype, allowable_values)
30
+ @allowable_values = allowable_values.map do |value|
31
+ case datatype.to_s
32
+ when /Integer/i
33
+ value.to_i
34
+ when /Float/i
35
+ value.to_f
36
+ else
37
+ value
38
+ end
39
+ end
40
+ end
41
+
42
+ def valid?(value)
43
+ !value || allowable_values.include?(value)
44
+ end
45
+ end
46
+
47
+ # Attribute mapping from ruby-style variable name to JSON key.
48
+ def self.attribute_map
49
+ {
50
+ :'name' => :'name',
51
+ :'outputted' => :'outputted'
52
+ }
53
+ end
54
+
55
+ # Returns attribute mapping this model knows about
56
+ def self.acceptable_attribute_map
57
+ attribute_map
58
+ end
59
+
60
+ # Returns all the JSON keys this model knows about
61
+ def self.acceptable_attributes
62
+ acceptable_attribute_map.values
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ def self.openapi_types
67
+ {
68
+ :'name' => :'String',
69
+ :'outputted' => :'FieldAvailability'
70
+ }
71
+ end
72
+
73
+ # List of attributes with nullable: true
74
+ def self.openapi_nullable
75
+ Set.new([
76
+ ])
77
+ end
78
+
79
+ # Initializes the object
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::ContractField` initialize method"
84
+ end
85
+
86
+ # check to see if the attribute exists and convert string to symbol for hash key
87
+ acceptable_attribute_map = self.class.acceptable_attribute_map
88
+ attributes = attributes.each_with_object({}) { |(k, v), h|
89
+ if (!acceptable_attribute_map.key?(k.to_sym))
90
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::ContractField`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
91
+ end
92
+ h[k.to_sym] = v
93
+ }
94
+
95
+ if attributes.key?(:'name')
96
+ self.name = attributes[:'name']
97
+ else
98
+ self.name = nil
99
+ end
100
+
101
+ if attributes.key?(:'outputted')
102
+ self.outputted = attributes[:'outputted']
103
+ else
104
+ self.outputted = nil
105
+ end
106
+ end
107
+
108
+ # Show invalid properties with the reasons. Usually used together with valid?
109
+ # @return Array for valid properties with the reasons
110
+ def list_invalid_properties
111
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
112
+ invalid_properties = Array.new
113
+ if @name.nil?
114
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
115
+ end
116
+
117
+ if @outputted.nil?
118
+ invalid_properties.push('invalid value for "outputted", outputted cannot be nil.')
119
+ end
120
+
121
+ invalid_properties
122
+ end
123
+
124
+ # Check to see if the all the properties in the model are valid
125
+ # @return true if the model is valid
126
+ def valid?
127
+ warn '[DEPRECATED] the `valid?` method is obsolete'
128
+ return false if @name.nil?
129
+ return false if @outputted.nil?
130
+ true
131
+ end
132
+
133
+ # Custom attribute writer method with validation
134
+ # @param [Object] name Value to be assigned
135
+ def name=(name)
136
+ if name.nil?
137
+ fail ArgumentError, 'name cannot be nil'
138
+ end
139
+
140
+ @name = name
141
+ end
142
+
143
+ # Custom attribute writer method with validation
144
+ # @param [Object] outputted Value to be assigned
145
+ def outputted=(outputted)
146
+ if outputted.nil?
147
+ fail ArgumentError, 'outputted cannot be nil'
148
+ end
149
+
150
+ @outputted = outputted
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param [Object] Object to be compared
155
+ def ==(o)
156
+ return true if self.equal?(o)
157
+ self.class == o.class &&
158
+ name == o.name &&
159
+ outputted == o.outputted
160
+ end
161
+
162
+ # @see the `==` method
163
+ # @param [Object] Object to be compared
164
+ def eql?(o)
165
+ self == o
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Integer] Hash code
170
+ def hash
171
+ [name, outputted].hash
172
+ end
173
+
174
+ # Builds the object from hash
175
+ # @param [Hash] attributes Model attributes in the form of hash
176
+ # @return [Object] Returns the model itself
177
+ def self.build_from_hash(attributes)
178
+ return nil unless attributes.is_a?(Hash)
179
+ attributes = attributes.transform_keys(&:to_sym)
180
+ transformed_hash = {}
181
+ openapi_types.each_pair do |key, type|
182
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
183
+ transformed_hash["#{key}"] = nil
184
+ elsif type =~ /\AArray<(.*)>/i
185
+ # check to ensure the input is an array given that the attribute
186
+ # is documented as an array but the input is not
187
+ if attributes[attribute_map[key]].is_a?(Array)
188
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
189
+ end
190
+ elsif !attributes[attribute_map[key]].nil?
191
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
192
+ end
193
+ end
194
+ new(transformed_hash)
195
+ end
196
+
197
+ # Deserializes the data based on type
198
+ # @param string type Data type
199
+ # @param string value Value to be deserialized
200
+ # @return [Object] Deserialized data
201
+ def self._deserialize(type, value)
202
+ case type.to_sym
203
+ when :Time
204
+ Time.parse(value)
205
+ when :Date
206
+ Date.parse(value)
207
+ when :String
208
+ value.to_s
209
+ when :Integer
210
+ value.to_i
211
+ when :Float
212
+ value.to_f
213
+ when :Boolean
214
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
215
+ true
216
+ else
217
+ false
218
+ end
219
+ when :Object
220
+ # generic object (usually a Hash), return directly
221
+ value
222
+ when /\AArray<(?<inner_type>.+)>\z/
223
+ inner_type = Regexp.last_match[:inner_type]
224
+ value.map { |v| _deserialize(inner_type, v) }
225
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
226
+ k_type = Regexp.last_match[:k_type]
227
+ v_type = Regexp.last_match[:v_type]
228
+ {}.tap do |hash|
229
+ value.each do |k, v|
230
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
231
+ end
232
+ end
233
+ else # model
234
+ # models (e.g. Pet) or oneOf
235
+ klass = TrinsicApi.const_get(type)
236
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
237
+ end
238
+ end
239
+
240
+ # Returns the string representation of the object
241
+ # @return [String] String presentation of the object
242
+ def to_s
243
+ to_hash.to_s
244
+ end
245
+
246
+ # to_body is an alias to to_hash (backward compatibility)
247
+ # @return [Hash] Returns the object in the form of hash
248
+ def to_body
249
+ to_hash
250
+ end
251
+
252
+ # Returns the object in the form of hash
253
+ # @return [Hash] Returns the object in the form of hash
254
+ def to_hash
255
+ hash = {}
256
+ self.class.attribute_map.each_pair do |attr, param|
257
+ value = self.send(attr)
258
+ if value.nil?
259
+ is_nullable = self.class.openapi_nullable.include?(attr)
260
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
261
+ end
262
+
263
+ hash[param] = _to_hash(value)
264
+ end
265
+ hash
266
+ end
267
+
268
+ # Outputs non-array value in the form of hash
269
+ # For object, use to_hash. Otherwise, just return the value
270
+ # @param [Object] value Any valid value
271
+ # @return [Hash] Returns the value in the form of hash
272
+ def _to_hash(value)
273
+ if value.is_a?(Array)
274
+ value.compact.map { |v| _to_hash(v) }
275
+ elsif value.is_a?(Hash)
276
+ {}.tap do |hash|
277
+ value.each { |k, v| hash[k] = _to_hash(v) }
278
+ end
279
+ elsif value.respond_to? :to_hash
280
+ value.to_hash
281
+ else
282
+ value
283
+ end
284
+ end
285
+
286
+ end
287
+
288
+ end
@@ -18,9 +18,6 @@ module TrinsicApi
18
18
  # The ID of the provider to launch
19
19
  attr_accessor :provider
20
20
 
21
- # Provider-specific input for those providers which require it.
22
- attr_accessor :provider_input
23
-
24
21
  # The Redirect URL to which the user should be sent after the session is complete. This field is required for providers which employ a redirect-based flow.
25
22
  attr_accessor :redirect_url
26
23
 
@@ -30,14 +27,17 @@ module TrinsicApi
30
27
  # Whether the session should fall back to a Trinsic-hosted UI in certain instances. Specifically, fallback will occur if any of the following are true: - You attempted to launch a provider which requires a capability you did not express support for - In this case, Trinsic's hosted UI will perform the necessary capability - You attempted to launch a provider which requires input, and the input was either not provided or incomplete - In this case, Trinsic's hosted UI will collect the necessary input from the user If fallback occurs, the session's NextStep will always be LaunchBrowser, and the CollectionMethod will always be CaptureRedirect. If this field is set to `true`, you must also: 1. Set the `RedirectUrl` field to a non-empty value 2. Include the `LaunchBrowser` and `CaptureRedirect` capabilities in the `Capabilities` field
31
28
  attr_accessor :fallback_to_hosted_ui
32
29
 
30
+ # Provider-specific input for those providers which require it.
31
+ attr_accessor :provider_input
32
+
33
33
  # Attribute mapping from ruby-style variable name to JSON key.
34
34
  def self.attribute_map
35
35
  {
36
36
  :'provider' => :'provider',
37
- :'provider_input' => :'providerInput',
38
37
  :'redirect_url' => :'redirectUrl',
39
38
  :'capabilities' => :'capabilities',
40
- :'fallback_to_hosted_ui' => :'fallbackToHostedUI'
39
+ :'fallback_to_hosted_ui' => :'fallbackToHostedUI',
40
+ :'provider_input' => :'providerInput'
41
41
  }
42
42
  end
43
43
 
@@ -55,19 +55,19 @@ module TrinsicApi
55
55
  def self.openapi_types
56
56
  {
57
57
  :'provider' => :'String',
58
- :'provider_input' => :'ProviderInput',
59
58
  :'redirect_url' => :'String',
60
59
  :'capabilities' => :'Array<IntegrationCapability>',
61
- :'fallback_to_hosted_ui' => :'Boolean'
60
+ :'fallback_to_hosted_ui' => :'Boolean',
61
+ :'provider_input' => :'ProviderInput'
62
62
  }
63
63
  end
64
64
 
65
65
  # List of attributes with nullable: true
66
66
  def self.openapi_nullable
67
67
  Set.new([
68
- :'provider_input',
69
68
  :'redirect_url',
70
- :'fallback_to_hosted_ui'
69
+ :'fallback_to_hosted_ui',
70
+ :'provider_input'
71
71
  ])
72
72
  end
73
73
 
@@ -93,10 +93,6 @@ module TrinsicApi
93
93
  self.provider = nil
94
94
  end
95
95
 
96
- if attributes.key?(:'provider_input')
97
- self.provider_input = attributes[:'provider_input']
98
- end
99
-
100
96
  if attributes.key?(:'redirect_url')
101
97
  self.redirect_url = attributes[:'redirect_url']
102
98
  end
@@ -112,6 +108,10 @@ module TrinsicApi
112
108
  if attributes.key?(:'fallback_to_hosted_ui')
113
109
  self.fallback_to_hosted_ui = attributes[:'fallback_to_hosted_ui']
114
110
  end
111
+
112
+ if attributes.key?(:'provider_input')
113
+ self.provider_input = attributes[:'provider_input']
114
+ end
115
115
  end
116
116
 
117
117
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -183,10 +183,10 @@ module TrinsicApi
183
183
  return true if self.equal?(o)
184
184
  self.class == o.class &&
185
185
  provider == o.provider &&
186
- provider_input == o.provider_input &&
187
186
  redirect_url == o.redirect_url &&
188
187
  capabilities == o.capabilities &&
189
- fallback_to_hosted_ui == o.fallback_to_hosted_ui
188
+ fallback_to_hosted_ui == o.fallback_to_hosted_ui &&
189
+ provider_input == o.provider_input
190
190
  end
191
191
 
192
192
  # @see the `==` method
@@ -198,7 +198,7 @@ module TrinsicApi
198
198
  # Calculates hash code according to all attributes.
199
199
  # @return [Integer] Hash code
200
200
  def hash
201
- [provider, provider_input, redirect_url, capabilities, fallback_to_hosted_ui].hash
201
+ [provider, redirect_url, capabilities, fallback_to_hosted_ui, provider_input].hash
202
202
  end
203
203
 
204
204
  # Builds the object from hash
@@ -21,7 +21,7 @@ module TrinsicApi
21
21
  # The Redirect URL to which the user should be sent after the session is complete.
22
22
  attr_accessor :redirect_url
23
23
 
24
- # Provider-specific input for those providers which require it.
24
+ # Provider-specific input for those providers which require it. <b>Deprecated:</b> In the future, Hosted Provider Sessions will not accept input on creation, and will instead always redirect the user to a hosted interface to collect input. If you need to collect input from the user yourself, please use the Create Advanced Session endpoint instead.
25
25
  attr_accessor :provider_input
26
26
 
27
27
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -19,9 +19,10 @@ module TrinsicApi
19
19
  DRIVERS_LICENSE = "DriversLicense".freeze
20
20
  NATIONAL_ID = "NationalId".freeze
21
21
  ID_CARD = "IdCard".freeze
22
+ OTHER = "Other".freeze
22
23
 
23
24
  def self.all_vars
24
- @all_vars ||= [PASSPORT, DRIVERS_LICENSE, NATIONAL_ID, ID_CARD].freeze
25
+ @all_vars ||= [PASSPORT, DRIVERS_LICENSE, NATIONAL_ID, ID_CARD, OTHER].freeze
25
26
  end
26
27
 
27
28
  # Builds the enum from string
@@ -0,0 +1,41 @@
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 FieldAvailability
18
+ NEVER = "Never".freeze
19
+ SOMETIMES = "Sometimes".freeze
20
+ ALWAYS = "Always".freeze
21
+
22
+ def self.all_vars
23
+ @all_vars ||= [NEVER, SOMETIMES, ALWAYS].freeze
24
+ end
25
+
26
+ # Builds the enum from string
27
+ # @param [String] The enum value in the form of the string
28
+ # @return [String] The enum value
29
+ def self.build_from_hash(value)
30
+ new.build_from_hash(value)
31
+ end
32
+
33
+ # Builds the enum from string
34
+ # @param [String] The enum value in the form of the string
35
+ # @return [String] The enum value
36
+ def build_from_hash(value)
37
+ return value if FieldAvailability.all_vars.include?(value)
38
+ raise "Invalid ENUM value #{value} for class #FieldAvailability"
39
+ end
40
+ end
41
+ end
@@ -21,9 +21,10 @@ module TrinsicApi
21
21
  REFRESH_STEP_CONTENT = "RefreshStepContent".freeze
22
22
  CAPTURE_REDIRECT = "CaptureRedirect".freeze
23
23
  POLL_RESULT = "PollResult".freeze
24
+ POLL_AFTER_REDIRECT = "PollAfterRedirect".freeze
24
25
 
25
26
  def self.all_vars
26
- @all_vars ||= [LAUNCH_BROWSER, DEEPLINK_TO_MOBILE, SHOW_CONTENT, REFRESH_STEP_CONTENT, CAPTURE_REDIRECT, POLL_RESULT].freeze
27
+ @all_vars ||= [LAUNCH_BROWSER, DEEPLINK_TO_MOBILE, SHOW_CONTENT, REFRESH_STEP_CONTENT, CAPTURE_REDIRECT, POLL_RESULT, POLL_AFTER_REDIRECT].freeze
27
28
  end
28
29
 
29
30
  # Builds the enum from string
@@ -21,6 +21,9 @@ module TrinsicApi
21
21
  # The Provider's Name as it appears in Trinsic's Dashboard and Widget
22
22
  attr_accessor :name
23
23
 
24
+ # The Provider's subtext recommended to be shown next to the name. This is flavor text, not a full, human-readable description of the provider.
25
+ attr_accessor :subtext
26
+
24
27
  # 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
28
  attr_accessor :description
26
29
 
@@ -42,7 +45,7 @@ module TrinsicApi
42
45
  # Relevant only to Advanced Provider Sessions. The `CollectionMethod` which must be supported to launch the Provider Session in Advanced Provider Sessions.
43
46
  attr_accessor :collection_method
44
47
 
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.
48
+ # 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 only applies to Providers which cannot guarantee the availability of results immediately after the user is redirected back to your application.
46
49
  attr_accessor :results_may_be_delayed_after_redirect
47
50
 
48
51
  # 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.
@@ -57,6 +60,9 @@ module TrinsicApi
57
60
  # 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
61
  attr_accessor :supports_advanced_provider_sessions
59
62
 
63
+ # Information about the fields that this Provider will return in verification results.
64
+ attr_accessor :available_fields
65
+
60
66
  # 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
67
  attr_accessor :sub_providers
62
68
 
@@ -90,6 +96,7 @@ module TrinsicApi
90
96
  {
91
97
  :'id' => :'id',
92
98
  :'name' => :'name',
99
+ :'subtext' => :'subtext',
93
100
  :'description' => :'description',
94
101
  :'logo_url' => :'logoUrl',
95
102
  :'available' => :'available',
@@ -102,6 +109,7 @@ module TrinsicApi
102
109
  :'requires_input' => :'requiresInput',
103
110
  :'has_trinsic_interface' => :'hasTrinsicInterface',
104
111
  :'supports_advanced_provider_sessions' => :'supportsAdvancedProviderSessions',
112
+ :'available_fields' => :'availableFields',
105
113
  :'sub_providers' => :'subProviders',
106
114
  :'health' => :'health'
107
115
  }
@@ -122,6 +130,7 @@ module TrinsicApi
122
130
  {
123
131
  :'id' => :'String',
124
132
  :'name' => :'String',
133
+ :'subtext' => :'String',
125
134
  :'description' => :'String',
126
135
  :'logo_url' => :'String',
127
136
  :'available' => :'Boolean',
@@ -134,6 +143,7 @@ module TrinsicApi
134
143
  :'requires_input' => :'Boolean',
135
144
  :'has_trinsic_interface' => :'Boolean',
136
145
  :'supports_advanced_provider_sessions' => :'Boolean',
146
+ :'available_fields' => :'Array<ContractField>',
137
147
  :'sub_providers' => :'Array<SubProviderMetadata>',
138
148
  :'health' => :'ProviderHealth'
139
149
  }
@@ -142,6 +152,7 @@ module TrinsicApi
142
152
  # List of attributes with nullable: true
143
153
  def self.openapi_nullable
144
154
  Set.new([
155
+ :'available_fields',
145
156
  :'sub_providers',
146
157
  ])
147
158
  end
@@ -174,6 +185,12 @@ module TrinsicApi
174
185
  self.name = nil
175
186
  end
176
187
 
188
+ if attributes.key?(:'subtext')
189
+ self.subtext = attributes[:'subtext']
190
+ else
191
+ self.subtext = nil
192
+ end
193
+
177
194
  if attributes.key?(:'description')
178
195
  self.description = attributes[:'description']
179
196
  else
@@ -250,6 +267,12 @@ module TrinsicApi
250
267
  self.supports_advanced_provider_sessions = nil
251
268
  end
252
269
 
270
+ if attributes.key?(:'available_fields')
271
+ if (value = attributes[:'available_fields']).is_a?(Array)
272
+ self.available_fields = value
273
+ end
274
+ end
275
+
253
276
  if attributes.key?(:'sub_providers')
254
277
  if (value = attributes[:'sub_providers']).is_a?(Array)
255
278
  self.sub_providers = value
@@ -276,6 +299,10 @@ module TrinsicApi
276
299
  invalid_properties.push('invalid value for "name", name cannot be nil.')
277
300
  end
278
301
 
302
+ if @subtext.nil?
303
+ invalid_properties.push('invalid value for "subtext", subtext cannot be nil.')
304
+ end
305
+
279
306
  if @description.nil?
280
307
  invalid_properties.push('invalid value for "description", description cannot be nil.')
281
308
  end
@@ -337,6 +364,7 @@ module TrinsicApi
337
364
  warn '[DEPRECATED] the `valid?` method is obsolete'
338
365
  return false if @id.nil?
339
366
  return false if @name.nil?
367
+ return false if @subtext.nil?
340
368
  return false if @description.nil?
341
369
  return false if @logo_url.nil?
342
370
  return false if @available.nil?
@@ -373,6 +401,16 @@ module TrinsicApi
373
401
  @name = name
374
402
  end
375
403
 
404
+ # Custom attribute writer method with validation
405
+ # @param [Object] subtext Value to be assigned
406
+ def subtext=(subtext)
407
+ if subtext.nil?
408
+ fail ArgumentError, 'subtext cannot be nil'
409
+ end
410
+
411
+ @subtext = subtext
412
+ end
413
+
376
414
  # Custom attribute writer method with validation
377
415
  # @param [Object] description Value to be assigned
378
416
  def description=(description)
@@ -510,6 +548,7 @@ module TrinsicApi
510
548
  self.class == o.class &&
511
549
  id == o.id &&
512
550
  name == o.name &&
551
+ subtext == o.subtext &&
513
552
  description == o.description &&
514
553
  logo_url == o.logo_url &&
515
554
  available == o.available &&
@@ -522,6 +561,7 @@ module TrinsicApi
522
561
  requires_input == o.requires_input &&
523
562
  has_trinsic_interface == o.has_trinsic_interface &&
524
563
  supports_advanced_provider_sessions == o.supports_advanced_provider_sessions &&
564
+ available_fields == o.available_fields &&
525
565
  sub_providers == o.sub_providers &&
526
566
  health == o.health
527
567
  end
@@ -535,7 +575,7 @@ module TrinsicApi
535
575
  # Calculates hash code according to all attributes.
536
576
  # @return [Integer] Hash code
537
577
  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, health].hash
578
+ [id, name, subtext, 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, available_fields, sub_providers, health].hash
539
579
  end
540
580
 
541
581
  # Builds the object from hash